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/14 08:08:02 UTC

[2/4] portals-pluto git commit: Initial changes for additional PRP testing

Initial changes for additional PRP testing


Project: http://git-wip-us.apache.org/repos/asf/portals-pluto/repo
Commit: http://git-wip-us.apache.org/repos/asf/portals-pluto/commit/da198fe1
Tree: http://git-wip-us.apache.org/repos/asf/portals-pluto/tree/da198fe1
Diff: http://git-wip-us.apache.org/repos/asf/portals-pluto/diff/da198fe1

Branch: refs/heads/PortletHub
Commit: da198fe1f068a5e15a941ba99a7627c88885279d
Parents: cdaa9cd
Author: Scott Nicklous <ms...@apache.org>
Authored: Tue Jan 13 17:04:35 2015 +0100
Committer: Scott Nicklous <ms...@apache.org>
Committed: Tue Jan 13 17:04:35 2015 +0100

----------------------------------------------------------------------
 .../portlets/TestModule3_Portlet1.java          | 189 +++++++--------
 .../src/main/webapp/WEB-INF/portlet.xml         | 101 ++++----
 .../portlets/TestModule3_Portlet2.java          | 228 +++++++++++--------
 .../src/main/webapp/WEB-INF/portlet.xml         | 101 ++++----
 .../xml-resources/tck-TestModule3-tests.xml     |  10 +-
 .../tck/beans/TestModule3Definitions.java       |  46 ++++
 6 files changed, 388 insertions(+), 287 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/da198fe1/portlet-tck_3.0/TestModule3-portlet1/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet1.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/TestModule3-portlet1/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet1.java b/portlet-tck_3.0/TestModule3-portlet1/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet1.java
