Author: qmoriceau Date: 2013-06-04 10:43:19 +0200 (Tue, 04 Jun 2013) New Revision: 37 Url: http://chorem.org/projects/incubator/repository/revisions/37 Log: D?\195?\169but des tests de communication via serveur local Added: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java Modified: jtimerhtml5/pom.xml jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java jtimerhtml5/src/main/resources/html/css/index.css jtimerhtml5/src/main/resources/html/index.html jtimerhtml5/src/main/resources/html/js/actionsMenus.js jtimerhtml5/src/main/resources/html/test.html Modified: jtimerhtml5/pom.xml =================================================================== --- jtimerhtml5/pom.xml 2013-05-30 15:54:02 UTC (rev 36) +++ jtimerhtml5/pom.xml 2013-06-04 08:43:19 UTC (rev 37) @@ -146,6 +146,12 @@ <version>2.2.4</version> </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>9.0.3.v20130506</version> + </dependency> + </dependencies> <pluginRepositories> <pluginRepository> Modified: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java 2013-05-30 15:54:02 UTC (rev 36) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java 2013-06-04 08:43:19 UTC (rev 37) @@ -45,6 +45,11 @@ import org.chorem.jtimer.storage.Storage; import org.chorem.jtimer.TaskExclusionStrategy; import org.chorem.jtimer.entities.TimerTask; +import org.eclipse.jetty.server.Handler; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.handler.DefaultHandler; +import org.eclipse.jetty.server.handler.HandlerList; +import org.eclipse.jetty.server.handler.ResourceHandler; import com.google.gson.ExclusionStrategy; import com.google.gson.Gson; @@ -128,8 +133,7 @@ } }); - URL maPage = getClass().getResource("/html/index.html"); - webEngine.load(maPage.toExternalForm()); + URL maPage = getClass().getResource("http://localhost:8080"); root.getChildren().addAll(browser); scene.setRoot(root); @@ -280,9 +284,9 @@ // records relative x and y co-ordinates. class Delta { double x, y; } - public static void main(String[] args) { + public static void main(String[] args) throws Exception { - final TaskService ts = new TaskService(); + /*final TaskService ts = new TaskService(); // outil de comunication javascript/java par URL URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory() { @Override @@ -345,7 +349,22 @@ } return null; // back to default handler } - }); + }); */ + + Server server = new Server(8080); + + ResourceHandler resource_handler = new ResourceHandler(); + resource_handler.setDirectoriesListed(true); + resource_handler.setWelcomeFiles(new String[]{ "index.html" }); + + resource_handler.setResourceBase("./target/classes/html/"); + + HandlerList handlers = new HandlerList(); + handlers.setHandlers(new Handler[] { resource_handler , new JTimerHandler()}); + server.setHandler(handlers); + + server.start(); + server.join(); launch(args); } } Added: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java (rev 0) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java 2013-06-04 08:43:19 UTC (rev 37) @@ -0,0 +1,61 @@ +package org.chorem.jtimer; + +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.chorem.jtimer.entities.TimerTask; +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.handler.AbstractHandler; +import org.nuiton.util.ObjectUtil; + +import com.google.gson.ExclusionStrategy; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +public class JTimerHandler extends AbstractHandler { + + @Override + public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + + final TaskService ts = new TaskService(); + String content = new String(); + Object result; + ExclusionStrategy excludeTasks = new TaskExclusionStrategy(TimerTask.class); + Gson gson = new GsonBuilder().setExclusionStrategies(excludeTasks).create(); + final String[] path = request.getRequestURI().split("/"); + + String[] param = new String[path.length-3]; + for(int i=0;i<path.length-3;i++){ + param[i]=path[i+3]; + } + List<Method> m = ObjectUtil.getMethod(TaskService.class,path[2],false); + try { + result = ObjectUtil.call(ts, m.get(0), param); + content = gson.toJson(result); + System.out.println(content); + } catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (InstantiationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + response.setContentType("text/JSON"); + response.setStatus(HttpServletResponse.SC_OK); + response.getWriter().write(content); + } + +} Modified: jtimerhtml5/src/main/resources/html/css/index.css =================================================================== --- jtimerhtml5/src/main/resources/html/css/index.css 2013-05-30 15:54:02 UTC (rev 36) +++ jtimerhtml5/src/main/resources/html/css/index.css 2013-06-04 08:43:19 UTC (rev 37) @@ -126,12 +126,12 @@ display:inline-block; } -#head{ +#headTasks{ width: 100%; margin-top:30px; } -#head span { +#headTasks span { text-align:center; border-bottom:2px solid #009999; border-left:2px solid #339999; Modified: jtimerhtml5/src/main/resources/html/index.html =================================================================== --- jtimerhtml5/src/main/resources/html/index.html 2013-05-30 15:54:02 UTC (rev 36) +++ jtimerhtml5/src/main/resources/html/index.html 2013-06-04 08:43:19 UTC (rev 37) @@ -85,7 +85,7 @@ </div> <div id="tabTask"> <!-- Arborescence des Tasks --> - <div id="head"> + <div id="headTasks"> <span class="col">Projet et tâches</span> <span class="col">Aujourd'hui</span> <span class="col">Total</span><br><br> Modified: jtimerhtml5/src/main/resources/html/js/actionsMenus.js =================================================================== --- jtimerhtml5/src/main/resources/html/js/actionsMenus.js 2013-05-30 15:54:02 UTC (rev 36) +++ jtimerhtml5/src/main/resources/html/js/actionsMenus.js 2013-06-04 08:43:19 UTC (rev 37) @@ -2,7 +2,7 @@ var elemSelec = ""; function getTasks(){ - $.getJSON('http://services/task/getProjects',function(data) { + $.getJSON('http://localhost:8080/task/getProjects',function(data) { for (var i = 0; i<3; i++){ tabProjects[data[i].number] = data[i]; } Modified: jtimerhtml5/src/main/resources/html/test.html =================================================================== --- jtimerhtml5/src/main/resources/html/test.html 2013-05-30 15:54:02 UTC (rev 36) +++ jtimerhtml5/src/main/resources/html/test.html 2013-06-04 08:43:19 UTC (rev 37) @@ -85,7 +85,7 @@ </div> <div id="tabTask"> <!-- Arborescence des Tasks --> - <div id="head"> + <div id="headTasks"> <span class="col">Projet et tâches</span> <span class="col">Aujourd'hui</span> <span class="col">Total</span><br><br>