Generating Swagger as part of a Maven Build

Most of my projects use Maven to build and coordinate dependencies and run unit and build integration tests. I’ve found it a real pain that I could not generate my swagger docs as part of the build.

I have found a really easy way. In Jenkins, I have a downstream job that runs specific maven goals. The WebSphere Liberty maven goals are documented WebSphere Liberty Maven Documentation. Please note my downstream job is an experimental downstream project; I am a bit concerned about edge cases where the process dies.

The commands of the downstream job are:

mvn dependency:copy-dependencies liberty:install-apps liberty:test-start-server

The commands execute three key elements:

  1. Dummy Server.xml – attached at the bottom
  2. Execution for Goal for pre-integration-test
  3. Execution must follow the copy-dependencies so the war file is copied on in

You can check your server is up and running:

tail -f target/liberty/wlp/usr/servers/defaultServer/logs/messages.log

Download the Swagger (YAML)

curl http://localhost:9080/swagger/api/swagger.yaml -o myswagger.yaml

The full code is below

Google Wifi and Comcast outages – Handy Things I learned

With recent power outages, my Google Wifi died.  I found some handy curl commands outlined online.  I hope others find these links useful.

Command

curl http://onhub.here/api/v1/status

Response

OnHub Results

On Here Hub API / Google Wifi

https://github.com/olssonm/google-wifi-api/blob/master/README.md https://www.reddit.com/r/GoogleWiFi/comments/5w73wn/is_there_a_web_interface_for_google_wifi_or_can/

Reset Modem Links
https://forums.xfinity.com/t5/Your-Home-Network/Comcast-Router-Login-http-10-0-0-1-Not-Loading-WiFi-Settings/m-p/2582213

Locked out of Terminal Services

<bang-head/>

I locked my team out of a terminal services session when I stopped the terminal server.  I am on a Mac and could not restart the service using the MMC snap-in.

I installed Samba4 – samba4-common and used the net rpc service start on TermService and bam… back in business.

[root@hostname ~]# net rpc service start TermService -I 1.1.1.1 --user Administrator
Enter Administrator's password:
...
Successfully started service: TermService

https://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html
https://www.linuxquestions.org/questions/linux-networking-3/samba-has-nt_status_logon_failure-67766/

JAX-RS Servlet properties

Recently, I have done a good amount of JAX-RS development, and I needed to kept hitting an issue with forms parameter validation errors on my query params.  The errors kept driving me nuts, until I read the documentation and found – jersey.config.servlet.form.queryParams.disabled .   I also learned the java property is available for those with code based configuration.  ServletProperties.QUERY_PARAMS_AS_FORM_PARAMS_DISABLED

If true then query parameters will not be treated as form parameters (e.g. injectable using @FormParam) in case a Form request is processed by server.

https://jersey.github.io/documentation/latest/user-guide.html#appendix-properties