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:42 UTC

[04/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_2.0_spec/src/main/java/javax/portlet/PortletException.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletException.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletException.java
deleted file mode 100644
index 83804ba..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletException.java
+++ /dev/null
@@ -1,97 +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>PortletException</CODE> class defines a general exception
- * that a portlet can throw when it is unable to perform its operation
- * successfully.
- */
-
-public class PortletException extends java.lang.Exception
-{
-
-  private static final long serialVersionUID = 1L;
-
-  /**
-   * Constructs a new portlet exception.
-   */
-
-  public PortletException ()
-  {
-    super();
-  }
-
-  /**
-   * Constructs a new portlet exception with the given text. The
-   * portlet container may use the text write it to a log.
-   *
-   * @param   text
-   *          the exception text
-   */
-
-  public PortletException (String text)
-  {
-    super (text);
-  }
-
-  /**
-   * Constructs a new portlet exception when the portlet needs to do
-   * the following:
-   * <ul>
-   * <li>throw an exception 
-   * <li>include the "root cause" exception
-   * <li>include a description message
-   * </ul>
-   *
-   * @param   text
-   *          the exception text
-   * @param   cause
-   *          the root cause
-   */
-  
-  public PortletException (String text, Throwable cause)
-  {
-    super(text, cause);
-  }
-
-  /**
-   * Constructs a new portlet exception when the portlet needs to throw an
-   * exception. The exception's message is based on the localized message
-   * of the underlying exception.
-   *
-   * @param   cause
-   *          the root cause
-   */
-
-  public PortletException (Throwable cause)
-  {
-    super(cause);
-  }
-
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletMode.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletMode.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletMode.java
deleted file mode 100644
index 33260c1..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletMode.java
+++ /dev/null
@@ -1,156 +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.util.Locale;
-
-
-/**
- * The <CODE>PortletMode</CODE> class represents
- * the possible modes that a portlet can assume.
- * <P>
- * A portlet mode indicates the function a portlet is performing.
- * Normally, portlets perform different tasks and create different
- * content depending on the function they are currently performing.
- * When invoking a portlet, the portlet container provides the
- * current portlet mode to the portlet.
- * <p>
- * Portlets can programmatically change their portlet
- * mode when processing an action request.
- * <P>
- * This class defines the default portlet modes <code>EDIT, HELP, VIEW</code>.
- * Additional portlet modes may be defined by calling the constructor
- * of this class. If a portal/portlet-container does not support a 
- * custom portlet mode defined in the portlet application deployment descriptor, 
- * the custom portlet mode will be ignored by the portal/portlet container.
- */
-public class PortletMode
-{
-
-  /**
-   * The expected functionality for a portlet in <code>VIEW</code> portlet mode 
-   * is to generate markup reflecting the current state of the portlet. 
-   * For example, the <code>VIEW</code> portlet mode of a portlet may 
-   * include one or more screens that the user can navigate and interact 
-   * with, or it may consist of static content that does not require any 
-   * user interaction.
-   * <P>
-   * This mode must be supported by the portlet.
-   * <p>
-   * The string value for this mode is <code>"view"</code>.
-   */
-  public final static PortletMode VIEW = new PortletMode ("view");
-
-  /**
-   * Within the <code>EDIT</code> portlet mode, a portlet should provide 
-   * content and logic that lets a user customize the behavior of the portlet. 
-   * The EDIT portlet mode may include one or more screens among which 
-   * users can navigate to enter their customization data.
-   * <p>
-   * Typically, portlets in <code>EDIT</code> portlet mode will 
-   * set or update portlet preferences.
-   * <P>
-   * This mode is optional.
-   * <p>
-   * The string value for this mode is <code>"edit"</code>.
-   */
-  public final static PortletMode EDIT = new PortletMode ("edit");
-
-  /**
-   * When in <code>HELP</code> portlet mode, a portlet should provide help 
-   * information about the portlet. This help information could be 
-   * a simple help screen explaining the entire portlet in
-   * coherent text or it could be context-sensitive help.
-   * <P>
-   * This mode is optional.
-   * <p>
-   * The string value for this mode is <code>"help"</code>.
-   */
-  public final static PortletMode HELP = new PortletMode ("help");
-
-
-
-
-  private String _name;
-
-
-  /**
-   * Creates a new portlet mode with the given name.
-   * <p>
-   * Upper case letters in the name are converted to
-   * lower case letters.
-   *
-   * @param name The name of the portlet mode
-   */
-  public PortletMode(String name) {
-    if (name==null) {
-      throw new IllegalArgumentException("PortletMode name can not be NULL");
-    }
-    _name = name.toLowerCase(Locale.ENGLISH);
-  }
-
-
-  /**
-   * Returns a String representation of this portlet mode.
-   * Portlet mode names are always lower case names.
-   *
-   * @return  String representation of this portlet mode
-   */
-
-  public String toString() {
-    return _name;
-  }
-
-  /**
-   * Returns the hash code value for this portlet mode.
-   * The hash code is constructed by producing the
-   * hash value of the String value of this mode.
-   *
-   * @return  hash code value for this portlet mode
-   */
-
-  public int hashCode() {
-    return _name.hashCode();
-  }
-
-  /**
-   * Compares the specified object with this portlet mode
-   * for equality. Returns <code>true</code> if the
-   * Strings <code>equals</code> method for the String
-   * representing the two portlet modes returns <code>true</code>.
-   * 
-   * @param   object   the portlet mode to compare this portlet mode with
-   * 
-   * @return  true, if the specified object is equal with this portlet mode
-   */
-     
-  public boolean equals(Object object) {
-    if ( object instanceof PortletMode )
-      return _name.equals(((PortletMode) object)._name);
-    else
-      return false;
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletModeException.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletModeException.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletModeException.java
deleted file mode 100644
index b0023b8..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletModeException.java
+++ /dev/null
@@ -1,109 +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>PortletModeException</CODE> is thrown when a portlet
- * tries to use or set a portlet mode that is not supported by the current
- * runtime environment or the portlet.
- */
-
-public class PortletModeException extends PortletException
-{
-
-  private transient PortletMode _mode = null;
-
-  private static final long serialVersionUID = 1L;
-
-  /**
-   * Constructs a new portlet mode exception with the given text and the
-   * portlet mode that caused this exception. The
-   * portlet container may use the text and portlet mode write it to a log.
-   *
-   * @param   text
-   *          the exception text
-   * @param   mode
-   *          the mode causing the exception
-   */
-
-  public PortletModeException (String text, PortletMode mode)
-  {
-    super (text);
-    _mode = mode;
-  }
-
-  /**
-   * Constructs a new portlet mode exception when the portlet needs to do
-   * the following:
-   * <ul>
-   * <li>throw an exception 
-   * <li>include a message about the "root cause" that interfered
-   *     with its normal operation
-   * <li>include a description message
-   * <li>include the portlet mode that caused this exception
-   * </ul>
-   *
-   * @param   text
-   *          the exception text
-   * @param   cause
-   *          the root cause
-   * @param   mode
-   *          the mode causing the exception
-   */
-  
-  public PortletModeException (String text, Throwable cause, PortletMode mode)
-  {
-    super(text, cause);
-    _mode = mode;
-  }
-
-  /**
-   * Constructs a new portlet mode exception when the portlet needs to throw an
-   * exception. The exception message is based on the localized message
-   * of the underlying exception and the portlet mode that caused this exception.
-   *
-   * @param   cause
-   *          the root cause
-   * @param   mode
-   *          the mode causing the exception
-   */
-
-  public PortletModeException (Throwable cause, PortletMode mode)
-  {
-    super(cause);
-    _mode = mode;
-  }
-
-  /**
-   * Returns the unsupported portlet mode causing this exception.
-   * 
-   * @return  the portlet mode that caused this exception
-   */
-
-  public PortletMode getMode()
-  {
-    return _mode;
-  }
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletPreferences.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletPreferences.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletPreferences.java
deleted file mode 100644
index e6a92a9..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletPreferences.java
+++ /dev/null
@@ -1,280 +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>PortletPreferences</CODE> interface allows the portlet to store
- * configuration data. It is not the
- * purpose of this interface to replace general purpose databases.
- * <p>
- * There are two different types of preferences:
- * <ul>
- * <li>modifiable preferences - these preferences can be changed by the
- *     portlet in any standard portlet mode (<code>EDIT, HELP, VIEW</code>).
- *     Per default every preference is modifiable.
- * <li>read-only preferences - these preferences cannot be changed by the
- *     portlet in any standard portlet mode, but may be changed by administrative modes.
- *     Preferences are read-only, if the are defined in the
- *     deployment descriptor with <code>read-only</code> set to <code>true</code>,
- *     or if the portlet container restricts write access.
- * </ul>
- * <p>
- * Changes are persisted when the <code>store</code> method is called. The <code>store</code> method 
- * can only be invoked within the scope of a <code>processAction</code> call.
- * Changes that are not persisted are discarded when the
- * <code>processAction</code> or <code>render</code> method ends.
- */
-public interface PortletPreferences
-{
-
-
-
-  /**
-   * Returns true, if the value of this key is defined as read-only and thus
-   * cannot be modified by the user.
-   * <p>
-   * Modifiable preferences can be changed by the
-   * portlet in any standard portlet mode (<code>EDIT, HELP, VIEW</code>). 
-   * Per default every preference is modifiable.
-   * <p>
-   * Read-only preferences cannot be changed by the
-   * portlet in any standard portlet mode, but inside of custom modes,
-   * like the <code>CONFIG</code> mode, it may be allowed changing them.
-   * <p>
-   * Preferences are read-only, if they are defined in the 
-   * deployment descriptor with <code>read-only</code> set to <code>true</code>,
-   * or if the portlet container restricts write access.
-   * <p>
-   * Note that even if this call returns <code>false</code> and the 
-   * preference key is modifiable in general it does not mean that it
-   * is modifiable in the scope of the current request, e.g. if this
-   * request is a render request.
-   * 
-   * @return  false, if the value of this key can be changed, or
-   *          if the key is not known
-   *
-   * @exception java.lang.IllegalArgumentException 
-   *         if <code>key</code> is <code>null</code>.
-   */
-  public boolean isReadOnly(String key);
-
-
-
-  /**
-   * Returns the first String value associated with the specified key of this preference.
-   * If there is one or more preference values associated with the given key 
-   * it returns the first associated value.
-   * If there are no preference values associated with the given key, or the 
-   * backing preference database is unavailable, it returns the given 
-   * default value.
-   * A <code>null</code> value is treated as a non-existent value.
-   *
-   * @param key key for which the associated value is to be returned
-   * @param def the value to be returned in the event that there is no 
-   *            value available associated with this <code>key</code>.
-   *
-   * @return the value associated with <code>key</code>, or <code>def</code>
-   *         if no value is associated with <code>key</code>, or the backing
-   *         store is inaccessible.
-   *
-   * @exception java.lang.IllegalArgumentException 
-   *         if <code>key</code> is <code>null</code>. (A 
-   *         <code>null</code> value for <code>def</code> <i>is</i> permitted.)
-   * 
-   * @see #getValues(String, String[])
-   */
-  public String getValue(String key, String def);
-
-
-  /**
-   * Returns the String array value associated with the specified key in this preference.
-   *
-   * <p>Returns the specified default if there is no value
-   * associated with the key, or if the backing store is inaccessible.
-   * A <code>null</code> value is treated as a non-existent value.
-   *
-   * <p>If the implementation supports <i>stored defaults</i> and such a
-   * default exists and is accessible, it is used in favor of the
-   * specified default.
-   *
-   *
-   * @param key key for which associated value is to be returned.
-   * @param def the value to be returned in the event that this
-   *        preference node has no value associated with <code>key</code>
-   *        or the associated value cannot be interpreted as a String array,
-   *        or the backing store is inaccessible.
-   *
-   * @return the String array value associated with
-   *         <code>key</code>, or <code>def</code> if the
-   *         associated value does not exist.
-   *
-   * @exception java.lang.IllegalArgumentException if <code>key</code> is <code>null</code>.  (A 
-   *         <code>null</code> value for <code>def</code> <i>is</i> permitted.)
-   *
-   * @see #getValue(String,String)
-   */
-
-  public String[] getValues(String key, String[] def);
-
-
-
-  /**
-   * Associates the specified String value with the specified key in this
-   * preference.
-   * <p>
-   * The key cannot be <code>null</code>, but <code>null</code> values
-   * for the value parameter are allowed.
-   * <p>
-   * If the same key contained already a <code>String</code> or <code>String[]</code>
-   * value it must be replaced by the new value.
-   * 
-   * @param key key with which the specified value is to be associated.
-   * @param value value to be associated with the specified key.
-   *
-   * @exception  ReadOnlyException
-   *                 if this preference cannot be modified for this request
-   * @exception java.lang.IllegalArgumentException if key is <code>null</code>,
-   *                 or <code>key.length()</code> 
-   *                 or <code>value.length</code> are to long. The maximum length 
-   *                 for key and value are implementation specific.
-   *
-   * @see #setValues(String, String[])
-   */
-  public void setValue(String key, String value)  throws ReadOnlyException;
-
-
-
-
-  /**
-   * Associates the specified String array value with the specified key in this
-   * preference.
-   * <p>
-   * The key cannot be <code>null</code>, but <code>null</code> values
-   * in the values parameter are allowed.
-   * <p>
-   * If the same key contained already a <code>String</code> or <code>String[]</code>
-   * value it must be replaced by the new value.
-   *
-   * @param key key with which the  value is to be associated
-   * @param values values to be associated with key
-   *
-   * @exception  java.lang.IllegalArgumentException if key is <code>null</code>, or
-   *                 <code>key.length()</code> 
-   *                 is to long or <code>value.size</code> is to large.  The maximum 
-   *                 length for key and maximum size for value are implementation specific.
-   * @exception  ReadOnlyException
-   *                 if this preference cannot be modified for this request
-   *
-   * @see #setValue(String,String)
-   */
-
-  public void setValues(String key, String[] values) throws ReadOnlyException;
-
-
-  /**
-   * Returns all of the keys that have an associated value,
-   * or an empty <code>Enumeration</code> if no keys are
-   * available.
-   *
-   * @return an Enumeration of the keys that have an associated value,
-   *         or an empty <code>Enumeration</code> if no keys are
-   *         available.
-   */
-  public java.util.Enumeration<String> getNames();
-
-  /** 
-   * Returns a <code>Map</code> of the preferences.
-   * <p>
-   * The values in the returned <code>Map</code> are from type
-   * String array (<code>String[]</code>).
-   * <p>
-   * If no preferences exist this method returns an empty <code>Map</code>.
-   *
-   * @return     an immutable <code>Map</code> containing preference names as 
-   *             keys and preference values as map values, or an empty <code>Map</code>
-   *             if no preference exist. The keys in the preference
-   *             map are of type String. The values in the preference map are of type
-   *             String array (<code>String[]</code>).
-   */
-
-  public java.util.Map<String, String[]> getMap();
-
-
-  /**
-   * Resets or removes the value associated with the specified key.
-   * <p>
-   * If this implementation supports stored defaults, and there is such
-   * a default for the specified preference, the given key will be 
-   * reset to the stored default.
-   * <p>
-   * If there is no default available the key will be removed.
-   *
-   * @param  key to reset
-   *
-   * @exception  java.lang.IllegalArgumentException if key is <code>null</code>.
-   * @exception  ReadOnlyException
-   *                 if this preference cannot be modified for this request
-   */
-
-  public void reset(String key) throws ReadOnlyException;
-
-
-  /**
-   * Commits all changes made to the preferences via the 
-   * <code>set</code> methods in the persistent store.
-   * <P>
-   * If this call returns successful, all changes are made
-   * persistent. If this call fails, no changes are made
-   * in the persistent store. This call is an atomic operation 
-   * regardless of how many preference attributes have been modified.
-   * <P>
-   * All changes made to preferences not followed by a call 
-   * to the <code>store</code> method are discarded when the 
-   * portlet finishes the <code>processAction</code> method.
-   * <P>
-   * If a validator is defined for this preferences in the
-   * deployment descriptor, this validator is called before
-   * the actual store is performed to check whether the given
-   * preferences are valid. If this check fails a 
-   * <code>ValidatorException</code> is thrown.
-   *
-   * @exception  java.io.IOException    
-   *                 if changes cannot be written into
-   *                 the backend store
-   * @exception  ValidatorException
-   *                 if the validation performed by the
-   *                 associated validator fails
-   * @exception  java.lang.IllegalStateException
-   *                 if this method is called inside a render call
-   *
-   * @see  PreferencesValidator
-   */
-
-  public void store() throws java.io.IOException, ValidatorException;
-
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequest.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequest.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequest.java
deleted file mode 100644
index e42dc4d..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequest.java
+++ /dev/null
@@ -1,944 +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.util.Locale;
-
-
-/**
- * The <CODE>PortletRequest</CODE> defines the base interface to provide client
- * request information to a portlet. The portlet container uses two specialized
- * versions of this interface when invoking a portlet, <CODE>ActionRequest</CODE>
- * and <CODE>RenderRequest</CODE>. The portlet container creates these objects and 
- * passes them as  arguments to the portlet's <CODE>processAction</CODE> and
- * <CODE>render</CODE> methods.
- * 
- * @see ActionRequest
- * @see RenderRequest
- */
-public interface PortletRequest
-{
-    
-  /** Used to retrieve user information attributes with the 
-   * <code>getAttribute</code> call. The user information is returned 
-   * as a <code>Map</code> object. The portlet must define the 
-   * user information attribute it is interested in inside the 
-   * <code>user-attribute</code> section of the deployment descriptor.
-   * If an attribute is not supported
-   * by the current runtime system it will not show up in the user
-   * attribute map.<BR>
-   * If the user-attribute is supported by the runtime system, but not 
-   * defined for a particular user, then for that user the attribute 
-   * exists in the returned map and the attribute has a <code>null</code> value.
-   * <p>
-   * If the user-attribute is not defined for the current user it
-   * will not show up in the Map.
-   * <p>
-   * The value is <code>javax.portlet.userinfo</code>.
-   */
-  public static final String USER_INFO = "javax.portlet.userinfo";
-
-  /**
-   * Used to retrieve an instance of the <code>javax.ccpp.Profile</code>
-   * with the <code>getAttribute</code> call. The returned profile is based
-   * on the current portlet request and may contain additional CC/PP 
-   * information set by the portal / portlet container.   
-   * <p>
-   * The value is <code>javax.portlet.ccpp</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String CCPP_PROFILE = "javax.portlet.ccpp";
-
-  /**
-   * String identifier for Basic authentication. Value "BASIC".
-   */
-  public static final String BASIC_AUTH = "BASIC";
-
-  /**
-   * String identifier for Form based authentication. Value "FORM".
-   */
-  public static final String FORM_AUTH = "FORM";
-
-  /**
-   * String identifier for Certification based authentication. Value "CLIENT_CERT".
-   */
-  public static final String CLIENT_CERT_AUTH = "CLIENT_CERT";
-
-  /**
-   * String identifier for Digest based authentication. Value "DIGEST".
-   */
-  public static final String DIGEST_AUTH = "DIGEST";
-
-  /**
-   * P3P user information constants.
-   * <p>
-   * Note: these are only available in the Java SE 5.0 supported version
-   * of the API.
-   * 
-   * @since 2.0
-   */
-  public enum P3PUserInfos {
-      USER_BDATE_YMD_YEAR("user.bdate.ymd.year"), USER_BDATE_YMD_MONTH("user.bdate.ymd.month"),
-      USER_BDATE_YMD_DAY("user.bdate.ymd.day"), USER_BDATE_HMS_HOUR("user.bdate.hms.hour"),
-	  USER_BDATE_HMS_MINUTE("user.bdate.hms.minute"), USER_BDATE_HMS_SECOND("user.bdate.hms.second"),
-	  USER_BDATE_FRACTIONSECOND("user.bdate.fractionsecond"), USER_BDATE_TIMEZONE("user.bdate.timezone"),
-	  USER_GENDER("user.gender"), USER_EMPLOYER("user.employer"), 
-      USER_DEPARTMENT("user.department"), USER_JOBTITLE("user.jobtitle"), 
-      USER_NAME_PREFIX("user.name.prefix"), USER_NAME_GIVEN("user.name.given"), 
-      USER_NAME_FAMILY("user.name.family"), USER_NAME_MIDDLE("user.name.middle"),
-      USER_NAME_SUFFIX("user.name.suffix"), USER_NAME_NICKNAME("user.name.nickName"),
-      USER_LOGIN_ID("user.login.id"),
-      USER_HOMEINFO_POSTAL_NAME("user.home-info.postal.name"), 
-      USER_HOMEINFO_POSTAL_STREET("user.home-info.postal.street"),
-      USER_HOMEINFO_POSTAL_CITY("user.home-info.postal.city"), 
-      USER_HOMEINFO_POSTAL_STATEPROV("user.home-info.postal.stateprov"),
-      USER_HOMEINFO_POSTAL_POSTALCODE("user.home-info.postal.postalcode"),
-      USER_HOMEINFO_POSTAL_COUNTRY("user.home-info.postal.country"), 
-      USER_HOMEINFO_POSTAL_ORGANIZATION("user.home-info.postal.organization"), 
-      USER_HOMEINFO_TELECOM_TELEPHONE_INTCODE("user.home-info.telecom.telephone.intcode"),
-      USER_HOMEINFO_TELECOM_TELEPHONE_LOCCODE("user.home-info.telecom.telephone.loccode"),
-      USER_HOMEINFO_TELECOM_TELEPHONE_NUMBER("user.home-info.telecom.telephone.number"),
-      USER_HOMEINFO_TELECOM_TELEPHONE_EXT("user.home-info.telecom.telephone.ext"),
-      USER_HOMEINFO_TELECOM_TELEPHONE_COMMENT("user.home-info.telecom.telephone.comment"),
-      USER_HOMEINFO_TELECOM_FAX_INTCODE("user.home-info.telecom.fax.intcode"),
-      USER_HOMEINFO_TELECOM_FAX_LOCCODE("user.home-info.telecom.fax.loccode"),
-      USER_HOMEINFO_TELECOM_FAX_NUMBER("user.home-info.telecom.fax.number"),
-      USER_HOMEINFO_TELECOM_FAX_EXT("user.home-info.telecom.fax.ext"),
-      USER_HOMEINFO_TELECOM_FAX_COMMENT("user.home-info.telecom.fax.comment"),
-      USER_HOMEINFO_TELECOM_MOBILE_INTCODE("user.home-info.telecom.mobile.intcode"),
-      USER_HOMEINFO_TELECOM_MOBILE_LOCCODE("user.home-info.telecom.mobile.loccode"),
-      USER_HOMEINFO_TELECOM_MOBILE_NUMBER("user.home-info.telecom.mobile.number"),
-      USER_HOMEINFO_TELECOM_MOBILE_EXT("user.home-info.telecom.mobile.ext"),
-      USER_HOMEINFO_TELECOM_MOBILE_COMMENT("user.home-info.telecom.mobile.comment"),
-      USER_HOMEINFO_TELECOM_PAGER_INTCODE("user.home-info.telecom.pager.intcode"),
-      USER_HOMEINFO_TELECOM_PAGER_LOCCODE("user.home-info.telecom.pager.loccode"),
-      USER_HOMEINFO_TELECOM_PAGER_NUMBER("user.home-info.telecom.pager.number"),
-      USER_HOMEINFO_TELECOM_PAGER_EXT("user.home-info.telecom.pager.ext"),
-      USER_HOMEINFO_TELECOM_PAGER_COMMENT("user.home-info.telecom.pager.comment"),
-      USER_HOMEINFO_ONLINE_EMAIL("user.home-info.online.email"),
-      USER_HOMEINFO_ONLINE_URI("user.home-info.online.uri"),
-      USER_BUSINESSINFO_POSTAL_NAME("user.business-info.postal.name"), 
-      USER_BUSINESSINFO_POSTAL_STREET("user.business-info.postal.street"),
-      USER_BUSINESSINFO_POSTAL_CITY("user.business-info.postal.city"), 
-      USER_BUSINESSINFO_POSTAL_STATEPROV("user.business-info.postal.stateprov"),
-      USER_BUSINESSINFO_POSTAL_POSTALCODE("user.business-info.postal.postalcode"),
-      USER_BUSINESSINFO_POSTAL_COUNTRY("user.business-info.postal.country"), 
-      USER_BUSINESSINFO_POSTAL_ORGANIZATION("user.business-info.postal.organization"), 
-      USER_BUSINESSINFO_TELECOM_TELEPHONE_INTCODE("user.business-info.telecom.telephone.intcode"),
-      USER_BUSINESSINFO_TELECOM_TELEPHONE_LOCCODE("user.business-info.telecom.telephone.loccode"),
-      USER_BUSINESSINFO_TELECOM_TELEPHONE_NUMBER("user.business-info.telecom.telephone.number"),
-      USER_BUSINESSINFO_TELECOM_TELEPHONE_EXT("user.business-info.telecom.telephone.ext"),
-      USER_BUSINESSINFO_TELECOM_TELEPHONE_COMMENT("user.business-info.telecom.telephone.comment"),
-      USER_BUSINESSINFO_TELECOM_FAX_INTCODE("user.business-info.telecom.fax.intcode"),
-      USER_BUSINESSINFO_TELECOM_FAX_LOCCODE("user.business-info.telecom.fax.loccode"),
-      USER_BUSINESSINFO_TELECOM_FAX_NUMBER("user.business-info.telecom.fax.number"),
-      USER_BUSINESSINFO_TELECOM_FAX_EXT("user.business-info.telecom.fax.ext"),
-      USER_BUSINESSINFO_TELECOM_FAX_COMMENT("user.business-info.telecom.fax.comment"),
-      USER_BUSINESSINFO_TELECOM_MOBILE_INTCODE("user.business-info.telecom.mobile.intcode"),
-      USER_BUSINESSINFO_TELECOM_MOBILE_LOCCODE("user.business-info.telecom.mobile.loccode"),
-      USER_BUSINESSINFO_TELECOM_MOBILE_NUMBER("user.business-info.telecom.mobile.number"),
-      USER_BUSINESSINFO_TELECOM_MOBILE_EXT("user.business-info.telecom.mobile.ext"),
-      USER_BUSINESSINFO_TELECOM_MOBILE_COMMENT("user.business-info.telecom.mobile.comment"),
-      USER_BUSINESSINFO_TELECOM_PAGER_INTCODE("user.business-info.telecom.pager.intcode"),
-      USER_BUSINESSINFO_TELECOM_PAGER_LOCCODE("user.business-info.telecom.pager.loccode"),
-      USER_BUSINESSINFO_TELECOM_PAGER_NUMBER("user.business-info.telecom.pager.number"),
-      USER_BUSINESSINFO_TELECOM_PAGER_EXT("user.business-info.telecom.pager.ext"),
-      USER_BUSINESSINFO_TELECOM_PAGER_COMMENT("user.business-info.telecom.pager.comment"),
-      USER_BUSINESSINFO_ONLINE_EMAIL("user.business-info.online.email"),
-      USER_BUSINESSINFO_ONLINE_URI("user.business-info.online.uri");
-      P3PUserInfos(String value) {this.value = value; }
-      private final String value;
-      public String toString() {return value;}
-  }
-  
-  /**
-   * String identifier for the portlet action lifecycle phase. In this
-   * phase the portlet request and response are from type
-   * <code>ActionRequest</code> and <code>ActionResponse</code>.
-   * <p>
-   * The value of the constant is <code>ACTION_PHASE</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String ACTION_PHASE = "ACTION_PHASE";
-  
-  /**
-   * String identifier for the portlet event lifecycle phase. In this
-   * phase the portlet request and response are from type
-   * <code>EventRequest</code> and <code>EventResponse</code>.
-   * <p>
-   * The value of the constant is <code>EVENT_PHASE</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String EVENT_PHASE = "EVENT_PHASE";
-  
-  /**
-   * String identifier for the portlet render lifecycle phase. In this
-   * phase the portlet request and response are from type
-   * <code>RenderRequest</code> and <code>RenderResponse</code>.
-   * <p>
-   * The value of the constant is <code>RENDER_PHASE</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String RENDER_PHASE = "RENDER_PHASE";
-  
-  /**
-   * String identifier for the portlet resource serving lifecycle phase. In this
-   * phase the portlet request and response are from type
-   * <code>ResourceRequest</code> and <code>ResourceResponse</code>.
-   * <p>
-   * The value of the constant is <code>RESOURCE_PHASE</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String RESOURCE_PHASE = "RESOURCE_PHASE";
-    
-  /**
-   * Provides the portlet lifecycle phase of the current request
-   * as request attribute.
-   * <p>
-   * Valid values are: ACTION_PHASE, EVENT_PHASE, RENDER_PHASE,
-   * RESOURCE_SERVING_PHASE.
-   * <p>
-   * The value of the constant is <code>javax.portlet.lifecylce_phase</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String LIFECYCLE_PHASE = "javax.portlet.lifecycle_phase";
-  
-  
-  /**
-   * The RENDER_PART portlet request attribute is set by portals
-   * that are streaming based and therefore need to split the
-   * render phase into two parts: first the RENDER_HEADERS part
-   * where the portlet should only set the header related data
-   * and the portlet title, and second the RENDER_MARKUP part
-   * in which the portlet should produce its markup.
-   * <p>
-   * Non-streaming portals will not set this attribute and thus
-   * the portlet should set headers, portlet title and produce
-   * its markup in a single render request.
-   * <p>
-   * The value of the constant is <code>javax.portlet.render_part</code>.
-   * 
-   *  @since 2.0
-   */
-  public static final String RENDER_PART = "javax.portlet.render_part";
-  
-  /**
-   * The RENDER_HEADERS is a possible value of the RENDER_PART
-   * request attribute and denotes that the portlet should set
-   * the intended headers and the portlet title of this render
-   * request.
-   * <p>
-   * The value of the constant is <code>RENDER_HEADERS</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String RENDER_HEADERS = "RENDER_HEADERS";
-
-  /**
-   * The RENDER_MARKUP is a possible value of the RENDER_PART
-   * request attribute and denotes that the portlet should
-   * produce its markup for this render request.
-   * <p>
-   * The value of the constant is <code>RENDER_MARKUP</code>.
-   * 
-   * @since 2.0
-   */
-  public static final String RENDER_MARKUP = "RENDER_MARKUP";
-
-  /**
-   * The action scope ID that the portlet container uses
-   * for storing the current action scope as render parameter
-   * if the <code>javax.portlet.actionScopedRequestAttributes</code>
-   * container runtime option is used by the portlet.
-   * <p>
-   * The value is <code>javax.portlet.as</code>.
-   * @since 2.0
-   */
-  public static final String ACTION_SCOPE_ID = "javax.portlet.as";
-  
-  
-  /**
-   * Returns true, if the given window state is valid
-   * to be set for this portlet in the context
-   * of the current request.
-   *
-   * @param  state    window state to checked
-   *
-   * @return    true, if it is valid for this portlet
-   *             in this request to change to the
-   *            given window state
-   *
-   */
-  public boolean isWindowStateAllowed(WindowState state);
-
-
-/**
-   * Returns true, if the given portlet mode is a valid
-   * one to set for this portlet  in the context
-   * of the current request.
-   *
-   * @param  mode    portlet mode to check
-   *
-   * @return    true, if it is valid for this portlet
-   *             in this request to change to the
-   *            given portlet mode
-   *
-   */
-
-  public boolean isPortletModeAllowed(PortletMode mode);
-
-
-  /**
-   * Returns the current portlet mode of the portlet.
-   *
-   * @return   the portlet mode
-   */
-
-  public PortletMode getPortletMode ();
-
-
-  /**
-   * Returns the current window state of the portlet.
-   *
-   * @return   the window state
-   */
-
-  public WindowState getWindowState ();
-
-
-  /**
-   * Returns the preferences object associated with the portlet.
-   *
-   * @return the portlet preferences
-   */
-  public PortletPreferences getPreferences ();
-
-
-  /**
-   * Returns the current portlet session or, if there is no current session,
-   * creates one and returns the new session.
-   *  <p>
-   * Creating a new portlet session will result in creating
-   * a new <code>HttpSession</code> on which the portlet session is based on.
-   *
-   * @return the portlet session
-   */
-
-  public PortletSession getPortletSession ();
-
-
-  /**
-   * Returns the current portlet session or, if there is no current session
-   * and the given flag is <CODE>true</CODE>, creates one and returns
-   * the new session.
-   * <P>
-   * If the given flag is <CODE>false</CODE> and there is no current
-   * portlet session, this method returns <CODE>null</CODE>.
-   *  <p>
-   * Creating a new portlet session will result in creating
-   * a new <code>HttpSession</code> on which the portlet session is based on.
-   * 
-   * @param create
-   *               <CODE>true</CODE> to create a new session, <BR>
-   *               <CODE>false</CODE> to return <CODE>null</CODE> if there
-   *               is no current session
-   * @return the portlet session
-   * 
-   */
-
-  public PortletSession getPortletSession (boolean create);
-
-
-  /**
-   * Returns the value of the specified request property
-   * as a <code>String</code>. If the request did not include a property
-   * of the specified name, this method returns <code>null</code>.
-   * <p>
-   * A portlet can access portal/portlet-container specific properties 
-   * through this method and, if available, the
-   * headers of the HTTP client request.
-   * <p>
-   * This method should only be used if the 
-   * property has only one value. If the property might have
-   * more than one value, use {@link #getProperties}.
-   * <p>
-   * If this method is used with a multivalued
-   * parameter, the value returned is equal to the first value
-   * in the Enumeration returned by <code>getProperties</code>.
-   *
-   * @param name		a <code>String</code> specifying the
-   *				property name
-   *
-   * @return			a <code>String</code> containing the
-   *				value of the requested
-   *				property, or <code>null</code>
-   *				if the request does not
-   *				have a property of that name.
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */			
-
-  public String getProperty(String name); 
-
-
-  /**
-   * Returns all the values of the specified request property
-   * as a <code>Enumeration</code> of <code>String</code> objects.
-   * <p>
-   * If the request did not include any properties
-   * of the specified name, this method returns an empty
-   * <code>Enumeration</code>.
-   * The property name is case insensitive. You can use
-   * this method with any request property.
-   *
-   * @param name		a <code>String</code> specifying the
-   *				property name
-   *
-   * @return		a <code>Enumeration</code> containing
-   *                  	the values of the requested property. If
-   *                  	the request does not have any properties of
-   *                  	that name return an empty <code>Enumeration</code>.
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */			
-  
-  public java.util.Enumeration<String> getProperties(String name); 
-    
-    
-  /**
-   *
-   * Returns a <code>Enumeration</code> of all the property names
-   * this request contains. If the request has no
-   * properties, this method returns an empty <code>Enumeration</code>.
-   *
-   *
-   * @return			an <code>Enumeration</code> of all the
-   *				property names sent with this
-   *				request; if the request has
-   *				no properties, an empty <code>Enumeration</code>.
-   */
-
-  public java.util.Enumeration<String> getPropertyNames();
-    
-    
-  /**
-   * Returns the context of the calling portal.
-   *
-   * @return the context of the calling portal
-   */
-
-  public PortalContext getPortalContext();
-
-
-  /**
-   * Returns the name of the authentication scheme used for the 
-   * connection between client and portal,
-   * for example, <code>BASIC_AUTH</code>, <code>CLIENT_CERT_AUTH</code>, 
-   * a custom one or <code>null</code> if there was no authentication.
-   *
-   * @return		one of the static members <code>BASIC_AUTH</code>, 
-   *			<code>FORM_AUTH</code>, <code>CLIENT_CERT_AUTH</code>, 
-   *                    <code>DIGEST_AUTH</code> (suitable for == comparison) 
-   *			indicating the authentication scheme, 
-   *                    a custom one, or 
-   *			<code>null</code> if the request was 
-   *			not authenticated.     
-   */
-
-  public java.lang.String getAuthType();
-  
-
-   /**
-    * Returns the context path which is the path prefix associated with the deployed 
-    * portlet application. If the portlet application is rooted at the
-    * base of the web server URL namespace (also known as "default" context), 
-    * this path must be an empty string. Otherwise, it must be the path the
-    * portlet application is rooted to, the path must start with a '/' and 
-    * it must not end with a '/' character.
-    * <p>
-    * To encode a URL the {@link PortletResponse#encodeURL} method must be used.
-    *
-    * @return		a <code>String</code> specifying the
-    *			portion of the request URL that indicates the context
-    *			of the request
-    *
-    * @see PortletResponse#encodeURL
-    */
-
-  public String getContextPath();
-
-
-  /**
-   * Returns the login of the user making this request, if the user 
-   * has been authenticated, or null if the user has not been authenticated.
-   *
-   * @return		a <code>String</code> specifying the login
-   *			of the user making this request, or <code>null</code>
-   *			if the user login is not known.
-   *
-   */
-
-  public java.lang.String getRemoteUser();
-
-
-  /**
-   * Returns a java.security.Principal object containing the name of the 
-   * current authenticated user.
-   *
-   * @return		a <code>java.security.Principal</code> containing
-   *			the name of the user making this request, or
-   *			<code>null</code> if the user has not been 
-   *			authenticated.
-   */
-
-  public java.security.Principal getUserPrincipal();
-
-
-  /**
-   * Returns a boolean indicating whether the authenticated user is 
-   * included in the specified logical "role".  Roles and role membership can be
-   * defined using deployment descriptors.  If the user has not been
-   * authenticated, the method returns <code>false</code>.
-   *
-   * @param role		a <code>String</code> specifying the name
-   *				of the role
-   *
-   * @return		a <code>boolean</code> indicating whether
-   *			the user making this request belongs to a given role;
-   *			<code>false</code> if the user has not been 
-   *			authenticated.
-   */
-
-  public boolean isUserInRole(java.lang.String role);
-
-
-  /**
-   *
-   * Returns the value of the named attribute as an <code>Object</code>,
-   * or <code>null</code> if no attribute of the given name exists. 
-   * <p>
-   * Attribute names should follow the same conventions as package
-   * names. This specification reserves names matching <code>java.*</code>,
-   * and <code>javax.*</code>. 
-   * <p>
-   * In a distributed portlet web application the <code>Object</code>
-   * needs to be serializable.
-   *
-   * @param name	a <code>String</code> specifying the name of 
-   *			the attribute
-   *
-   * @return		an <code>Object</code> containing the value 
-   *			of the attribute, or <code>null</code> if
-   *			the attribute does not exist.
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   *
-   */
-
-  public Object getAttribute(String name);
-
-
-  /**
-   * Returns an <code>Enumeration</code> containing the
-   * names of the attributes available to this request. 
-   * This method returns an empty <code>Enumeration</code>
-   * if the request has no attributes available to it.
-   * 
-   *
-   * @return		an <code>Enumeration</code> of strings 
-   *			containing the names 
-   * 			of the request attributes, or an empty 
-   *                    <code>Enumeration</code> if the request 
-   *                    has no attributes available to it.
-   */
-  
-  public java.util.Enumeration<String> getAttributeNames();
-
-
-  /**
-   * Returns the value of a request parameter as a <code>String</code>,
-   * or <code>null</code> if the parameter does not exist. Request parameters
-   * are extra information sent with the request. The returned parameter 
-   * are "x-www-form-urlencoded" decoded.
-   * <p>
-   * Only parameters targeted to the current portlet are accessible.
-   * <p>
-   * This method should only be used if the 
-   * parameter has only one value. If the parameter might have
-   * more than one value, use {@link #getParameterValues}.
-   * <p>
-   * If this method is used with a multivalued
-   * parameter, the value returned is equal to the first value
-   * in the array returned by <code>getParameterValues</code>.
-   *
-   *
-   *
-   * @param name 	a <code>String</code> specifying the 
-   *			name of the parameter
-   *
-   * @return		a <code>String</code> representing the 
-   *			single value of the parameter
-   *
-   * @see 		#getParameterValues
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   *
-   */
-  
-  public String getParameter(String name);
-
-
-  /**
-   *
-   * Returns an <code>Enumeration</code> of <code>String</code>
-   * objects containing the names of the parameters contained
-   * in this request. If the request has 
-   * no parameters, the method returns an 
-   * empty <code>Enumeration</code>. 
-   * <p>
-   * Only parameters targeted to the current portlet are returned.
-   *
-   *
-   * @return		an <code>Enumeration</code> of <code>String</code>
-   *			objects, each <code>String</code> containing
-   * 			the name of a request parameter; or an 
-   *			empty <code>Enumeration</code> if the
-   *			request has no parameters.
-   */
-
-  public java.util.Enumeration<String> getParameterNames();
-
-
-  /**
-   * Returns an array of <code>String</code> objects containing 
-   * all of the values the given request parameter has, or 
-   * <code>null</code> if the parameter does not exist.
-   * The returned parameters are "x-www-form-urlencoded" decoded.
-   * <p>
-   * If the parameter has a single value, the array has a length
-   * of 1.
-   *
-   *
-   * @param name	a <code>String</code> containing the name of 
-   *			the parameter the value of which is requested
-   *
-   * @return		an array of <code>String</code> objects 
-   *			containing the parameter values.
-   *
-   * @see		#getParameter
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   *
-   */
-
-  public String[] getParameterValues(String name);
-
-
-  /** 
-   * Returns a <code>Map</code> of the parameters of this request.
-   * Request parameters are extra information sent with the request.  
-   * The returned parameters are "x-www-form-urlencoded" decoded.
-   * <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     an immutable <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>).
-   */
-
-  public java.util.Map<String, String[]> getParameterMap();
-
-
-  /**
-   * Returns a boolean indicating whether this request was made 
-   * using a secure channel between client and the portal, such as HTTPS.
-   * 
-   * @return  true, if the request was made using a secure channel.
-   */
-
-  public boolean isSecure();
-
-
-  /**
-   * Stores an attribute in this request.
-   *
-   * <p>Attribute names should follow the same conventions as
-   * package names. Names beginning with <code>java.*</code>,
-   * <code>javax.*</code>, and <code>com.sun.*</code> are
-   * reserved.
-   *<br> If the value passed into this method is <code>null</code>, 
-   * the effect is the same as calling {@link #removeAttribute}.
-   *
-   *
-   * @param name			a <code>String</code> specifying 
-   *					the name of the attribute
-   *
-   * @param o				the <code>Object</code> to be stored
-   *
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-  
-  public void setAttribute(String name, Object o);
-
-
-  /**
-   *
-   * Removes an attribute from this request.  This method is not
-   * generally needed, as attributes only persist as long as the request
-   * is being handled.
-   *
-   * <p>Attribute names should follow the same conventions as
-   * package names. Names beginning with <code>java.*</code>,
-   * <code>javax.*</code>, and <code>com.sun.*</code> are
-   * reserved.
-   *
-   * @param name			a <code>String</code> specifying 
-   *					the name of the attribute to be removed
-   *
-   *
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-
-  public void removeAttribute(String name);
-
-   
-  /**
-   *
-   * Returns the session ID indicated in the client request.
-   * This session ID may not be a valid one, it may be an old 
-   * one that has expired or has been invalidated.
-   * If the client request
-   * did not specify a session ID, this method returns
-   * <code>null</code>.
-   *
-   * @return		a <code>String</code> specifying the session
-   *			ID, or <code>null</code> if the request did
-   *			not specify a session ID
-   *
-   * @see		#isRequestedSessionIdValid
-   *
-   */
-
-  public String getRequestedSessionId();
-
-
-  /**
-   *
-   * Checks whether the requested session ID is still valid.
-   *
-   * @return			<code>true</code> if this
-   *				request has an id for a valid session
-   *				in the current session context;
-   *				<code>false</code> otherwise
-   *
-   * @see			#getRequestedSessionId
-   * @see			#getPortletSession
-   */
-
-  public boolean isRequestedSessionIdValid();
-
-
-  /**
-   * Returns the portal preferred content type for the response.
-   * <p>
-   * The following restrictions apply:
-   * <ul>
-   * <li>The content type only includes the MIME type, not the
-   * character set. The character set of the response
-   * can be retrieved via the {@link RenderResponse#getCharacterEncoding}.</li>
-   * <li>Only content types that the portlet has defined in its
-   * deployment descriptor are valid return values for
-   * this method call. If the portlet has defined
-   * <code>'*'</code> or <code>'* / *'</code> as supported content
-   * types, these may also be valid return values.</li>
-   * </ul>
-   * 
-   * @return preferred MIME type of the response
-   */
-
-  public String getResponseContentType();
-
-
-  /**
-   * Gets a list of content types which the portal accepts for the response.
-   * This list is ordered with the most preferable types listed first.
-   * <p>
-   * The following restrictions apply:
-   * <ul>
-   * <li>The content type only includes the MIME type, not the
-   * character set.</li>
-   * <li>Only content types that the portlet has defined in its
-   * deployment descriptor are valid return values for
-   * this method call. If the portlet has defined
-   * <code>'*'</code> or <code>'* / *'</code> as supported content
-   * types, these may also be valid return values.</li>
-   * </ul>
-   *
-   * @return ordered list of MIME types for the response
-   */
-
-  public java.util.Enumeration<String> getResponseContentTypes();
-
-
-  /**
-   * Returns the preferred Locale in which the portal will accept content.
-   * The Locale may be based on the Accept-Language header of the client.
-   *
-   * @return  the preferred Locale in which the portal will accept content.
-   */
-
-  public java.util.Locale getLocale();
-
-
-  /**
-   * Returns an Enumeration of Locale objects indicating, in decreasing
-   * order starting with the preferred locale in which the portal will
-   * accept content for this request.
-   * The Locales may be based on the Accept-Language header of the client.
-   * 
-   * @return  an Enumeration of Locales, in decreasing order, in which 
-   *           the portal will accept content for this request
-   */
-
-  public java.util.Enumeration<Locale> getLocales();
-
-
-  /**
-   * Returns the name of the scheme used to make this request.
-   * For example, <code>http</code>, <code>https</code>, or <code>ftp</code>.
-   * Different schemes have different rules for constructing URLs,
-   * as noted in RFC 1738.
-   *
-   * @return		a <code>String</code> containing the name 
-   *			of the scheme used to make this request
-   */
-
-  public String getScheme();
-    
-
-  /**
-   * Returns the host name of the server that received the request.
-   *
-   * @return		a <code>String</code> containing the name 
-   *			of the server to which the request was sent
-   */
-
-  public String getServerName();
-    
-    
-  /**
-   * Returns the port number on which this request was received.
-   *
-   * @return		an integer specifying the port number
-   */
-
-  public int getServerPort();
-
-  /**
-   * Returns the portlet window ID. The portlet window ID is 
-   * unique for this portlet window and is constant for the lifetime
-   * of the portlet window.
-   * <p>
-   * This ID is the same that is used by the portlet container for
-   * scoping the portlet-scope session attributes.
-   * 
-   * @since 2.0
-   * @return  the portlet window ID
-   */
-  public String getWindowID();
-  
-  
-  /**
-   * Returns an array containing all of the Cookie properties. 
-   * <p>
-   * This method returns <code>null</code> if no cookies exist.
-   * 
-   * @since 2.0
-   * @return  array of cookie properties, or 
-   *          <code>null</code> if no cookies exist.
-   * @see MimeResponse#addProperty(Cookie) 
-   */
-  public javax.servlet.http.Cookie[] getCookies();
-  
-  /**
-   * Returns a <code>Map</code> of the private parameters of this request.
-   * Private parameters are not shared with other portlets or components.  
-   * The returned parameters are "x-www-form-urlencoded" decoded.
-   * <p>
-   * The values in the returned <code>Map</code> are from type
-   * String array (<code>String[]</code>).
-   * <p>
-   * If no private parameters exist this method returns an empty <code>Map</code>.
-   *
-   * @since 2.0
-   * @return     an immutable <code>Map</code> containing private parameter names as 
-   *             keys and private parameter values as map values, or an empty <code>Map</code>
-   *             if no private 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>).
-   */
-  public java.util.Map<String, String[]> getPrivateParameterMap();
-  
-  /**
-   * Returns a <code>Map</code> of the public parameters of this request.
-   * Public parameters may be shared with other portlets or components and
-   * defined in the portlet deployment descriptor with the 
-   * <code>supported-public-render-parameter</code> element.  
-   * The returned parameters are "x-www-form-urlencoded" decoded.
-   * <p>
-   * The values in the returned <code>Map</code> are from type
-   * String array (<code>String[]</code>).
-   * <p>
-   * If no public parameters exist this method returns an empty <code>Map</code>.
-   *
-   * @since 2.0
-   * @return     an immutable <code>Map</code> containing public parameter names as 
-   *             keys and public parameter values as map values, or an empty <code>Map</code>
-   *             if no public 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>).
-   */
-  public java.util.Map<String, String[]> getPublicParameterMap();
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequestDispatcher.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequestDispatcher.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequestDispatcher.java
deleted file mode 100644
index 8205872..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletRequestDispatcher.java
+++ /dev/null
@@ -1,142 +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>PortletRequestDispatcher</code> interface defines an object that
- * receives requests from the client and sends them to the specified resources
- * (such as a servlet, HTML file, or JSP file) on the server. The portlet
- * container creates the <code>PortletRequestDispatcher</code> object, which
- * is used as a wrapper around a server resource located at a particular path or
- * given by a particular name.
- * 
- */
-
-public interface PortletRequestDispatcher {
-
-    /**
-     * 
-     * Includes the content of a resource (servlet, JSP page, HTML file) in the
-     * response. In essence, this method enables programmatic server-side
-     * includes.
-     * <p>
-     * The included servlet cannot set or change the response status code or set
-     * headers; any attempt to make a change is ignored.
-     * <p>
-     * This method is kept in order to provide backward compatibility with
-     * version 1.0. Please use {@link #include(PortletRequest, PortletResponse)} instead
-     * of this method.
-     * 
-     * @param request
-     *            a {@link RenderRequest} object that contains the client
-     *            request. Must be either the render request passed to the
-     *            portlet in <code>render</code> or a wrapped version of this
-     *            render request.
-     * 
-     * @param response
-     *            a {@link RenderResponse} object that contains the render
-     *            response. Must be either the render response passed to the
-     *            portlet in <code>render</code> or a wrapped version of this
-     *            render response.
-     * 
-     * @exception PortletException
-     *                if the included resource throws a ServletException, or
-     *                other exceptions that are not Runtime- or IOExceptions.
-     * 
-     * @exception java.io.IOException
-     *                if the included resource throws this exception
-     * 
-     *  
-     */
-
-    public void include(RenderRequest request, RenderResponse response)
-            throws PortletException, java.io.IOException;
-
-    /**
-     * 
-     * Includes the content of a resource (servlet, JSP page, HTML file) in the
-     * response. In essence, this method enables programmatic server-side
-     * includes.
-     * <p>
-     * The included servlet cannot set or change the response status code or set
-     * headers; any attempt to make a change is ignored.
-     * 
-     * 
-     * @param request
-     *            a {@link PortletRequest} object that contains the portlet
-     *            request. Must be either the original request passed to the
-     *            portlet or a wrapped version of this request.
-     * 
-     * @param response
-     *            a {@link PortletResponse} object that contains the portlet
-     *            response. Must be either the portlet response passed to the
-     *            portlet or a wrapped version of this response.
-     * 
-     * @exception PortletException
-     *                if the included resource throws a ServletException, or
-     *                other exceptions that are not Runtime- or IOExceptions.
-     * 
-     * @exception java.io.IOException
-     *                if the included resource throws this exception
-     *                
-     * @since 2.0
-     */
-
-    public void include(PortletRequest request, PortletResponse response)
-            throws PortletException, java.io.IOException;
-
-    /**
-     * Forwards a portlet request from a portlet to another resource (servlet, JSP file, or HTML file) 
-     * on the server. This method allows the portlet to do preliminary processing of a 
-     * request and another resource to generate the response.
-     * <p>
-     * The <code>forward</code> method should be called before the response has been 
-     * committed to the portlet container (before response body output has been flushed). 
-     * If the response already has been committed, this method throws an 
-     * <code>IllegalStateException</code>. Uncommitted output in the response buffer 
-     * is automatically cleared before the forward.
-     * <p>
-     * The request and response parameters must be either the same objects as were passed to 
-     * the calling portlet or be wrapped versions of these.
-     * 
-     * @param request  a request object that represents the request to the 
-     *                 portlet
-     * @param response a reponse object that contains the portlet response
-     *  
-     * @exception PortletException
-     *                if the included resource throws a ServletException, or
-     *                other exceptions that are not Runtime- or IOExceptions.
-     * @exception java.io.IOException
-     *                if the included resource throws this exception
-     * @exception java.lang.IllegalStateException
-     *                if the response was already committed
-     * @since 2.0
-     */
-    public void forward(PortletRequest request, PortletResponse 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/PortletResponse.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletResponse.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletResponse.java
deleted file mode 100644
index 6dccbf0..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletResponse.java
+++ /dev/null
@@ -1,196 +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>PortletResponse</CODE> defines the base interface to assist a
- * portlet in creating and sending a response to the client. The portlet
- * container uses specialized versions of this interface when invoking a
- * portlet.
- * The portlet container creates these objects and passes them as arguments to
- * the portlet's <CODE>processAction, processEvent, serveResource</CODE> and <CODE>render</CODE> methods.
- * 
- * @see ActionResponse
- * @see RenderResponse
- * @see EventResponse
- * @see ResourceResponse
- */
-public interface PortletResponse {
-
-
-	/**
-     * Adds a String property to an existing key to be returned to the portal.
-     * If there are no property values already associated with the key, 
-     * a new key is created.
-     * <p>
-     * This method allows response properties to have multiple values.
-     * <p>
-     * Response properties can be viewed as header values set for the portal application. 
-     * If these header values are intended to be transmitted to the client they should be 
-     * set before the response is committed.
-     * 
-     * @param key
-     *            the key of the property to be returned to the portal
-     * @param value
-     *            the value of the property to be returned to the portal
-     * 
-     * @exception java.lang.IllegalArgumentException
-     *                if key is <code>null</code>.
-     */
-
-	public void addProperty(String key, String value);
-
-
-	/**
-     * Sets a String property to be returned to the portal.
-     * <p>
-     * Response properties can be viewed as header values set for the portal application. 
-     * If these header values are intended to be transmitted to the client they should be 
-     * set before the response is committed.
-     * <p>
-     * This method resets all properties previously added with the same key.
-     * 
-     * @param key
-     *            the key of the property to be returned to the portal
-     * @param value
-     *            the value of the property to be returned to the portal
-     * 
-     * @exception java.lang.IllegalArgumentException
-     *                if key is <code>null</code>.
-     */
-
-	public void setProperty(String key, String value);
-
-	/**
-     * Returns the encoded URL of the resource, like servlets, JSPs, images and
-     * other static files, at the given path.
-     * <p>
-     * Portlets should encode all resource URLs pointing to resources in the
-     * portlet application via this method in order to ensure that they get
-     * served via the portal application.
-     * <p>
-     * Some portal/portlet-container implementation may require those URLs to
-     * contain implementation specific data encoded in it. Because of that,
-     * portlets should use this method to create such URLs.
-     * <p>
-     * The <code>encodeURL</code> method may include the session ID and other
-     * portal/portlet-container specific information into the URL. If encoding
-     * is not needed, it returns the URL unchanged.
-     * <p>
-     * Portlet developer should be aware that the returned URL might not be a well formed
-     * URL but a special token at the time the portlet is generating its content. 
-     * Thus portlets should not add additional parameters on the resulting URL or 
-     * expect to be able to parse the URL. As a result, the outcome of the encodeURL 
-     * call may be different than calling encodeURL in the servlet world.
-     * 
-     * @param path
-     *            the URI path to the resource. This must be either 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>).
-     * 
-     * @exception java.lang.IllegalArgumentException
-     *                if path doesn't have a leading slash or is not an absolute
-     *                URL
-     * 
-     * @return the encoded resource URL as string, may not be a valid URL
-     */
-
-	public String encodeURL(String path);
-
-	/**
-     * The value returned by this method should be prefixed or appended to
-     * elements, such as JavaScript variables or function names, to ensure they
-     * are unique in the context of the portal page.
-     * <p>
-     * The namespace value must be constant for the lifetime of the portlet
-     * window.
-     * 
-     * @return the namespace
-     */
-
-	public String getNamespace();
-
-    /**
-     * Adds a HTTP Cookie property to the response.<br>
-     * The portlet should note that the cookie may not make
-     * it to the client, but may be stored at the portal.
-     * <p>
-     * This method allows response properties to have multiple cookies.
-     * <p>
-     *
-     * @param  cookie the cookie to be added to the response
-     * 
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if cookie is <code>null</code>.
-     * @since 2.0
-     */
-
-    public void addProperty(javax.servlet.http.Cookie cookie);
-
-
-    /**
-     * Adds an XML DOM element property to the response.
-     * <p>
-     * If a DOM element with the provided key already exists
-     * the provided element will be stored in addition to the
-     * existing element under the same key.
-     * <p>
-     * If the element is <code>null</code> the key is removed from
-     * the response.
-     * <p>
-     * Response XML DOM element properties can be viewed as 
-     * additional response document sections
-     * set for the portal application. 
-     * If these header values are intended to be transmitted to the client they should be 
-     * set before the response is committed.
-     *
-     * @param key
-     *            the key of the property to be returned to the portal
-     * @param  element
-     *            the XML DOM element to be added to the response
-     *
-     * @exception  java.lang.IllegalArgumentException
-     *                            if key is <code>null</code>.
-     * @since 2.0
-     */
-   void addProperty(String key, org.w3c.dom.Element element);
-   
-   /**
-    * Creates an element of the type specified to be used in the 
-    * {@link #addProperty(String,Element)} method. 
-    * 
-    * @param tagName	name of the element type to instantiate
-    * @return  A new Element object with the nodeName attribute set to tagName, 
-    *          and localName, prefix, and namespaceURI set to null.
-    * @throws org.w3c.dom.DOMException
-    *     INVALID_CHARACTER_ERR: Raised if the specified name 
-    *     contains an illegal character.
-    */
-   org.w3c.dom.Element createElement(String tagName) throws org.w3c.dom.DOMException;
-
-
-}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/4fc38552/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletSecurityException.java
----------------------------------------------------------------------
diff --git a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletSecurityException.java b/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletSecurityException.java
deleted file mode 100644
index 75104c9..0000000
--- a/portlet-api_2.0_spec/src/main/java/javax/portlet/PortletSecurityException.java
+++ /dev/null
@@ -1,91 +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;
-
-/**
- * A portlet should throw a <CODE>PortletSecurityException</CODE>
- * when a call fails because of security reasons.<br>
- * Additionally it can be thrown by the portal/portlet-container.
- */
-
-public class PortletSecurityException extends PortletException
-{
-
-  private static final long serialVersionUID = 1L;
-
-  private PortletSecurityException ()
-  {
-  }
-
-  /**
-   * Constructs a new security exception with the given text. The
-   * portlet container may use the text write it to a log.
-   *
-   * @param   text
-   *          the exception text
-   */
-
-  public PortletSecurityException (String text)
-  {
-    super (text);
-  }
-
-  /**
-   * Constructs a new portlet security exception when the portlet needs to do
-   * the following:
-   * <ul>
-   * <il>throw an exception 
-   * <li>include a message about the "root cause" that interfered
-   *     with its normal operation
-   * <li>include a description message
-   * </ul>
-   *
-   * @param   text
-   *          the exception text
-   * @param   cause
-   *          the root cause
-   */
-  
-  public PortletSecurityException (String text, Throwable cause)
-  {
-    super(text, cause);
-  }
-
-  /**
-   * Constructs a new portlet security exception when the portlet needs to throw an
-   * exception. The exception message is based on the localized message
-   * of the underlying exception.
-   *
-   * @param   cause
-   *          the root cause
-   */
-
-  public PortletSecurityException (Throwable cause)
-  {
-    super(cause);
-  }
-
-
-}