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 as...@apache.org on 2019/03/27 22:10:29 UTC

[portals-pluto] branch master updated: PLUTO-755 Introduce a liferay-spring Maven profile in order to test the demos and TCK with the Spring implementation of bean portlets in Liferay

This is an automated email from the ASF dual-hosted git repository.

asfgriff pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/portals-pluto.git


The following commit(s) were added to refs/heads/master by this push:
     new 6bd533a  PLUTO-755 Introduce a liferay-spring Maven profile in order to test the demos and TCK with the Spring implementation of bean portlets in Liferay
6bd533a is described below

commit 6bd533acfd4556558a20757ccf2c4f32e49a5836
Author: Neil Griffin <ne...@gmail.com>
AuthorDate: Wed Mar 27 18:10:11 2019 -0400

    PLUTO-755 Introduce a liferay-spring Maven profile in order to test the demos and TCK with the Spring implementation of bean portlets in Liferay
---
 ChatRoomDemo/pom.xml                               | 85 +++++++++++++++++--
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 PortletHubDemo/pom.xml                             | 58 +++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 PortletV3AnnotatedDemo/pom.xml                     | 62 +++++++++++++-
 .../org/apache/portals/samples/AsyncRunnable.java  |  2 +
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 PortletV3Demo/pom.xml                              | 62 +++++++++++++-
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 pom.xml                                            | 13 ++-
 .../pom.xml                                        | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 .../pom.xml                                        | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 .../pom.xml                                        | 95 ++++++++++++++++++++++
 ...actValidityTests_SPEC3_20_PortletArtifacts.java | 44 +++++++++-
 ...actValidityTests_SPEC3_20_PortletArtifacts.java | 49 ++++++++++-
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 .../V3AnnotationPortletConfigTests/pom.xml         | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3HeaderPortletTests/pom.xml       | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3PortletConfigTests/pom.xml       | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3PortletContextTests/pom.xml      | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3PortletHubTests/pom.xml          | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3PortletParametersTests/pom.xml   | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3RenderStateTests/pom.xml         | 71 ++++++++++++++++
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3ResourceAsyncTests/pom.xml       | 72 +++++++++++++++-
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 portlet-tck_3.0/V3URLTests/pom.xml                 | 61 +++++++++++++-
 .../src/main/webapp/WEB-INF/applicationContext.xml | 18 ++++
 36 files changed, 1506 insertions(+), 24 deletions(-)

diff --git a/ChatRoomDemo/pom.xml b/ChatRoomDemo/pom.xml
index a4f8720..26d1703 100644
--- a/ChatRoomDemo/pom.xml
+++ b/ChatRoomDemo/pom.xml
@@ -100,7 +100,22 @@
              <skip>true</skip>
            </configuration>
          </plugin>
-         
+          <!-- workaround for war processing of m-r-r-plugin causing the generated NOTICE and LICENSE file to be put under WEB-INF/classes/META-INF -->
+          <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-remote-resources-plugin</artifactId>
+              <executions>
+                  <execution>
+                      <goals>
+                          <goal>process</goal>
+                      </goals>
+                      <configuration>
+                          <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
+                          <attached>false</attached>
+                      </configuration>
+                  </execution>
+              </executions>
+          </plugin>
       </plugins>
    </build>
 
@@ -115,27 +130,78 @@
                    <scope>provided</scope>
                </dependency>
            </dependencies>
+       </profile>
+       <profile>
+           <id>liferay-cdi</id>
+           <build>
+               <plugins>
+                   <plugin>
+                       <artifactId>maven-war-plugin</artifactId>
+                       <configuration>
+                           <packagingExcludes>
+                               WEB-INF/applicationContext.xml,
+                               WEB-INF/classes/logging.properties
+                           </packagingExcludes>
+                       </configuration>
+                   </plugin>
+               </plugins>
+           </build>
+       </profile>
+       <profile>
+           <id>liferay-spring</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                            <packagingExcludes>
+                               WEB-INF/beans.xml,
                                WEB-INF/classes/logging.properties
                            </packagingExcludes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