index 1d3b463..6320f4d 100644
--- a/portlet-tck_3.0/TestModule3-portlet1/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet1.java
+++ b/portlet-tck_3.0/TestModule3-portlet1/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet1.java
@@ -1,93 +1,96 @@
-/*  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.
- */
-
-package javax.portlet.tck.TestModule3.portlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
-import javax.portlet.Portlet;
-import javax.portlet.PortletConfig;
-import javax.portlet.PortletException;
-import javax.portlet.PortletSession;
-import javax.portlet.PortletURL;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-import javax.portlet.tck.beans.TestCaseDetails;
-import javax.portlet.tck.beans.TestLink;
-import javax.portlet.tck.beans.TestResult;
-
-/**
- * This test portlet contains several tests to generate render URLs and place them
- * into the markup. The test driver clicks the links to execute the tests.
- */
-public class TestModule3_Portlet1 implements Portlet {
-   private static final String LOG_CLASS = TestModule3_Portlet1.class.getName();
-
-   // Tests defined in this portlet
-   private final static String TEST0 = "TestModule3_PublicRenderParameterTestDifferentPortletApplications";          
-
-   private final static TestCaseDetails tcd = initTests();
-   private static TestCaseDetails initTests() {
-      TestCaseDetails t = new TestCaseDetails();
-      t.put(TEST0, "A PRP set on the render URL is visible in companion portlet of different portlet application .");
-      return t;
-   }
-
-   private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
-
-   @Override
-   public void init(PortletConfig config) throws PortletException {
-   }
-
-   @Override
-   public void processAction(ActionRequest request, ActionResponse response)
-         throws PortletException, IOException {
-   }
-
-   @Override
-   public void render(RenderRequest request, RenderResponse response)
-         throws PortletException, IOException {
-
-      if (LOGGER.isLoggable(Level.FINE)) {
-         LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
-      }
-
-      PrintWriter writer = response.getWriter();
-      TestResult tr = null;
-
-      // Test: TestModule3_PublicRenderParameterTestDifferentPortletApplications
-      // This portlet generates the link. The companion portlet 
-      // displays the results.
-      PortletURL purl1 = response.createRenderURL();
-      purl1.setParameter("testModule3PRP", "testModule3PRP");
-      TestLink tl = new TestLink(TEST0, purl1);
-      tl.writeTo(writer);
-
-   }
-
-   @Override
-   public void destroy() {
-   }
-
-}
+/*  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.
+ */
+
+package javax.portlet.tck.TestModule3.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.Portlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.tck.beans.TestLink;
+import static javax.portlet.tck.beans.TestModule3Definitions.*;
+
+/**
+ * This test portlet contains several tests to generate render URLs and place them
+ * into the markup. The test driver clicks the links to execute the tests.
+ */
+public class TestModule3_Portlet1 implements Portlet {
+   private static final String LOG_CLASS = TestModule3_Portlet1.class.getName();
+
+   private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+   @Override
+   public void init(PortletConfig config) throws PortletException {
+   }
+
+   @Override
+   public void processAction(ActionRequest request, ActionResponse response)
+         throws PortletException, IOException {
+   }
+
+   @Override
+   public void render(RenderRequest request, RenderResponse response)
+         throws PortletException, IOException {
+
+      if (LOGGER.isLoggable(Level.FINE)) {
+         LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+      }
+
+      PrintWriter writer = response.getWriter();
+
+      // Test: TestModule3_PublicRenderParameterTestDifferentPortletApplications
+      // This portlet generates the link. The companion portlet 
+      // displays the results.
+      
+      PortletURL purl;
+      TestLink tl;
+      
+      purl = response.createRenderURL();
+      purl.setParameter(TM3PRP0, TEST0);
+      tl = new TestLink(TEST0, purl);
+      tl.writeTo(writer);
+      
+      purl = response.createRenderURL();
+      purl.setParameter(TM3PRP0, TEST1);
+      purl.setParameter(TM3PRP1, TM3PRP1);
+      tl = new TestLink(TEST1, purl);
+      tl.writeTo(writer);
+      
+      purl = response.createRenderURL();
+      purl.setParameter(TM3PRP0, TEST2);
+      purl.setParameter(TM3PRP2, TM3PRP2);
+      tl = new TestLink(TEST2, purl);
+      tl.writeTo(writer);
+
+   }
+
+   @Override
+   public void destroy() {
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/da198fe1/portlet-tck_3.0/TestModule3-portlet1/src/main/webapp/WEB-INF/portlet.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/TestModule3-portlet1/src/main/webapp/WEB-INF/portlet.xml b/portlet-tck_3.0/TestModule3-portlet1/src/main/webapp/WEB-INF/portlet.xml
index ffbdf88..4370912 100644
--- a/portlet-tck_3.0/TestModule3-portlet1/src/main/webapp/WEB-INF/portlet.xml
+++ b/portlet-tck_3.0/TestModule3-portlet1/src/main/webapp/WEB-INF/portlet.xml
@@ -1,46 +1,57 @@
-<?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.     
--->
-<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"
-   version="2.0" id="TestModule3_2PortletAppsTest">
-
-   <portlet>
-      <portlet-name>TestModule3_Portlet1</portlet-name>
-      <portlet-class>javax.portlet.tck.TestModule3.portlets.TestModule3_Portlet1</portlet-class>
-
-      <expiration-cache>0</expiration-cache>
-
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <portlet-info>
-         <title>TestModule3_Portlet1</title>
-      </portlet-info>
-      <supported-public-render-parameter>testModule3PRP</supported-public-render-parameter>
-   </portlet>
-   
-   <public-render-parameter>
-      <identifier>testModule3PRP</identifier>
-      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:testModule3PRP</qname>
-   </public-render-parameter>
-   
-
+<?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.     
+-->
+<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"
+   version="2.0" id="TestModule3_2PortletAppsTest">
+
+   <portlet>
+      <portlet-name>TestModule3_Portlet1</portlet-name>
+      <portlet-class>javax.portlet.tck.TestModule3.portlets.TestModule3_Portlet1</portlet-class>
+
+      <expiration-cache>0</expiration-cache>
+
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <portlet-info>
+         <title>TestModule3_Portlet1</title>
+      </portlet-info>
+      <supported-public-render-parameter>TM3PRP</supported-public-render-parameter>
+      <supported-public-render-parameter>TM3DifferentQName</supported-public-render-parameter>
+      <supported-public-render-parameter>TM3DifferentIdentifier</supported-public-render-parameter>
+   </portlet>
+   
+   <public-render-parameter>
+      <identifier>TM3PRP</identifier>
+      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:TM3PRP</qname>
+   </public-render-parameter>
+   
+   <public-render-parameter>
+      <identifier>TM3DifferentQName</identifier>
+      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:TM3DifferentQName</qname>
+   </public-render-parameter>
+   
+   <public-render-parameter>
+      <identifier>TM3DifferentIdentifier</identifier>
+      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:TM3DifferentIdentifier</qname>
+   </public-render-parameter>
+   
 </portlet-app>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/da198fe1/portlet-tck_3.0/TestModule3-portlet2/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet2.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/TestModule3-portlet2/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet2.java b/portlet-tck_3.0/TestModule3-portlet2/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet2.java
index 796ad0f..2ca70c1 100644
--- a/portlet-tck_3.0/TestModule3-portlet2/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet2.java
+++ b/portlet-tck_3.0/TestModule3-portlet2/src/main/java/javax/portlet/tck/TestModule3/portlets/TestModule3_Portlet2.java
@@ -1,100 +1,128 @@
-/*  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.
- */
-
-package javax.portlet.tck.TestModule3.portlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.portlet.ActionRequest;
-import javax.portlet.ActionResponse;
-import javax.portlet.Portlet;
-import javax.portlet.PortletConfig;
-import javax.portlet.PortletException;
-import javax.portlet.PortletSession;
-import javax.portlet.PortletURL;
-import javax.portlet.RenderRequest;
-import javax.portlet.RenderResponse;
-import javax.portlet.tck.beans.TestCaseDetails;
-import javax.portlet.tck.beans.TestLink;
-import javax.portlet.tck.beans.TestMessage;
-import javax.portlet.tck.beans.TestResult;
-
-/**
- * This test portlet contains several tests to generate render URLs and place them
- * into the markup. The test driver clicks the links to execute the tests.
- */
-public class TestModule3_Portlet2 implements Portlet {
-   private static final String LOG_CLASS = TestModule3_Portlet2.class.getName();
-
-   // Tests defined in this portlet
-   private final static String TEST0 = "TestModule3_PublicRenderParameterTestDifferentPortletApplications";          
-
-   private final static TestCaseDetails tcd = initTests();
-   private static TestCaseDetails initTests() {
-      TestCaseDetails t = new TestCaseDetails();
-      t.put(TEST0, "A PRP set on the render URL is visible in companion portlet of different portlet application .");
-      return t;
-   }
-
-   private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
-
-   @Override
-   public void init(PortletConfig config) throws PortletException {
-   }
-
-   @Override
-   public void processAction(ActionRequest request, ActionResponse response)
-         throws PortletException, IOException {
-   }
-
-   @Override
-   public void render(RenderRequest request, RenderResponse response)
-         throws PortletException, IOException {
-
-      if (LOGGER.isLoggable(Level.FINE)) {
-         LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
-      }
-
-      PrintWriter writer = response.getWriter();
-      TestResult tr = null;
-
-      // Test: TestModule3_PublicRenderParameterTestDifferentPortletApplications
-      // The link with the public render parameter is generated 
-      // by the main portlet.
-      String parm = request.getParameter("testModule3PRP");
-      if (parm != null) {
-         // test was executed so generate results
-         tr = tcd.getTestResultSucceeded(TEST0);
-         tr.writeTo(writer);
-      } else {
-         // test not executed yet, or was not correctly executed
-         TestMessage tm = new TestMessage(TEST0, "Waiting for publicRenderParameter1 to be set.");
-         tm.writeTo(writer);
-      }
-
-   }
-
-   @Override
-   public void destroy() {
-   }
-
-}
+/*  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.
+ */
+
+package javax.portlet.tck.TestModule3.portlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.Portlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.tck.beans.TestMessage;
+import javax.portlet.tck.beans.TestResult;
+import static javax.portlet.tck.beans.TestModule3Definitions.*;
+
+/**
+ * This test portlet contains several tests to generate render URLs and place them
+ * into the markup. The test driver clicks the links to execute the tests.
+ */
+public class TestModule3_Portlet2 implements Portlet {
+   private static final String LOG_CLASS = TestModule3_Portlet2.class.getName();
+
+   private final Logger LOGGER = Logger.getLogger(LOG_CLASS);
+
+   @Override
+   public void init(PortletConfig config) throws PortletException {
+   }
+
+   @Override
+   public void processAction(ActionRequest request, ActionResponse response)
+         throws PortletException, IOException {
+   }
+
+   @Override
+   public void render(RenderRequest request, RenderResponse response)
+         throws PortletException, IOException {
+
+      if (LOGGER.isLoggable(Level.FINE)) {
+         LOGGER.logp(Level.FINE, LOG_CLASS, "render", "Entry");
+      }
+
+      PrintWriter writer = response.getWriter();
+      TestResult tr = null;
+
+            
+      String test = request.getParameter(TM3PRP0);
+      if (test != null) {
+    	  
+    	  // Test: TestModule3_PublicRenderParameterTestDifferentPortletApplications
+    	  // Details: A PRP set on the render URL is visible in companion portlet of 
+    	  // a different portlet application. Same QName  & same identifier
+    	  
+    	  tr = tcd.getTestResultSucceeded(TEST0);
+    	  tr.writeTo(writer);
+         
+    	  // Test: TestModule3_PublicRenderParameterTestDifferentQName
+    	  // Details: A PRP matching identifier but differing QNames is not visible 
+    	  // in companion portlet of different portlet application
+    	  // (expected to fail)
+    	  if (test.equals(TEST1)) {
+    		  String val = request.getParameter(TM3PRP1);
+    		  if (val == null) {
+    			  tr = tcd.getTestResultSucceeded(TEST1);
+    		  } else {
+    			  tr = tcd.getTestResultFailed(TEST1);
+    		  }
+    		  tr.writeTo(writer);
+    	  } else {
+   	         TestMessage tm = new TestMessage(TEST1, "Waiting for test to be executed.");
+   	         tm.writeTo(writer);
+    	  }
+         
+    	  // Test: TestModule3_PublicRenderParameterTestDifferentIdentifier
+    	  // Details: A PRP with matching QName but differing identifier is visible in 
+    	  // a companion portlet of different portlet application
+    	  // (expected to succeed)
+    	  if (test.equals(TEST2)) {
+    		  String val = request.getParameter(TM3PRP2a);
+    		  if (val != null) {
+    			  tr = tcd.getTestResultSucceeded(TEST2);
+    		  } else {
+    			  tr = tcd.getTestResultFailed(TEST2);
+    		  }
+    		  tr.writeTo(writer);
+    	  } else {
+   	         TestMessage tm = new TestMessage(TEST2, "Waiting for test to be executed.");
+   	         tm.writeTo(writer);
+    	  }
+
+      } else {
+         // test not executed yet, or was not correctly executed
+         TestMessage tm = new TestMessage(TEST0, "Waiting for " + TM3PRP0 + " to be set.");
+         tm.writeTo(writer);
+         tm = new TestMessage(TEST1, "Waiting for " + TM3PRP0 + " to be set.");
+         tm.writeTo(writer);
+         tm = new TestMessage(TEST2, "Waiting for " + TM3PRP0 + " to be set.");
+         tm.writeTo(writer);
+      }
+
+   }
+
+   @Override
+   public void destroy() {
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/da198fe1/portlet-tck_3.0/TestModule3-portlet2/src/main/webapp/WEB-INF/portlet.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/TestModule3-portlet2/src/main/webapp/WEB-INF/portlet.xml b/portlet-tck_3.0/TestModule3-portlet2/src/main/webapp/WEB-INF/portlet.xml
index e57540e..8cad439 100644
--- a/portlet-tck_3.0/TestModule3-portlet2/src/main/webapp/WEB-INF/portlet.xml
+++ b/portlet-tck_3.0/TestModule3-portlet2/src/main/webapp/WEB-INF/portlet.xml
@@ -1,46 +1,57 @@
-<?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.     
--->
-<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"
-   version="2.0" id="TestModule3_2PortletAppsTest">
-
-   <portlet>
-      <portlet-name>TestModule3_Portlet2</portlet-name>
-      <portlet-class>javax.portlet.tck.TestModule3.portlets.TestModule3_Portlet2</portlet-class>
-
-      <expiration-cache>0</expiration-cache>
-
-      <supports>
-         <mime-type>text/html</mime-type>
-      </supports>
-      <portlet-info>
-         <title>TestModule3_Portlet2</title>
-      </portlet-info>
-      <supported-public-render-parameter>testModule3PRP</supported-public-render-parameter>
-   </portlet>
-   
-   <public-render-parameter>
-      <identifier>testModule3PRP</identifier>
-      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:testModule3PRP</qname>
-   </public-render-parameter>
-   
-
+<?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.     
+-->
+<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"
+   version="2.0" id="TestModule3_2PortletAppsTest-2">
+
+   <portlet>
+      <portlet-name>TestModule3_Portlet2</portlet-name>
+      <portlet-class>javax.portlet.tck.TestModule3.portlets.TestModule3_Portlet2</portlet-class>
+
+      <expiration-cache>0</expiration-cache>
+
+      <supports>
+         <mime-type>text/html</mime-type>
+      </supports>
+      <portlet-info>
+         <title>TestModule3_Portlet2</title>
+      </portlet-info>
+      <supported-public-render-parameter>TM3PRP</supported-public-render-parameter>
+      <supported-public-render-parameter>TM3DifferentQName</supported-public-render-parameter>
+      <supported-public-render-parameter>TM3DifferentIdentifier-a</supported-public-render-parameter>
+   </portlet>
+   
+   <public-render-parameter>
+      <identifier>TM3PRP</identifier>
+      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:TM3PRP</qname>
+   </public-render-parameter>
+      
+   <public-render-parameter>
+      <identifier>TM3DifferentQName</identifier>
+      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:TM3DifferentQName-a</qname>
+   </public-render-parameter>
+   
+   <public-render-parameter>
+      <identifier>TM3DifferentIdentifier-a</identifier>
+      <qname xmlns:x="http://www.apache.org/portals/pluto/pub-render-params">x:TM3DifferentIdentifier</qname>
+   </public-render-parameter>
+   
 </portlet-app>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/da198fe1/portlet-tck_3.0/TestModule3/src/main/resources/xml-resources/tck-TestModule3-tests.xml
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/TestModule3/src/main/resources/xml-resources/tck-TestModule3-tests.xml b/portlet-tck_3.0/TestModule3/src/main/resources/xml-resources/tck-TestModule3-tests.xml
index bddcc68..3cb82fa 100644
--- a/portlet-tck_3.0/TestModule3/src/main/resources/xml-resources/tck-TestModule3-tests.xml
+++ b/portlet-tck_3.0/TestModule3/src/main/resources/xml-resources/tck-TestModule3-tests.xml
@@ -1,5 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<properties>
-<entry key="TestModule3_PublicRenderParameterTestDifferentPortletApplications">TestModule3_2PortletAppsTest</entry>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<entry key="TestModule3_PublicRenderParameterTestDifferentPortletApplications">TestModule3_2PortletAppsTest</entry>
+<entry key="TestModule3_PublicRenderParameterTestDifferentQName">TestModule3_2PortletAppsTest</entry>
+<entry key="TestModule3_PublicRenderParameterTestDifferentIdentifier">TestModule3_2PortletAppsTest</entry>
 </properties>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/portals-pluto/blob/da198fe1/portlet-tck_3.0/common/src/main/java/javax/portlet/tck/beans/TestModule3Definitions.java
----------------------------------------------------------------------
diff --git a/portlet-tck_3.0/common/src/main/java/javax/portlet/tck/beans/TestModule3Definitions.java b/portlet-tck_3.0/common/src/main/java/javax/portlet/tck/beans/TestModule3Definitions.java
new file mode 100644
index 0000000..ca27560
--- /dev/null
+++ b/portlet-tck_3.0/common/src/main/java/javax/portlet/tck/beans/TestModule3Definitions.java
@@ -0,0 +1,46 @@
+/*  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.
+ */
+
+package javax.portlet.tck.beans;
+
+/**
+ * Contains definitions shared by the portlets in Test Module 3
+ * 
+ * @author nick
+ */
+public class TestModule3Definitions {
+
+	public final static String TEST0 = "TestModule3_PublicRenderParameterTestDifferentPortletApplications";          
+	public final static String TEST1 = "TestModule3_PublicRenderParameterTestDifferentQName";          
+	public final static String TEST2 = "TestModule3_PublicRenderParameterTestDifferentIdentifier";
+	
+	public final static String TM3PRP0 = "TM3PRP";          
+	public final static String TM3PRP1 = "TM3DifferentQName";          
+	public final static String TM3PRP2 = "TM3DifferentIdentifier";          
+	public final static String TM3PRP2a = "TM3DifferentIdentifier-a";          
+
+	public final static TestCaseDetails tcd = initTests();
+	private static TestCaseDetails initTests() {
+		TestCaseDetails t = new TestCaseDetails();
+		t.put(TEST0, "A PRP set on the render URL is visible in companion portlet of different portlet application. Same QName & Same identifier.");
+		t.put(TEST1, "A PRP matching identifier but differing QNames is not visible in companion portlet of different portlet application .");
+		t.put(TEST2, "A PRP with matching QName but differing identifier is visible in companion portlet of different portlet application .");
+		return t;
+	}
+
+}