You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by ms...@apache.org on 2015/01/27 17:26:44 UTC

[06/12] portals-pluto git commit: Modified name of portlet API module & moved artifact version to 3.0-snapshot in preparation for further prototyping

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api/src/main/java/javax/portlet/filter/RenderResponseWrapper.java
----------------------------------------------------------------------
diff --git a/portlet-api/src/main/java/javax/portlet/filter/RenderResponseWrapper.java b/portlet-api/src/main/java/javax/portlet/filter/RenderResponseWrapper.java
new file mode 100644
index 0000000..b39dda9
--- /dev/null
+++ b/portlet-api/src/main/java/javax/portlet/filter/RenderResponseWrapper.java
@@ -0,0 +1,234 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/*
+ * This source code implements specifications defined by the Java
+ * Community Process. In order to remain compliant with the specification
+ * DO NOT add / change / or delete method signatures!
+ */
+
+package javax.portlet.filter;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Collection;
+import java.util.Locale;
+
+import javax.portlet.CacheControl;
+import javax.portlet.PortletMode;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+import javax.portlet.ResourceURL;
+
+/**
+ * The <code>RenderResponseWrapper</code> provides a convenient 
+ * implementation of the <code>RenderResponse</code> interface 
+ * that can be subclassed by developers wishing to adapt the response.
+ * This class implements the Wrapper or Decorator pattern. 
+ * Methods default to calling through to the wrapped response object.
+ *
+ * @since 2.0
+ * @see RenderResponse
+ */
+
+public class RenderResponseWrapper extends PortletResponseWrapper implements RenderResponse {
+
+    RenderResponse response;
+    
+    /**
+     * Creates an <code>RenderResponse</code> adaptor 
+     * wrapping the given response object.
+     * 
+     * @param response  the event response to wrap
+     * @throws java.lang.IllegalArgumentException if the response is <code>null</code>
+     */
+    public RenderResponseWrapper(RenderResponse response) {
+    	super(response);
+    	this.response = response;
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>flushBuffer()</code> on the wrapped response object.
+     */ 
+    public void flushBuffer() throws IOException {
+        response.flushBuffer();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getBufferSize()</code> on the wrapped response object.
+     */
+    public int getBufferSize() {
+        return response.getBufferSize();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getCharacterEncoding()</code> on the wrapped response object.
+     */
+    public String getCharacterEncoding() {
+        return response.getCharacterEncoding();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getContentType()</code> on the wrapped response object.
+     */
+    public String getContentType() {
+        return response.getContentType();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getLocale()</code> on the wrapped response object.
+     */
+    public Locale getLocale() {
+        return response.getLocale();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getPortletOutputStream()</code> on the wrapped response object.
+     */
+    public OutputStream getPortletOutputStream() throws IOException {
+        return response.getPortletOutputStream();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getWriter()</code> on the wrapped response object.
+     */
+    public PrintWriter getWriter() throws IOException {
+        return response.getWriter();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>isCommitted()</code> on the wrapped response object.
+     */
+    public boolean isCommitted() {
+        return response.isCommitted();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>reset()</code> on the wrapped response object.
+     */
+    public void reset() {
+        response.reset();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>resetBuffer()</code> on the wrapped response object.
+     */
+    public void resetBuffer() {
+        response.resetBuffer();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setBufferSize(size)</code> on the wrapped response object.
+     */
+    public void setBufferSize(int size) {
+        response.setBufferSize(size);
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setContentType(type)</code> on the wrapped response object.
+     */
+    public void setContentType(String type) {
+        response.setContentType(type);
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setTitle(title)</code> on the wrapped response object.
+     */
+    public void setTitle(String title) {
+        response.setTitle(title);
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getCacheControl()</code> on the wrapped response object.
+     */
+    public CacheControl getCacheControl() {
+        return response.getCacheControl();
+    }
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>setNextPossiblePortletModes()</code> on the wrapped response object.
+     */
+    public void setNextPossiblePortletModes(Collection<PortletMode> portletModes) {
+        response.setNextPossiblePortletModes(portletModes);
+    }
+
+    /**
+     * Return the wrapped response object.
+     * 
+     * @return the wrapped response
+     */
+    public RenderResponse getResponse() {
+        return response;
+    }
+
+    /**
+     * Sets the response object being wrapped.
+     * 
+     * @param response the response to set
+     * @throws java.lang.IllegalArgumentException   if the response is null.
+     */
+    public void setResponse(RenderResponse response) {
+	    	if ( response == null)
+	    		throw new java.lang.IllegalArgumentException("Response is null");
+
+	    	this.response = response;
+    }
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>createActionURL()</code> on the wrapped response object.
+     */
+	public PortletURL createActionURL() throws IllegalStateException {
+		return response.createActionURL();
+	}
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>createRenderURL()</code> on the wrapped response object.
+     */
+	public PortletURL createRenderURL() throws IllegalStateException {
+		return response.createRenderURL();
+	}
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>createResourceURL()</code> on the wrapped response object.
+     */
+	public ResourceURL createResourceURL() throws IllegalStateException {
+		return response.createResourceURL();
+	}
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api/src/main/java/javax/portlet/filter/ResourceFilter.java
----------------------------------------------------------------------
diff --git a/portlet-api/src/main/java/javax/portlet/filter/ResourceFilter.java b/portlet-api/src/main/java/javax/portlet/filter/ResourceFilter.java
new file mode 100644
index 0000000..96babc3
--- /dev/null
+++ b/portlet-api/src/main/java/javax/portlet/filter/ResourceFilter.java
@@ -0,0 +1,111 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/*
+ * This source code implements specifications defined by the Java
+ * Community Process. In order to remain compliant with the specification
+ * DO NOT add / change / or delete method signatures!
+ */
+
+package javax.portlet.filter;
+
+import java.io.IOException;
+
+import javax.portlet.ResourceRequest;
+import javax.portlet.ResourceResponse;
+import javax.portlet.PortletException;
+
+/**
+ * The <code>ResourceFilter</code> is an object that performs filtering 
+ * tasks on either the resource request to a portlet, or on the resource response from 
+ * a portlet, or both.
+ * <p>
+ * Filters perform filtering in the <code>doFilter</code> method. Every Filter has 
+ * access to a <code>FilterConfig</code> object from which it can obtain 
+ * its initialization parameters, a reference to the PortletContext 
+ * which it can use, for example, to load resources needed for filtering tasks.
+ * <p>
+ * Filters are configured in the portlet deployment descriptor of a 
+ * portlet application. 
+ * 
+ * @since 2.0
+ */
+public interface ResourceFilter extends PortletFilter {
+
+    /**
+     * The <code>doFilter</code> method of the Filter is called by the 
+     * portlet container each time a resource request/response pair is passed 
+     * through the chain due to a client request for a portlet method 
+     * at the end of the chain. 
+     * <p>
+     * The <code>FilterChain</code> passed in to this method allows 
+     * the Filter to pass on the resource request and response to the next 
+     * component in the chain.
+     * <p>
+     * The <code>doFilter</code> method of a filter will typically be implemented 
+     * following this or some subset of the following pattern:
+     * <ul>
+     *  <li>The method examines the request information.</li>
+     *  <li>The method may wrap the request object passed in to 
+     *      its doFilter method with a customized implementation 
+     *      the request wrapper <code>ResourceRequestWrapper</code> 
+     *      in order to modify request data.</li>
+     *  <li>The method may wrap the response object passed in to its 
+     *      <code>doFilter</code> method with a customized implementation 
+     *      of the response wrapper <code>ResourceResponseWrapper</code> 
+     *      to modify response data.</li>
+     *  <li>The filter may invoke the next component in the filter chain. 
+     *      The next component may be another filter, or if the filter 
+     *      making the invocation is the last filter configured in the 
+     *      deployment descriptor for this chain, the next component 
+     *      is the target method of the portlet. The invocation of the 
+     *      next component is effected by calling the <code>doFilter</code>
+     *      method on the <code>FilterChain</code> object, and passing in 
+     *      the request and response with which it was called or passing 
+     *      in wrapped versions it may have created. 
+     *      The filter chain's implementation of the <code>doFilter</code> 
+     *      method, provided by the portlet container, must locate the 
+     *      next component in the filter chain and invoke its <code>doFilter</code>
+     *      method, passing in the appropriate request and response objects. 
+     *      Alternatively, the filter chain can block the request by not 
+     *      making the call to invoke the next component, leaving the filter 
+     *      responsible for filling out the response object.</li>
+     *  <li>After invocation of the next filter in the chain, the filter 
+     *      may examine the response data.</li>
+     *  <li>Alternatively, the filter may have thrown an exception to 
+     *      indicate an error in processing. If the filter throws an 
+     *      <code>UnavailableException</code> during its <code>doFilter</code> 
+     *      processing, the portlet container must not attempt continued 
+     *      processing down the filter chain. It may choose to retry the 
+     *      whole chain at a later time if the exception is not marked permanent.</li>
+     *  <li>When the last filter in the chain has been invoked, the next 
+     *      component accessed is the target method on the portlet at 
+     *      the end of the chain.</li>
+     * </ul>
+     * 
+     * @param request  the current resource request 
+     * @param response  the current resource response 
+     * @param chain  the remaining filter chain
+     * @throws IOException  if an IO error occurred in the filter processing
+     * @throws PortletException  if a portlet exception occurred in the filter processing
+     */
+    public void doFilter(ResourceRequest request, ResourceResponse response,
+                         FilterChain chain)
+     throws IOException, PortletException;
+    
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api/src/main/java/javax/portlet/filter/ResourceRequestWrapper.java
----------------------------------------------------------------------
diff --git a/portlet-api/src/main/java/javax/portlet/filter/ResourceRequestWrapper.java b/portlet-api/src/main/java/javax/portlet/filter/ResourceRequestWrapper.java
new file mode 100644
index 0000000..b56aeb5
--- /dev/null
+++ b/portlet-api/src/main/java/javax/portlet/filter/ResourceRequestWrapper.java
@@ -0,0 +1,183 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/*
+ * This source code implements specifications defined by the Java
+ * Community Process. In order to remain compliant with the specification
+ * DO NOT add / change / or delete method signatures!
+ */
+
+package javax.portlet.filter;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.Map;
+
+import javax.portlet.ResourceRequest;
+
+/**
+ * The <code>ResourceRequestWrapper</code> provides a convenient 
+ * implementation of the <code>ResourceRequest</code> interface 
+ * that can be subclassed by developers wishing to adapt the request.
+ * This class implements the Wrapper or Decorator pattern. 
+ * Methods default to calling through to the wrapped request object.
+ *
+ * @since 2.0
+ * @see ResourceRequest
+ */
+public class ResourceRequestWrapper extends PortletRequestWrapper implements ResourceRequest {
+
+    ResourceRequest request;
+
+    /**
+     * Creates an <code>ResourceRequest</code> adaptor 
+     * wrapping the given request object.
+     * 
+     * @param request  the resource request to wrap
+     * @throws java.lang.IllegalArgumentException if the request is <code>null</code>
+     */
+    public ResourceRequestWrapper(ResourceRequest request) {
+    	super(request);
+    	this.request = request;
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getPortletInputStream()</code> on the wrapped request object.
+     */
+    public InputStream getPortletInputStream() throws IOException {
+        return request.getPortletInputStream();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getReader()</code> on the wrapped request object.
+     */
+    public BufferedReader getReader() throws UnsupportedEncodingException,
+            IOException {
+        return request.getReader();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setCharacterEncoding(String enc)</code> 
+     * on the wrapped request object.
+     */
+    public void setCharacterEncoding(String enc)
+            throws UnsupportedEncodingException {
+       request.setCharacterEncoding(enc);
+    }
+    
+
+    /**
+     * Return the wrapped request object.
+     * 
+     * @return the wrapped request
+     */
+    public ResourceRequest getRequest() {
+        return request;
+    }
+
+    /**
+     * Sets the request object being wrapped.
+     * 
+     * @param request the request to set
+     * @throws java.lang.IllegalArgumentException   if the request is null.
+     */
+    public void setRequest(ResourceRequest request) {
+    	if ( request == null)
+    		throw new java.lang.IllegalArgumentException("Request is null");
+
+    	this.request = request;
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getCharacterEncoding()</code> on the wrapped request object.
+     */
+    public String getCharacterEncoding() {      
+        return request.getCharacterEncoding();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getContentLength()</code> on the wrapped request object.
+     */
+    public int getContentLength() {
+        return request.getContentLength();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getContentType()</code> on the wrapped request object.
+     */
+    public String getContentType() {
+        return request.getContentType();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getETag()</code> on the wrapped request object.
+     */
+    public String getETag() {
+        return request.getETag();
+    }
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>getMethod()</code> on the wrapped request object.
+     */
+    public String getMethod() {
+        return request.getMethod();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getResourceID()</code> on the wrapped request object.
+     */
+    public String getResourceID() {
+        return request.getResourceID();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getPrivateRenderParameterMap()</code> on the wrapped request object.
+     */
+	public Map<String, String[]> getPrivateRenderParameterMap() {
+		return request.getPrivateParameterMap();
+	}
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>getCacheability()</code> on the wrapped response object.
+     */
+    public String getCacheability() {
+        return request.getCacheability();
+    }
+
+   /* (non-Javadoc)
+    * @see javax.portlet.ResourceRequest#getPageState()
+    */
+   public String getPageState() {
+      return request.getPageState();
+   }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api/src/main/java/javax/portlet/filter/ResourceResponseWrapper.java
----------------------------------------------------------------------
diff --git a/portlet-api/src/main/java/javax/portlet/filter/ResourceResponseWrapper.java b/portlet-api/src/main/java/javax/portlet/filter/ResourceResponseWrapper.java
new file mode 100644
index 0000000..bc7e379
--- /dev/null
+++ b/portlet-api/src/main/java/javax/portlet/filter/ResourceResponseWrapper.java
@@ -0,0 +1,242 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/*
+ * This source code implements specifications defined by the Java
+ * Community Process. In order to remain compliant with the specification
+ * DO NOT add / change / or delete method signatures!
+ */
+
+package javax.portlet.filter;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+import javax.portlet.CacheControl;
+import javax.portlet.PortletURL;
+import javax.portlet.ResourceResponse;
+import javax.portlet.ResourceURL;
+
+/**
+ * The <code>ResourceResponseWrapper</code> provides a convenient 
+ * implementation of the <code>ResourceResponse</code> interface 
+ * that can be subclassed by developers wishing to adapt the response.
+ * This class implements the Wrapper or Decorator pattern. 
+ * Methods default to calling through to the wrapped response object.
+ *
+ * @since 2.0
+ * @see ResourceResponse
+ */
+
+public class ResourceResponseWrapper extends PortletResponseWrapper implements ResourceResponse {
+
+    ResourceResponse response;
+    
+    /**
+     * Creates an <code>ResourceResponse</code> adaptor 
+     * wrapping the given response object.
+     * 
+     * @param response  the event response to wrap
+     * @throws java.lang.IllegalArgumentException if the response is <code>null</code>
+     */
+    public ResourceResponseWrapper(ResourceResponse response) {
+    	super(response);
+    	this.response = response;
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>flushBuffer()</code> on the wrapped response object.
+     */ 
+    public void flushBuffer() throws IOException {
+        response.flushBuffer();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getBufferSize()</code> on the wrapped response object.
+     */
+    public int getBufferSize() {
+        return response.getBufferSize();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getCharacterEncoding()</code> on the wrapped response object.
+     */
+    public String getCharacterEncoding() {
+        return response.getCharacterEncoding();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getContentType()</code> on the wrapped response object.
+     */
+    public String getContentType() {
+        return response.getContentType();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getLocale()</code> on the wrapped response object.
+     */
+    public Locale getLocale() {
+        return response.getLocale();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getPortletOutputStream()</code> on the wrapped response object.
+     */
+    public OutputStream getPortletOutputStream() throws IOException {
+        return response.getPortletOutputStream();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getWriter()</code> on the wrapped response object.
+     */
+    public PrintWriter getWriter() throws IOException {
+        return response.getWriter();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>isCommitted()</code> on the wrapped response object.
+     */
+    public boolean isCommitted() {
+        return response.isCommitted();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>reset()</code> on the wrapped response object.
+     */
+    public void reset() {
+        response.reset();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>resetBuffer()</code> on the wrapped response object.
+     */
+    public void resetBuffer() {
+        response.resetBuffer();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setBufferSize(size)</code> on the wrapped response object.
+     */
+    public void setBufferSize(int size) {
+        response.setBufferSize(size);
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setContentType(type)</code> on the wrapped response object.
+     */
+    public void setContentType(String type) {
+        response.setContentType(type);
+    }
+
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>getCacheControl()</code> on the wrapped response object.
+     */
+    public CacheControl getCacheControl() {
+        return response.getCacheControl();
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setCharacterEncoding(String charset)</code> on the wrapped response object.
+     */
+    public void setCharacterEncoding(String charset) {
+        response.setCharacterEncoding(charset);
+        return;
+    }
+
+    /**
+     * The default behavior of this method is to call 
+     * <code>setLocale(Locale loc)</code> on the wrapped response object.
+     */
+    public void setLocale(Locale loc) {
+        response.setLocale(loc);
+        return;
+    }
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>setContentLength()</code> on the wrapped response object.
+     */
+    public void setContentLength(int len) {
+        response.setContentLength(len);
+    }
+
+    /**
+     * Return the wrapped response object.
+     * 
+     * @return the wrapped response
+     */
+    public ResourceResponse getResponse() {
+        return response;
+    }
+
+    /**
+     * Sets the response object being wrapped.
+     * 
+     * @param response the response to set
+     * @throws java.lang.IllegalArgumentException   if the response is null.
+     */
+    public void setResponse(ResourceResponse response) {
+	    	if ( response == null)
+	    		throw new java.lang.IllegalArgumentException("Response is null");
+
+	    	this.response = response;
+    }
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>createActionURL()</code> on the wrapped response object.
+     */
+	public PortletURL createActionURL() throws IllegalStateException {
+		return response.createActionURL();
+	}
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>createRenderURL()</code> on the wrapped response object.
+     */
+	public PortletURL createRenderURL() throws IllegalStateException {
+		return response.createRenderURL();
+	}
+
+    /**
+     *  The default behavior of this method is to call 
+     * <code>createResourceURL()</code> on the wrapped response object.
+     */
+	public ResourceURL createResourceURL() throws IllegalStateException {
+		return response.createResourceURL();
+	}
+	
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api/src/main/java/javax/portlet/filter/package-info.java
----------------------------------------------------------------------
diff --git a/portlet-api/src/main/java/javax/portlet/filter/package-info.java b/portlet-api/src/main/java/javax/portlet/filter/package-info.java
new file mode 100644
index 0000000..05c1c01
--- /dev/null
+++ b/portlet-api/src/main/java/javax/portlet/filter/package-info.java
@@ -0,0 +1,23 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/**
+ * The javax.portlet.filter package defines the filter APIs for the Java Portlet Specification.
+ */
+
+package javax.portlet.filter;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api/src/main/java/javax/portlet/package-info.java
----------------------------------------------------------------------
diff --git a/portlet-api/src/main/java/javax/portlet/package-info.java b/portlet-api/src/main/java/javax/portlet/package-info.java
new file mode 100644
index 0000000..561b69f
--- /dev/null
+++ b/portlet-api/src/main/java/javax/portlet/package-info.java
@@ -0,0 +1,44 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+/*
+ * This source code implements specifications defined by the Java
+ * Community Process. In order to remain compliant with the specification
+ * DO NOT add / change / or delete method signatures!
+ */
+
+/**
+ * The javax.portlet package defines the API for Java Portlet Specification V2.0.
+ * <p>
+ * A portlet is a Java technology based web component, managed by a portlet container,
+ * that processes requests and generates dynamic content. Portlets provide a presentation
+ * layer to Information Systems.
+ * <p>
+ * Portlets generate fragments of markup (e.g. HTML, XHTML, WML). A portal combines markup
+ * fragments generated by different portlets into a portal page.
+ * <p>
+ * A portlet container manages the lifecyle of portlets. It also provides the required runtime environment.
+ * <p>
+ * Portlets are bundled in Portlet Applications as web applications using the WAR file format.
+ * A portlet application consists of two deployment descriptors: one to specify
+ * the web application resources (web.xml) and one to specify the portlet resources
+ * (portlet.xml). The portlet.xml must follow the schema defined by the
+ * http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd namespace.
+ * <p>
+ */
+package javax.portlet;

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/LICENSE
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/LICENSE b/portlet-api_2.0_spec/LICENSE
deleted file mode 100644
index d645695..0000000
--- a/portlet-api_2.0_spec/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/NOTICE
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/NOTICE b/portlet-api_2.0_spec/NOTICE
deleted file mode 100644
index 76aa882..0000000
--- a/portlet-api_2.0_spec/NOTICE
+++ /dev/null
@@ -1,11 +0,0 @@
-
-Java Portlet Specification V2.0
-Copyright 2004-2009 Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-Original code
-� Copyright IBM Corp. 2006, 2007
-All rights reserved.

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/pom.xml
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/pom.xml b/portlet-api_2.0_spec/pom.xml
deleted file mode 100644
index ed5c84f..0000000
--- a/portlet-api_2.0_spec/pom.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  
-  $Id: pom.xml 774158 2009-05-13 00:42:04Z ate $
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.portals.pluto</groupId>
-    <artifactId>pluto</artifactId>
-    <version>2.1.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>portlet-api_2.0_spec</artifactId>
-  <packaging>bundle</packaging>
-  <name>Java Portlet Specification V2.0</name>
-  <description>The Java Portlet API version 2.0 developed by the Java Community Process JSR-286 Expert Group.</description>
-
-  <url>http://portals.apache.org/portlet-spec/portlet-api-2.0</url>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.tomcat</groupId>
-      <artifactId>tomcat-servlet-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/portals/portlet-spec/trunk/portlet-api_2.0_spec</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/portals/portlet-spec/trunk/portlet-api_2.0_spec</developerConnection>
-    <url>http://svn.apache.org/viewvc/portals/portlet-spec/trunk/portlet-api_2.0_spec</url>
-  </scm>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <configuration>
-            <source>1.5</source>
-            <target>1.5</target>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>maven-bundle-plugin</artifactId>
-          <version>2.0.0</version>
-          <extensions>true</extensions>
-          <configuration>
-            <instructions>
-              <Export-Package>javax.portlet.filter;version=2.0.0,
-                javax.portlet;version=2.0.0
-              </Export-Package>
-              <Import-Package>
-                javax.servlet.http;version=2.4,*
-              </Import-Package>
-              <Implementation-Title>${project.name}</Implementation-Title>
-              <Implementation-Version>${project.version}</Implementation-Version>
-              <Bundle-DocURL>${project.url}</Bundle-DocURL>
-            </instructions>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-  
-</project>
-
-

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/appended-resources/META-INF/NOTICE.vm
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/appended-resources/META-INF/NOTICE.vm b/portlet-api_2.0_spec/src/main/appended-resources/META-INF/NOTICE.vm
deleted file mode 100644
index 0b24114..0000000
--- a/portlet-api_2.0_spec/src/main/appended-resources/META-INF/NOTICE.vm
+++ /dev/null
@@ -1,3 +0,0 @@
-Original code
-� Copyright IBM Corp. 2006, 2007
-All rights reserved.

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionRequest.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionRequest.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionRequest.java
deleted file mode 100644
index 4400d77..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionRequest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-
-/**
- * The <CODE>ActionRequest</CODE> represents the request sent to the portlet
- * to handle an action.<br>
- * It extends the ClientDataRequest interface and provides action request
- * information to portlets.
- * <p>
- * The portlet container creates an <CODE>ActionRequest</CODE> object and
- * passes it as argument to the portlet's <CODE>processAction</CODE> method.
- * 
- * @see ClientDataRequest
- */
-public interface ActionRequest extends ClientDataRequest
-{
-	/**
-	 * Predefined action name for usage with the
-	 * <code>@ProcessAction</code> annotation.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String ACTION_NAME = "javax.portlet.action";
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionResponse.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionResponse.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionResponse.java
deleted file mode 100644
index 3d617fb..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/ActionResponse.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-
-/**
- * The <CODE>ActionResponse</CODE> interface represents the portlet
- * response to an action request.
- * It extends the <CODE>StateAwareResponse</CODE> interface to provide specific 
- * action response functionality to portlets.<br>
- * The portlet container creates an <CODE>ActionResponse</CODE> object and 
- * passes it as argument to the portlet's <CODE>processAction</CODE> method.
- * 
- * @see StateAwareResponse 
- * @see PortletResponse
- * @see ActionRequest
- */
-public interface ActionResponse extends StateAwareResponse
-{
-
-  /**
-   * Instructs the portlet container to send a redirect response 
-   * to the client using the specified redirect location URL.  
-   * <p>
-   * This method only accepts an absolute URL (e.g. 
-   * <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
-   * or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
-   * If required, 
-   * the portlet container may encode the given URL before the 
-   * redirection is issued to the client.
-   * <p>
-   * The sendRedirect method can not be invoked after any of the 
-   * following methods of the ActionResponse interface has been called:
-   * <ul>
-   * <li>setPortletMode</li>
-   * <li>setWindowState</li>
-   * <li>setRenderParameter</li>
-   * <li>setRenderParameters</li>
-   * <li>removePublicRenderParamter</li>
-   * </ul>
-   *
-   * @param		location	the redirect location URL
-   *
-   * @exception	java.io.IOException	
-   *                    if an input or output exception occurs.
-   * @exception	java.lang.IllegalArgumentException	
-   *                    if a relative path URL is given
-   * @exception java.lang.IllegalStateException
-   *                    if the method is invoked after any of above mentioned methods of 
-   *                    the ActionResponse interface has been called.
-   */
-
-  public void sendRedirect(String location)
-    throws java.io.IOException; 
-
-  /**
-   * Instructs the portlet container to send a redirect response 
-   * to the client using the specified redirect location URL and
-   * encode a render URL as parameter on the redirect URL.  
-   * <p>
-   * This method only accepts an absolute URL (e.g. 
-   * <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
-   * or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
-   * If required, 
-   * the portlet container may encode the given URL before the 
-   * redirection is issued to the client.
-   * <p>
-   * The portlet container will attach a render URL with the currently set portlet mode, window state
-   * and render parameters on the <code>ActionResponse</code> and the current public render parameters. 
-   * The attached URL will be available as query parameter value under the key provided with the 
-   * <code>renderUrlParamName</code> parameter.
-   * <p>
-   * New values for
-   * <ul>
-   * <li>setPortletMode
-   * <li>setWindowState
-   * <li>setRenderParameter
-   * <li>setRenderParameters
-   * </ul>
-   * are only used for creating the render URL and not remembered after the redirect
-   * is issued. 
-   *
-   * @param		location	the redirect location URL
-   * @param     renderUrlParamName	name of the query parameter under which the portlet container should
-   *                                store a render URL to this portlet
-   *                                
-   * @exception	java.io.IOException	
-   *                    if an input or output exception occurs.
-   * @exception	java.lang.IllegalArgumentException	
-   *                    if a relative path URL is given
-   *                    
-   * @since 2.0
-   */
-
-  public void sendRedirect(String location, String renderUrlParamName)
-    throws java.io.IOException; 
-}
-
-
-
-

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/BaseURL.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/BaseURL.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/BaseURL.java
deleted file mode 100644
index 025e2c2..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/BaseURL.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-/**
- * The <CODE>BaseURL</CODE> defines the basic capabilities
- * of a portlet URL pointing back to the portlet.
- *
- * @since 2.0
- */
-public interface BaseURL {
-
-    /**
-     * Sets the given String parameter to this URL. 
-     * <p>
-     * This method replaces all parameters with the given key.
-     * <p>
-     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
-     * all  parameter names and values. Developers should not encode them.
-     * <p>
-     * A portlet container may prefix the attribute names internally 
-     * in order to preserve a unique namespace for the portlet.
-     * <p>
-     * A parameter value of <code>null</code> indicates that this
-     * parameter should be removed.
-     *
-     * @param   name
-     *          the parameter name
-     * @param   value
-     *          the parameter value
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     */
-
-    public void setParameter (String name, String value);
-
-
-    /**
-     * Sets the given String array parameter to this URL. 
-     * <p>
-     * This method replaces all parameters with the given key.
-     * <p>
-     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
-     * all  parameter names and values. Developers should not encode them.
-     * <p>
-     * A portlet container may prefix the attribute names internally 
-     * in order to preserve a unique namespace for the portlet.
-     *
-     * @param   name
-     *          the parameter name
-     * @param   values
-     *          the parameter values
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     */
-
-    public void setParameter (String name, String[] values);
-
-
-    /**
-     * Sets a parameter map for this URL.
-     * <p>
-     * All previously set parameters are cleared.
-     * <p>
-     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
-     * all  parameter names and values. Developers should not encode them.
-     * <p>
-     * A portlet container may prefix the attribute names internally, 
-     * in order to preserve a unique namespace for the portlet.
-     *
-     * @param  parameters   Map containing parameter names for 
-     *                      the render phase as 
-     *                      keys and parameter values as map 
-     *                      values. The keys in the parameter
-     *                      map must be of type String. The values 
-     *                      in the parameter map must be of type
-     *                      String array (<code>String[]</code>).
-     *
-     * @exception   java.lang.IllegalArgumentException 
-     *                      if parameters is <code>null</code>, if
-     *                      any of the keys in the Map are <code>null</code>, 
-     *                      if any of the keys is not a String, or if any of 
-     *                      the values is not a String array.
-     */
-
-    public void setParameters(java.util.Map<String, String[]> parameters);
-
-
-    /**
-     * Indicated the security setting for this URL. 
-     * <p>
-     * Secure set to <code>true</code> indicates that the portlet requests
-     * a secure connection between the client and the portlet window for
-     * this URL. Secure set to <code>false</code> indicates that the portlet 
-     * does not need a secure connection for this URL. If the security is not
-     * set for a URL, it should stay the same as the current request. 
-     *
-     * @param  secure  true, if portlet requests to have a secure connection
-     *                 between its portlet window and the client; false, if
-     *                 the portlet does not require a secure connection.
-     *
-     * @throws PortletSecurityException  if the run-time environment does
-     *                                   not support the indicated setting
-     */
-
-    public void setSecure (boolean secure) throws PortletSecurityException;
-
-    /**
-     * Returns the portlet URL string representation to be embedded in the
-     * markup.<br>
-     * Note that the returned String may not be a valid URL, as it may
-     * be rewritten by the portal/portlet-container before returning the 
-     * markup to the client.
-     * <p>
-     * The returned URL is not XML escaped.
-     * <p>
-     * For writing URLs to an output stream the {@link #write(java.io.Writer)} or 
-     * {@link #write(java.io.Writer, boolean)} method should be used as these are
-     * more efficient.
-     * 
-     * @return   the encoded URL as a string
-     */
-
-    public String toString ();
-    
-    /** 
-     * Returns a <code>Map</code> of the parameters 
-     * currently set on this portlet URL via the 
-     * <code>setParameter</code> or <code>setParameters</code>
-     * methods.
-     * <p>
-     * The values in the returned <code>Map</code> are from type
-     * String array (<code>String[]</code>).
-     * <p>
-     * If no parameters exist this method returns an empty <code>Map</code>.
-     *             
-     * @return     <code>Map</code> containing parameter names as 
-     *             keys and parameter values as map values, or an empty <code>Map</code>
-     *             if no parameters exist. The keys in the parameter
-     *             map are of type String. The values in the parameter map are of type
-     *             String array (<code>String[]</code>).
-     *
-     * @since 2.0
-     */
-
-    public java.util.Map<String, String[]> getParameterMap();
-
-    /**
-     * Writes the portlet URL to the output stream using the provided writer.
-     * <p>
-     * Note that the URL written to the output stream may not be a valid URL, as it may
-     * be rewritten by the portal/portlet-container before returning the 
-     * markup to the client.
-     * <p>
-     * The URL written to the output stream is always XML escaped. For writing
-     * non-escaped URLs use {@link #write(java.io.Writer, boolean)}.
-     *  
-     * @param out  the writer to write the portlet URL to
-     * @throws java.io.IOException  if an I/O error occured while writing the URL
-     *
-     * @since 2.0
-     */
-    public void write(java.io.Writer out) throws java.io.IOException;
-    
-    /**
-     * Writes the portlet URL to the output stream using the provided writer.
-     * If the parameter escapeXML is set to true the URL will be escaped to be
-     * valid XML characters, i.e. &lt, &gt, &amp, &#039, &#034 will get converted
-     * into their corresponding character entity codes (&lt to &&lt, &gt to &&gt, 
-     * &amp to &&amp, &#039 to &&#039, &#034 to &&#034).
-     * If escapeXML is set to false no escaping will be done.
-     * <p>
-     * Note that the URL written to the output stream may not be a valid URL, as it may
-     * be rewritten by the portal/portlet-container before returning the 
-     * markup to the client.
-     *  
-     * @param out       the writer to write the portlet URL to
-     * @param escapeXML denotes if the URL should be XML escaped before written to the output
-     *                  stream or not
-     * @throws java.io.IOException  if an I/O error occurred while writing the URL
-     *
-     * @since 2.0
-     */
-     public void write(java.io.Writer out, boolean escapeXML) throws java.io.IOException;
-
-    
-    /**
-     * Adds a String property to an existing key on the URL.
-     * <p>
-     * This method allows URL properties to have multiple values.
-     * <p>
-     * Properties can be used by portlets to provide vendor specific information
-     * to the URL.
-     *
-     * @param key
-     *            the key of the property
-     * @param value
-     *            the value of the property
-     *
-     * @exception java.lang.IllegalArgumentException
-     *                if key is <code>null</code>.
-     *
-     * @since 2.0
-     */
-    public void addProperty(String key, String value);
-
-
-    /**
-     * Sets a String property on the URL.
-     * <p>
-     * Properties can be used by portlets to provide vendor specific information
-     * to the URL.
-     * <p>
-     * This method resets all properties previously added with the same key.
-     *
-     * @param key
-     *            the key of the property
-     * @param value
-     *            the value of the property
-     *
-     * @exception java.lang.IllegalArgumentException
-     *                if key is <code>null</code>.
-     *
-     * @since 2.0
-     */
-    public void setProperty(String key, String value);
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/CacheControl.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/CacheControl.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/CacheControl.java
deleted file mode 100644
index c25b88b..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/CacheControl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-/**
- * The <code>CacheControl</code> interface represents cache settings
- * for a piece of markup. The settings are only valid for the current
- * request.
- *
- * @since 2.0
- */
-public interface CacheControl {
-
-    /**
-     * Get the currently set expiration time.
-     * If no expiration time is set on this response the
-     * default defined in the portlet deployment descriptor
-     * with the <code>expiration-cache<code> tag is returned,
-     * or <code>0</code> if no default is defined.
-     * <p>
-     * This call returns the same value as the
-     * <code>getProperty(EXPIRATION_CACHE)</code>
-     * call.
-     * 
-     * @return  the currently set expiration time in seconds,
-     *          or <code>0</code> if no expiration time
-     *          is set.
-     */
-    public int getExpirationTime();
-    
-    /**
-     * Sets a new expiration time for the current response
-     * in seconds.
-     * <p>
-     * If the expiration value is set to 0, caching is disabled for this
-     * portlet; if the value is set to -1, the cache does not expire.
-     * <p>
-     * This call is equivalent to calling
-     * <code>setProperty(EXPIRATION_CACHE)</code>.
-     * 
-     * @param time  expiration time in seconds
-     */
-    public void setExpirationTime(int time);
-    
-    
-    /**
-     * Returns a boolean indicating whether the
-     * caching scope is set to public for the current response.
-     * If no caching scope is set on this response, the default 
-     * defined in the deployment descriptor with the
-     * <code>cache-scope</code> tag is returned,
- 	 * or <code>false</code> if no default is defined.
-     * <p>
-     * Public cache scope indicates that the cache entry can be shared across
-     * users. Non-public, or private cache scope indicates that the cache entry
-     * must not be shared across users.
-     * <p>
-     * This call is equivalent to calling
-     * <code>getProperty(CACHE_SCOPE).equals(PUBLIC_SCOPE)</code>.
-     * 
-     * @return true if the cache scope is public for the
-     *         current response.
-     */
-    public boolean isPublicScope();
-    
-    /**
-     * Sets the caching scope for the current response
-     * to public with <code>true</code> as 
-     * <code>publicScope</code> and to private with
-     * <code>false</code> as <code>publicScope</code>.
-     * <p>
-     * Public cache scope indicates that the cache entry can be shared across
-     * users. Non-public, or private cache scope indicates that the cache entry 
-     * must not be shared across users.
-     * <p>
-     * This call is equivalent to calling
-     * <code>(publicScope ? setProperty(CACHE_SCOPE, PUBLIC_SCOPE | 
-     *        setProperty(CACHE_SCOPE, PRIVATE_SCOPE)</code>.
-     * 
-     * @param publicScope  indicating if the cache entry can be shared across users
-     */
-    public void setPublicScope(boolean publicScope);
-    
-    /**
-     * Returns the ETag for the current response that is
-     * used as validation tag, or <code>null</null>
-     * if no ETag is set on the response.
-     * <p>
-     * This call is equivalent to calling
-     * <code>getProperty(ETAG)</code>.
-     * 
-     * @return  the ETag for the current response that is
-     *          used as validation tag, or <code>null</null>
-     *          if no ETag is set.
-     */
-    public String getETag();
-    
-    /**
-     * Sets an ETag for the current response that is
-     * used as validation tag. If an ETag was already
-     * set it is replaced with the new value.
-     * <p>
-     * This call is equivalent to calling
-     * <code>setProperty(ETAG, token)</code>.
-     * <p>
-     * Setting the ETag to <code>null</code> removes
-     * the currently set ETag.
-     *  
-     * @param token  the ETag token
-     */
-    public void setETag(String token);
-    
-    
-    /**
-     * Returns a boolean indicating whether the
-     * cached content for the provided ETag at the request
-     * can still be considerated valid.
-     * If not set, the default is <code>false</code>.
-     * <p>
-     * This call is equivalent to calling
-     * <code>getProperty(USE_CACHED_CONTENT)</code> and getting a non-null
-     * value back.
-     * 
-     * @return  boolean indicating whether the
-     *          caching scope is set to public for the current response
-     */
-    public boolean useCachedContent();
-    
-    /**
-     * Sets the indication whether the cached content
-     * for the provided ETag at the request is still valid or not.
-     * If set to <code>true</code> no output should be rendered,
-     * but a new expiration time should be set for the
-     * markup with the given ETag . 
-     * <p>
-     * This call is equivalent to calling
-     * <code>setProperty(USE_CACHED_CONTENT, "true")</code>.
-     *        
-     * @param useCachedContent  boolean indication whether the
-     *          the cached content is still valid or not
-     */
-    public void setUseCachedContent(boolean useCachedContent);
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/ClientDataRequest.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/ClientDataRequest.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/ClientDataRequest.java
deleted file mode 100644
index 4b837a9..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/ClientDataRequest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-/**
- * The <CODE>ClientDataRequest</CODE> represents the request information 
- * of the HTTP request issued from the client to the portal.<BR>
- * It extends the PortletRequest interface.
- * 
- * @since 2.0
- * @see PortletRequest
- */
-public interface ClientDataRequest extends PortletRequest {
-
-    /**
-     * Retrieves the body of the HTTP request from client to
-     * portal as binary data using
-     * an <CODE>InputStream</CODE>. Either this method or 
-     * {@link #getReader} may be called to read the body, but not both.
-     * <p>
-     * For HTTP POST data of type application/x-www-form-urlencoded
-     * this method throws an <code>IllegalStateException</code>
-     * as this data has been already processed by the 
-     * portal/portlet-container and is available as request parameters.
-     *
-     * @return an input stream containing the body of the request
-     *
-     * @exception java.lang.IllegalStateException
-     *                   if getReader was already called, or it is a 
-     *                   HTTP POST data of type application/x-www-form-urlencoded
-     * @exception java.io.IOException
-     *                   if an input or output exception occurred
-     */
-    public java.io.InputStream getPortletInputStream () throws java.io.IOException;
-
-
-
-    /**
-     * Overrides the name of the character encoding used in the body of this
-     * request. This method must be called prior to reading input 
-     * using {@link #getReader} or {@link #getPortletInputStream}.
-     * <p>
-     * This method only sets the character set for the Reader that the
-     * {@link #getReader} method returns.
-     *
-     * @param   enc a <code>String</code> containing the name of 
-     *          the character encoding.
-     *
-     * @exception       java.io.UnsupportedEncodingException if this is not a valid encoding
-     * @exception       java.lang.IllegalStateException      if this method is called after 
-     *                                   reading request parameters or reading input using 
-     *                                   <code>getReader()</code>
-     */
-
-    public void setCharacterEncoding(String enc) 
-      throws java.io.UnsupportedEncodingException;
-
-
-    /**
-     * Retrieves the body of the HTTP request from the client to the portal
-     * as character data using
-     * a <code>BufferedReader</code>.  The reader translates the character
-     * data according to the character encoding used on the body.
-     * Either this method or {@link #getPortletInputStream} may be called to read the
-     * body, not both.
-     * <p>
-     * For HTTP POST data of type application/x-www-form-urlencoded
-     * this method throws an <code>IllegalStateException</code>
-     * as this data has been already processed by the 
-     * portal/portlet-container and is available as request parameters.
-     *
-     * @return  a <code>BufferedReader</code>
-     *      containing the body of the request  
-     *
-     * @exception  java.io.UnsupportedEncodingException     
-     *                 if the character set encoding used is 
-     *           not supported and the text cannot be decoded
-     * @exception  java.lang.IllegalStateException      
-     *                 if {@link #getPortletInputStream} method
-     *           has been called on this request,  it is a 
-     *                   HTTP POST data of type application/x-www-form-urlencoded.
-     * @exception  java.io.IOException
-     *                 if an input or output exception occurred
-     *
-     * @see #getPortletInputStream
-     */
-    
-    public java.io.BufferedReader getReader()
-      throws java.io.UnsupportedEncodingException, java.io.IOException;
-      
-      
-    /**
-     * Returns the name of the character encoding used in the body of this request.
-     * This method returns <code>null</code> if the request
-     * does not specify a character encoding.
-     *
-     * @return      a <code>String</code> containing the name of 
-     *          the character encoding, or <code>null</code>
-     *          if the request does not specify a character encoding.
-     */
-    
-    public java.lang.String getCharacterEncoding();
-
-
-
-    /**
-     * Returns the MIME type of the body of the request, 
-     * or null if the type is not known.
-     *
-     * @return      a <code>String</code> containing the name 
-     *          of the MIME type of the request, or null 
-     *                    if the type is not known.
-     */
-
-    public java.lang.String getContentType();
-
-
-    /**
-     * Returns the length, in bytes, of the request body 
-     * which is made available by the input stream, or -1 if the
-     * length is not known. 
-     *
-     *
-     * @return      an integer containing the length of the 
-     *          request body or -1 if the length is not known
-     *
-     */
-
-    public int getContentLength();
-      
-    /**
-     * Returns the name of the HTTP method with which this request was made, 
-     * for example, GET, POST, or PUT.
-     * 
-     * @since 2.0
-     * @return  a String specifying the name of the HTTP method with which 
-     *          this request was made
-     */
-    public String getMethod();
-
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/Event.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/Event.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/Event.java
deleted file mode 100644
index 790721c..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/Event.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-/**
- * The <code>Event</code> interface represents an event that the portlet has received
- * in the event processing phase.
- * <p>
- * The <code>Event</code> interface encapsulates the event name and event payload,
- * it does not represent the event object itself.
- * <p>
- * The portlet must define the events it is able to receive in the portlet deployment
- * descriptor with the <code>supported-processing-event</code>.
- * 
- * @since 2.0
- * @see EventPortlet
- */
-public interface Event {
-    
-    /**
-     * Get the event QName.
-     * 
-     * @return  the QName of the event, never <code>null</code>.
-     */
-    public javax.xml.namespace.QName getQName();
-
-    /**
-     * Get the local part of the event name.
-     * 
-     * @return  the local part of the event, never <code>null</code>.
-     */
-    public java.lang.String getName();
-
-    /**
-     * Get the event payload.
-     * 
-     * @return  event payload, must be serializable.
-     *          May return <code>null</code> if this event has no payload.
-     */
-    public java.io.Serializable getValue();
-   
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/EventPortlet.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/EventPortlet.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/EventPortlet.java
deleted file mode 100644
index a35dfd7..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/EventPortlet.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-import java.io.IOException;
-
-/**
- * The <code>EventPortlet</code> interface allows
- * portlets receiving events.
- * <p>
- * Events are part of the action processing and must
- * be finished before the rendering phase can start.
- * Portlets can receive events issued by other portlets or
- * portlet container defined events.
- * <p>
- * Portlets should declare the events it would like to receive
- * via the <code>supported-processing-event</code> tag and events published
- * via the <code>supported-publishing-event</code> tag in the portlet 
- * deployment descriptor. 
- * <p>
- * The event model is a loosely coupled model where the wiring between
- * published and receiving events is done at the portal / portlet container
- * level.
- * 
- * @since 2.0
- */
-
-public interface EventPortlet {
-
-    /**
-     * Called by the portlet container requesting the portlet
-     * to process a specific event.
-     * 
-     * @param request  the event request
-     * @param response  the event response
-     * @exception  PortletException
-     *                   if the portlet has problems fulfilling the
-     *                   request
-     * @exception  UnavailableException   
-     *                   if the portlet is unavailable to process the event at this time
-     * @exception  PortletSecurityException  
-     *                   if the portlet cannot fullfill this request because of security reasons
-     * @exception  IOException
-     *                   if the streaming causes an I/O problem
-     */
-    public void processEvent (EventRequest request, EventResponse response) 
-        throws PortletException, java.io.IOException;
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/EventRequest.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/EventRequest.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/EventRequest.java
deleted file mode 100644
index 6c0bd97..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/EventRequest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-/*
- * This source code implements specifications defined by the Java
- * Community Process. In order to remain compliant with the specification
- * DO NOT add / change / or delete method signatures!
- */
-
-package javax.portlet;
-
-/**
- * The <CODE>EventRequest</CODE> represents the request sent to the portlet
- * to handle an event.
- * It extends the PortletRequest interface to provide event request
- * information to portlets.<br>
- * The portlet container creates an <CODE>EventRequest</CODE> object and
- * passes it as argument to the portlet's <CODE>processEvent</CODE> method.
- * 
- * @see ActionRequest
- * @see PortletRequest
- * @since 2.0
- */
-public interface EventRequest extends PortletRequest {
-
-    /**
-     * Returns the event that triggered the call to the processEvent method.
-     * 
-     * @return      the event that triggered the current processEvent call. 
-     */
-    
-    public Event getEvent();
-    
-    /**
-     * Returns the name of the HTTP method with which the original action request was made, 
-     * for example, POST, or PUT.
-     * 
-     * @since 2.0
-     * @return  a String specifying the name of the HTTP method with which 
-     *          this request was made
-     */
-    public String getMethod();
-
-}