You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2012/03/07 13:14:28 UTC
svn commit: r1297949 -
/incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java
Author: scottbw
Date: Wed Mar 7 12:14:28 2012
New Revision: 1297949
URL: http://svn.apache.org/viewvc?rev=1297949&view=rev
Log:
Added application/widget to the list of accepted media types in the base Controller (see WOOKIE-320)
Modified:
incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java
Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java?rev=1297949&r1=1297948&r2=1297949&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java Wed Mar 7 12:14:28 2012
@@ -316,36 +316,43 @@ public abstract class Controller extends
return new String[]{locale};
}
- protected static final int XML = 0;
- protected static final int HTML = 1;
- protected static final int JSON = 2;
- protected static final int ATOM = 3;
+ protected static final int XML = 0;
+ protected static final int HTML = 1;
+ protected static final int JSON = 2;
+ protected static final int ATOM = 3;
+ protected static final int WIDGET = 4;
- /**
- * Returns an int value for the content-type of a request; this
- * can be used to create a switch statement that
- * returns different representations based on the
- * request content-type. If no content-type is present in the
- * request, this method will return HTML (1)
- */
- protected int format(HttpServletRequest request){
- String type = request.getHeader("Accept");
- if (type == null){
- // check for format parameters in the request
- if (request.getParameter("format")!=null){
- type = request.getParameter("format");
- } else {
- return HTML;
- }
- }
- if (type.contains("xml"))
- return XML;
- if (type.contains("json"))
- return JSON;
- if (type.contains("atom"))
- return ATOM;
- return HTML;
- }
+ /**
+ * Returns an int value for the Accept header of a request; this can be used
+ * to create a switch statement that returns different representations based
+ * on the requested media type.
+ *
+ * If there is no Accept header, we also check for a "format" query parameter
+ * to support clients which are unable to set the Accept header.
+ *
+ * If no media type requirement is present in the request, this method will
+ * return HTML (1).
+ */
+ protected int format(HttpServletRequest request) {
+ String type = request.getHeader("Accept");
+ if (type == null) {
+ // check for format parameters in the request
+ if (request.getParameter("format") != null) {
+ type = request.getParameter("format");
+ } else {
+ return HTML;
+ }
+ }
+ if (type.contains("xml"))
+ return XML;
+ if (type.contains("json"))
+ return JSON;
+ if (type.contains("atom"))
+ return ATOM;
+ if (type.contains("application/widget"))
+ return WIDGET;
+ return HTML;
+ }
/**
* Get a URL for a resource on the current Wookie server; this is either determined from the request or overridden by properties