package org.activiti.kickstart; import org.activiti.kickstart.service.alfresco.AlfrescoKickstartServiceImpl; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpState; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.methods.GetMethod; import org.codehaus.jackson.JsonNode; import org.codehaus.jackson.map.ObjectMapper; import org.restlet.resource.Get; /** * @author jbarrez */ public class GroupsResource extends BaseResource { private static final String RETRIEVE_GROUPS_URL = "http://localhost:8080/alfresco/service/api/groups?zone=APP.DEFAULT"; @Get public JsonNode retrieveGroups() { // We're simply proxying the Alfresco rest API, so this code is quite unfancy ... AlfrescoKickstartServiceImpl kickstartService = (AlfrescoKickstartServiceImpl) getKickstartService(); HttpState state = new HttpState(); state.setCredentials(new AuthScope(null, AuthScope.ANY_PORT), new UsernamePasswordCredentials(kickstartService.getCmisUser(), kickstartService.getCmisPassword())); GetMethod getMethod = new GetMethod(RETRIEVE_GROUPS_URL); try { HttpClient httpClient = new HttpClient(); httpClient.executeMethod(null, getMethod, state); String responseJson = getMethod.getResponseBodyAsString(); ObjectMapper mapper = new ObjectMapper(); JsonNode json = mapper.readTree(responseJson); return json; } catch (Throwable t) { System.err.println("Error: " + t.getMessage()); t.printStackTrace(); return null; } finally { getMethod.releaseConnection(); } } }