/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.smartitengineering.user.ws.resources; import java.util.Date; import java.util.StringTokenizer; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.UriBuilder; import org.apache.abdera.Abdera; import org.apache.abdera.model.Feed; import org.apache.abdera.model.Link; /** * * @author modhu7 */ @Path("/ulg") public class UserLinkResource extends com.smartitengineering.util.rest.atom.server.AbstractResource { static final UriBuilder USER_LINK_GETTER_URI_BUILDER = UriBuilder.fromResource(UserLinkResource.class); @GET @Produces(MediaType.APPLICATION_ATOM_XML) public Response get(@QueryParam("username") final String usernameWithOrganizationName) { ResponseBuilder responseBuilder = Response.status(Status.OK); Feed atomFeed = getFeed("User Link Getter Resource", new Date()); String username; String organizationName; StringTokenizer tokenizer = new StringTokenizer(usernameWithOrganizationName, "@"); if (tokenizer.hasMoreTokens()) { username = tokenizer.nextToken(); } else { username = ""; } if (tokenizer.hasMoreTokens()) { organizationName = tokenizer.nextToken(); } else { organizationName = ""; } Link userGetterLink = Abdera.getNewFactory().newLink(); userGetterLink.setHref(getRelativeURIBuilder().path(OrganizationUserResource.class).build(organizationName, username).toString()); userGetterLink.setRel("userLink"); atomFeed.addLink(userGetterLink); responseBuilder.entity(atomFeed); return responseBuilder.build(); } @Override protected String getAuthor() { return "Smart User"; } }