/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.smartitengineering.generator.engine.webservice.resource;
import com.smartitengineering.util.rest.atom.server.AbstractResource;
import java.util.Date;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.CacheControl;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.abdera.model.Feed;
/**
*
* @author imyousuf
*/
@Path("/")
public class RootResource extends AbstractResource {
public static final String CONFIGS = "reportconfigs";
public static final String REPORTS = "reports";
@GET
@Produces(MediaType.APPLICATION_ATOM_XML)
public Response get() {
Response.ResponseBuilder builder = Response.ok();
Feed feed = getFeed("root", "Smart Generator Engine - Root Resource", new Date());
builder.entity(feed);
feed.addLink(getLink(getRelativeURIBuilder().path(CONFIGS).build(), CONFIGS, MediaType.APPLICATION_ATOM_XML));
feed.addLink(getLink(getRelativeURIBuilder().path(REPORTS).build(), REPORTS, MediaType.APPLICATION_ATOM_XML));
CacheControl control = new CacheControl();
control.setMaxAge(10800);
builder.cacheControl(control);
return builder.build();
}
@Path(CONFIGS)
public ReportConfigsResource getConfigs() {
return getResourceContext().getResource(ReportConfigsResource.class);
}
@Path(REPORTS)
public ReportsResource getReports() {
return getResourceContext().getResource(ReportsResource.class);
}
@Override
protected String getAuthor() {
return "Smart Generator Engine";
}
}