+           <dependencies>
+               <dependency>
+                   <groupId>${liferay.spring.group.id}</groupId>
+                   <artifactId>${liferay.spring.artifact.id}</artifactId>
+                   <version>${liferay.spring.artifact.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.hibernate</groupId>
+                   <artifactId>hibernate-validator</artifactId>
+                   <exclusions>
+                       <exclusion>
+                           <groupId>javax.validation</groupId>
+                           <artifactId>validation-api</artifactId>
+                       </exclusion>
+                   </exclusions>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-beans</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-context</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-core</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-web</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+           </dependencies>
        </profile>
       <profile>
          <id>pluto</id>
-         <activation>
-           <property>
-             <name>!alwaysActivate</name>
-           </property>
-         </activation>
-
          <dependencies>
             <dependency>
                <groupId>org.apache.taglibs</groupId>
@@ -161,8 +227,9 @@
                  <configuration>
                    <archiveClasses>false</archiveClasses>
                    <packagingExcludes>
-                       WEB-INF/liferay-portlet.xml,
-                       WEB-INF/classes/log4j.properties
+                       WEB-INF/applicationContext.xml,
+                       WEB-INF/classes/log4j.properties,
+                       WEB-INF/liferay-portlet.xml
                    </packagingExcludes>
                  </configuration>
                </plugin>
diff --git a/ChatRoomDemo/src/main/webapp/WEB-INF/applicationContext.xml b/ChatRoomDemo/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..b97642d
--- /dev/null
+++ b/ChatRoomDemo/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="com.ibm.portal.samples"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/PortletHubDemo/pom.xml b/PortletHubDemo/pom.xml
index 322669c..f20f67a 100644
--- a/PortletHubDemo/pom.xml
+++ b/PortletHubDemo/pom.xml
@@ -130,12 +130,16 @@
                    <scope>provided</scope>
                </dependency>
            </dependencies>
+       </profile>
+       <profile>
+           <id>liferay-cdi</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                            <packagingExcludes>
+                               WEB-INF/applicationContext.xml,
                                WEB-INF/classes/logging.properties
                            </packagingExcludes>
                        </configuration>
@@ -143,6 +147,59 @@
                </plugins>
            </build>
       </profile>
+       <profile>
+           <id>liferay-spring</id>
+           <build>
+               <plugins>
+                   <plugin>
+                       <artifactId>maven-war-plugin</artifactId>
+                       <configuration>
+                           <packagingExcludes>
+                               WEB-INF/beans.xml,
+                               WEB-INF/classes/logging.properties
+                           </packagingExcludes>
+                       </configuration>
+                   </plugin>
+               </plugins>
+           </build>
+           <dependencies>
+               <dependency>
+                   <groupId>${liferay.spring.group.id}</groupId>
+                   <artifactId>${liferay.spring.artifact.id}</artifactId>
+                   <version>${liferay.spring.artifact.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.hibernate</groupId>
+                   <artifactId>hibernate-validator</artifactId>
+                   <exclusions>
+                       <exclusion>
+                           <groupId>javax.validation</groupId>
+                           <artifactId>validation-api</artifactId>
+                       </exclusion>
+                   </exclusions>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-beans</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-context</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-core</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-web</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+           </dependencies>
+       </profile>
       <profile>
          <id>pluto</id>
          <dependencies>
@@ -178,6 +235,7 @@
                  <artifactId>maven-war-plugin</artifactId>
                  <configuration>
                    <packagingExcludes>
+                       WEB-INF/applicationContext.xml,
                        WEB-INF/beans.xml,
                        WEB-INF/liferay-portlet.xml,
                        WEB-INF/classes/log4j.properties
diff --git a/PortletHubDemo/src/main/webapp/WEB-INF/applicationContext.xml b/PortletHubDemo/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..129df14
--- /dev/null
+++ b/PortletHubDemo/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="basic.portlet"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/PortletV3AnnotatedDemo/pom.xml b/PortletV3AnnotatedDemo/pom.xml
index 5864d24..f36bd4b 100644
--- a/PortletV3AnnotatedDemo/pom.xml
+++ b/PortletV3AnnotatedDemo/pom.xml
@@ -120,12 +120,16 @@
             <scope>provided</scope>
           </dependency>
         </dependencies>
+      </profile>
+      <profile>
+        <id>liferay-cdi</id>
         <build>
           <plugins>
             <plugin>
               <artifactId>maven-war-plugin</artifactId>
               <configuration>
                   <packagingExcludes>
+                      WEB-INF/applicationContext.xml,
                       WEB-INF/classes/logging.properties
                   </packagingExcludes>
               </configuration>
@@ -133,6 +137,59 @@
           </plugins>
         </build>
       </profile>
+       <profile>
+           <id>liferay-spring</id>
+           <build>
+               <plugins>
+                   <plugin>
+                       <artifactId>maven-war-plugin</artifactId>
+                       <configuration>
+                           <packagingExcludes>
+                               WEB-INF/beans.xml,
+                               WEB-INF/classes/logging.properties
+                           </packagingExcludes>
+                       </configuration>
+                   </plugin>
+               </plugins>
+           </build>
+           <dependencies>
+               <dependency>
+                   <groupId>${liferay.spring.group.id}</groupId>
+                   <artifactId>${liferay.spring.artifact.id}</artifactId>
+                   <version>${liferay.spring.artifact.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.hibernate</groupId>
+                   <artifactId>hibernate-validator</artifactId>
+                   <exclusions>
+                       <exclusion>
+                           <groupId>javax.validation</groupId>
+                           <artifactId>validation-api</artifactId>
+                       </exclusion>
+                   </exclusions>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-beans</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-context</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-core</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-web</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+           </dependencies>
+       </profile>
       <profile>
          <id>pluto</id>
          <dependencies>
@@ -169,8 +226,9 @@
                  <artifactId>maven-war-plugin</artifactId>
                  <configuration>
                    <packagingExcludes>
-                      WEB-INF/liferay-portlet.xml,
-                      WEB-INF/classes/log4j.properties
+                      WEB-INF/applicationContext.xml,
+                       WEB-INF/classes/log4j.properties,
+                      WEB-INF/liferay-portlet.xml
                    </packagingExcludes>
                  </configuration>
                </plugin>
diff --git a/PortletV3AnnotatedDemo/src/main/java/org/apache/portals/samples/AsyncRunnable.java b/PortletV3AnnotatedDemo/src/main/java/org/apache/portals/samples/AsyncRunnable.java
index a134c27..afe76c1 100644
--- a/PortletV3AnnotatedDemo/src/main/java/org/apache/portals/samples/AsyncRunnable.java
+++ b/PortletV3AnnotatedDemo/src/main/java/org/apache/portals/samples/AsyncRunnable.java
@@ -21,6 +21,7 @@ package org.apache.portals.samples;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.enterprise.context.Dependent;
 import javax.inject.Inject;
 import javax.portlet.PortletAsyncContext;
 import javax.portlet.PortletConfig;
@@ -37,6 +38,7 @@ import java.io.StringWriter;
  * @author Scott Nicklous
  *
  */
+@Dependent
 public class AsyncRunnable implements Runnable {
 
 	private static final Logger logger = LoggerFactory.getLogger(AsyncRunnable.class);
diff --git a/PortletV3AnnotatedDemo/src/main/webapp/WEB-INF/applicationContext.xml b/PortletV3AnnotatedDemo/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..191aa61
--- /dev/null
+++ b/PortletV3AnnotatedDemo/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="org.apache.portals.samples"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/PortletV3Demo/pom.xml b/PortletV3Demo/pom.xml
index beac34d..175c108 100644
--- a/PortletV3Demo/pom.xml
+++ b/PortletV3Demo/pom.xml
@@ -135,12 +135,16 @@
                    <scope>provided</scope>
                </dependency>
            </dependencies>
+       </profile>
+       <profile>
+           <id>liferay-cdi</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                            <packagingExcludes>
+                               WEB-INF/applicationContext.xml,
                                WEB-INF/classes/logging.properties
                            </packagingExcludes>
                        </configuration>
@@ -148,6 +152,59 @@
                </plugins>
            </build>
        </profile>
+       <profile>
+           <id>liferay-spring</id>
+           <build>
+               <plugins>
+                   <plugin>
+                       <artifactId>maven-war-plugin</artifactId>
+                       <configuration>
+                           <packagingExcludes>
+                               WEB-INF/beans.xml,
+                               WEB-INF/classes/logging.properties
+                           </packagingExcludes>
+                       </configuration>
+                   </plugin>
+               </plugins>
+           </build>
+           <dependencies>
+               <dependency>
+                   <groupId>${liferay.spring.group.id}</groupId>
+                   <artifactId>${liferay.spring.artifact.id}</artifactId>
+                   <version>${liferay.spring.artifact.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.hibernate</groupId>
+                   <artifactId>hibernate-validator</artifactId>
+                   <exclusions>
+                       <exclusion>
+                           <groupId>javax.validation</groupId>
+                           <artifactId>validation-api</artifactId>
+                       </exclusion>
+                   </exclusions>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-beans</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-context</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-core</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+               <dependency>
+                   <groupId>org.springframework</groupId>
+                   <artifactId>spring-web</artifactId>
+                   <version>${springframework.liferay.version}</version>
+               </dependency>
+           </dependencies>
+      </profile>
       <profile>
          <id>pluto</id>
          <dependencies>
@@ -184,8 +241,9 @@
                  <artifactId>maven-war-plugin</artifactId>
                  <configuration>
                    <packagingExcludes>
-                       WEB-INF/liferay-portlet.xml,
-                       WEB-INF/classes/log4j.properties
+                       WEB-INF/applicationContext.xml,
+                       WEB-INF/classes/log4j.properties,
+                       WEB-INF/liferay-portlet.xml
                    </packagingExcludes>
                  </configuration>
                </plugin>
diff --git a/PortletV3Demo/src/main/webapp/WEB-INF/applicationContext.xml b/PortletV3Demo/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..129df14
--- /dev/null
+++ b/PortletV3Demo/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="basic.portlet"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/pom.xml b/pom.xml
index 35153bd..8ab8035 100644
--- a/pom.xml
+++ b/pom.xml
@@ -281,7 +281,6 @@ generate mailto links. -->
     <commons-cli.version>1.0</commons-cli.version>
     <slf4j.version>1.7.5</slf4j.version>
     <springframework.version>2.0.2</springframework.version>
-<!--     <springframework.version>4.2.3.RELEASE</springframework.version> -->
     <maven.version>2.0.5</maven.version>
     <ant.version>1.6.5</ant.version>
     <commons-lang.version>3.4</commons-lang.version>
@@ -522,6 +521,11 @@ TODO: Check if we need all of them. -->
         <version>${taglibs.standard.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.hibernate</groupId>
+        <artifactId>hibernate-validator</artifactId>
+        <version>6.0.14.Final</version>
+      </dependency>
+      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-api</artifactId>
          <version>3.11.0</version>
@@ -803,6 +807,13 @@ TODO: Check if we need all of them. -->
     </profile>
 
     <profile>
+      <id>liferay-spring</id>
+      <properties>
+		  <springframework.liferay.version>5.1.4.RELEASE</springframework.liferay.version>
+	  </properties>
+    </profile>
+
+    <profile>
       <id>website</id>
       <!-- For building website documentation, there's no need to include modules. -->
       <modules />
diff --git a/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/pom.xml b/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/pom.xml
index c41c0f7..73f4ead 100644
--- a/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/pom.xml
+++ b/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/pom.xml
@@ -135,6 +135,75 @@
          </build>
       </profile>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -167,7 +236,9 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
                         WEB-INF/beans.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3AnnotationPortletAppConfigOverrideTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/pom.xml b/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/pom.xml
index c4b306c..a547b4e 100644
--- a/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/pom.xml
+++ b/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/pom.xml
@@ -134,6 +134,75 @@
          </build>
       </profile>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -166,7 +235,9 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
                         WEB-INF/beans.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3AnnotationPortletApplicationConfigTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/pom.xml b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/pom.xml
index 29ac506..44a07ce 100644
--- a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/pom.xml
+++ b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/pom.xml
@@ -119,6 +119,91 @@
 
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-compiler-plugin</artifactId>
+                  <configuration>
+                     <excludes>
+                        <exclude>**/spring/*.java</exclude>
+                     </excludes>
+                  </configuration>
+               </plugin>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-compiler-plugin</artifactId>
+                  <configuration>
+                     <excludes>
+                        <exclude>**/cdi/*.java</exclude>
+                     </excludes>
+                  </configuration>
+               </plugin>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -140,9 +225,19 @@
          <build>
             <plugins>
                <plugin>
+                  <artifactId>maven-compiler-plugin</artifactId>
+                  <configuration>
+                     <excludes>
+                        <exclude>**/spring/*.java</exclude>
+                     </excludes>
+                  </configuration>
+               </plugin>
+               <plugin>
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/cdi/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
similarity index 92%
copy from portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
copy to portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/cdi/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
index 2273bb5..435baa6 100644
--- a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
+++ b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/cdi/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
@@ -16,7 +16,7 @@
  *  under the License.
  */
 
-package javax.portlet.tck.portlets;
+package javax.portlet.tck.portlets.cdi;
 
 import static javax.portlet.PortletSession.PORTLET_SCOPE;
 import static javax.portlet.ResourceURL.PAGE;
@@ -90,9 +90,49 @@ import javax.portlet.annotations.RenderMethod;
 import javax.portlet.annotations.ServeResourceMethod;
 import javax.portlet.tck.beans.TestButton;
 import javax.portlet.tck.beans.TestResult;
+import javax.portlet.tck.portlets.ArtifactValidationResult;
+import javax.portlet.tck.portlets.PortletRequestScopedArtifacts;
+import javax.portlet.tck.portlets.Utils;
 import javax.portlet.tck.util.ModuleTestCaseDetails;
 import javax.servlet.http.Cookie;
 import javax.xml.namespace.QName;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
+import static javax.portlet.PortletSession.PORTLET_SCOPE;
+import static javax.portlet.ResourceURL.PAGE;
+import static javax.portlet.tck.portlets.Utils.ACTIONPHASE;
+import static javax.portlet.tck.portlets.Utils.CONTEXTPATHARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.COOKIESARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.EVENTPHASE;
+import static javax.portlet.tck.portlets.Utils.HEADERPHASE;
+import static javax.portlet.tck.portlets.Utils.LOCALESARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.NAMESPACEARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETCONFIGARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETCONTEXTARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETMODEARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETNAMEARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETPREFERENCESARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETSESSIONARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.RENDERPHASE;
+import static javax.portlet.tck.portlets.Utils.WINDOWIDARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.WINDOWSTATEARTIFACTKEY;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_CONTEXTPATH;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_COOKIES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_LOCALES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_NAMESPACE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETCONFIG;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETCONTEXT;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETMODE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETNAME;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETPREFERENCES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETSESSION;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_WINDOWID;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_WINDOWSTATE;
 
 /**
  * This portlet implements several test cases for the JSR 362 TCK. The test case names
@@ -108,7 +148,7 @@ import javax.xml.namespace.QName;
 )
 public class AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts implements Portlet {
    
-   private Utils                   utils = new Utils();
+   private Utils utils = new Utils();
 
    private PortletConfig initPortletConfig = null;
    
diff --git a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/spring/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
similarity index 92%
rename from portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
rename to portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/spring/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
index 2273bb5..f18018c 100644
--- a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
+++ b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/java/javax/portlet/tck/portlets/spring/AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts.java
@@ -16,7 +16,7 @@
  *  under the License.
  */
 
-package javax.portlet.tck.portlets;
+package javax.portlet.tck.portlets.spring;
 
 import static javax.portlet.PortletSession.PORTLET_SCOPE;
 import static javax.portlet.ResourceURL.PAGE;
@@ -56,6 +56,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 
+import javax.annotation.Resource;
 import javax.inject.Inject;
 import javax.portlet.ActionRequest;
 import javax.portlet.ActionResponse;
@@ -90,9 +91,49 @@ import javax.portlet.annotations.RenderMethod;
 import javax.portlet.annotations.ServeResourceMethod;
 import javax.portlet.tck.beans.TestButton;
 import javax.portlet.tck.beans.TestResult;
+import javax.portlet.tck.portlets.ArtifactValidationResult;
+import javax.portlet.tck.portlets.PortletRequestScopedArtifacts;
+import javax.portlet.tck.portlets.Utils;
 import javax.portlet.tck.util.ModuleTestCaseDetails;
 import javax.servlet.http.Cookie;
 import javax.xml.namespace.QName;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
+
+import static javax.portlet.PortletSession.PORTLET_SCOPE;
+import static javax.portlet.ResourceURL.PAGE;
+import static javax.portlet.tck.portlets.Utils.ACTIONPHASE;
+import static javax.portlet.tck.portlets.Utils.CONTEXTPATHARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.COOKIESARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.EVENTPHASE;
+import static javax.portlet.tck.portlets.Utils.HEADERPHASE;
+import static javax.portlet.tck.portlets.Utils.LOCALESARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.NAMESPACEARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETCONFIGARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETCONTEXTARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETMODEARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETNAMEARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETPREFERENCESARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.PORTLETSESSIONARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.RENDERPHASE;
+import static javax.portlet.tck.portlets.Utils.WINDOWIDARTIFACTKEY;
+import static javax.portlet.tck.portlets.Utils.WINDOWSTATEARTIFACTKEY;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_CONTEXTPATH;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_COOKIES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_LOCALES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_NAMESPACE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETCONFIG;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETCONTEXT;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETMODE;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETNAME;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETPREFERENCES;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_PORTLETSESSION;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_WINDOWID;
+import static javax.portlet.tck.util.ModuleTestCaseDetails.V3ANNOTATIONPORTLETARTIFACTVALIDITYTESTS_SPEC3_20_PORTLETARTIFACTS_WINDOWSTATE;
 
 /**
  * This portlet implements several test cases for the JSR 362 TCK. The test case names
@@ -108,7 +149,7 @@ import javax.xml.namespace.QName;
 )
 public class AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts implements Portlet {
    
-   private Utils                   utils = new Utils();
+   private Utils utils = new Utils();
 
    private PortletConfig initPortletConfig = null;
    
@@ -129,13 +170,13 @@ public class AnnotationPortletArtifactValidityTests_SPEC3_20_PortletArtifacts im
    @Inject
    private PortletPreferences portletPreferences;
    
-   @Inject
+   @Inject @Resource(name="cookies")
    private List<Cookie> cookies;
    
    @Inject
    private PortletSession          portletSession;
    
-   @Inject
+   @Inject @Resource(name="locales")
    private List<Locale> locales;
    
    @Inject
diff --git a/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3AnnotationPortletArtifactValidityTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3AnnotationPortletConfigTests/pom.xml b/portlet-tck_3.0/V3AnnotationPortletConfigTests/pom.xml
index f946dd2..2aab052 100644
--- a/portlet-tck_3.0/V3AnnotationPortletConfigTests/pom.xml
+++ b/portlet-tck_3.0/V3AnnotationPortletConfigTests/pom.xml
@@ -135,6 +135,75 @@
          </build>
       </profile>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -167,7 +236,9 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
                         WEB-INF/beans.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3AnnotationPortletConfigTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3AnnotationPortletConfigTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3AnnotationPortletConfigTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3HeaderPortletTests/pom.xml b/portlet-tck_3.0/V3HeaderPortletTests/pom.xml
index 3f1f12f..0d9614f 100644
--- a/portlet-tck_3.0/V3HeaderPortletTests/pom.xml
+++ b/portlet-tck_3.0/V3HeaderPortletTests/pom.xml
@@ -136,6 +136,75 @@
          </properties>
       </profile>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -161,6 +230,8 @@
                   <configuration>
                      <packagingExcludes>
                         WEB-INF/beans.xml,
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3HeaderPortletTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3HeaderPortletTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3HeaderPortletTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3PortletConfigTests/pom.xml b/portlet-tck_3.0/V3PortletConfigTests/pom.xml
index fef21d4..2a6a9e8 100644
--- a/portlet-tck_3.0/V3PortletConfigTests/pom.xml
+++ b/portlet-tck_3.0/V3PortletConfigTests/pom.xml
@@ -120,6 +120,75 @@
 
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -144,6 +213,8 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3PortletConfigTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3PortletConfigTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3PortletConfigTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3PortletContextTests/pom.xml b/portlet-tck_3.0/V3PortletContextTests/pom.xml
index 8ce8342..c34af42 100644
--- a/portlet-tck_3.0/V3PortletContextTests/pom.xml
+++ b/portlet-tck_3.0/V3PortletContextTests/pom.xml
@@ -120,6 +120,75 @@
 
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -144,6 +213,8 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3PortletContextTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3PortletContextTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3PortletContextTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3PortletHubTests/pom.xml b/portlet-tck_3.0/V3PortletHubTests/pom.xml
index f75014f..72f0944 100644
--- a/portlet-tck_3.0/V3PortletHubTests/pom.xml
+++ b/portlet-tck_3.0/V3PortletHubTests/pom.xml
@@ -119,6 +119,75 @@
 
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -143,6 +212,8 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3PortletHubTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3PortletHubTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3PortletHubTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3PortletParametersTests/pom.xml b/portlet-tck_3.0/V3PortletParametersTests/pom.xml
index a9e532e..6ece1db 100755
--- a/portlet-tck_3.0/V3PortletParametersTests/pom.xml
+++ b/portlet-tck_3.0/V3PortletParametersTests/pom.xml
@@ -121,6 +121,75 @@
 
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -145,7 +214,9 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
                         WEB-INF/beans.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3PortletParametersTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3PortletParametersTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3PortletParametersTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3RenderStateTests/pom.xml b/portlet-tck_3.0/V3RenderStateTests/pom.xml
index b107ac3..04a4a1f 100644
--- a/portlet-tck_3.0/V3RenderStateTests/pom.xml
+++ b/portlet-tck_3.0/V3RenderStateTests/pom.xml
@@ -120,6 +120,75 @@
 
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -144,7 +213,9 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
                         WEB-INF/beans.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3RenderStateTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3RenderStateTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3RenderStateTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3ResourceAsyncTests/pom.xml b/portlet-tck_3.0/V3ResourceAsyncTests/pom.xml
index dfd0cfb..44db75e 100644
--- a/portlet-tck_3.0/V3ResourceAsyncTests/pom.xml
+++ b/portlet-tck_3.0/V3ResourceAsyncTests/pom.xml
@@ -117,9 +117,77 @@
       </plugins>
    </build>
 
-
    <profiles>
       <profile>
+         <id>liferay-cdi</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -144,6 +212,8 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
                         WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
diff --git a/portlet-tck_3.0/V3ResourceAsyncTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3ResourceAsyncTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3ResourceAsyncTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>
diff --git a/portlet-tck_3.0/V3URLTests/pom.xml b/portlet-tck_3.0/V3URLTests/pom.xml
index 06efd73..0acf312 100644
--- a/portlet-tck_3.0/V3URLTests/pom.xml
+++ b/portlet-tck_3.0/V3URLTests/pom.xml
@@ -121,13 +121,14 @@
 
    <profiles>
       <profile>
-         <id>liferay</id>
+         <id>liferay-cdi</id>
          <build>
             <plugins>
                <plugin>
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
+                        WEB-INF/applicationContext.xml,
                         WEB-INF/classes/logging.properties
                      </packagingExcludes>
                   </configuration>
@@ -136,6 +137,59 @@
          </build>
       </profile>
       <profile>
+         <id>liferay-spring</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-war-plugin</artifactId>
+                  <configuration>
+                     <packagingExcludes>
+                        WEB-INF/beans.xml,
+                        WEB-INF/classes/logging.properties
+                     </packagingExcludes>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>${liferay.spring.group.id}</groupId>
+               <artifactId>${liferay.spring.artifact.id}</artifactId>
+               <version>${liferay.spring.artifact.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.hibernate</groupId>
+               <artifactId>hibernate-validator</artifactId>
+               <exclusions>
+                  <exclusion>
+                     <groupId>javax.validation</groupId>
+                     <artifactId>validation-api</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-beans</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-context</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-core</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+            <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-web</artifactId>
+               <version>${springframework.liferay.version}</version>
+            </dependency>
+         </dependencies>
+      </profile>
+      <profile>
          <id>pluto</id>
          <dependencies>
             <dependency>
@@ -160,8 +214,9 @@
                   <artifactId>maven-war-plugin</artifactId>
                   <configuration>
                      <packagingExcludes>
-                        WEB-INF/liferay-portlet.xml,
-                        WEB-INF/classes/log4j.properties
+                        WEB-INF/applicationContext.xml,
+                        WEB-INF/classes/log4j.properties,
+                        WEB-INF/liferay-portlet.xml
                      </packagingExcludes>
                   </configuration>
                </plugin>
diff --git a/portlet-tck_3.0/V3URLTests/src/main/webapp/WEB-INF/applicationContext.xml b/portlet-tck_3.0/V3URLTests/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..7da0093
--- /dev/null
+++ b/portlet-tck_3.0/V3URLTests/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<beans
+	xmlns="http://www.springframework.org/schema/beans"
+	xmlns:context="http://www.springframework.org/schema/context"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/context
+		http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+	<context:component-scan
+		base-package="javax.portlet.tck"
+		scope-resolver="com.liferay.bean.portlet.spring.extension.PortletScopeResolver">
+		<context:include-filter
+			type="custom"
+			expression="com.liferay.bean.portlet.spring.extension.PortletTypeFilter" />
+	</context:component-scan>
+</beans>