You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2009/01/20 20:10:46 UTC
svn commit: r736069 [1/3] - in
/portals/jetspeed-2/portal/branches/JPA_BRANCH: ./
applications/jetspeed-demo/ applications/jetspeed-dependencies/ components/
components/jetspeed-capability/ components/jetspeed-db-tools/
components/jetspeed-page-manager...
Author: rwatler
Date: Tue Jan 20 11:10:43 2009
New Revision: 736069
URL: http://svn.apache.org/viewvc?rev=736069&view=rev
Log:
Merge of trunk -r 731458:736033
-------------------------------------
- added plugin management for OpenJPA enhancer plugin in root pom.xml
- added missing sso.xml test configuration for profiler
- suppressed RuntimeException in JetspeedSecurityPersistenceManager on empty database
Added:
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/JetspeedPortletEnvironmentService.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/JetspeedPortletEnvironmentService.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/src/main/java/org/apache/jetspeed/resource/ResourceRenderResponseImpl.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/resource/ResourceRenderResponseImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/SecurityDomainImpl.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/SecurityDomainImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/JetspeedDomainPrincipalAccessManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/JetspeedDomainPrincipalAccessManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/SecurityDomainAccessManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/SecurityDomainAccessManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/SecurityDomainStorageManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/SecurityDomainStorageManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-serializer/src/main/java/org/apache/jetspeed/serializer/objects/JSSecurityDomain.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-serializer/src/main/java/org/apache/jetspeed/serializer/objects/JSSecurityDomain.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-serializer/src/main/java/org/apache/jetspeed/serializer/objects/JSSecurityDomains.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-serializer/src/main/java/org/apache/jetspeed/serializer/objects/JSSecurityDomains.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/IsOwnedByPrincipalAssociationHandler.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/IsOwnedByPrincipalAssociationHandler.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/IsRemoteIdentityForPrincipalAssociationHandler.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/IsRemoteIdentityForPrincipalAssociationHandler.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOClientImpl.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOClientImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOManagerImpl.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOManagerImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOUserImpl.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOUserImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/
- copied from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/SSOSiteManagerSPI.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/SSOSiteManagerSPI.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/SSOUserManagerSPI.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/SSOUserManagerSPI.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/impl/
- copied from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/impl/
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/impl/JetspeedPersistentSSOSiteManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/impl/JetspeedPersistentSSOSiteManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/impl/SSOUserManagerSPIImpl.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/spi/impl/SSOUserManagerSPIImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/test/java/org/apache/jetspeed/sso/AbstractSecurityTestCase.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/test/java/org/apache/jetspeed/sso/AbstractSecurityTestCase.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/test/java/org/apache/jetspeed/sso/TestSSOManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/test/java/org/apache/jetspeed/sso/TestSSOManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/test/resources/cache-test.xml
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-sso/src/test/resources/cache-test.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-web-content/src/main/java/org/apache/jetspeed/portlet/sso/SSOPortletUtil.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/components/jetspeed-web-content/src/main/java/org/apache/jetspeed/portlet/sso/SSOPortletUtil.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/security/SecurityDomain.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/security/SecurityDomain.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOClient.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOClient.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOSiteManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOSiteManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOUser.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOUser.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOUserManager.java
- copied unchanged from r736033, portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOUserManager.java
Removed:
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/PersistenceBrokerSSOProvider.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOCookieImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOPrincipalImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/test/resources/boot/
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOCookie.java
Modified:
portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-demo/jetspeed-mvn-demo-pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-dependencies/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-capability/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-db-tools/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-page-manager/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/ (props changed)
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestOpenJPAProfiler.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestProfiler.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-registry/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/JETSPEED-INF/ojb/security_repository.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/BaseJetspeedPrincipalManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/TransientJetspeedPrincipal.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/UserPasswordCredentialAccessManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/BelongsToPrincipalAssociationHandler.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/JetspeedSecurityPersistenceManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/test/java/org/apache/jetspeed/security/stubs/StubJetspeedPrincipal.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/test/java/org/apache/jetspeed/security/stubs/StubJetspeedPrincipalManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-serializer/src/main/java/org/apache/jetspeed/serializer/JetspeedSerializerImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-serializer/src/main/java/org/apache/jetspeed/serializer/objects/JSSnapshot.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/ (props changed)
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/JETSPEED-INF/ojb/sso_repository.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/main/java/org/apache/jetspeed/sso/impl/SSOSiteImpl.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/test/java/org/apache/jetspeed/sso/TestBasicSSO.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-sso/src/test/java/org/apache/jetspeed/sso/TestSSOComponent.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-web-content/src/main/java/org/apache/jetspeed/portlet/SSOIFramePortlet.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-web-content/src/main/java/org/apache/jetspeed/portlet/SSOWebContentPortlet.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-web-content/src/main/java/org/apache/jetspeed/portlet/WebContentPortlet.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-web-content/src/main/java/org/apache/jetspeed/portlet/sso/SSOProxyPortlet.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/components/pom.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_en.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_ja.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_ko.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_nl.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_ua.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_zh.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/exception/JetspeedExceptionMessages_zh_TW.properties
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/security/JetspeedPrincipal.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/security/JetspeedPrincipalManager.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/security/JetspeedPrincipalType.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/security/SecurityException.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOException.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOProvider.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-api/src/main/java/org/apache/jetspeed/sso/SSOSite.java
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/ddl-schema/security-schema.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-services.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/assembly/pluto-services.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/assembly/security-managers.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/assembly/security-spi.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/assembly/serializer.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/assembly/sso.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/seed/j2-seed.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/jetspeed-portal-resources/src/main/resources/seed/min/j2-seed.xml
portals/jetspeed-2/portal/branches/JPA_BRANCH/pom.xml
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-demo/jetspeed-mvn-demo-pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-demo/jetspeed-mvn-demo-pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-demo/jetspeed-mvn-demo-pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-demo/jetspeed-mvn-demo-pom.xml Tue Jan 20 11:10:43 2009
@@ -577,11 +577,11 @@
</deployment>
<!-- demo pa's -->
<deployment>
- <artifact>org.apache.portals.jetspeed-2:demo:war</artifact>
+ <artifact>org.apache.portals.applications:demo:war</artifact>
<delete>./demo</delete>
</deployment>
<deployment>
- <artifact>org.apache.portals.jetspeed-2:rss:war</artifact>
+ <artifact>org.apache.portals.applications:rss:war</artifact>
<delete>./rss</delete>
</deployment>
<deployment>
@@ -659,15 +659,15 @@
</dependency>
<!-- demo pa's -->
<dependency>
- <groupId>org.apache.portals.jetspeed-2</groupId>
+ <groupId>org.apache.portals.applications</groupId>
<artifactId>rss</artifactId>
- <version>2.1.3</version>
+ <version>2.2-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
- <groupId>org.apache.portals.jetspeed-2</groupId>
+ <groupId>org.apache.portals.applications</groupId>
<artifactId>demo</artifactId>
- <version>2.1.3</version>
+ <version>2.2-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-dependencies/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-dependencies/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-dependencies/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/applications/jetspeed-dependencies/pom.xml Tue Jan 20 11:10:43 2009
@@ -95,12 +95,10 @@
<groupId>org.apache.portals.jetspeed-2</groupId>
<artifactId>jetspeed-portlet-factory</artifactId>
</dependency>
- <!-- Commenting out SSO module for now
<dependency>
<groupId>org.apache.portals.jetspeed-2</groupId>
<artifactId>jetspeed-sso</artifactId>
</dependency>
- -->
<dependency>
<groupId>org.apache.portals.jetspeed-2</groupId>
<artifactId>jetspeed-statistics</artifactId>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-capability/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-capability/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-capability/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-capability/pom.xml Tue Jan 20 11:10:43 2009
@@ -107,7 +107,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
- <version>1.0-alpha</version>
<executions>
<execution>
<id>org.apache.jetspeed.capabilities.jpa</id>
@@ -116,7 +115,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/capabilities/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/capabilities/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -130,21 +129,6 @@
</configuration>
</execution>
</executions>
- <dependencies>
- <!-- rule objects implement Jetspeed APIs -->
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>jetspeed-api</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <!-- force upgrade of JPA for plugin -->
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- <version>${openjpa.version}</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
</plugin>
</plugins>
<testResources>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-db-tools/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-db-tools/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-db-tools/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-db-tools/pom.xml Tue Jan 20 11:10:43 2009
@@ -87,6 +87,10 @@
</dependency>
<dependency>
<groupId>org.apache.portals.jetspeed-2</groupId>
+ <artifactId>jetspeed-sso</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.portals.jetspeed-2</groupId>
<artifactId>jetspeed-registry</artifactId>
</dependency>
<dependency>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-page-manager/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-page-manager/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-page-manager/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-page-manager/pom.xml Tue Jan 20 11:10:43 2009
@@ -178,7 +178,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
- <version>1.0-alpha</version>
<executions>
<execution>
<id>org.apache.jetspeed.om.folder.jpa</id>
@@ -187,7 +186,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/om/folder/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/om/folder/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -207,7 +206,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/om/page/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/om/page/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -227,7 +226,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/page/document/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/page/document/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -247,7 +246,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/page/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/page/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -261,21 +260,6 @@
</configuration>
</execution>
</executions>
- <dependencies>
- <!-- om objects implement Jetspeed APIs -->
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>jetspeed-api</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <!-- force upgrade of JPA for plugin -->
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- <version>${openjpa.version}</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
</plugin>
</plugins>
</build>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/pom.xml Tue Jan 20 11:10:43 2009
@@ -157,13 +157,11 @@
<artifactId>jetspeed-search</artifactId>
<scope>test</scope>
</dependency>
- <!-- Commenting out SSO module for now
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>jetspeed-sso</artifactId>
<scope>test</scope>
</dependency>
- -->
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>jetspeed-profiler</artifactId>
Propchange: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/services/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Jan 20 11:10:43 2009
@@ -1,2 +1,2 @@
-target
+target
surefire*.properties
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/pom.xml Tue Jan 20 11:10:43 2009
@@ -89,6 +89,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>jetspeed-sso</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<scope>test</scope>
@@ -144,7 +149,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
- <version>1.0-alpha</version>
<executions>
<execution>
<id>org.apache.jetspeed.profiler.rules.jpa</id>
@@ -153,7 +157,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/profiler/rules/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/profiler/rules/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -173,7 +177,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/profiler/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/profiler/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -187,21 +191,6 @@
</configuration>
</execution>
</executions>
- <dependencies>
- <!-- rule objects implement Jetspeed APIs -->
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>jetspeed-api</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <!-- force upgrade of JPA for plugin -->
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- <version>${openjpa.version}</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
</plugin>
</plugins>
<testResources>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestOpenJPAProfiler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestOpenJPAProfiler.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestOpenJPAProfiler.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestOpenJPAProfiler.java Tue Jan 20 11:10:43 2009
@@ -47,8 +47,10 @@
*/
protected String[] getConfigurations()
{
- return new String[] {"openjpa-profiler.xml", "transaction.xml", "serializer.xml", "security-providers.xml", "cache-test.xml", "capabilities.xml", "registry.xml", "search.xml", "jetspeed-spring.xml",
- "security-managers.xml", "security-spi.xml", "security-spi-atn.xml", "security-atz.xml", "static-bean-references.xml" };
+ return new String[] {"openjpa-profiler.xml", "transaction.xml", "serializer.xml", "security-providers.xml", "cache-test.xml",
+ "capabilities.xml", "registry.xml", "search.xml", "jetspeed-spring.xml", "sso.xml",
+ "security-managers.xml", "security-spi.xml", "security-spi-atn.xml", "security-atz.xml",
+ "static-bean-references.xml" };
}
/* (non-Javadoc)
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestProfiler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestProfiler.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestProfiler.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-profiler/src/test/java/org/apache/jetspeed/profiler/TestProfiler.java Tue Jan 20 11:10:43 2009
@@ -155,8 +155,10 @@
*/
protected String[] getConfigurations()
{
- return new String[] { "profiler.xml", "transaction.xml", "serializer.xml", "security-providers.xml", "cache-test.xml", "capabilities.xml", "registry.xml", "search.xml", "jetspeed-spring.xml",
- "security-managers.xml", "security-spi.xml", "security-spi-atn.xml", "security-atz.xml", "static-bean-references.xml" };
+ return new String[] { "profiler.xml", "transaction.xml", "serializer.xml", "security-providers.xml", "cache-test.xml",
+ "capabilities.xml", "registry.xml", "search.xml", "jetspeed-spring.xml", "sso.xml",
+ "security-managers.xml", "security-spi.xml", "security-spi-atn.xml", "security-atz.xml",
+ "static-bean-references.xml" };
}
/* (non-Javadoc)
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-registry/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-registry/pom.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-registry/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-registry/pom.xml Tue Jan 20 11:10:43 2009
@@ -170,7 +170,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
- <version>1.0-alpha</version>
<executions>
<execution>
<id>org.apache.jetspeed.om.portlet.jpa</id>
@@ -199,7 +198,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/components/portletentity/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/components/portletentity/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -219,7 +218,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/components/portletpreferences/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/components/portletpreferences/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -239,7 +238,7 @@
<goal>enhance</goal>
</goals>
<configuration>
- <classes>${project.build.directory}/classes/org/apache/jetspeed/components/portletregistry/jpa</classes>
+ <classes>${project.build.directory}/classes/org/apache/jetspeed/components/portletregistry/jpa</classes>
<toolProperties>
<property>
<name>addDefaultConstructor</name>
@@ -253,26 +252,6 @@
</configuration>
</execution>
</executions>
- <dependencies>
- <!-- om objects implement Jetspeed/Pluto APIs -->
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>jetspeed-api</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.pluto</groupId>
- <artifactId>pluto-container-api</artifactId>
- <version>${org.apache.pluto.version}</version>
- </dependency>
- <!-- force upgrade of JPA for plugin -->
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- <version>${openjpa.version}</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
</plugin>
</plugins>
<testResources>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/JETSPEED-INF/ojb/security_repository.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/JETSPEED-INF/ojb/security_repository.xml?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/JETSPEED-INF/ojb/security_repository.xml (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/JETSPEED-INF/ojb/security_repository.xml Tue Jan 20 11:10:43 2009
@@ -289,6 +289,11 @@
nullable="false"
>
</field-descriptor>
+ <field-descriptor
+ name="domainId"
+ nullable="false"
+ jdbc-type="BIGINT"
+ column="domain_id"/>
<collection-descriptor
name="attributes"
element-class-ref="org.apache.jetspeed.security.impl.SecurityAttributeValue"
@@ -445,4 +450,49 @@
</reference-descriptor>
</class-descriptor>
+<!--
+ SECURITY DOMAIN
+-->
+ <!--
+ - J E T S P E E D P R I N C I P A L A S S O C I A T I O N
+ -->
+ <class-descriptor
+ class="org.apache.jetspeed.security.impl.SecurityDomainImpl"
+ table="SECURITY_DOMAIN"
+ >
+ <documentation>Security Domain</documentation>
+ <field-descriptor
+ name="domainId"
+ autoincrement="true"
+ column="domain_id"
+ jdbc-type="BIGINT"
+ primarykey="true"
+ />
+ <field-descriptor
+ name="name"
+ column="domain_name"
+ jdbc-type="VARCHAR"
+ length="30"
+ />
+ <field-descriptor
+ name="ownerDomainId"
+ column="owner_domain_id"
+ jdbc-type="BIGINT"
+ />
+ <field-descriptor
+ name="remote"
+ column="remote"
+ jdbc-type="INTEGER"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Boolean2IntFieldConversion"
+ nullable="false"
+ />
+ <field-descriptor
+ name="enabled"
+ column="enabled"
+ jdbc-type="INTEGER"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Boolean2IntFieldConversion"
+ nullable="false"
+ />
+ </class-descriptor>
+
</descriptor-repository>
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/BaseJetspeedPrincipalManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/BaseJetspeedPrincipalManager.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/BaseJetspeedPrincipalManager.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/BaseJetspeedPrincipalManager.java Tue Jan 20 11:10:43 2009
@@ -234,7 +234,7 @@
}
assHandlers.put(key, jpah);
associationTypes.add(jpah.getAssociationType());
- if (jpah.getAssociationType().isRequired())
+ if (jpah.getAssociationType().isRequired() && jpah.getAssociationType().getFromPrincipalType().getName().equals(principalType.getName()))
{
reqAssociations.put(key,jpah.getAssociationType());
}
@@ -347,7 +347,7 @@
*
* @param listener principal manager event listener
*/
- public void setListener(PrincipalManagerEventListener listener)
+ public void addListener(PrincipalManagerEventListener listener)
{
// add listener to listeners list
synchronized (listeners)
@@ -355,7 +355,7 @@
listeners.add(listener);
}
}
-
+
/**
* removeListener - remove principal manager event listener
*
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/TransientJetspeedPrincipal.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/TransientJetspeedPrincipal.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/TransientJetspeedPrincipal.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/TransientJetspeedPrincipal.java Tue Jan 20 11:10:43 2009
@@ -41,6 +41,7 @@
protected transient JetspeedPrincipalType jpt;
protected transient SecurityAttributes sa;
+ private Long domainId;
public static void setJetspeedPrincipalManagerProvider(JetspeedPrincipalManagerProvider jpmp)
{
@@ -166,4 +167,13 @@
{
return getType().getName()+": "+getName()+" (id: "+(getId())+", transient: "+isTransient()+", mapped: "+isMapped()+")";
}
+
+ public Long getDomainId()
+ {
+ return domainId;
+ }
+
+ public void setDomainId(Long domainId){
+ this.domainId=domainId;
+ }
}
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/UserPasswordCredentialAccessManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/UserPasswordCredentialAccessManager.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/UserPasswordCredentialAccessManager.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/UserPasswordCredentialAccessManager.java Tue Jan 20 11:10:43 2009
@@ -39,4 +39,9 @@
PasswordCredential getPasswordCredential(String userName);
void loadPasswordCredentialUser(PasswordCredential credential);
List<PasswordCredential> getHistoricPasswordCredentials(User user);
+
+
+ PasswordCredential getPasswordCredential(String userName, Long securityDomain);
+ List<PasswordCredential> getHistoricPasswordCredentials(User user, Long securityDomain);
+
}
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/BelongsToPrincipalAssociationHandler.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/BelongsToPrincipalAssociationHandler.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/BelongsToPrincipalAssociationHandler.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/BelongsToPrincipalAssociationHandler.java Tue Jan 20 11:10:43 2009
@@ -30,7 +30,7 @@
{
public BelongsToPrincipalAssociationHandler(JetspeedPrincipalManagerSPI from, JetspeedPrincipalManagerSPI to, JetspeedPrincipalAssociationStorageManager jpasm)
{
- super(new JetspeedPrincipalAssociationTypeImpl(JetspeedPrincipalAssociationType.IS_CHILD_OF, from.getPrincipalType(), to.getPrincipalType(), true, true, true, false), from, to, jpasm);
+ super(new JetspeedPrincipalAssociationTypeImpl(JetspeedPrincipalAssociationType.BELONGS_TO, from.getPrincipalType(), to.getPrincipalType(), true, true, true, false), from, to, jpasm);
}
public BelongsToPrincipalAssociationHandler(String associationName, JetspeedPrincipalManagerSPI from, JetspeedPrincipalManagerSPI to, JetspeedPrincipalAssociationStorageManager jpasm)
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/JetspeedSecurityPersistenceManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/JetspeedSecurityPersistenceManager.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/JetspeedSecurityPersistenceManager.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/JetspeedSecurityPersistenceManager.java Tue Jan 20 11:10:43 2009
@@ -19,6 +19,7 @@
import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -30,15 +31,21 @@
import org.apache.jetspeed.security.JetspeedPrincipalAssociationReference;
import org.apache.jetspeed.security.JetspeedPrincipalType;
import org.apache.jetspeed.security.PasswordCredential;
+import org.apache.jetspeed.security.SecurityDomain;
import org.apache.jetspeed.security.SecurityException;
import org.apache.jetspeed.security.User;
import org.apache.jetspeed.security.impl.PersistentJetspeedPrincipal;
+import org.apache.jetspeed.security.impl.SecurityDomainImpl;
+import org.apache.jetspeed.security.impl.TransientJetspeedPrincipal;
+import org.apache.jetspeed.security.spi.JetspeedDomainPrincipalAccessManager;
import org.apache.jetspeed.security.spi.JetspeedPermissionAccessManager;
import org.apache.jetspeed.security.spi.JetspeedPermissionStorageManager;
import org.apache.jetspeed.security.spi.JetspeedPrincipalAccessManager;
import org.apache.jetspeed.security.spi.JetspeedPrincipalAssociationStorageManager;
import org.apache.jetspeed.security.spi.JetspeedPrincipalStorageManager;
import org.apache.jetspeed.security.spi.PersistentJetspeedPermission;
+import org.apache.jetspeed.security.spi.SecurityDomainAccessManager;
+import org.apache.jetspeed.security.spi.SecurityDomainStorageManager;
import org.apache.jetspeed.security.spi.UserPasswordCredentialAccessManager;
import org.apache.jetspeed.security.spi.UserPasswordCredentialStorageManager;
import org.apache.ojb.broker.PersistenceBroker;
@@ -51,6 +58,7 @@
import org.apache.ojb.broker.query.ReportQueryByCriteria;
import org.apache.ojb.broker.util.collections.ManageableArrayList;
import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.orm.ojb.PersistenceBrokerCallback;
/**
@@ -59,9 +67,14 @@
public class JetspeedSecurityPersistenceManager
extends InitablePersistenceBrokerDaoSupport
implements Serializable,JetspeedPrincipalAccessManager,
- JetspeedPrincipalStorageManager, UserPasswordCredentialStorageManager, UserPasswordCredentialAccessManager,
- JetspeedPrincipalAssociationStorageManager, JetspeedPermissionAccessManager, JetspeedPermissionStorageManager
+ JetspeedPrincipalStorageManager, JetspeedDomainPrincipalAccessManager, UserPasswordCredentialStorageManager, UserPasswordCredentialAccessManager,
+ JetspeedPrincipalAssociationStorageManager, JetspeedPermissionAccessManager, JetspeedPermissionStorageManager,
+ SecurityDomainStorageManager, SecurityDomainAccessManager
{
+ private static final long serialVersionUID = -2689340557699526023L;
+
+ private Long defaultSecurityDomainId;
+
private static class ManagedListByQueryCallback implements PersistenceBrokerCallback
{
private Query query;
@@ -86,69 +99,109 @@
{
if (principal.getId() == null)
{
- return principalExists(principal.getName(), principal.getType());
+ if (principal.getDomainId() != null){
+ return principalExists(principal.getName(), principal.getType(), principal.getDomainId());
+ } else {
+ return principalExists(principal.getName(), principal.getType());
+ }
+
}
Criteria criteria = new Criteria();
criteria.addEqualTo("id", principal.getId());
criteria.addEqualTo("type", principal.getType().getName());
+ criteria.addEqualTo("domainId", principal.getDomainId());
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class,criteria);
return getPersistenceBrokerTemplate().getCount(query) == 1;
}
+ public List<JetspeedPrincipal> getAssociatedFrom(String principalFromName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedFrom(principalFromName, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
//
// JetspeedPrincipalAccessManager interface implementation
//
@SuppressWarnings("unchecked")
- public List<JetspeedPrincipal> getAssociatedFrom(String principalFromName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<JetspeedPrincipal> getAssociatedFrom(String principalFromName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsTo.associationName", associationName);
criteria.addEqualTo("associationsTo.from.name", principalFromName);
criteria.addEqualTo("type", to.getName());
+ criteria.addEqualTo("associationsTo.to.domainId", toSecurityDomain);
+ criteria.addEqualTo("associationsTo.from.domainId", fromSecurityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class, criteria);
return (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
}
+ public List<JetspeedPrincipal> getAssociatedTo(String principalToName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedTo(principalToName, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<JetspeedPrincipal> getAssociatedTo(String principalToName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<JetspeedPrincipal> getAssociatedTo(String principalToName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsFrom.associationName", associationName);
criteria.addEqualTo("associationsFrom.to.name", principalToName);
criteria.addEqualTo("type", from.getName());
+ criteria.addEqualTo("associationsFrom.from.domainId", fromSecurityDomain);
+ criteria.addEqualTo("associationsFrom.to.domainId", toSecurityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class, criteria);
return (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
}
+ public List<JetspeedPrincipal> getAssociatedFrom(Long principalFromId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedFrom(principalFromId, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<JetspeedPrincipal> getAssociatedFrom(Long principalFromId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<JetspeedPrincipal> getAssociatedFrom(Long principalFromId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsTo.associationName", associationName);
criteria.addEqualTo("associationsTo.from.id", principalFromId);
criteria.addEqualTo("type", to.getName());
+ criteria.addEqualTo("associationsTo.to.domainId", toSecurityDomain);
+ criteria.addEqualTo("associationsTo.from.domainId", fromSecurityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class, criteria);
return (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
}
+ public List<JetspeedPrincipal> getAssociatedTo(Long principalToId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedTo(principalToId, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<JetspeedPrincipal> getAssociatedTo(Long principalToId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<JetspeedPrincipal> getAssociatedTo(Long principalToId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsFrom.associationName", associationName);
criteria.addEqualTo("associationsFrom.to.id", principalToId);
criteria.addEqualTo("type", from.getName());
+ criteria.addEqualTo("associationsFrom.from.domainId", fromSecurityDomain);
+ criteria.addEqualTo("associationsFrom.to.domainId", toSecurityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class, criteria);
return (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
}
+ public List<String> getAssociatedNamesFrom(String principalFromName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedNamesFrom(principalFromName, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<String> getAssociatedNamesFrom(String principalFromName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<String> getAssociatedNamesFrom(String principalFromName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsTo.associationName", associationName);
criteria.addEqualTo("associationsTo.from.name", principalFromName);
criteria.addEqualTo("type", to.getName());
+ criteria.addEqualTo("associationsTo.to.domainId", toSecurityDomain);
+ criteria.addEqualTo("associationsFrom.from.domainId", fromSecurityDomain);
ReportQueryByCriteria query = QueryFactory.newReportQuery(PersistentJetspeedPrincipal.class, criteria);
query.setAttributes(new String[]{"name"});
ArrayList<String> names = new ArrayList<String>();
@@ -159,13 +212,20 @@
return names;
}
+ public List<String> getAssociatedNamesFrom(Long principalFromId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedNamesFrom(principalFromId, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<String> getAssociatedNamesFrom(Long principalFromId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<String> getAssociatedNamesFrom(Long principalFromId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsTo.associationName", associationName);
criteria.addEqualTo("associationsTo.from.id", principalFromId);
criteria.addEqualTo("type", to.getName());
+ criteria.addEqualTo("associationsTo.to.domainId", toSecurityDomain);
+ criteria.addEqualTo("associationsTo.from.domainId", fromSecurityDomain);
ReportQueryByCriteria query = QueryFactory.newReportQuery(PersistentJetspeedPrincipal.class, criteria);
query.setAttributes(new String[]{"name"});
ArrayList<String> names = new ArrayList<String>();
@@ -176,13 +236,20 @@
return names;
}
+ public List<String> getAssociatedNamesTo(String principalToName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedNamesTo(principalToName, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<String> getAssociatedNamesTo(String principalToName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<String> getAssociatedNamesTo(String principalToName, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsFrom.associationName", associationName);
criteria.addEqualTo("associationsFrom.to.name", principalToName);
criteria.addEqualTo("type", from.getName());
+ criteria.addEqualTo("associationsFrom.from.domainId", fromSecurityDomain);
+ criteria.addEqualTo("associationsFrom.to.domainId", toSecurityDomain);
ReportQueryByCriteria query = QueryFactory.newReportQuery(PersistentJetspeedPrincipal.class, criteria);
query.setAttributes(new String[]{"name"});
ArrayList<String> names = new ArrayList<String>();
@@ -193,13 +260,20 @@
return names;
}
+ public List<String> getAssociatedNamesTo(Long principalToId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName){
+ Long defaultDomainId = getDefaultSecurityDomainId();
+ return getAssociatedNamesTo(principalToId, from, to, associationName, defaultDomainId, defaultDomainId);
+ }
+
@SuppressWarnings("unchecked")
- public List<String> getAssociatedNamesTo(Long principalToId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName)
+ public List<String> getAssociatedNamesTo(Long principalToId, JetspeedPrincipalType from, JetspeedPrincipalType to, String associationName, Long fromSecurityDomain, Long toSecurityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("associationsFrom.associationName", associationName);
criteria.addEqualTo("associationsFrom.to.id", principalToId);
criteria.addEqualTo("type", from.getName());
+ criteria.addEqualTo("associationsFrom.from.domainId", fromSecurityDomain);
+ criteria.addEqualTo("associationsFrom.to.domainId", toSecurityDomain);
ReportQueryByCriteria query = QueryFactory.newReportQuery(PersistentJetspeedPrincipal.class, criteria);
query.setAttributes(new String[]{"name"});
ArrayList<String> names = new ArrayList<String>();
@@ -217,22 +291,34 @@
public JetspeedPrincipal getPrincipal(String principalName, JetspeedPrincipalType type)
{
+ return getPrincipal(principalName, type, getDefaultSecurityDomainId());
+ }
+
+ public JetspeedPrincipal getPrincipal(String principalName, JetspeedPrincipalType type, Long securityDomain)
+ {
Criteria criteria = new Criteria();
criteria.addEqualTo("name", principalName);
criteria.addEqualTo("type", type.getName());
+ criteria.addEqualTo("domainId", securityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class,criteria);
return (JetspeedPrincipal)getPersistenceBrokerTemplate().getObjectByQuery(query);
}
- @SuppressWarnings("unchecked")
public List<String> getPrincipalNames(String nameFilter, JetspeedPrincipalType type)
{
+ return getPrincipalNames(nameFilter, type, getDefaultSecurityDomainId());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<String> getPrincipalNames(String nameFilter, JetspeedPrincipalType type, Long securityDomain)
+ {
Criteria criteria = new Criteria();
if (nameFilter != null && nameFilter.length() > 0)
{
criteria.addLike("name", nameFilter+"%");
}
criteria.addEqualTo("type", type.getName());
+ criteria.addEqualTo("domainId", securityDomain);
ReportQueryByCriteria query = QueryFactory.newReportQuery(PersistentJetspeedPrincipal.class,criteria);
query.setAttributes(new String[]{"name"});
ArrayList<String> names = new ArrayList<String>();
@@ -243,35 +329,53 @@
return names;
}
- @SuppressWarnings("unchecked")
public List<JetspeedPrincipal> getPrincipals(String nameFilter, JetspeedPrincipalType type)
{
+ return getPrincipals(nameFilter, type, getDefaultSecurityDomainId());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<JetspeedPrincipal> getPrincipals(String nameFilter, JetspeedPrincipalType type, Long securityDomain)
+ {
Criteria criteria = new Criteria();
if (nameFilter != null && nameFilter.length() > 0)
{
criteria.addLike("name", nameFilter+"%");
}
criteria.addEqualTo("type", type.getName());
+ criteria.addEqualTo("domainId", securityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class,criteria);
return (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
}
- @SuppressWarnings("unchecked")
public List<JetspeedPrincipal> getPrincipalsByAttribute(String attributeName, String attributeValue, JetspeedPrincipalType type)
{
+ return getPrincipalsByAttribute(attributeName, attributeValue, type, getDefaultSecurityDomainId());
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<JetspeedPrincipal> getPrincipalsByAttribute(String attributeName, String attributeValue, JetspeedPrincipalType type, Long securityDomain)
+ {
Criteria criteria = new Criteria();
criteria.addEqualTo("attributes.name", attributeName);
criteria.addEqualTo("attributes.value", attributeValue);
criteria.addEqualTo("type", type.getName());
+ criteria.addEqualTo("domainId", securityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class,criteria);
return (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
}
public boolean principalExists(String principalName, JetspeedPrincipalType type)
{
+ return principalExists(principalName, type, getDefaultSecurityDomainId());
+ }
+
+ public boolean principalExists(String principalName, JetspeedPrincipalType type, Long securityDomain)
+ {
Criteria criteria = new Criteria();
criteria.addEqualTo("name", principalName);
criteria.addEqualTo("type", type.getName());
+ criteria.addEqualTo("domainId", securityDomain);
Query query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class,criteria);
return getPersistenceBrokerTemplate().getCount(query) == 1;
}
@@ -282,6 +386,9 @@
public void addPrincipal(JetspeedPrincipal principal, Set<JetspeedPrincipalAssociationReference> associations)
throws SecurityException
{
+ if (principal.getDomainId() == null && principal instanceof TransientJetspeedPrincipal){
+ ((TransientJetspeedPrincipal)principal).setDomainId(getDefaultSecurityDomainId());
+ }
if (principalExists(principal))
{
throw new SecurityException(SecurityException.PRINCIPAL_ALREADY_EXISTS.createScoped(principal.getType().getName(), principal.getName()));
@@ -391,6 +498,9 @@
getPersistenceBrokerTemplate().store(credential);
}
+ public PasswordCredential getPasswordCredential(String userName){
+ return getPasswordCredential(userName,getDefaultSecurityDomainId());
+ }
//
// UserPasswordCredentialAccessManager interface implementation
//
@@ -405,12 +515,13 @@
* The user reference can be materialized by calling {@link #loadPasswordCredentialUser(PasswordCredential)}.
* </p>
*/
- public PasswordCredential getPasswordCredential(String userName)
+ public PasswordCredential getPasswordCredential(String userName, Long securityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("user.name", userName);
criteria.addEqualTo("user.enabled",true);
criteria.addEqualTo("type", PasswordCredential.TYPE_CURRENT);
+ criteria.addEqualTo("domainId", securityDomain);
Query query = QueryFactory.newQuery(PasswordCredentialImpl.class,criteria);
PasswordCredentialImpl pwc = (PasswordCredentialImpl)getPersistenceBrokerTemplate().getObjectByQuery(query);
if (pwc != null)
@@ -438,8 +549,12 @@
}
}
+ public List<PasswordCredential> getHistoricPasswordCredentials(User user){
+ return getHistoricPasswordCredentials(user,getDefaultSecurityDomainId());
+ }
+
@SuppressWarnings("unchecked")
- public List<PasswordCredential> getHistoricPasswordCredentials(User user)
+ public List<PasswordCredential> getHistoricPasswordCredentials(User user, Long securityDomain)
{
Criteria criteria = new Criteria();
criteria.addEqualTo("principalId", user.getId());
@@ -580,6 +695,7 @@
{
criteria.addEqualTo("type", principalType);
}
+ criteria.addEqualTo("domainId", getDefaultSecurityDomainId());
QueryByCriteria query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class, criteria);
query.addOrderByAscending("type");
query.addOrderByAscending("name");
@@ -749,6 +865,7 @@
{
criteria.addEqualTo("type", principalType);
}
+ criteria.addEqualTo("domainId", getDefaultSecurityDomainId());
QueryByCriteria query = QueryFactory.newQuery(PersistentJetspeedPrincipal.class, criteria);
List<JetspeedPrincipal> currentList = (List<JetspeedPrincipal>) getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
List<JetspeedPrincipal> targetList = new ArrayList<JetspeedPrincipal>(principals);
@@ -794,6 +911,7 @@
{
criteria.addEqualTo("principal.type", principal.getType());
criteria.addEqualTo("principal.name", principal.getName());
+ criteria.addEqualTo("domainId", getDefaultSecurityDomainId());
}
else
{
@@ -830,6 +948,7 @@
{
criteria.addEqualTo("principal.type", principal.getType());
criteria.addEqualTo("principal.name", principal.getName());
+ criteria.addEqualTo("domainId", getDefaultSecurityDomainId());
}
else
{
@@ -849,4 +968,140 @@
throw new SecurityException(msg, pbe);
}
}
+
+ protected boolean domainExists(SecurityDomain domain){
+ if (domain.getDomainId() != null){
+ return getDomain(domain.getDomainId()) != null;
+ } else {
+ return getDomainByName(domain.getName()) != null;
+ }
+ }
+
+ public void addDomain(SecurityDomain domain) throws SecurityException
+ {
+ if (domainExists(domain))
+ {
+ throw new SecurityException(SecurityException.SECURITY_DOMAIN_EXISTS.create(domain.getName()));
+ }
+ try
+ {
+ getPersistenceBrokerTemplate().store(domain);
+ }
+ catch (Exception pbe)
+ {
+ KeyedMessage msg = SecurityException.UNEXPECTED.create("JetspeedSecurityPersistenceManager",
+ "addDomain",
+ pbe.getMessage());
+ logger.error(msg, pbe);
+ throw new SecurityException(msg, pbe);
+ }
+ }
+
+ public SecurityDomain getDomain(Long domainId)
+ {
+ try{
+ return (SecurityDomain) getPersistenceBrokerTemplate().getObjectById(SecurityDomainImpl.class, domainId);
+ } catch (ObjectRetrievalFailureException ore){
+ return null;
+ }
+
+ }
+
+ protected Long getDefaultSecurityDomainId()
+ {
+ if (defaultSecurityDomainId == null)
+ {
+ SecurityDomain d = getDomainByName(SecurityDomain.DEFAULT_NAME);
+ if (d != null)
+ {
+ // cache real default security domain id
+ defaultSecurityDomainId = d.getDomainId();
+ }
+ else
+ {
+ // return fake id that should not exist
+ return new Long(-1);
+ }
+ }
+ return defaultSecurityDomainId;
+ }
+
+ public SecurityDomain getDomainByName(String domainName)
+ {
+ Criteria criteria = new Criteria();
+ criteria.addEqualTo("name", domainName);
+ Query query = QueryFactory.newQuery(SecurityDomainImpl.class,criteria);
+ return (SecurityDomain) getPersistenceBrokerTemplate().getObjectByQuery(query);
+ }
+
+ @SuppressWarnings("unchecked")
+ public Collection<SecurityDomain> getAllDomains()
+ {
+ QueryByCriteria query = QueryFactory.newQuery(SecurityDomainImpl.class, new Criteria());
+ query.addOrderByAscending("name");
+ return (List<SecurityDomain>)getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
+ }
+
+ public void removeDomain(SecurityDomain domain) throws SecurityException
+ {
+ if (!domainExists(domain))
+ {
+ throw new SecurityException(SecurityException.PRINCIPAL_DOES_NOT_EXIST.create(domain.getName()));
+ }
+ try
+ {
+ getPersistenceBrokerTemplate().delete(domain);
+ }
+ catch (Exception pbe)
+ {
+ if (pbe instanceof DataIntegrityViolationException)
+ {
+ logger.error(pbe.getMessage(), pbe);
+ throw new SecurityException(SecurityException.SECURITY_DOMAIN_NOT_REMOVABLE.create(domain.getName()));
+ }
+
+ KeyedMessage msg = SecurityException.UNEXPECTED.create("JetspeedSecurityPersistenceManager",
+ "removeDomain",
+ pbe.getMessage());
+ logger.error(msg, pbe);
+ throw new SecurityException(msg, pbe);
+ }
+
+ }
+
+ public void updateDomain(SecurityDomain domain) throws SecurityException
+ {
+ if (!domainExists(domain)){
+ throw new SecurityException(SecurityException.SECURITY_DOMAIN_DOES_NOT_EXIST.create(domain.getName()));
+ }
+ try
+ {
+ getPersistenceBrokerTemplate().store(domain);
+ }
+ catch (Exception pbe)
+ {
+ if (pbe instanceof DataIntegrityViolationException)
+ {
+ logger.error(pbe.getMessage(), pbe);
+ throw new SecurityException(SecurityException.SECURITY_DOMAIN_UPDATE_FAILURE.create(domain.getDomainId()));
+ }
+
+ KeyedMessage msg = SecurityException.UNEXPECTED.create("JetspeedSecurityPersistenceManager",
+ "updateDomain",
+ pbe.getMessage());
+ logger.error(msg, pbe);
+ throw new SecurityException(msg, pbe);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public Collection<SecurityDomain> getDomainsOwnedBy(Long ownerDomainId)
+ {
+ Criteria criteria = new Criteria();
+ criteria.addEqualTo("ownerDomainId", ownerDomainId);
+ QueryByCriteria query = QueryFactory.newQuery(SecurityDomainImpl.class, criteria);
+ query.addOrderByAscending("name");
+ return (List<SecurityDomain>)getPersistenceBrokerTemplate().execute(new ManagedListByQueryCallback(query));
+ }
+
}
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java Tue Jan 20 11:10:43 2009
@@ -17,6 +17,8 @@
package org.apache.jetspeed.serializer;
import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -41,9 +43,13 @@
import org.apache.jetspeed.security.RoleManager;
import org.apache.jetspeed.security.SecurityAttribute;
import org.apache.jetspeed.security.SecurityAttributes;
+import org.apache.jetspeed.security.SecurityDomain;
import org.apache.jetspeed.security.SecurityException;
import org.apache.jetspeed.security.User;
import org.apache.jetspeed.security.UserManager;
+import org.apache.jetspeed.security.impl.SecurityDomainImpl;
+import org.apache.jetspeed.security.spi.SecurityDomainAccessManager;
+import org.apache.jetspeed.security.spi.SecurityDomainStorageManager;
import org.apache.jetspeed.security.spi.impl.SynchronizationStateAccess;
import org.apache.jetspeed.serializer.objects.JSGroup;
import org.apache.jetspeed.serializer.objects.JSNVPElement;
@@ -54,6 +60,7 @@
import org.apache.jetspeed.serializer.objects.JSPrincipalAssociation;
import org.apache.jetspeed.serializer.objects.JSRole;
import org.apache.jetspeed.serializer.objects.JSSecurityAttributes;
+import org.apache.jetspeed.serializer.objects.JSSecurityDomain;
import org.apache.jetspeed.serializer.objects.JSSnapshot;
import org.apache.jetspeed.serializer.objects.JSUser;
import org.apache.jetspeed.serializer.objects.JSUserAttributes;
@@ -61,6 +68,8 @@
import org.apache.jetspeed.serializer.objects.JSUserRoles;
import org.apache.jetspeed.serializer.objects.JSUserUsers;
+import edu.emory.mathcs.backport.java.util.Collections;
+
/**
* JetspeedSecuritySerializer - Security component serializer
*
@@ -131,15 +140,17 @@
}
}
+ protected SecurityDomainStorageManager domainStorageManager;
+ protected SecurityDomainAccessManager domainAccessManager;
protected JetspeedPrincipalManagerProvider principalManagerProvider;
protected GroupManager groupManager;
protected RoleManager roleManager;
protected UserManager userManager;
protected CredentialPasswordEncoder cpe;
protected PermissionManager pm;
-
+
public JetspeedSecuritySerializer(JetspeedPrincipalManagerProvider principalManagerProvider, GroupManager groupManager, RoleManager roleManager, UserManager userManager,
- CredentialPasswordEncoder cpe, PermissionManager pm)
+ CredentialPasswordEncoder cpe, PermissionManager pm, SecurityDomainStorageManager sdsm, SecurityDomainAccessManager sdam )
{
this.principalManagerProvider = principalManagerProvider;
this.groupManager = groupManager;
@@ -147,6 +158,8 @@
this.userManager = userManager;
this.cpe = cpe;
this.pm = pm;
+ this.domainAccessManager=sdam;
+ this.domainStorageManager=sdsm;
}
protected void processExport(JSSnapshot snapshot, Map settings, Log log) throws SerializerException
@@ -182,9 +195,11 @@
{
SynchronizationStateAccess.setSynchronizing(Boolean.TRUE);
ImportRefs refs = new ImportRefs();
+
+ recreateSecurityDomains(refs, snapshot, settings, log);
recreateJetspeedPrincipals(refs, snapshot, settings, log);
recreateJetspeedPrincipalAssociations(refs, snapshot, settings, log);
-
+
if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_PERMISSIONS))
{
log.info("creating permissions");
@@ -238,6 +253,107 @@
}
}
+ protected SecurityDomain checkDomainExistsOtherwiseCreate(String domainName) throws SecurityException{
+ SecurityDomain domain = domainAccessManager.getDomainByName(domainName);
+ if (domain == null){
+ SecurityDomainImpl newDomain = new SecurityDomainImpl();
+ newDomain.setName(domainName);
+ newDomain.setEnabled(true);
+ newDomain.setRemote(false);
+
+ domainStorageManager.addDomain(newDomain);
+ domain = domainAccessManager.getDomainByName(domainName);
+ }
+ return domain;
+ }
+
+ private void recreateSecurityDomains(ImportRefs refs, JSSnapshot snapshot, Map settings, Log log) throws SerializerException {
+ log.debug("recreateSecurityDomains");
+
+ // create system and default domain. Adding them to the seed is not necessary!
+ Long systemDomainId=null;
+ Long defaultDomainId=null;
+ try{
+ defaultDomainId=checkDomainExistsOtherwiseCreate(SecurityDomain.DEFAULT_NAME).getDomainId();
+ systemDomainId=checkDomainExistsOtherwiseCreate(SecurityDomain.SYSTEM_NAME).getDomainId();
+ } catch (Exception e){
+ throw new SerializerException(SerializerException.CREATE_OBJECT_FAILED.create(new String[] { "SecurityDomains",
+ "Could not create default and / or system domains!\n"+e.getMessage() }), e);
+ }
+
+ if (snapshot.getSecurityDomains() != null && snapshot.getSecurityDomains().size() > 0){
+
+ // sort the domains according to whether they have an owner domain
+ // domains without owner domains ( = base or parent domains) should be created first
+ ArrayList<JSSecurityDomain> sortedDomains = new ArrayList<JSSecurityDomain>(snapshot.getSecurityDomains());
+
+ Collections.sort(sortedDomains, new Comparator<JSSecurityDomain>(){
+ public int compare(JSSecurityDomain o1, JSSecurityDomain o2)
+ {
+ boolean o1HasOwner = o1.getOwnerDomain() != null;
+ boolean o2HasOwner = o2.getOwnerDomain() != null;
+
+ if (o1HasOwner==o2HasOwner){
+ return 0;
+ } else if (o1HasOwner){
+ return 1;
+ } else {
+ return -1;
+ }
+ }
+ });
+
+
+
+ // create other domains
+ for (JSSecurityDomain jsDomain : sortedDomains){
+ // do some checks first
+
+ // if domain is the system domain or the default domain, skip creation (they exist already)
+ if (jsDomain.getName().equals(SecurityDomain.SYSTEM_NAME) || jsDomain.getName().equals(SecurityDomain.DEFAULT_NAME)){
+ break;
+ }
+ if (jsDomain.getName().length() == 0){
+ throw new SerializerException(SerializerException.CREATE_OBJECT_FAILED.create(new String[] { "SecurityDomain",
+ "Name of Security Domain must not be empty!" }));
+ }
+ Long ownerDomainId = null;
+ if (jsDomain.getOwnerDomain() != null){
+ if (jsDomain.getOwnerDomain().equals(SecurityDomain.SYSTEM_NAME)){
+ ownerDomainId=defaultDomainId;
+ } else if (jsDomain.getOwnerDomain().equals(SecurityDomain.SYSTEM_NAME)) {
+ ownerDomainId=systemDomainId;
+ } else {
+ SecurityDomain ownerDomain = domainAccessManager.getDomainByName(jsDomain.getOwnerDomain());
+ if (ownerDomain == null){
+ throw new SerializerException(SerializerException.CREATE_OBJECT_FAILED.create(new String[] { "SecurityDomain","Could not find owner domain with name "+jsDomain.getOwnerDomain()+"for domain with name "+jsDomain.getName()}));
+ }
+ ownerDomainId=ownerDomain.getDomainId();
+ }
+ } else {
+ // remote domains always need an owner domain. Set the default domain if owner domain is not specified
+ if (jsDomain.isRemote()){
+ ownerDomainId=defaultDomainId;
+ }
+ }
+
+ SecurityDomainImpl newDomain = new SecurityDomainImpl();
+ newDomain.setName(jsDomain.getName());
+ newDomain.setOwnerDomainId(ownerDomainId);
+ newDomain.setRemote(jsDomain.isRemote());
+ newDomain.setEnabled(jsDomain.isEnabled());
+ try{
+ domainStorageManager.addDomain(newDomain);
+ } catch (Exception e){
+ throw new SerializerException(SerializerException.CREATE_OBJECT_FAILED.create(new String[] { "SecurityDomain",
+ e.getMessage() }), e);
+ }
+
+ }
+
+ }
+ }
+
/**
* import the groups, roles and finally the users to the current environment
*
Modified: portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/test/java/org/apache/jetspeed/security/stubs/StubJetspeedPrincipal.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/test/java/org/apache/jetspeed/security/stubs/StubJetspeedPrincipal.java?rev=736069&r1=736068&r2=736069&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/test/java/org/apache/jetspeed/security/stubs/StubJetspeedPrincipal.java (original)
+++ portals/jetspeed-2/portal/branches/JPA_BRANCH/components/jetspeed-security/src/test/java/org/apache/jetspeed/security/stubs/StubJetspeedPrincipal.java Tue Jan 20 11:10:43 2009
@@ -150,4 +150,10 @@
}
+ public Long getDomainId()
+ {
+ // TODO Auto-generated method stub
+ return 1L;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org