Author: qmoriceau Date: 2013-06-06 11:00:25 +0200 (Thu, 06 Jun 2013) New Revision: 39 Url: http://chorem.org/projects/incubator/repository/revisions/39 Log: La communication par URL via serveur est maintenant fonctionelle Modified: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java jtimerhtml5/src/main/java/org/chorem/jtimer/WebViewJTimer.java Modified: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java 2013-06-04 14:17:10 UTC (rev 38) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java 2013-06-06 09:00:25 UTC (rev 39) @@ -25,9 +25,12 @@ server.setHandler(handlers); server.start(); - //launch(args); // permet de lancé la webview, qui ne fonctionne pas d'aileur... URI uri = new URI("http://localhost:8080"); - Desktop.getDesktop().browse(uri); + try{ + Desktop.getDesktop().browse(uri); // permet de lancer la page dans le nivigateur par défault + } catch (Exception e) { + launch(args);// permer de lancer la page dans la web view si le navigateur n'est pas trouvé + } server.join(); } } Modified: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java 2013-06-04 14:17:10 UTC (rev 38) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/JTimerHandler.java 2013-06-06 09:00:25 UTC (rev 39) @@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletResponse; import org.chorem.jtimer.entities.TimerTask; +import org.eclipse.jetty.server.HttpConnection; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; import org.nuiton.util.ObjectUtil; @@ -23,39 +24,46 @@ @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]; + final String[] path = request.getRequestURI().split("/"); + + if (path[1].equals("task")){ + + final TaskService ts = new TaskService(); + String content = new String(); + Object result; + ExclusionStrategy excludeTasks = new TaskExclusionStrategy(TimerTask.class); + Gson gson = new GsonBuilder().setExclusionStrategies(excludeTasks).create(); + + 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;charset=utf-8"); + response.setStatus(HttpServletResponse.SC_OK); + response.getOutputStream().print(content); + + Request base_request = (Request) ((request instanceof Request) ? (Request)request:HttpConnection.getCurrentConnection().getRequestBuffer()); + base_request.setHandled(true); } - 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/java/org/chorem/jtimer/WebViewJTimer.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/WebViewJTimer.java 2013-06-04 14:17:10 UTC (rev 38) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/WebViewJTimer.java 2013-06-06 09:00:25 UTC (rev 39) @@ -1,7 +1,5 @@ package org.chorem.jtimer; -import java.net.URL; - import javafx.application.Application; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; @@ -110,7 +108,7 @@ } }); - URL maPage = getClass().getResource("http://localhost:8080"); + webEngine.load("http://localhost:8080"); root.getChildren().addAll(browser); scene.setRoot(root);