/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.smartitengineering.user.ws.resources;
import com.smartitengineering.util.rest.atom.server.AbstractResource;
import com.sun.jersey.api.view.Viewable;
import java.util.Date;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import org.apache.abdera.Abdera;
import org.apache.abdera.model.Feed;
import org.apache.abdera.model.Link;
/**
*
* @author imyousuf
*/
@Path("/")
public class RootResource extends AbstractResource {
private static final Date INIT_DATE = new Date();
@GET
@Produces(MediaType.APPLICATION_ATOM_XML)
public Response get() {
ResponseBuilder responseBuilder = Response.ok();
Feed atomFeed = getFeed("Smart User", INIT_DATE);
Link loginLink = Abdera.getNewFactory().newLink();
loginLink.setHref(getRelativeURIBuilder().path(LoginResource.class).build().toString());
loginLink.setRel("Login");
atomFeed.addLink(loginLink);
Link organizationsLink = Abdera.getNewFactory().newLink();
organizationsLink.setHref(getRelativeURIBuilder().path(OrganizationsResource.class).build().toString());
organizationsLink.setRel("Organizations");
atomFeed.addLink(organizationsLink);
responseBuilder.entity(atomFeed);
return responseBuilder.build();
}
@GET
@Produces(MediaType.TEXT_HTML)
public Response getHtml()
{
ResponseBuilder responseBuilder = Response.ok();
Viewable view = new Viewable("rootPage.jsp");
responseBuilder.entity(view);
return responseBuilder.build();
}
@Override
protected String getAuthor() {
return "Smart User";
}
}