Author: athimel Date: 2014-05-21 11:57:31 +0200 (Wed, 21 May 2014) New Revision: 2982 Url: http://forge.chorem.org/projects/jtimer/repository/revisions/2982 Log: Correction de l'integration du HTTP OPTIONS Modified: branches/ng-jtimer/pom.xml branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TaskResource.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TasksResource.java branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TimeResource.java Modified: branches/ng-jtimer/pom.xml =================================================================== --- branches/ng-jtimer/pom.xml 2014-05-21 09:12:42 UTC (rev 2981) +++ branches/ng-jtimer/pom.xml 2014-05-21 09:57:31 UTC (rev 2982) @@ -6,7 +6,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>mavenpom4redmine</artifactId> - <version>5.0.5</version> + <version>5.0.6-SNAPSHOT</version> </parent> <groupId>org.chorem</groupId> @@ -151,9 +151,12 @@ <dependencies> <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> - <version>1.1.3</version> </dependency> <dependency> <groupId>com.h2database</groupId> @@ -184,7 +187,6 @@ </dependencies> <repositories> - <repository> <id>maven-restlet</id> <name>Public online Restlet repository</name> Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java 2014-05-21 09:12:42 UTC (rev 2981) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/ApplicationServletFilter.java 2014-05-21 09:57:31 UTC (rev 2982) @@ -9,18 +9,23 @@ import java.util.logging.Level; import java.util.logging.Logger; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + /** * Created by olivia on 20/05/14. */ public class ApplicationServletFilter implements Filter { - private final static Logger LOGGER = Logger.getLogger(TasksResource.class.getName()); + // private final static Logger LOGGER = Logger.getLogger(TasksResource.class.getName()); + private static final Log log = LogFactory.getLog(TasksResource.class); private static final String HEADER_ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin"; private static final String HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS = "Access-Control-Allow-Credentials"; private static final String HEADER_ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers"; private static final String HEADER_ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers"; + private static final String HEADER_ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods"; @Override public void init(FilterConfig filterConfig) throws ServletException { @@ -30,7 +35,9 @@ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { //Avant l'execution de la requete - LOGGER.log(Level.WARNING, "Passqage dans le filter"); + if (log.isDebugEnabled()) { + log.debug("Passage dans le filter"); + } if(servletRequest instanceof HttpServletRequest ) { @@ -43,11 +50,12 @@ while (lesElem.hasMoreElements()) { names += ", " + lesElem.nextElement(); } - LOGGER.log(Level.WARNING, names); + log.warn(names); httpServletResponse.addHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, "*"); httpServletResponse.addHeader(HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); + httpServletResponse.addHeader(HEADER_ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, OPTIONS, DELETE"); String requestHeaders = httpServletRequest.getHeader(HEADER_ACCESS_CONTROL_REQUEST_HEADERS); @@ -60,7 +68,9 @@ } - LOGGER.log(Level.WARNING, "Fin filter"); + if (log.isWarnEnabled()) { + log.warn("Fin filter"); + } } @Override Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TaskResource.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TaskResource.java 2014-05-21 09:12:42 UTC (rev 2981) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TaskResource.java 2014-05-21 09:57:31 UTC (rev 2982) @@ -1,6 +1,9 @@ package org.chorem.jtimer.web; import com.google.gson.Gson; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.storage.Storage; import org.restlet.data.MediaType; import org.restlet.representation.Representation; @@ -10,6 +13,8 @@ public class TaskResource extends ServerResource { + private static final Log log = LogFactory.getLog(TaskResource.class); + protected Storage storage; /** @@ -48,6 +53,12 @@ } + @Options + public void taskOptions() { + if (log.isInfoEnabled()) { + log.info("org.chorem.jtimer.web.TaskResource.taskOptions"); + } + } } Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TasksResource.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TasksResource.java 2014-05-21 09:12:42 UTC (rev 2981) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TasksResource.java 2014-05-21 09:57:31 UTC (rev 2982) @@ -1,36 +1,53 @@ package org.chorem.jtimer.web; -import com.google.gson.*; +import java.io.IOException; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Date; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.entities.TimerTask; import org.chorem.jtimer.storage.Storage; -import org.eclipse.jetty.util.log.Log; import org.restlet.data.MediaType; import org.restlet.representation.Representation; import org.restlet.representation.StringRepresentation; -import org.restlet.resource.*; +import org.restlet.resource.Get; +import org.restlet.resource.Options; +import org.restlet.resource.Post; +import org.restlet.resource.Put; +import org.restlet.resource.ResourceException; +import org.restlet.resource.ServerResource; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; -import java.io.IOException; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - public class TasksResource extends ServerResource { + private static final Log log = LogFactory.getLog(TasksResource.class); + protected Storage storage; private final static Logger LOGGER = Logger.getLogger(TasksResource.class.getName()); private GsonBuilder builder; /** * Methode qui initialis la resource + * * @throws ResourceException */ @Override protected void doInit() throws ResourceException { - storage = (Storage)getContext().getAttributes().get(Storage.class.getName()); + storage = (Storage) getContext().getAttributes().get(Storage.class.getName()); builder = new GsonBuilder(); // Register an adapter to manage the date types as long values @@ -57,18 +74,16 @@ /** * Methode qui retourne la representation de la liste de toutes les taches * Suite a une requete de type GET + * * @return */ @Get("json") public Representation getTasks() { Long date = Long.valueOf(0); - try - { + try { date = Long.valueOf(getQuery().getValues("date")); - } - catch(Exception e) - { + } catch (Exception e) { date = Long.valueOf(0); } @@ -80,7 +95,7 @@ for (int i = 0; i < tabSize; i++) { TimerTask task = timerTasks.get(i); - if (task.getParent() == "") { + if (StringUtils.isBlank(task.getParent())) { timerTasks.add(task); timerTasks.remove(i); i--; @@ -104,7 +119,7 @@ Gson gson = builder.create(); String repr1 = representation.getText(); TimerTask t = gson.fromJson(repr1, TimerTask.class); - LOGGER.log(Level.INFO,"repr1"); + LOGGER.log(Level.INFO, "repr1"); storage.addTask(t); } @@ -114,7 +129,7 @@ * suite d'une requête de type PUT */ @Put("json") - public void updateTask(Representation representation) throws IOException{ + public void updateTask(Representation representation) throws IOException { Gson gson = builder.create(); String repr1 = representation.getText(); @@ -123,4 +138,12 @@ storage.modifyTask(t); } + + @Options + public void tasksOptions() { + if (log.isInfoEnabled()) { + log.info("org.chorem.jtimer.web.TasksResource.tasksOptions"); + } + } + } Modified: branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TimeResource.java =================================================================== --- branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TimeResource.java 2014-05-21 09:12:42 UTC (rev 2981) +++ branches/ng-jtimer/src/main/java/org/chorem/jtimer/web/TimeResource.java 2014-05-21 09:57:31 UTC (rev 2982) @@ -1,6 +1,9 @@ package org.chorem.jtimer.web; import com.google.gson.*; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.entities.TimerTime; import org.chorem.jtimer.storage.Storage; import org.restlet.data.MediaType; @@ -15,6 +18,8 @@ public class TimeResource extends ServerResource { + private static final Log log = LogFactory.getLog(TimeResource.class); + private GsonBuilder builder; protected Storage storage; @@ -107,4 +112,11 @@ storage.modifyTime(t); } + @Options + public void timeOptions() { + if (log.isInfoEnabled()) { + log.info("org.chorem.jtimer.web.TimeResource.timeOptions"); + } + } + }