As one of my projects, I built a sample with IBM Liberty which demonstrates integrations with the IBM Connections Cloud Social APIs and IBM Bluemix using OAuth 2.0. You can read about the project on GitHub.
The sample application is driven by simple servlets which control atomic and intentionally unsophisticated demonstration level code. The code is designed to simplify the understanding of each Social API call (by type) and these APIs are shown in the most direct way possible (less obfuscation – more clarity). The application covers OAuth 2.0, Files, Files Comments, Files Recommendations, Search by Tags, Search for People, and Profiles.
The APIServlet determines, based on API path, the APIDefinition to execute. Each definition is documented and commented so that the Developer can understand how the API operates, why the method is needed, and where he can get more information.
You are going to find duplicate code used. I chose to err on the side of clarity for the API versus efficient well-defined coding. I also modeled much of the API processing/look-and-feel after the PhotoNode application.
The look-and-feel is nearly the same (built on AngularJS/Bootstrap/JustifiedGallery), however, slight updates to the Angular code/look and feel were needed in order to get the application to work within the context of an OAuth/J2EE application with it’s own user registry. You can learn how to configure and setup the application ( README.MD )
You can clone the project from GitHub.
You can see some example views of the project below.