- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 04 Sep 2009 17:59:45 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/action
In directory hutz:/tmp/cvs-serv9189/src/org/w3c/unicorn/action
Modified Files:
IndexAction.java Action.java ObserveAction.java
Log Message:
refactoring in progress
Index: IndexAction.java
===================================================================
RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/action/IndexAction.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- IndexAction.java 3 Sep 2009 14:04:12 -0000 1.10
+++ IndexAction.java 4 Sep 2009 17:59:43 -0000 1.11
@@ -1,3 +1,7 @@
+// $Id$Id $
+// Author: Thomas Gambet
+// (c) COPYRIGHT MIT, ERCIM and Keio, 2009.
+// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.unicorn.action;
import java.io.IOException;
@@ -7,6 +11,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.velocity.VelocityContext;
import org.w3c.unicorn.Framework;
import org.w3c.unicorn.util.Language;
@@ -16,12 +22,16 @@
public class IndexAction extends Action {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 599055553694915687L;
+
+ private static Log logger = LogFactory.getLog(IndexAction.class);
+
private VelocityContext velocityContext;
@Override
public void init() throws ServletException {
- super.init();
+ //logger.trace("Init IndexAction");
+ //super.init();
}
@Override
@@ -40,13 +50,10 @@
String langParameter = req.getParameter(Property.get("UNICORN_PARAMETER_PREFIX") + "lang");
if (langParameter == null || !Framework.getLanguageProperties().containsKey(langParameter)) {
langParameter = Language.negociate(req.getLocales());
- if (!langParameter.equals(req.getLocale().getLanguage())) {
- messages.add(new Message(Message.Level.INFO, "$message_unavailable_language (" + req.getLocale().getDisplayLanguage(req.getLocale()) + "). $message_translation", null));
- } else {
- String requested_parameter = req.getParameter(Property.get("UNICORN_PARAMETER_PREFIX") + "lang");
- if (requested_parameter != null && !Framework.getLanguageProperties().containsKey(requested_parameter))
- messages.add(new Message(Message.Level.INFO, "$message_unavailable_requested_language. $message_translation", null));
- }
+ }
+
+ if (!langParameter.equals(req.getLocale().getLanguage())) {
+ messages.add(new Message(Message.Level.INFO, "$message_unavailable_language (" + req.getLocale().getDisplayLanguage(req.getLocale()) + "). $message_translation", null));
}
if (!Language.isComplete(langParameter))
@@ -54,7 +61,9 @@
velocityContext = new VelocityContext(Language.getContext(langParameter));
- String query = req.getQueryString();
+ velocityContext.put("queryString", getQueryStringWithout(Property.get("UNICORN_PARAMETER_PREFIX") + "lang", req));
+
+ /*String query = req.getQueryString();
String queryString;
if (query == null) {
queryString = "./?";
@@ -71,7 +80,7 @@
queryString += query.replaceAll("&?ucn_lang=[^&]*", "");
if (!queryString.equals("?"))
queryString += "&";*/
- velocityContext.put("queryString", queryString);
+ //velocityContext.put("queryString", queryString);
/*messages.add(new Message(Message.Level.WARNING, "un warning", null));
messages.add(new Message(Message.Level.ERROR, "une error", null));
Index: ObserveAction.java
===================================================================
RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/action/ObserveAction.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- ObserveAction.java 3 Sep 2009 14:04:12 -0000 1.11
+++ ObserveAction.java 4 Sep 2009 17:59:43 -0000 1.12
@@ -32,6 +32,7 @@
import org.w3c.unicorn.Framework;
import org.w3c.unicorn.UnicornCall;
import org.w3c.unicorn.contract.EnumInputMethod;
+import org.w3c.unicorn.exceptions.UnsupportedMimeTypeException;
import org.w3c.unicorn.output.OutputFactory;
import org.w3c.unicorn.output.OutputFormater;
import org.w3c.unicorn.output.OutputModule;
@@ -45,19 +46,18 @@
*
* @author Jean-Guilhem ROUEL
*/
-public class ObserveAction extends HttpServlet {
-
- private static final Log logger = LogFactory.getLog(ObserveAction.class);
+public class ObserveAction extends Action {
private static final long serialVersionUID = -1375355420965607571L;
+
+ private static Log logger = LogFactory.getLog(ObserveAction.class);
- private static final DiskFileItemFactory factory = new DiskFileItemFactory();
+ private static DiskFileItemFactory factory;
/**
* Creates a new file upload handler.
*/
- private static final ServletFileUpload upload = new ServletFileUpload(
- ObserveAction.factory);
+ private static ServletFileUpload upload;
/*
* (non-Javadoc)
@@ -65,13 +65,14 @@
* @see javax.servlet.GenericServlet#init()
*/
@Override
- public void init(final ServletConfig aServletConfig)
- throws ServletException {
- ObserveAction.logger.trace("init");
-
- ObserveAction.factory.setRepository(new File(Property
- .get("UPLOADED_FILES_REPOSITORY")));
-
+ public void init(final ServletConfig aServletConfig) throws ServletException {
+ logger.trace("Init ObserverAction");
+ super.init();
+
+ factory = new DiskFileItemFactory();
+ factory.setRepository(new File(Property.get("UPLOADED_FILES_REPOSITORY")));
+ upload = new ServletFileUpload(factory);
+ logger.debug("Created a ServletFileUpload with repository set to: " + Property.get("UPLOADED_FILES_REPOSITORY"));
}
/*
@@ -165,6 +166,13 @@
this.createOutput(resp, aUnicornCall,
mapOfSpecificParameter, mapOfOutputParameter, mapOfStringObject);
+ } catch (final UnsupportedMimeTypeException aException) {
+ if (mapOfOutputParameter.get("mimetype").equals("text/html")) {
+ Message mess = new Message(Message.Level.ERROR, "$message_unsupported_mime_type", null);
+ req.setAttribute("unicorn_message", mess);
+ (new IndexAction()).doGet(req, resp);
+
+ }
} catch (final Exception aException) {
ObserveAction.logger.error("Exception : " + aException.getMessage(),
aException);
@@ -290,8 +298,13 @@
this.createOutput(resp, aUnicornCall,
mapOfSpecificParameter, mapOfOutputParameter, mapOfStringObject);
- } catch (final IOException aException) {
-
+ } catch (final UnsupportedMimeTypeException aException) {
+ if (mapOfOutputParameter.get("mimetype").equals("text/html")) {
+ Message mess = new Message(Message.Level.ERROR, "$message_unsupported_mime_type", null);
+ req.setAttribute("unicorn_message", mess);
+ (new IndexAction()).doGet(req, resp);
+
+ }
} catch (final Exception aException) {
ObserveAction.logger.error("Exception : " + aException.getMessage(),
aException);
Index: Action.java
===================================================================
RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/action/Action.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Action.java 28 Aug 2009 12:40:09 -0000 1.2
+++ Action.java 4 Sep 2009 17:59:43 -0000 1.3
@@ -1,9 +1,76 @@
package org.w3c.unicorn.action;
+import java.io.IOException;
+import java.net.URLConnection;
+import java.util.ArrayList;
+
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.unicorn.Framework;
+import org.w3c.unicorn.util.Language;
+import org.w3c.unicorn.util.Message;
+import org.w3c.unicorn.util.Property;
public abstract class Action extends HttpServlet {
private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+
+ if (!Framework.isUcnInitialized) {
+ resp.sendError(500, "Unicorn is not initialized properly. Check logs.");
+ return;
+ }
+
+ ArrayList<Message> messages = new ArrayList<Message>();
+
+ String langParameter = req.getParameter(Property.get("UNICORN_PARAMETER_PREFIX") + "lang");
+ if (langParameter == null || !Framework.getLanguageProperties().containsKey(langParameter))
+ langParameter = Language.negociate(req.getLocales());
+
+ if (!langParameter.equals(req.getLocale().getLanguage()))
+ messages.add(new Message(Message.Level.INFO, "$message_unavailable_language (" + req.getLocale().getDisplayLanguage(req.getLocale()) + "). $message_translation", null));
+
+ if (!Language.isComplete(langParameter))
+ messages.add(new Message(Message.Level.INFO, "$message_incomplete_language. $message_translation", null));
+
+
+
+
+ }
+
+ protected String getQueryStringWithout(String parameterName, HttpServletRequest req) {
+ String query = req.getQueryString();
+ String queryString;
+ if (query == null) {
+ queryString = "./?";
+ } else {
+ queryString = "?";
+ queryString += query.replaceAll("&?" + parameterName + "=[^&]*", "");
+ if (!queryString.equals("?"))
+ queryString += "&";
+ }
+ return queryString;
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ super.doPost(req, resp);
+ }
+
+ @Override
+ public void init() throws ServletException {
+ // TODO Auto-generated method stub
+ super.init();
+ }
+
+
}
Received on Friday, 4 September 2009 18:00:01 UTC