You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mf...@apache.org on 2010/06/02 01:35:49 UTC

svn commit: r950308 [13/13] - in /myfaces/portlet-bridge/core/trunk_2.0.x: ./ api/src/main/java/javax/portlet/faces/ api/src/main/java/javax/portlet/faces/component/ examples/ examples/blank/ examples/blank/src/main/webapp/WEB-INF/ examples/carstore/ e...

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/pom.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/pom.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/pom.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,274 @@
+<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>
+  <name>MyFaces Portlet Bridge HelloDuke Demo</name>
+  <artifactId>portlet-bridge-helloDuke</artifactId>
+  <packaging>war</packaging>
+
+  <parent>
+    <groupId>org.apache.myfaces.portlet-bridge</groupId>
+    <artifactId>portlet-bridge-examples</artifactId>
+    <version>2.0.0-SNAPSHOT</version>
+  </parent>
+  
+  <dependencies>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>javax.servlet.jsp</groupId>
+      <artifactId>jsp-api</artifactId>
+    </dependency>
+    
+    <dependency>
+      <groupId>javax.portlet</groupId>
+      <artifactId>portlet-api</artifactId>
+    </dependency>
+        
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>portlet-bridge-api</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>portlet-bridge-impl</artifactId>
+    </dependency>
+
+  </dependencies>
+    
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-jdev-plugin</artifactId>
+        <groupId>org.apache.myfaces.trinidadbuild</groupId>
+        <configuration>
+          <libraries>
+            <library>JSP Runtime</library>
+          </libraries>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+  <profiles>
+    <profile>
+      <id>pluto-assemble</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <configuration>
+              <warName>${pom.artifactId}-pluto-${pom.version}</warName>
+              <outputDirectory>${project.build.directory}/../../assembly/target/webapp</outputDirectory>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    
+    <!-- sets up the webapp for deployment to pluto 2.0  "mvn clean install -Ppluto" -->    
+    <profile>
+      <id>pluto</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <configuration>
+              <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+            </configuration>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.apache.portals.pluto</groupId>
+            <artifactId>maven-pluto-plugin</artifactId>
+            <version>2.0.0</version>
+            <executions>  
+              <execution>  
+                <phase>generate-resources</phase>  
+                <goals>  
+                  <goal>assemble</goal>  
+                </goals>  
+              </execution>  
+            </executions>  
+          </plugin>  
+        </plugins>
+      </build>
+    </profile>
+
+<!-- sets up the webapp for deployment to pluto 2.0 (this is included as its the command in 1.0 for building to 2 - i.e. backwards compat) "mvn clean install -Ppluto2" -->    
+    <profile>
+      <id>pluto2</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <configuration>
+              <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+            </configuration>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.apache.portals.pluto</groupId>
+            <artifactId>maven-pluto-plugin</artifactId>
+            <version>2.0.0</version>
+            <executions>  
+              <execution>  
+                <phase>generate-resources</phase>  
+                <goals>  
+                  <goal>assemble</goal>  
+                </goals>  
+              </execution>  
+            </executions>  
+          </plugin>  
+        </plugins>
+      </build>
+    </profile>
+    
+    <!-- To run jetty, issue "mvn clean -PjettyConfig jetty:run" -->
+    <profile>
+      <id>jettyConfig</id>
+		<dependencies>
+        <dependency>
+          <groupId>com.bekk.boss</groupId>
+          <artifactId>maven-jetty-pluto-embedded</artifactId>
+        </dependency>
+		</dependencies>
+		<build>      
+      <plugins>
+        <plugin>
+          <groupId>org.mortbay.jetty</groupId>
+          <artifactId>maven-jetty-plugin</artifactId>
+          <configuration>
+            <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
+            <webDefaultXml>src/main/webapp/WEB-INF/jetty-pluto-web-default.xml</webDefaultXml>
+            <systemProperties>
+              <systemProperty>
+                <name>org.apache.pluto.embedded.portletIds</name>
+                <value>portlet-bridge-helloDuke</value>
+              </systemProperty>
+            </systemProperties>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.pluto</groupId>
+          <artifactId>maven-pluto-plugin</artifactId> 
+        </plugin>  
+      </plugins>
+      </build>  
+    </profile>  
+  
+  <!-- By default the war examples uses mojarra and packages for a nonjavaee environment (includes the Faces jars)! :) -->
+
+    <!-- If you are running in a nonJavaEE environment (i.e. Faces isn't already deployed) and hence need to have Mojarra packaged in the war: -->
+    <profile>
+      <id>mojarra-nonjavaee</id>
+      <activation>
+        <property>
+          <name>!jsf</name>
+        </property>
+      </activation>
+
+      <dependencies>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-api</artifactId>
+	    <version>${mojarra.version}</version>
+          <scope>compile</scope>
+        </dependency>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-impl</artifactId>
+          <version>${mojarra.version}</version>
+          <scope>runtime</scope>
+        </dependency>
+      </dependencies>
+      <properties>
+        <jsf_implementation>JSF-RI</jsf_implementation>
+      </properties>
+    </profile>
+
+    <!-- If you are running in a JavaEE environment (i.e. Faces is already deployed) and hence don't need to have Mojarra packaged in the war: -->
+    <!--    mvn install -Djsf=mojarra-javaee -->
+    <profile>
+      <id>mojarra-javaee</id>
+      <activation>
+        <property>
+          <name>jsf</name>
+          <value>mojarra-javaee</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-api</artifactId>
+        </dependency>
+      </dependencies>
+      <properties>
+        <jsf_implementation>JSF-RI</jsf_implementation>
+      </properties>
+    </profile>
+
+
+    <!-- To use this examples using the MyFacesImplementation: mvn clean install -Djsf=myfaces-javaee -->
+    <!-- Note: currently carstore doesn't work properly in a myfaces environment -->
+    <profile>
+      <id>myfaces-javaee</id>
+      <activation>
+        <property>
+          <name>jsf</name>
+          <value>myfaces-javaee</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.myfaces.core</groupId>
+          <artifactId>myfaces-api</artifactId>
+	    <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.myfaces.core</groupId>
+          <artifactId>myfaces-impl</artifactId>
+          <scope>provided</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+   
+
+
+    <!-- If you are running in a nonJavaEE environment (i.e. Faces isn't already deployed) and hence need to have MyFaces packaged in the war: -->
+    <!--    mvn install -Djsf=myfaces-nonjavaee -->
+    <!-- Note: currently carstore doesn't work properly in a myfaces environment -->
+    <profile>
+      <id>myfaces-nonjavaee</id>
+      <activation>
+        <property>
+          <name>jsf</name>
+          <value>myfaces-nonjavaee</value>
+        </property>
+      </activation>
+
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.myfaces.core</groupId>
+          <artifactId>myfaces-api</artifactId>
+	    <version>${myfaces.version}</version>
+          <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.myfaces.core</groupId>
+          <artifactId>myfaces-impl</artifactId>
+          <version>${myfaces.version}</version>
+          <scope>runtime</scope>
+        </dependency>
+      </dependencies>
+    </profile>
+  </profiles>
+</project>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/java/helloDuke/UserNameBean.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/java/helloDuke/UserNameBean.java?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/java/helloDuke/UserNameBean.java (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/java/helloDuke/UserNameBean.java Tue Jun  1 23:35:42 2010
@@ -0,0 +1,49 @@
+/*
+ * The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ * 
+ * You can obtain a copy of the License at
+ * https://javaserverfaces.dev.java.net/CDDL.html or
+ * legal/CDDLv1.0.txt. 
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ * 
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at legal/CDDLv1.0.txt.    
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ * 
+ * [Name of File] [ver.__] [Date]
+ * 
+ * Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package helloDuke;
+
+public class UserNameBean {
+
+    String userName = null;
+
+
+    public UserNameBean() {
+        System.out.println("Model Object Created");
+    }
+
+
+    public void setUserName(String user_name) {
+        userName = user_name;
+        System.out.println("Set userName " + userName);
+    }
+
+
+    public String getUserName() {
+        System.out.println("get userName " + userName);
+        return userName;
+    }
+
+}

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/resources/META-INF/NOTICE?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/resources/META-INF/NOTICE (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/resources/META-INF/NOTICE Tue Jun  1 23:35:42 2010
@@ -0,0 +1,20 @@
+Apache MyFaces Portlet Bridge
+Copyright [2007, 2008, 2009] The Apache Software Foundation
+
+This is an implementation of a public review specification
+developed under the Java Community Process (JCP). This
+implementation may not fully conform to this specification.
+This implementation may differ from the final specification.
+The code is not compatible with any specification of the JCP.
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+Portions of this software are Copyright (c) 2007, Oracle 
+Corporation, <http://www.oracle.com/> and are licensed to 
+the Apache Software Foundation under the "Software Grant 
+and Corporate Contribution License Agreement"
+
+See the LICENSE.txt file for information on all licenses 
+associated with this software.
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/faces-config.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/faces-config.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/faces-config.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,59 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!--
+ The contents of this file are subject to the terms
+ of the Common Development and Distribution License
+ (the License). You may not use this file except in
+ compliance with the License.
+ 
+ You can obtain a copy of the License at
+ https://javaserverfaces.dev.java.net/CDDL.html or
+ legal/CDDLv1.0.txt. 
+ See the License for the specific language governing
+ permission and limitations under the License.
+ 
+ When distributing Covered Code, include this CDDL
+ Header Notice in each file and include the License file
+ at legal/CDDLv1.0.txt.    
+ If applicable, add the following below the CDDL Header,
+ with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+ 
+ [Name of File] [ver.__] [Date]
+ 
+ Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<!-- =========== FULL CONFIGURATION FILE ================================== -->
+
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
+              version="1.2">
+
+
+	<!-- HelloDuke managed bean -->
+	<managed-bean>
+		<description>The UserNameBean for HelloDuke sample</description>
+		<managed-bean-name>userNameBean</managed-bean-name>
+		<managed-bean-class>helloDuke.UserNameBean</managed-bean-class>
+		<managed-bean-scope>session</managed-bean-scope>
+	</managed-bean>
+
+	<!-- Tell Duke your name -->
+	<navigation-rule>
+		<navigation-case>
+			<from-outcome>response</from-outcome>
+			<to-view-id>/helloDuke/response.jsp</to-view-id>
+		</navigation-case>
+
+		<!-- Return to greeting page -->
+		<navigation-case>
+			<from-outcome>greeting</from-outcome>
+			<to-view-id>/helloDuke/greeting.jsp</to-view-id>
+		</navigation-case>
+	</navigation-rule>
+
+</faces-config>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    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 web.xml file is used in order to configure pluto to run with jetty in order to test the appropriate web applications -->
+<web-app 
+   xmlns="http://java.sun.com/xml/ns/javaee" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
+   metadata-complete="true"
+   version="2.5"> 
+
+  <context-param>
+    <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name>
+    <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar</param-value>
+  </context-param>
+  
+  <!-- Listeners -->
+  <listener>
+    <listener-class>
+      com.bekk.boss.pluto.embedded.jetty.util.OverrideContextLoaderListener
+    </listener-class>
+  </listener>
+  
+  <listener>
+    <listener-class>
      com.bekk.boss.pluto.embedded.util.PortalStartupListener
+    </listener-class>
+  </listener>
+
+  <!-- Filters and Mappings -->
+  <filter>
+    <filter-name>plutoResourceFilter</filter-name>
+    <filter-class>com.bekk.boss.pluto.embedded.util.PlutResourcesFilter</filter-class>
+  </filter>
+
+  <filter>
+    <filter-name>plutoPortalDriver</filter-name>
+    <filter-class>com.bekk.boss.pluto.embedded.util.PlutoPortalDriverFilter</filter-class>
+  </filter>
+	
+  <filter-mapping>
+    <filter-name>plutoResourceFilter</filter-name>
+    <url-pattern>*.css</url-pattern>
+    <url-pattern>*.gif</url-pattern>
+    <url-pattern>*.png</url-pattern>
+    <url-pattern>*.js</url-pattern>
+  </filter-mapping>
+
+  <filter-mapping>
+    <filter-name>plutoPortalDriver</filter-name>
+    <url-pattern>/pluto/index.jsp</url-pattern>
+    <url-pattern>/pluto/index.jsp/*</url-pattern>
+  </filter-mapping>
+
+  <!-- Servlets and Mappings -->
+
+  <!--
+    The default servlet.                                                  
+    This servlet, normally mapped to /, provides the handling for static  
+    content, OPTIONS and TRACE methods for the context.                   
+    The following initParameters are supported:                           
+                                                                          
+      acceptRanges     If true, range requests and responses are          
+                       supported                                          
+                                                                          
+      dirAllowed       If true, directory listings are returned if no     
+                       welcome file is found. Else 403 Forbidden.         
+                                                                          
+      redirectWelcome  If true, redirect welcome file requests            
+                       else use request dispatcher forwards               
+                                                                          
+      gzip             If set to true, then static content will be served  
+                       as gzip content encoded if a matching resource is  
+                       found ending with ".gz"                            
+                                                                          
+      resoureBase      Can be set to replace the context resource base    
+                                                                          
+      relativeResourceBase                                                
+                       Set with a pathname relative to the base of the    
+                       servlet context root. Useful for only serving      
+                       static content from only specific subdirectories.  
+                                                                          
+      useFileMappedBuffer                                                 
+                       If set to true (the default), a  memory mapped     
+                       file buffer will be used to serve static content   
+                       when using an NIO connector. Setting this value    
+                       to false means that a direct buffer will be used   
+                       instead. If you are having trouble with Windows    
+                       file locking, set this to false.                   
+                                                                          
+     cacheControl      If set, all static content will have this value    
+                       set as the cache-control header.                   
+                                                                          
+     maxCacheSize      Maximum size of the static resource cache          
+                                                                          
+     maxCachedFileSize Maximum size of any single file in the cache       
+                                                                          
+     maxCachedFiles    Maximum number of files in the cache               
+  -->
+
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
+    <init-param>
+      <param-name>acceptRanges</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dirAllowed</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>redirectWelcome</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCacheSize</param-name>
+      <param-value>4000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFileSize</param-name>
+      <param-value>254000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFiles</param-name>
+      <param-value>1000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>gzip</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>useFileMappedBuffer</param-name>
+      <param-value>true</param-value>
+    </init-param>  
+    <load-on-startup>0</load-on-startup>
+  </servlet> 
+
+  <servlet id="jsp">
+    <servlet-name>jsp</servlet-name>
+    <servlet-class>com.bekk.boss.pluto.embedded.util.PortletJspServlet</servlet-class>
+    <init-param>
+        <param-name>logVerbosityLevel</param-name>
+        <param-value>DEBUG</param-value>
+    </init-param>
+    <init-param>
+        <param-name>fork</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <init-param>
+        <param-name>xpoweredBy</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>default</servlet-name>
+    <url-pattern>/</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping> 
+    <servlet-name>jsp</servlet-name> 
+    <url-pattern>*.jsp</url-pattern> 
+    <url-pattern>*.jspf</url-pattern>
+    <url-pattern>*.jspx</url-pattern>
+    <url-pattern>*.xsp</url-pattern>
+    <url-pattern>*.JSP</url-pattern> 
+    <url-pattern>*.JSPF</url-pattern>
+    <url-pattern>*.JSPX</url-pattern>
+    <url-pattern>*.XSP</url-pattern>
+  </servlet-mapping>
+
+  <!-- Other settings -->
+  <session-config>
+    <session-timeout>60</session-timeout>
+  </session-config>
+
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+	
+  <locale-encoding-mapping-list>
+    <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>     
+    <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>   
+  </locale-encoding-mapping-list>
+</web-app>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/portlet.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/portlet.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/portlet.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,34 @@
+<?xml version="1.0"  encoding="ISO-8859-1"?>
+
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"             
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"             
+                   xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
+                                       http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+                   id="BridgeHelloDukeDemo" version="2.0">
+	<portlet>
+		<description>HelloDuke</description>
+		<portlet-name>portlet-bridge-helloDuke</portlet-name>
+		<display-name>HelloDuke</display-name>
+		<portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class>
+
+		<init-param>
+			<name>javax.portlet.faces.defaultViewId.view</name>
+			<value>/helloDuke/greeting.jsp</value>
+		</init-param>
+
+		<expiration-cache>0</expiration-cache>
+
+		<supports>
+			<mime-type>text/html</mime-type>
+			<portlet-mode>view</portlet-mode>
+		</supports>
+		<supported-locale>en</supported-locale>
+		<portlet-info>
+			<title>HelloDuke</title>
+			<short-title>HelloDuke</short-title>
+			<keywords>HelloDuke</keywords>
+		</portlet-info>
+	</portlet>
+
+</portlet-app>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/web.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/web.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/WEB-INF/web.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,86 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!--
+ The contents of this file are subject to the terms
+ of the Common Development and Distribution License
+ (the License). You may not use this file except in
+ compliance with the License.
+ 
+ You can obtain a copy of the License at
+ https://javaserverfaces.dev.java.net/CDDL.html or
+ legal/CDDLv1.0.txt. 
+ See the License for the specific language governing
+ permission and limitations under the License.
+ 
+ When distributing Covered Code, include this CDDL
+ Header Notice in each file and include the License file
+ at legal/CDDLv1.0.txt.    
+ If applicable, add the following below the CDDL Header,
+ with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+ 
+ [Name of File] [ver.__] [Date]
+ 
+ Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<web-app version="2.5"
+         xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
+
+	<display-name>faces-portlet-bridge-demos</display-name>
+
+	<context-param>
+		<description>
+			The location where state information is saved. Valid values
+			are 'server' (typically saved in HttpSession) and 'client'
+			(typically saved as a hidden field in the form. Default is
+			server.
+		</description>
+		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+		<param-value>server</param-value>
+	</context-param>
+	<context-param>
+		<description>
+			The default suffix for extension-mapped resources that
+			contain JSF components. Default is '.jsp'.
+		</description>
+		<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+		<param-value>.jsp</param-value>
+	</context-param>
+
+
+	<servlet>
+		<servlet-name>Faces Servlet</servlet-name>
+		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+		<load-on-startup>-1</load-on-startup>
+	</servlet>
+
+	<servlet-mapping>
+		<servlet-name>Faces Servlet</servlet-name>
+		<url-pattern>/faces/*</url-pattern>
+	</servlet-mapping>
+
+	<servlet-mapping>
+		<servlet-name>Faces Servlet</servlet-name>
+		<url-pattern>*.faces</url-pattern>
+	</servlet-mapping>
+
+
+	<servlet-mapping>
+		<servlet-name>Faces Servlet</servlet-name>
+		<url-pattern>*.jsf</url-pattern>
+	</servlet-mapping>
+
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+
+</web-app>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/error.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/error.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/error.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/error.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,75 @@
+<%--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ 
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+ 
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+ 
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+ 
+ Contributor(s):
+ 
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+--%>
+
+<!--
+ The contents of this file are subject to the terms
+ of the Common Development and Distribution License
+ (the License). You may not use this file except in
+ compliance with the License.
+ 
+ You can obtain a copy of the License at
+ https://javaserverfaces.dev.java.net/CDDL.html or
+ legal/CDDLv1.0.txt. 
+ See the License for the specific language governing
+ permission and limitations under the License.
+ 
+ When distributing Covered Code, include this CDDL
+ Header Notice in each file and include the License file
+ at legal/CDDLv1.0.txt.    
+ If applicable, add the following below the CDDL Header,
+ with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+ 
+ [Name of File] [ver.__] [Date]
+ 
+ Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<H3>
+	JSF Basic Components Test Page
+</H3>
+<hr>
+<f:view>
+	<h:form id="errorForm">
+		<h:outputText id="helloLabel" text="Login Failed" />
+		<P></P>
+	</h:form>
+</f:view>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/greeting.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/greeting.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/greeting.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/greeting.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,81 @@
+<%--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ 
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+ 
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+ 
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+ 
+ Contributor(s):
+ 
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+--%>
+
+<!--
+ The contents of this file are subject to the terms
+ of the Common Development and Distribution License
+ (the License). You may not use this file except in
+ compliance with the License.
+ 
+ You can obtain a copy of the License at
+ https://javaserverfaces.dev.java.net/CDDL.html or
+ legal/CDDLv1.0.txt. 
+ See the License for the specific language governing
+ permission and limitations under the License.
+ 
+ When distributing Covered Code, include this CDDL
+ Header Notice in each file and include the License file
+ at legal/CDDLv1.0.txt.    
+ If applicable, add the following below the CDDL Header,
+ with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+ 
+ [Name of File] [ver.__] [Date]
+ 
+ Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+
+<h2>
+	My name is Duke. What is yours?
+</h2>
+
+<%-- Do not use 'useBean' with the bridge, configure it into faces-config.xml instead --%>
+<%-- jsp:useBean id="UserNameBean" class="helloDuke.UserNameBean" scope="session" /> --%>
+
+	
+<f:view>
+	<h:form id="helloForm">
+		<h:graphicImage id="waveImg" url="/helloDuke/wave.med.gif" />
+		<h:inputText id="username" value="#{userNameBean.userName}" />
+		<h:commandButton id="submit" action="response" value="Submit"
+			type="submit" />
+	</h:form>
+</f:view>
\ No newline at end of file

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/index.html
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/index.html?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/index.html (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/index.html Tue Jun  1 23:35:42 2010
@@ -0,0 +1,11 @@
+
+&nbsp;
+<br>&nbsp;
+
+
+<P>Click&nbsp; <a href="faces/greeting.jsp">here</a>&nbsp;
+to say hello to Duke. </P>
+
+<br>
+<hr WIDTH="100%">
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/response.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/response.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/response.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/response.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,75 @@
+<%--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ 
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+ 
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License").  You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
+ language governing permissions and limitations under the License.
+ 
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code.  If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+ 
+ Contributor(s):
+ 
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license."  If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above.  However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+--%>
+
+<!--
+ The contents of this file are subject to the terms
+ of the Common Development and Distribution License
+ (the License). You may not use this file except in
+ compliance with the License.
+ 
+ You can obtain a copy of the License at
+ https://javaserverfaces.dev.java.net/CDDL.html or
+ legal/CDDLv1.0.txt. 
+ See the License for the specific language governing
+ permission and limitations under the License.
+ 
+ When distributing Covered Code, include this CDDL
+ Header Notice in each file and include the License file
+ at legal/CDDLv1.0.txt.    
+ If applicable, add the following below the CDDL Header,
+ with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+ 
+ [Name of File] [ver.__] [Date]
+ 
+ Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+
+<f:view>
+	<h:form id="responseform">
+		<h:graphicImage id="waveImg" url="/helloDuke/wave.med.gif" />
+		<h2>
+			Hi,
+			<h:outputText id="userLabel" value="#{userNameBean.userName}" />
+		</h2>
+		<h:commandButton id="back" value="Back" action="greeting" />
+		<p>
+	</h:form>
+</f:view>
\ No newline at end of file

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/wave.med.gif
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/wave.med.gif?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/helloDuke/src/main/webapp/helloDuke/wave.med.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: myfaces/portlet-bridge/core/trunk_2.0.x/examples/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/pom.xml?rev=950308&r1=950307&r2=950308&view=diff
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/pom.xml (original)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/pom.xml Tue Jun  1 23:35:42 2010
@@ -1,57 +1,63 @@
-<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>
-  <name>MyFaces Portlet Bridge Examples</name>
-  <artifactId>portlet-bridge-examples</artifactId>
-  <packaging>pom</packaging>
-
-  <parent>
-    <groupId>org.apache.myfaces.portlet-bridge</groupId>
-    <artifactId>portlet-bridge</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-
-  <repositories>
-    <repository>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <id>apache-maven-snapshots</id>
-      <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
-    </repository>
-  </repositories>
-
-  <modules>
-    <module>blank</module>
-    <module>demo</module>
-  </modules>
-  
-  <profiles>
-    <profile>
-      <id>prepare-release</id>
-      <activation>
-        <property>
-          <name>prepareRelease</name>
-        </property>
-      </activation>
-      <modules>
-        <module>assembly</module>
-      </modules>
-    </profile>
-
-    <profile>
-      <id>perform-release</id>
-      <activation>
-        <property>
-          <name>performRelease</name>
-          <value>true</value>
-        </property>
-      </activation>
-      <modules>
-        <module>assembly</module>
-      </modules>
-    </profile>
-  </profiles>
+<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>
+  <name>MyFaces Portlet Bridge Examples</name>
+  <artifactId>portlet-bridge-examples</artifactId>
+  <packaging>pom</packaging>
+
+  <parent>
+    <groupId>org.apache.myfaces.portlet-bridge</groupId>
+    <artifactId>portlet-bridge</artifactId>
+    <version>2.0.0-SNAPSHOT</version>
+  </parent>
+
+  <repositories>
+    <repository>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <id>apache-maven-snapshots</id>
+      <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
+    </repository>
+  </repositories>
+
+  <modules>
+    <module>blank</module>
+    <module>carstore</module>
+    <module>facelets-guess</module>
+    <module>guessNumber</module>
+    <module>guessNumberMojarraFilter</module>
+    <module>guessNumberMojarraWrapper</module>
+    <module>guessNumberMyFacesFilter</module>
+    <module>helloDuke</module>
+  </modules>
+  
+  <profiles>
+    <profile>
+      <id>prepare-release</id>
+      <activation>
+        <property>
+          <name>prepareRelease</name>
+        </property>
+      </activation>
+      <modules>
+        <module>assembly</module>
+      </modules>
+    </profile>
+
+    <profile>
+      <id>perform-release</id>
+      <activation>
+        <property>
+          <name>performRelease</name>
+          <value>true</value>
+        </property>
+      </activation>
+      <modules>
+        <module>assembly</module>
+      </modules>
+    </profile>
+  </profiles>
 </project>
\ No newline at end of file

Modified: myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/application/PortletViewHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/application/PortletViewHandlerImpl.java?rev=950308&r1=950307&r2=950308&view=diff
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/application/PortletViewHandlerImpl.java (original)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/application/PortletViewHandlerImpl.java Tue Jun  1 23:35:42 2010
@@ -23,16 +23,10 @@ import java.io.BufferedWriter;
 import java.io.ByteArrayOutputStream;
 import java.io.CharArrayWriter;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
 import java.io.Writer;
 
-import java.nio.ByteBuffer;
 
-import java.util.Locale;
-import java.util.Map;
-import java.util.logging.Level;
 
 import javax.faces.application.Application;
 import javax.faces.FacesException;
@@ -54,6 +48,7 @@ import javax.portlet.RenderResponse;
 import javax.portlet.ResourceResponse;
 import javax.portlet.faces.Bridge;
 import javax.portlet.faces.BridgeUtil;
+import javax.portlet.faces.BridgeWriteBehindResponse;
 import javax.portlet.faces.annotation.PortletNamingContainer;
 import javax.portlet.faces.component.PortletNamingContainerUIViewRoot;
 
@@ -433,27 +428,31 @@ public class PortletViewHandlerImpl exte
       // save the original response
       MimeResponse originalResponse = (MimeResponse) extContext.getResponse();
 
-      // replace the response with our wrapper
-      //TODO:  need a separate response wrapper for resources
-      PortletViewHandlerResourceResponseWrapper resourceResponseWrapper = null;
-      PortletViewHandlerRenderResponseWrapper renderResponseWrapper = null;
-      PortletResponseWrapper wrapped = null;
-      if (BridgeUtil.getPortletRequestPhase() == Bridge.PortletPhase.RESOURCE_PHASE)
-      {
-        resourceResponseWrapper = new PortletViewHandlerResourceResponseWrapper((ResourceResponse)originalResponse/*, context.getViewRoot().getLocale()*/);
-        wrapped =  resourceResponseWrapper; 
-      }
-      else
-      {
-        renderResponseWrapper = new PortletViewHandlerRenderResponseWrapper((RenderResponse) originalResponse/*, context.getViewRoot().getLocale()*/);
-        wrapped = renderResponseWrapper;
-      }
-      
-      if (!(wrapped instanceof PortletResponseWrapper))
-        throw new IOException();
-      
-      extContext.setResponse(wrapped);
-      
+      // see whether the portlet wants to use a writeBehindResponse(Wrapper)
+      Class<? extends BridgeWriteBehindResponse> writeBehindResponseWrapperClass = (Class<? extends BridgeWriteBehindResponse>) extContext.getRequestMap().get(Bridge.BRIDGE_PACKAGE_PREFIX + Bridge.WRITE_BEHIND_RESPONSE);
+      BridgeWriteBehindResponse wrapped = null;
+      if (writeBehindResponseWrapperClass != null)
+      {
+        try
+        {  
+          wrapped = writeBehindResponseWrapperClass.newInstance();
+          if (wrapped instanceof PortletResponseWrapper)
+          {
+            extContext.setResponse(wrapped);
+          }
+          else
+          {
+            // warn and don't use
+            wrapped = null;
+            ((PortletContext)extContext.getContext()).log("Unable to use configured BridgeWriteBehindResponse instance because its not a PortletResponseWrapper.");
+          }
+          
+        } catch (Exception e)
+        {
+          // Just warn and don't use;
+          ((PortletContext)extContext.getContext()).log("Unable to instantiate configured BridgeWriteBehindResponse instance: ", e);
+        }
+      }      
       // set request attribute indicating we can deal with content
       // that is supposed to be delayed until after JSF tree is ouput.
       extContext.getRequestMap().put(Bridge.RENDER_CONTENT_AFTER_VIEW, Boolean.TRUE);
@@ -462,31 +461,20 @@ public class PortletViewHandlerImpl exte
       // build the view by executing the page
       extContext.dispatch(viewURI);
 
-      // replace the original response
-      extContext.setResponse(originalResponse);
-
-      // Check to see if the portlet 1.0 bridge filter already put the content
-      // into the attribute
-
-      if (extContext.getRequestMap().get(Bridge.AFTER_VIEW_CONTENT) == null)
+      if (wrapped != null)
       {
+        // replace the original response
+        extContext.setResponse(originalResponse);
+        
         // Put the AFTER_VIEW_CONTENT into request scope
         // temporarily    
-        Object o = null;
-        if (renderResponseWrapper != null)
-        {
-         o = (renderResponseWrapper.isChars()) ? (Object) renderResponseWrapper.getChars() : (Object) renderResponseWrapper.getBytes();
-        }
-        else if (resourceResponseWrapper != null)
-        {
-          o = (resourceResponseWrapper.isChars()) ? (Object) resourceResponseWrapper.getChars() : (Object) resourceResponseWrapper.getBytes();  
-        }
+        Object o = (wrapped.isChars()) ? (Object) wrapped.getChars() : (Object) wrapped.getBytes();
+
         if (o != null)
         {
           extContext.getRequestMap().put(Bridge.AFTER_VIEW_CONTENT, o);
         }
-          
-      }
+      } 
   }
 
 

