Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java @ 90:68285f7bc476
More javadoc.
artifacts/trunk@846 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 26 Mar 2010 17:59:50 +0000 |
parents | 69c84cf7c5d7 |
children | 933bbc9fc11f |
line wrap: on
line source
package de.intevation.artifactdatabase.rest; import de.intevation.artifacts.ArtifactDatabase; import java.util.concurrent.ConcurrentMap; import org.restlet.Application; import org.restlet.Context; import org.restlet.Restlet; import org.restlet.routing.Router; /** * This is the core REST application that binds the serveral resources * used to manage the artifact database to the HTTP server provided * by the Restlet framework. * * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public class RestApp extends Application { /** * The central artifact database instance to work with. */ protected ArtifactDatabase database; /** * Default constructor */ public RestApp() { } /** * Constructor to create REST appliction bound to a specific * artifact database. * * @param database The artifact database to be used. */ public RestApp(ArtifactDatabase database) { this.database = database; } /** * Overwrites the createRoot() method of Application to * build the resource tree to form the exposed server URLs. * * @return The root of the URL tree exposed by the HTTP server. */ @Override public Restlet createRoot() { Context context = getContext(); ConcurrentMap map = context.getAttributes(); map.put("database", database); Router router = new Router(context); router.attach(ServicesResource.PATH, ServicesResource.class); router.attach(ServiceResource.PATH, ServiceResource.class); router.attach(FactoriesResource.PATH, FactoriesResource.class); router.attach(CreateResource.PATH, CreateResource.class); router.attach(ArtifactResource.PATH, ArtifactResource.class); router.attach(ArtifactOutResource.PATH, ArtifactOutResource.class); router.attach(ExportResource.PATH, ExportResource.class); router.attach(ImportResource.PATH, ImportResource.class); return router; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :