r2909 - in branches/ng-jtimer/jtimer-server: . src/main/java/org/chorem/jtimer/web src/main/webapp/WEB-INF
Author: echatellier Date: 2013-07-23 21:44:03 +0200 (Tue, 23 Jul 2013) New Revision: 2909 Url: http://chorem.org/projects/jtimer/repository/revisions/2909 Log: Switch to restlet Added: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/ProjectsResource.java branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestApplication.java Removed: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestController.java Modified: branches/ng-jtimer/jtimer-server/pom.xml branches/ng-jtimer/jtimer-server/src/main/webapp/WEB-INF/web.xml Modified: branches/ng-jtimer/jtimer-server/pom.xml =================================================================== --- branches/ng-jtimer/jtimer-server/pom.xml 2013-07-19 14:43:56 UTC (rev 2908) +++ branches/ng-jtimer/jtimer-server/pom.xml 2013-07-23 19:44:03 UTC (rev 2909) @@ -27,10 +27,20 @@ <version>2.2.4</version> </dependency> <dependency> - <groupId>org.debux.webmotion</groupId> - <artifactId>webmotion</artifactId> - <version>2.4-SNAPSHOT</version> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet</artifactId> + <version>2.1.2</version> </dependency> + <dependency> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet.ext.servlet</artifactId> + <version>2.1.2</version> + </dependency> + <dependency> + <groupId>org.restlet.jee</groupId> + <artifactId>org.restlet.ext.jackson</artifactId> + <version>2.1.2</version> + </dependency> </dependencies> <build> @@ -64,4 +74,12 @@ </plugin> </plugins> </build> + + <repositories> + <repository> + <id>maven-restlet</id> + <name>Public online Restlet repository</name> + <url>http://maven.restlet.org</url> + </repository> + </repositories> </project> Copied: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/ProjectsResource.java (from rev 2907, branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestController.java) =================================================================== --- branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/ProjectsResource.java (rev 0) +++ branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/ProjectsResource.java 2013-07-23 19:44:03 UTC (rev 2909) @@ -0,0 +1,32 @@ +package org.chorem.jtimer.web; + +import org.chorem.jtimer.entities.TimerProject; +import org.chorem.jtimer.storage.Storage; +import org.restlet.ext.jackson.JacksonRepresentation; +import org.restlet.representation.Representation; +import org.restlet.resource.Get; +import org.restlet.resource.ServerResource; + +public class ProjectsResource extends ServerResource { + + protected Storage storage; + + public ProjectsResource() { + storage = new Storage(); + + if (storage.getProjectsCount() == 0) { + storage.addProject(new TimerProject("jTimer")); + storage.addProject(new TimerProject("Chorem")); + storage.addProject(new TimerProject("Wikitty")); + storage.addProject(new TimerProject("Nuiton-js")); + storage.addProject(new TimerProject("Angular")); + storage.addProject(new TimerProject("Isis-Fish")); + } + } + + @Get("json") + public Representation getProjects() { + Representation jsonRep = new JacksonRepresentation<>(storage.getProjects()); + return jsonRep; + } +} Added: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestApplication.java =================================================================== --- branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestApplication.java (rev 0) +++ branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestApplication.java 2013-07-23 19:44:03 UTC (rev 2909) @@ -0,0 +1,24 @@ +package org.chorem.jtimer.web; + +import org.restlet.Application; +import org.restlet.Restlet; +import org.restlet.routing.Router; + +public class RestApplication extends Application { + + /** + * Creates a root Restlet that will receive all incoming calls. + */ + @Override + public synchronized Restlet createInboundRoot() { + // Create a router Restlet that routes each call to a + // new instance of HelloWorldResource. + Router router = new Router(getContext()); + + // Defines only one route + router.attach("/projects", ProjectsResource.class); + + return router; + } + +} \ No newline at end of file Property changes on: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestApplication.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Deleted: branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestController.java =================================================================== --- branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestController.java 2013-07-19 14:43:56 UTC (rev 2908) +++ branches/ng-jtimer/jtimer-server/src/main/java/org/chorem/jtimer/web/RestController.java 2013-07-23 19:44:03 UTC (rev 2909) @@ -1,27 +0,0 @@ -package org.chorem.jtimer.web; - -import java.util.ArrayList; -import java.util.List; - -import org.chorem.jtimer.entities.TimerProject; -import org.debux.webmotion.server.WebMotionController; -import org.debux.webmotion.server.render.Render; - -public class RestController extends WebMotionController { - - protected List<TimerProject> projects; - - public RestController() { - projects = new ArrayList<>(); - projects.add(new TimerProject("jTimer")); - projects.add(new TimerProject("Chorem")); - projects.add(new TimerProject("Wikitty")); - projects.add(new TimerProject("Nuiton-js")); - projects.add(new TimerProject("Angular")); - projects.add(new TimerProject("Isis-Fish")); - } - - public Render getProjects() { - return renderJSON(projects); - } -} Modified: branches/ng-jtimer/jtimer-server/src/main/webapp/WEB-INF/web.xml =================================================================== --- branches/ng-jtimer/jtimer-server/src/main/webapp/WEB-INF/web.xml 2013-07-19 14:43:56 UTC (rev 2908) +++ branches/ng-jtimer/jtimer-server/src/main/webapp/WEB-INF/web.xml 2013-07-23 19:44:03 UTC (rev 2909) @@ -1,4 +1,19 @@ -<web-app xmlns="http://java.sun.com/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" - version="3.0" /> \ No newline at end of file +<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" + version="3.0"> + + <context-param> + <param-name>org.restlet.application</param-name> + <param-value>org.chorem.jtimer.web.RestApplication</param-value> + </context-param> + + <servlet> + <servlet-name>RestletServlet</servlet-name> + <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class> + </servlet> + + <servlet-mapping> + <servlet-name>RestletServlet</servlet-name> + <url-pattern>/rest/*</url-pattern> + </servlet-mapping> +</web-app>
participants (1)
-
echatellier@users.chorem.org