Modified: myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/BridgeImpl.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/BridgeImpl.java?rev=950308&r1=950307&r2=950308&view=diff
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/BridgeImpl.java (original)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/BridgeImpl.java Tue Jun  1 23:35:42 2010
@@ -88,6 +88,7 @@ import javax.portlet.faces.BridgeNotAFac
 import javax.portlet.faces.BridgePublicRenderParameterHandler;
 import javax.portlet.faces.BridgeUninitializedException;
 import javax.portlet.faces.BridgeUtil;
+import javax.portlet.faces.BridgeWriteBehindResponse;
 import javax.portlet.faces.annotation.BridgePreDestroy;
 import javax.portlet.faces.annotation.BridgeRequestScopeAttributeAdded;
 import javax.portlet.faces.annotation.ExcludeFromManagedRequestScope;
@@ -154,6 +155,8 @@ public class BridgeImpl
   private boolean mInitialized = false;
 
   private Map<String,String> mDefaultViewIdMap = null;
+  
+  private Class<? extends BridgeWriteBehindResponse> mBridgeWriteBehindResponse = null;
 
   public BridgeImpl()
   {
@@ -183,6 +186,9 @@ public class BridgeImpl
     mPreserveActionParams = 
         (Boolean) portletContext.getAttribute(Bridge.BRIDGE_PACKAGE_PREFIX + mPortletConfig.getPortletName() + 
                                               "." + Bridge.PRESERVE_ACTION_PARAMS);
+    
+    mBridgeWriteBehindResponse = (Class<? extends BridgeWriteBehindResponse>) portletContext.getAttribute(Bridge.BRIDGE_PACKAGE_PREFIX + mPortletConfig.getPortletName() + 
+                                              "." + Bridge.WRITE_BEHIND_RESPONSE);
 
     mExcludedRequestAttributes = (List<String>) portletContext.getAttribute(Bridge.BRIDGE_PACKAGE_PREFIX + mPortletConfig.getPortletName() +
                                                       "." + Bridge.EXCLUDED_REQUEST_ATTRIBUTES);
@@ -686,6 +692,12 @@ public class BridgeImpl
     // Set the PortletName for use throughout this request to read portlet specific context attrs
     request.setAttribute(PORTLET_NAME_ATTRIBUTE, mPortletConfig.getPortletName());
     
+    // Set the WriteBehindResponse the ViewHandler should use
+    if (mBridgeWriteBehindResponse != null)
+    {
+      request.setAttribute(Bridge.BRIDGE_PACKAGE_PREFIX + Bridge.WRITE_BEHIND_RESPONSE, mBridgeWriteBehindResponse);
+    }
+    
     // Set the FacesServletMapping attribute so the ExternalContext can
     // pick it up and use it to reverse map viewIds to paths
     if (mFacesMappings != null)
@@ -1007,6 +1019,12 @@ public class BridgeImpl
 
     // Set the PortletName for use throughout this request to read portlet specific context attrs
     request.setAttribute(PORTLET_NAME_ATTRIBUTE, mPortletConfig.getPortletName());
+    
+    // Set the WriteBehindResponse the ViewHandler should use
+    if (mBridgeWriteBehindResponse != null)
+    {
+      request.setAttribute(Bridge.BRIDGE_PACKAGE_PREFIX + Bridge.WRITE_BEHIND_RESPONSE, mBridgeWriteBehindResponse);
+    }
 
 
     // Set the FacesServletMapping attribute so the ExternalContext can

Modified: myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/context/PortletExternalContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/context/PortletExternalContextImpl.java?rev=950308&r1=950307&r2=950308&view=diff
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/context/PortletExternalContextImpl.java (original)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/impl/src/main/java/org/apache/myfaces/portlet/faces/context/PortletExternalContextImpl.java Tue Jun  1 23:35:42 2010
@@ -118,6 +118,7 @@ public class PortletExternalContextImpl
   private PortletContext mPortletContext;
   private PortletRequest mPortletRequest;
   private PortletResponse mPortletResponse;
+  private Object mTempNonPortletResponse;
   
   private String mPortletName;
 
@@ -996,7 +997,14 @@ public class PortletExternalContextImpl
   @Override
   public Object getResponse()
   {
-    return mPortletResponse;
+    if (mTempNonPortletResponse != null)
+    {
+      return mTempNonPortletResponse;
+    }
+    else
+    {
+      return mPortletResponse;
+    }
   }
 
   @Override
@@ -1490,7 +1498,20 @@ public class PortletExternalContextImpl
   @Override
   public void setResponse(Object response)
   {
-    mPortletResponse = (PortletResponse) response;
+    // Early versions of Mojarra 1.2 check the externalContext response object to see if it implements its writeBehind API (using instanceof)
+    // And since protlet 1.0 didn't support portlet filters/wrappers the bridge allows one to implement this via a servlet filter/wrapper.
+    // In such circumstances the Mojarra servlet response wrapper has to be set as the current externalContext response so that things run properly
+    // Hence we need to account/allow for non-portlet response objects here (temporarily)
+    if (response instanceof PortletResponse)
+    {
+      mPortletResponse = (PortletResponse) response;
+      // clear if set so its not used in getResponse()
+      mTempNonPortletResponse = null;
+    }
+    else
+    {
+      mTempNonPortletResponse = response;
+    }
   }
 
   /**

Modified: myfaces/portlet-bridge/core/trunk_2.0.x/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/pom.xml?rev=950308&r1=950307&r2=950308&view=diff
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/pom.xml (original)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/pom.xml Tue Jun  1 23:35:42 2010
@@ -1,299 +1,323 @@
-<?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.	   
--->
-<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>
-  
-  <groupId>org.apache.myfaces.portlet-bridge</groupId>
-  <artifactId>portlet-bridge</artifactId>
-  <packaging>pom</packaging>
-  <name>MyFaces Portlet Bridge</name>
-  <version>2.0.0-SNAPSHOT</version>	 
-  <inceptionYear>2007</inceptionYear>  
-  <description>
-  Portlet Bridge for JavaServer Faces is a subproject of Apache MyFaces which provides an
-  implementation of the standardized Portlet Bridge as outlined by JSR-301 and subsequent
-  specifications.  This project will work with MyFaces as well as the R.I. and intended to
-  be used to develop the Portlet Bridge Reference Implementation.
-  </description>
-  
-  <url>http://myfaces.apache.org/portlet-bridge/2.0</url>
-  
-  <parent>
-    <artifactId>portlet-bridge-master-pom</artifactId>
-    <groupId>org.apache.myfaces.portlet-bridge</groupId>
-    <version>3</version>
-  </parent>
-
-  <properties>
-    <latestRelease>2.0.0-alpha-2</latestRelease>
-    <portletSpecVersion>2.0</portletSpecVersion>
-    <jsfSpecVersion>1.2</jsfSpecVersion>
-    <specVersion>1.0</specVersion>
-    <jsrNumber>301</jsrNumber>
-    <specLink>http://www.jcp.org/en/jsr/detail?id=${jsrNumber}</specLink>
-    <specName>Portlet ${portletSpecVersion} Bridge for JavaServer Faces ${jsfSpecVersion}</specName>
-    <projectSeries>2.x</projectSeries>
-    <jsf.version>1.2_03</jsf.version>
-  </properties>
-  
-  <!-- issueManagement is in parent -->
-  <!-- ciManagement are in parent -->
-  <!-- mailingLists are in parent -->
-  <!-- developers are in parent -->
-  <!-- contributors are in parent -->
-
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/portlet-bridge/core/trunk_2.0.x/</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/portlet-bridge/core/trunk_2.0.x/</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/myfaces/portlet-bridge/core/trunk_2.0.x/</url>
-  </scm>
-
-  <distributionManagement>
-    <site>
-      <id>apache-site</id>
-      <url>scpexe://minotaur.apache.org/www/myfaces.apache.org/portlet-bridge/2.0</url>
-    </site>
-  </distributionManagement>
-
-  <modules>
-    <module>api</module>
-    <module>impl</module>
-    <module>examples</module>
-  </modules>
-
-  <!-- Versions and scope of dependencies -->
-  <dependencyManagement>
-    <dependencies>
-        <!-- Portlet API -->
-        <dependency>
-          <groupId>javax.portlet</groupId>
-          <artifactId>portlet-api</artifactId>
-          <version>2.0</version>
-          <scope>provided</scope>
-        </dependency>
-
-        <!-- Servlet API -->
-        <dependency>
-          <groupId>javax.servlet</groupId>
-          <artifactId>servlet-api</artifactId>
-          <version>2.4</version>
-          <scope>provided</scope>
-        </dependency>
-
-        <!-- JSP API -->
-        <dependency>
-          <groupId>javax.servlet.jsp</groupId>
-          <artifactId>jsp-api</artifactId>
-          <version>2.1</version>
-          <scope>provided</scope>
-        </dependency>
-
-        <!-- J2EE Annotations -->
-        <dependency>
-          <groupId>org.apache.geronimo.specs</groupId>
-          <artifactId>geronimo-annotation_1.0_spec</artifactId>
-          <version>1.0</version>
-          <scope>provided</scope>
-        </dependency>
-
-        <!-- MyFaces API -->
-        <dependency>
-          <groupId>org.apache.myfaces.core</groupId>
-          <artifactId>myfaces-api</artifactId>
-          <version>1.2.2</version>
-        </dependency>
-        
-        <dependency>
-          <groupId>org.apache.myfaces.core</groupId>
-          <artifactId>myfaces-impl</artifactId>
-          <version>1.2.2</version>
-          <scope>runtime</scope>
-        </dependency>
-        
-       <!-- JSF R.I. API -->
-        <dependency>
-          <groupId>javax.faces</groupId>
-          <artifactId>jsf-api</artifactId>
-          <!-- As per spec, 1.2_03 is the minimum R.I. for version 1.0 bridge -->
-          <version>${jsf.version}</version>
-          <scope>provided</scope>
-        </dependency>
-                
-        <!-- Pluto 2.0 is not yet ready to embed into Jetty -->        
-        <!-- Jetty Pluto Plugin -->        
-        <!--dependency>
-          <groupId>com.bekk.boss</groupId>
-          <artifactId>maven-jetty-pluto-embedded</artifactId>
-          <version>2.0</version>
-        </dependency-->
-      
-        <dependency>
-          <groupId>javax.activation</groupId>
-          <artifactId>activation</artifactId>
-          <version>1.1</version>
-        </dependency>
-
-        <!-- JSF Portlet Bridge API -->
-        <dependency>
-          <groupId>${pom.groupId}</groupId>
-          <artifactId>portlet-bridge-api</artifactId>
-          <version>2.0.0-SNAPSHOT</version>
-        </dependency>
-
-        <!-- JSF Portlet Bridge Impl -->
-        <dependency>
-          <groupId>${pom.groupId}</groupId>
-          <artifactId>portlet-bridge-impl</artifactId>
-          <version>2.0.0-SNAPSHOT</version>
-        </dependency>
-      </dependencies>
-  </dependencyManagement>
-  
-  <build>
-    <plugins>
-		<plugin>
-        <artifactId>maven-release-plugin</artifactId>
-        <configuration>
-          <tagBase>https://svn.apache.org/repos/asf/myfaces/portlet-bridge/core/tags</tagBase>
-        </configuration>
-      </plugin>
-      
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>
-            <manifestEntries>
-              <Specification-Title>${specName}</Specification-Title>
-              <Specification-Version>${specVersion}</Specification-Version>
-              <Specification-Vendor>Java Community (JSR-301)</Specification-Vendor>
-            </manifestEntries>
-          </archive>
-        </configuration>
-      </plugin>
-      
-      <plugin>
-        <artifactId>maven-remote-resources-plugin</artifactId>
-        <version>1.0-alpha-6</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>process</goal>
-            </goals>
-            <configuration>
-              <resourceBundles>
-                <resourceBundle>org.apache:apache-jar-resource-bundle:1.3</resourceBundle>
-              </resourceBundles>
-              <properties>
-                <addLicense>true</addLicense>
-              </properties>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <!-- Generates the Javadocs for the Website.  Wagon will transport it -->
-      <plugin>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <configuration>
-          <aggregate>false</aggregate>
-          <linksource>true</linksource>
-          <breakiterator>true</breakiterator>
-          <quiet>true</quiet>
-          <verbose>false</verbose>
-          <source>${jdk.version}</source>
-          <charset>UTF-8</charset>
-          <links>
-            <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
-            <link>http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api</link>
-            <link>http://www.bluesunrise.com/portlet-api</link>
-          </links>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  
-  <profiles>  
-    <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
-         run successfully on the assembly projects. -->
-    <profile>
-      <id>prepare-release</id>
-      <activation>
-        <property>
-          <name>prepareRelease</name>
-        </property>
-      </activation>
-      <modules>
-        <module>assembly</module>
-      </modules>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-release-plugin</artifactId>
-            <configuration>
-              <arguments>-DprepareRelease</arguments>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    
-    <profile>
-      <id>perform-release</id>
-      <activation>
-        <property>
-          <name>performRelease</name>
-          <value>true</value>
-        </property>
-      </activation>
-      <modules>
-        <module>assembly</module>
-      </modules>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <version>2.2</version>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-scm-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>validate</phase>
-                <id>getting-scm.revision</id>
-                <goals>
-                  <goal>update</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>      
-</project>
+<?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.	   
+-->
+<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>
+  
+  <groupId>org.apache.myfaces.portlet-bridge</groupId>
+  <artifactId>portlet-bridge</artifactId>
+  <packaging>pom</packaging>
+  <name>MyFaces Portlet Bridge</name>
+  <version>2.0.0-SNAPSHOT</version>	 
+  <inceptionYear>2007</inceptionYear>  
+  <description>
+  Portlet Bridge for JavaServer Faces is a subproject of Apache MyFaces which provides an
+  implementation of the standardized Portlet Bridge as outlined by JSR-301 and subsequent
+  specifications.  This project will work with MyFaces as well as the R.I. and intended to
+  be used to develop the Portlet Bridge Reference Implementation.
+  </description>
+  
+  <url>http://myfaces.apache.org/portlet-bridge/2.0</url>
+  
+  <parent>
+    <artifactId>portlet-bridge-master-pom</artifactId>
+    <groupId>org.apache.myfaces.portlet-bridge</groupId>
+    <version>3</version>
+  </parent>
+
+  <properties>
+    <latestRelease>2.0.0-alpha-2</latestRelease>
+    <portletSpecVersion>2.0</portletSpecVersion>
+    <jsfSpecVersion>1.2</jsfSpecVersion>
+    <specVersion>1.0</specVersion>
+    <jsrNumber>301</jsrNumber>
+    <specLink>http://www.jcp.org/en/jsr/detail?id=${jsrNumber}</specLink>
+    <specName>Portlet ${portletSpecVersion} Bridge for JavaServer Faces ${jsfSpecVersion}</specName>
+    <projectSeries>2.x</projectSeries>
+    <mojarra.version>1.2_03</mojarra.version>
+    <myfaces.version>1.2.2</myfaces.version>
+    <facelets.version>1.1.14</facelets.version>
+    <blueprints.version>5</blueprints.version>
+  </properties>
+  
+  <!-- issueManagement is in parent -->
+  <!-- ciManagement are in parent -->
+  <!-- mailingLists are in parent -->
+  <!-- developers are in parent -->
+  <!-- contributors are in parent -->
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/portlet-bridge/core/trunk_2.0.x/</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/portlet-bridge/core/trunk_2.0.x/</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/myfaces/portlet-bridge/core/trunk_2.0.x/</url>
+  </scm>
+
+  <distributionManagement>
+    <site>
+      <id>apache-site</id>
+      <url>scpexe://minotaur.apache.org/www/myfaces.apache.org/portlet-bridge/2.0</url>
+    </site>
+  </distributionManagement>
+
+  <modules>
+    <module>api</module>
+    <module>impl</module>
+    <module>examples</module>
+  </modules>
+
+  <!-- Versions and scope of dependencies -->
+  <dependencyManagement>
+    <dependencies>
+        <!-- Blueprints-->
+        <dependency>
+          <groupId>com.sun.javaee.blueprints</groupId>
+          <artifactId>bp-ui-simple</artifactId>
+          <version>5</version>
+        </dependency>
+
+	  <!-- Facelets -->
+        <dependency>
+          <groupId>com.sun.facelets</groupId>
+          <artifactId>jsf-facelets</artifactId>
+          <version>1.1.14</version>
+        </dependency>
+
+        <!-- Portlet API -->
+        <dependency>
+          <groupId>javax.portlet</groupId>
+          <artifactId>portlet-api</artifactId>
+          <version>2.0</version>
+          <scope>provided</scope>
+        </dependency>
+
+        <!-- Servlet API -->
+        <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+          <version>2.4</version>
+          <scope>provided</scope>
+        </dependency>
+
+        <!-- JSP API -->
+        <dependency>
+          <groupId>javax.servlet.jsp</groupId>
+          <artifactId>jsp-api</artifactId>
+          <version>2.1</version>
+          <scope>provided</scope>
+        </dependency>
+
+        <!-- J2EE Annotations -->
+        <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-annotation_1.0_spec</artifactId>
+          <version>1.0</version>
+          <scope>provided</scope>
+        </dependency>
+
+        <!-- MyFaces API -->
+        <dependency>
+          <groupId>org.apache.myfaces.core</groupId>
+          <artifactId>myfaces-api</artifactId>
+          <version>${myfaces.version}</version>
+        </dependency>
+        
+        <dependency>
+          <groupId>org.apache.myfaces.core</groupId>
+          <artifactId>myfaces-impl</artifactId>
+          <version>${myfaces.version}</version>
+        </dependency>
+        
+       <!-- JSF R.I. API -->
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-api</artifactId>
+          <!-- As per spec, 1.2_03 is the minimum R.I. for version 1.0 bridge -->
+          <version>${mojarra.version}</version>
+          <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+          <groupId>javax.faces</groupId>
+          <artifactId>jsf-impl</artifactId>
+          <!-- As per spec, 1.2_03 is the minimum R.I. for version 1.0 bridge -->
+          <version>${mojarra.version}</version>
+          <scope>provided</scope>
+        </dependency>
+                
+        <!-- Pluto 2.0 is not yet ready to embed into Jetty -->        
+        <!-- Jetty Pluto Plugin -->        
+        <!--dependency>
+          <groupId>com.bekk.boss</groupId>
+          <artifactId>maven-jetty-pluto-embedded</artifactId>
+          <version>2.0</version>
+        </dependency-->
+      
+        <dependency>
+          <groupId>javax.activation</groupId>
+          <artifactId>activation</artifactId>
+          <version>1.1</version>
+        </dependency>
+
+        <!-- JSF Portlet Bridge API -->
+        <dependency>
+          <groupId>${pom.groupId}</groupId>
+          <artifactId>portlet-bridge-api</artifactId>
+          <version>2.0.0-SNAPSHOT</version>
+        </dependency>
+
+        <!-- JSF Portlet Bridge Impl -->
+        <dependency>
+          <groupId>${pom.groupId}</groupId>
+          <artifactId>portlet-bridge-impl</artifactId>
+          <version>2.0.0-SNAPSHOT</version>
+        </dependency>
+      </dependencies>
+  </dependencyManagement>
+  
+  <build>
+    <plugins>
+	<plugin>
+        <artifactId>maven-release-plugin</artifactId>
+        <configuration>
+          <tagBase>https://svn.apache.org/repos/asf/myfaces/portlet-bridge/core/tags</tagBase>
+        </configuration>
+      </plugin>
+      
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestEntries>
+              <Specification-Title>${specName}</Specification-Title>
+              <Specification-Version>${specVersion}</Specification-Version>
+              <Specification-Vendor>Java Community (JSR-301)</Specification-Vendor>
+            </manifestEntries>
+          </archive>
+        </configuration>
+      </plugin>
+      
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <version>1.0-alpha-6</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>process</goal>
+            </goals>
+            <configuration>
+              <resourceBundles>
+                <resourceBundle>org.apache:apache-jar-resource-bundle:1.3</resourceBundle>
+              </resourceBundles>
+              <properties>
+                <addLicense>true</addLicense>
+              </properties>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      
+      <!-- Generates the Javadocs for the Website.  Wagon will transport it -->
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <aggregate>false</aggregate>
+          <linksource>true</linksource>
+          <breakiterator>true</breakiterator>
+          <quiet>true</quiet>
+          <verbose>false</verbose>
+          <source>${jdk.version}</source>
+          <charset>UTF-8</charset>
+          <links>
+            <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+            <link>http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api</link>
+            <link>http://www.bluesunrise.com/portlet-api</link>
+          </links>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+  <profiles>  
+    <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
+         run successfully on the assembly projects. -->
+    <profile>
+      <id>prepare-release</id>
+      <activation>
+        <property>
+          <name>prepareRelease</name>
+        </property>
+      </activation>
+      <modules>
+        <module>assembly</module>
+      </modules>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-release-plugin</artifactId>
+            <configuration>
+              <arguments>-DprepareRelease</arguments>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    
+    <profile>
+      <id>perform-release</id>
+      <activation>
+        <property>
+          <name>performRelease</name>
+          <value>true</value>
+        </property>
+      </activation>
+      <modules>
+        <module>assembly</module>
+      </modules>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.2</version>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-scm-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>validate</phase>
+                <id>getting-scm.revision</id>
+                <goals>
+                  <goal>update</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>      
+</project>