package myPackage; import org.apache.abdera.protocol.server.CollectionAdapter; import org.apache.abdera.protocol.server.Provider; import org.apache.abdera.protocol.server.RequestContext; import org.apache.abdera.protocol.server.TargetType; import org.apache.abdera.protocol.server.impl.AbstractWorkspaceProvider; import org.apache.abdera.protocol.server.impl.RegexTargetResolver; import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo; import org.apache.abdera.protocol.server.impl.TemplateTargetBuilder; public class APP_ContentProvider extends AbstractWorkspaceProvider implements Provider { public static String FEED_TAG = "entries"; private final APP_CollectionAdapter collectionAdapter; public APP_ContentProvider() { this.collectionAdapter = new APP_CollectionAdapter(); super.setTargetResolver(new RegexTargetResolver() .setPattern("/blog(\\?[^#]*)?", TargetType.TYPE_SERVICE) .setPattern("/blog/" + FEED_TAG + "(\\?[^#]*)?", TargetType.TYPE_COLLECTION) .setPattern("/blog/" + FEED_TAG + "/([^/#?]+)(\\?[^#]*)?", TargetType.TYPE_ENTRY)); setTargetBuilder(new TemplateTargetBuilder() .setTemplate(TargetType.TYPE_SERVICE, "{target_base}/blog") .setTemplate(TargetType.TYPE_COLLECTION, "{target_base}/blog/{collection}{-opt|?|q,c,s,p,l,i,o}{-join|&|q,c,s,p,l,i,o}") .setTemplate(TargetType.TYPE_CATEGORIES, "{target_base}/blog/{collection};categories") .setTemplate(TargetType.TYPE_ENTRY, "{target_base}/blog/{collection}/{entry}")); SimpleWorkspaceInfo workspace = new SimpleWorkspaceInfo(); workspace.setTitle("IISc MILE Lab Weblog"); workspace.addCollection(collectionAdapter); addWorkspace(workspace); } public CollectionAdapter getCollectionAdapter(RequestContext request) { return collectionAdapter; } }