gatein SVN: r6489 - components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-05-18 12:22:10 -0400 (Wed, 18 May 2011)
New Revision: 6489
Modified:
components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java
Log:
- GTNWSRP-230: needed to retrieve mappings from JCR before attempting to insert a new ConsumerGroup.
- Removed useless comment.
Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java 2011-05-18 14:23:25 UTC (rev 6488)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java 2011-05-18 16:22:10 UTC (rev 6489)
@@ -149,7 +149,7 @@
ConsumerSPI consumer = super.internalCreateConsumer(consumerId, consumerName);
ChromatticSession session = persister.getSession();
- mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME); // todo: needed?
+ mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
try
{
ConsumerMapping cm = mappings.createConsumer(consumerId);
@@ -237,6 +237,7 @@
ConsumerGroupSPI group = super.internalCreateConsumerGroup(name);
ChromatticSession session = persister.getSession();
+ mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
try
{
ConsumerGroupMapping cgm = mappings.createConsumerGroup(name);
13 years, 1 month
gatein SVN: r6488 - epp/portal/branches.
by do-not-reply@jboss.org
Author: hfnukal
Date: 2011-05-18 10:23:25 -0400 (Wed, 18 May 2011)
New Revision: 6488
Added:
epp/portal/branches/EPP-5-1-tmp/
Log:
Productization temporary branch
13 years, 1 month
gatein SVN: r6487 - in components/wsrp/trunk: jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping and 1 other directory.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-05-18 10:14:45 -0400 (Wed, 18 May 2011)
New Revision: 6487
Modified:
components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationPropertiesMapping.java
components/wsrp/trunk/pom.xml
Log:
- GTNWSRP-228: Upgraded to Chromattic 1.1.0-beta5.
Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationPropertiesMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationPropertiesMapping.java 2011-05-18 14:11:10 UTC (rev 6486)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationPropertiesMapping.java 2011-05-18 14:14:45 UTC (rev 6487)
@@ -25,13 +25,11 @@
import org.chromattic.api.annotations.PrimaryType;
import org.chromattic.api.annotations.Properties;
-import org.gatein.common.util.Tools;
import javax.xml.namespace.QName;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
/**
* @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
@@ -42,9 +40,6 @@
{
public static final String NODE_NAME = "wsrp:registrationproperties";
- /** Need to ignore JCR properties for now until scoping mechanism exists on @Properties */
- private static final Set<String> propertiesBlackList = Tools.toSet("jcr:uuid", "jcr:primaryType");
-
@Properties
public abstract Map<String, String> getProperties();
@@ -57,11 +52,7 @@
for (Map.Entry<String, String> entry : propMap.entrySet())
{
String key = entry.getKey();
- // ignore JCR-specific properties
- if (!propertiesBlackList.contains(key))
- {
- properties.put(QName.valueOf(key), entry.getValue());
- }
+ properties.put(QName.valueOf(key), entry.getValue());
}
return properties;
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2011-05-18 14:11:10 UTC (rev 6486)
+++ components/wsrp/trunk/pom.xml 2011-05-18 14:14:45 UTC (rev 6487)
@@ -57,7 +57,7 @@
<javax.mail.version>1.4.1</javax.mail.version>
<javax.xml.ws.version>2.1</javax.xml.ws.version>
<javax.xml.soap.saaj.version>1.3</javax.xml.soap.saaj.version>
- <org.chromattic.version>1.1.0-beta2</org.chromattic.version>
+ <org.chromattic.version>1.1.0-beta5</org.chromattic.version>
<org.jboss.arquillian.version>1.0.0.Alpha2</org.jboss.arquillian.version>
<org.mockito.version>1.8.5</org.mockito.version>
<com.google.guava.version>r09</com.google.guava.version>
13 years, 1 month
gatein SVN: r6486 - components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-05-18 10:11:10 -0400 (Wed, 18 May 2011)
New Revision: 6486
Modified:
components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java
Log:
- GTNWSRP-229: just call super if there's no ConsumerGroup with the specified name to avoid NPE.
Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java 2011-05-18 14:07:48 UTC (rev 6485)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java 2011-05-18 14:11:10 UTC (rev 6486)
@@ -214,7 +214,14 @@
try
{
ConsumerGroup group = getConsumerGroup(name);
- remove(group.getPersistentKey(), ConsumerGroupMapping.class);
+ if (group == null)
+ {
+ return super.internalRemoveConsumerGroup(name);
+ }
+ else
+ {
+ remove(group.getPersistentKey(), ConsumerGroupMapping.class);
+ }
}
catch (RegistrationException e)
{
13 years, 1 month
gatein SVN: r6485 - epp/portal/branches/EPP_5_1_Branch/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/producer/registrations.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-05-18 10:07:48 -0400 (Wed, 18 May 2011)
New Revision: 6485
Modified:
epp/portal/branches/EPP_5_1_Branch/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/producer/registrations/JCRRegistrationPersistenceManager.java
Log:
- JBEPP-954: just call super, if there is no ConsumerGroup with the specified name in internalRemoveConsumerGroup.
Modified: epp/portal/branches/EPP_5_1_Branch/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/producer/registrations/JCRRegistrationPersistenceManager.java
===================================================================
--- epp/portal/branches/EPP_5_1_Branch/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/producer/registrations/JCRRegistrationPersistenceManager.java 2011-05-18 14:00:31 UTC (rev 6484)
+++ epp/portal/branches/EPP_5_1_Branch/component/wsrp/src/main/java/org/gatein/portal/wsrp/state/producer/registrations/JCRRegistrationPersistenceManager.java 2011-05-18 14:07:48 UTC (rev 6485)
@@ -213,7 +213,14 @@
try
{
ConsumerGroup group = getConsumerGroup(name);
- remove(group.getPersistentKey(), ConsumerGroupMapping.class);
+ if (group == null)
+ {
+ return super.internalRemoveConsumerGroup(name);
+ }
+ else
+ {
+ remove(group.getPersistentKey(), ConsumerGroupMapping.class);
+ }
}
catch (RegistrationException e)
{
13 years, 1 month
gatein SVN: r6484 - in portal/trunk: web/portal/src/main/webapp/WEB-INF/conf/organization and 1 other directory.
by do-not-reply@jboss.org
Author: bdaw
Date: 2011-05-18 10:00:31 -0400 (Wed, 18 May 2011)
New Revision: 6484
Modified:
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java
portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml
Log:
GTNPORTAL-1902 IntegrationCache not invalidated when calling invalidateAll() on PicketlinkIDMCacheService MBean
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java 2011-05-18 13:51:58 UTC (rev 6483)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java 2011-05-18 14:00:31 UTC (rev 6484)
@@ -184,7 +184,7 @@
integrationCache = new IntegrationCache();
integrationCache.setExpiration(expiration);
integrationCache.initialize(cache);
- picketLinkIDMCache.register(apiCacheProvider);
+ picketLinkIDMCache.register(integrationCache);
}
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml 2011-05-18 13:51:58 UTC (rev 6483)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml 2011-05-18 14:00:31 UTC (rev 6484)
@@ -121,7 +121,7 @@
<value-param>
<name>cacheExpiration</name>
- <value>360000</value>
+ <value>1800000</value>
</value-param>
13 years, 1 month
gatein SVN: r6483 - in components/wsrp/trunk: jcr-impl/src/test/java/org/gatein/wsrp and 2 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-05-18 09:51:58 -0400 (Wed, 18 May 2011)
New Revision: 6483
Added:
components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/registration/
components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManagerTestCase.java
Modified:
components/wsrp/trunk/jcr-impl/pom.xml
components/wsrp/trunk/producer/src/test/java/org/gatein/registration/AbstractRegistrationPersistenceManagerTestCase.java
Log:
- Added JCRRegistrationPersistenceManagerTestCase.
Modified: components/wsrp/trunk/jcr-impl/pom.xml
===================================================================
--- components/wsrp/trunk/jcr-impl/pom.xml 2011-05-18 13:49:07 UTC (rev 6482)
+++ components/wsrp/trunk/jcr-impl/pom.xml 2011-05-18 13:51:58 UTC (rev 6483)
@@ -22,7 +22,8 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>wsrp-parent</artifactId>
<groupId>org.gatein.wsrp</groupId>
@@ -90,6 +91,12 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.gatein.wsrp</groupId>
+ <artifactId>wsrp-producer-lib</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
<!-- JBoss dependencies -->
<dependency>
<groupId>org.jboss</groupId>
Added: components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManagerTestCase.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManagerTestCase.java (rev 0)
+++ components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManagerTestCase.java 2011-05-18 13:51:58 UTC (rev 6483)
@@ -0,0 +1,62 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2008, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+package org.gatein.wsrp.registration;
+
+import org.chromattic.api.ChromatticBuilder;
+import org.gatein.registration.AbstractRegistrationPersistenceManagerTestCase;
+import org.gatein.registration.RegistrationPersistenceManager;
+import org.gatein.wsrp.jcr.BaseChromatticPersister;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class JCRRegistrationPersistenceManagerTestCase extends AbstractRegistrationPersistenceManagerTestCase
+{
+ JCRRegistrationPersistenceManager persistenceManager;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ String workspaceName = "/wsrp-jcr-test" + Math.round(Math.abs(100000 * Math.random()));
+ BaseChromatticPersister persister = new BaseChromatticPersister(workspaceName)
+ {
+ @Override
+ protected void setBuilderOptions(ChromatticBuilder builder)
+ {
+ builder.setOptionValue(ChromatticBuilder.ROOT_NODE_PATH, workspaceName);
+ builder.setOptionValue(ChromatticBuilder.ROOT_NODE_TYPE, "nt:unstructured");
+ builder.setOptionValue(ChromatticBuilder.CREATE_ROOT_NODE, true);
+ }
+ };
+ persister.initializeBuilderFor(JCRRegistrationPersistenceManager.mappingClasses);
+ persistenceManager = new JCRRegistrationPersistenceManager(persister);
+ }
+
+ @Override
+ public RegistrationPersistenceManager getManager() throws Exception
+ {
+ return persistenceManager;
+ }
+}
Modified: components/wsrp/trunk/producer/src/test/java/org/gatein/registration/AbstractRegistrationPersistenceManagerTestCase.java
===================================================================
--- components/wsrp/trunk/producer/src/test/java/org/gatein/registration/AbstractRegistrationPersistenceManagerTestCase.java 2011-05-18 13:49:07 UTC (rev 6482)
+++ components/wsrp/trunk/producer/src/test/java/org/gatein/registration/AbstractRegistrationPersistenceManagerTestCase.java 2011-05-18 13:51:58 UTC (rev 6483)
@@ -44,7 +44,7 @@
/** . */
private Map<QName, Object> registrationProperties;
- public abstract RegistrationPersistenceManager getManager();
+ public abstract RegistrationPersistenceManager getManager() throws Exception;
public void startInteraction()
{
@@ -80,7 +80,7 @@
stopInteraction();
}
- public void testCreateConsumer() throws RegistrationException
+ public void testCreateConsumer() throws Exception
{
startInteraction();
Consumer consumer = getManager().createConsumer("Bar", "Bar");
@@ -95,7 +95,7 @@
stopInteraction();
}
- public void testCreateGroup() throws RegistrationException
+ public void testCreateGroup() throws Exception
{
startInteraction();
ConsumerGroup group = getManager().createConsumerGroup("Foo");
13 years, 1 month
gatein SVN: r6482 - in components/wsrp/trunk: consumer and 1 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2011-05-18 09:49:07 -0400 (Wed, 18 May 2011)
New Revision: 6482
Modified:
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
Log:
- Generate test jar for producer tests so that they can be reused elsewhere.
- Update maven-jar-plugin to 2.3.1.
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2011-05-18 13:06:57 UTC (rev 6481)
+++ components/wsrp/trunk/consumer/pom.xml 2011-05-18 13:49:07 UTC (rev 6482)
@@ -21,7 +21,8 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
@@ -144,7 +145,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
+ <version>2.3.1</version>
<executions>
<execution>
<goals>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2011-05-18 13:06:57 UTC (rev 6481)
+++ components/wsrp/trunk/pom.xml 2011-05-18 13:49:07 UTC (rev 6482)
@@ -98,6 +98,12 @@
</dependency>
<dependency>
<groupId>org.gatein.wsrp</groupId>
+ <artifactId>wsrp-producer-lib</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-wsrp1-ws</artifactId>
<version>${project.version}</version>
</dependency>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2011-05-18 13:06:57 UTC (rev 6481)
+++ components/wsrp/trunk/producer/pom.xml 2011-05-18 13:49:07 UTC (rev 6482)
@@ -21,7 +21,8 @@
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
@@ -124,6 +125,18 @@
<threadCount>2</threadCount>-->
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.3.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
\ No newline at end of file
13 years, 1 month
gatein SVN: r6481 - epp/portal/branches.
by do-not-reply@jboss.org
Author: mputz
Date: 2011-05-18 09:06:57 -0400 (Wed, 18 May 2011)
New Revision: 6481
Added:
epp/portal/branches/EPP_5_0_0_GA_JBEPP-953/
Log:
JBEPP-953: Create patch branch
13 years, 1 month
gatein SVN: r6480 - in portal/trunk: component/identity/src/main/java/org/exoplatform/services/organization/idm and 4 other directories.
by do-not-reply@jboss.org
Author: bdaw
Date: 2011-05-18 07:42:27 -0400 (Wed, 18 May 2011)
New Revision: 6480
Modified:
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/GroupDAOImpl.java
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IntegrationCache.java
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java
portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java
portal/trunk/pom.xml
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/organization/webui/component/UIUserInGroup.java
portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml
portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml
portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml
portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml
portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml
Log:
Performance optimizations for :
GTNPORTAL-1891
GTNPORTAL-1890
GTNPORTAL-1887
GTNPORTAL-1880
Some of those are more related to changes in picketlink idm
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/GroupDAOImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/GroupDAOImpl.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/GroupDAOImpl.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -235,6 +235,9 @@
try
{
+
+ orgService.commitTransaction();
+
jbidGroup =
getIdentitySession().getPersistenceManager().
findGroup(plGroupName, orgService.getConfiguration().getGroupType(group.getParentId()));
@@ -253,6 +256,8 @@
try
{
+ orgService.commitTransaction();
+
Collection<org.picketlink.idm.api.Group> oneLevelChilds =
getIdentitySession().getRelationshipManager().findAssociatedGroups(jbidGroup, null, true, false);
@@ -308,6 +313,8 @@
try
{
+ orgService.commitTransaction();
+
allRoles = getIdentitySession().getRoleManager().findRoles(userName, membershipType);
}
catch (Exception e)
@@ -333,6 +340,8 @@
try
{
+ orgService.commitTransaction();
+
groups = getIdentitySession().getRelationshipManager().findAssociatedGroups(userName, null);
}
catch (Exception e)
@@ -462,6 +471,8 @@
try
{
+ orgService.commitTransaction();
+
plGroups.addAll(getIdentitySession().getRelationshipManager().
findAssociatedGroups(jbidGroup, null, true, false));
}
@@ -591,6 +602,8 @@
try
{
+ orgService.commitTransaction();
+
allGroups = getIdentitySession().getRelationshipManager().findRelatedGroups(user, null, null);
}
catch (Exception e)
@@ -638,6 +651,9 @@
try
{
+
+ orgService.commitTransaction();
+
plGroups
.addAll(getIdentitySession().getRelationshipManager().findAssociatedGroups(getRootGroup(), null, true, true));
}
@@ -746,6 +762,8 @@
try
{
+ orgService.commitTransaction();
+
attrs = getIdentitySession().getAttributesManager().getAttributes(jbidGroup);
}
catch (Exception e)
@@ -869,6 +887,8 @@
try
{
+ orgService.commitTransaction();
+
parents = getIdentitySession().getRelationshipManager().findAssociatedGroups(jbidGroup, null, false, false);
}
catch (Exception e)
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -21,6 +21,8 @@
import org.exoplatform.commons.utils.ListAccess;
import org.exoplatform.services.organization.User;
+import org.exoplatform.services.organization.impl.UserImpl;
+
import org.gatein.common.logging.LogLevel;
import org.gatein.common.logging.Logger;
import org.gatein.common.logging.LoggerFactory;
@@ -29,12 +31,13 @@
import org.picketlink.idm.api.query.UserQueryBuilder;
+import java.io.Serializable;
import java.util.List;
/*
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
*/
-public class IDMUserListAccess implements ListAccess<User>
+public class IDMUserListAccess implements ListAccess<User>, Serializable
{
private static Logger log = LoggerFactory.getLogger(IDMUserListAccess.class);
@@ -48,6 +51,10 @@
private final boolean countAll;
+ private List<org.picketlink.idm.api.User> fullResults;
+
+ private int size = -1;
+
public IDMUserListAccess(UserDAOImpl userDAO, PicketLinkIDMService idmService, UserQueryBuilder userQueryBuilder,
int pageSize, boolean countAll)
{
@@ -73,17 +80,30 @@
);
}
- userQueryBuilder.page(index, length);
- UserQuery query = userQueryBuilder.sort(SortOrder.ASCENDING).createQuery();
- List<org.picketlink.idm.api.User> users = idmService.getIdentitySession().list(query);
+ List<org.picketlink.idm.api.User> users = null;
+ if (fullResults == null)
+ {
+ userDAO.getOrgService().commitTransaction();
+
+ userQueryBuilder.page(index, length);
+ UserQuery query = userQueryBuilder.sort(SortOrder.ASCENDING).createQuery();
+ users = idmService.getIdentitySession().list(query);
+ }
+ else
+ {
+ users = fullResults.subList(index, index + length);
+ }
+
User[] exoUsers = new User[users.size()];
for (int i = 0; i < users.size(); i++)
{
org.picketlink.idm.api.User user = users.get(i);
- exoUsers[i] = UserDAOImpl.getPopulatedUser(user.getId(), idmService.getIdentitySession());
+ User gtnUser = new UserImpl(user.getId());
+ userDAO.populateUser(gtnUser, idmService.getIdentitySession());
+ exoUsers[i] = gtnUser;
}
if (log.isTraceEnabled())
@@ -111,22 +131,39 @@
);
}
+ userDAO.getOrgService().commitTransaction();
+
int result;
- if (countAll)
+ if (size < 0)
{
- result = idmService.getIdentitySession().getPersistenceManager().getUserCount();
+
+ if (fullResults != null)
+ {
+ result = fullResults.size();
+ }
+ else if (countAll)
+ {
+ result = idmService.getIdentitySession().getPersistenceManager().getUserCount();
+ }
+ else
+ {
+ userQueryBuilder.page(0, 0);
+ UserQuery query = userQueryBuilder.sort(SortOrder.ASCENDING).createQuery();
+ fullResults = idmService.getIdentitySession().list(query);
+ result = fullResults.size();
+ }
+
+ size = result;
}
else
{
- userQueryBuilder.page(0, 0);
- UserQuery query = userQueryBuilder.sort(SortOrder.ASCENDING).createQuery();
- result = idmService.getIdentitySession().execute(query).size();
+ result = size;
}
if (log.isTraceEnabled())
{
- Tools.logMethodOut(
+ Tools.logMethodOut(
log,
LogLevel.TRACE,
"getSize",
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IntegrationCache.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IntegrationCache.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/IntegrationCache.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -1,5 +1,8 @@
package org.exoplatform.services.organization.idm;
+import org.exoplatform.commons.utils.LazyPageList;
+import org.exoplatform.services.organization.Query;
+
import org.jboss.cache.Cache;
import org.jboss.cache.CacheFactory;
import org.jboss.cache.CacheStatus;
@@ -54,6 +57,8 @@
public static final String NULL_NS_NODE = "GTN_IC_COMMON_NS";
+ public static final String USER_QUERY_NODE = "GTN_USER_QUERY_LAZY_LIST";
+
public static final String MAIN_ROOT = "NODE_GTN_ORG_SERVICE_INT_CACHE_MAIN_ROOT";
public static final String NODE_OBJECT_KEY = "object";
@@ -198,7 +203,61 @@
}
+ /**
+ * Store IDMUserListAccess
+ * @param ns
+ * @param query
+ * @param list
+ */
+ void putGtnUserLazyPageList(String ns, Query query, IDMUserListAccess list)
+ {
+ Fqn nodeFqn = getFqn(ns, USER_QUERY_NODE, getQueryKey(query));
+
+ Node ioNode = getCache().getRoot().addChild(nodeFqn);
+
+ if (ioNode != null)
+ {
+ ioNode.put(NODE_OBJECT_KEY, list);
+ setExpiration(ioNode);
+
+ if (log.isLoggable(Level.FINER))
+ {
+
+ log.finer(this.toString() + "GateIn user query list cached. Query: " + getQueryKey(query) + ";namespace=" + ns);
+ }
+ }
+ }
+
/**
+ * Retrieve IDMUserListAccess
+ * @param ns
+ * @param query
+ * @return LazyPageList
+ */
+ IDMUserListAccess getGtnUserLazyPageList(String ns, Query query)
+ {
+
+ Fqn nodeFqn = getFqn(ns, USER_QUERY_NODE, getQueryKey(query));
+
+ Node node = getCache().getRoot().getChild(nodeFqn);
+
+ if (node != null)
+ {
+ IDMUserListAccess list = (IDMUserListAccess)node.get(NODE_OBJECT_KEY);
+
+ if (log.isLoggable(Level.FINER) && list != null)
+ {
+ log.finer(this.toString() + "GateIn user query list found in cache. Query: " + getQueryKey(query) + ";namespace=" + ns);
+ }
+
+ return list;
+ }
+
+ return null;
+
+ }
+
+ /**
* Store PLIDM root group
* @param ns
* @param rootGroup
@@ -267,4 +326,19 @@
{
this.expiration = expiration;
}
+
+ String getQueryKey(Query query)
+ {
+ StringBuilder sb = new StringBuilder();
+ String SEP = ":::";
+
+ sb.append(query.getEmail()).append(SEP)
+ .append(query.getFirstName()).append(SEP)
+ .append(query.getLastName()).append(SEP)
+ .append(query.getUserName()).append(SEP)
+ .append(query.getFromLoginDate()).append(SEP)
+ .append(query.getToLoginDate()).append(SEP);
+
+ return sb.toString();
+ }
}
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/MembershipDAOImpl.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -120,6 +120,8 @@
);
}
+ orgService.commitTransaction();
+
if (g == null)
{
throw new InvalidNameException("Can not create membership record for " + user.getUserName()
@@ -197,6 +199,7 @@
);
}
+ orgService.commitTransaction();
String plGroupName = getPLIDMGroupName(getGroupNameFromId(m.getGroupId()));
@@ -278,6 +281,7 @@
);
}
+ orgService.commitTransaction();
Membership m = new MembershipImpl(id);
@@ -377,6 +381,7 @@
);
}
+ orgService.commitTransaction();
Collection<Role> roles = new HashSet();
@@ -473,6 +478,7 @@
);
}
+ orgService.commitTransaction();
String plGroupName = getPLIDMGroupName(getGroupNameFromId(groupId));
@@ -565,6 +571,8 @@
);
}
+ orgService.commitTransaction();
+
if (userName == null)
{
// julien fix : if user name is null, need to check if we do need to return a special group
@@ -667,6 +675,7 @@
);
}
+ orgService.commitTransaction();
Collection<Role> roles = new HashSet();
@@ -759,6 +768,8 @@
);
}
+ orgService.commitTransaction();
+
String plGroupName = getPLIDMGroupName(getGroupNameFromId(groupId));
String gid =
@@ -780,12 +791,13 @@
HashSet<MembershipImpl> memberships = new HashSet<MembershipImpl>();
+ Group g = orgService.getGroupHandler().findGroupById(groupId);
+
for (Role role : roles)
{
if (isCreateMembership(role.getRoleType().getName()))
{
MembershipImpl m = new MembershipImpl();
- Group g = ((GroupDAOImpl)orgService.getGroupHandler()).convertGroup(role.getGroup());
m.setGroupId(g.getId());
m.setUserName(role.getUser().getId());
m.setMembershipType(role.getRoleType().getName());
@@ -856,6 +868,8 @@
);
}
+ orgService.commitTransaction();
+
Membership m = new MembershipImpl(id);
String plGroupName = getPLIDMGroupName(getGroupNameFromId(m.getGroupId()));
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -45,7 +45,7 @@
// We may have several portal containers thus we need one PicketLinkIDMService per portal container
// private static PicketLinkIDMService jbidmService_;
- private PicketLinkIDMService idmService_;
+ private PicketLinkIDMServiceImpl idmService_;
public static final String CONFIGURATION_OPTION = "configuration";
@@ -60,7 +60,7 @@
membershipDAO_ = new MembershipDAOImpl(this, idmService);
membershipTypeDAO_ = new MembershipTypeDAOImpl(this, idmService);
- idmService_ = idmService;
+ idmService_ = (PicketLinkIDMServiceImpl)idmService;
if (params != null)
{
@@ -152,6 +152,7 @@
}
else
{
+
if (!idmService_.getIdentitySession().getTransaction().isActive())
{
idmService_.getIdentitySession().beginTransaction();
@@ -164,6 +165,50 @@
}
}
+
+ public void commitTransaction()
+ {
+ try
+ {
+
+
+ if (configuration.isUseJTA())
+ {
+ UserTransaction tx = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction");
+
+ if (tx.getStatus() != Status.STATUS_NO_TRANSACTION)
+ {
+ tx.commit();
+ }
+
+ if (tx.getStatus() == Status.STATUS_NO_TRANSACTION)
+ {
+ tx.begin();
+ }
+ }
+ else
+ {
+
+ if (idmService_.getIdentitySession().getTransaction().isActive())
+ {
+ idmService_.getIdentitySession().getTransaction().commit();
+ }
+
+ if (!idmService_.getIdentitySession().getTransaction().isActive())
+ {
+ idmService_.getIdentitySession().beginTransaction();
+ }
+ }
+
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+
+
public void endRequest(ExoContainer container)
{
try
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMServiceImpl.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -90,6 +90,8 @@
private static final JChannelFactory CHANNEL_FACTORY = new JChannelFactory();
+ private HibernateService hibernateService;
+
private PicketLinkIDMServiceImpl()
{
}
@@ -110,6 +112,8 @@
ValueParam jgroupsConfig = initParams.getValueParam(JGROUPS_CONFIG);
ValueParam cacheExpirationParam = initParams.getValueParam(CACHE_EXPIRATION);
+ this.hibernateService = hibernateService;
+
if (config == null && jndiName == null)
{
throw new IllegalStateException("Either '" + PARAM_CONFIG_OPTION + "' or '" + PARAM_JNDI_NAME_OPTION
@@ -327,4 +331,9 @@
}
}
}
+
+ public HibernateService getHibernateService()
+ {
+ return hibernateService;
+ }
}
Modified: portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java
===================================================================
--- portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -21,8 +21,6 @@
import org.exoplatform.commons.utils.LazyPageList;
import org.exoplatform.commons.utils.ListAccess;
-import org.exoplatform.services.cache.CacheService;
-import org.exoplatform.services.cache.ExoCache;
import org.exoplatform.services.organization.Query;
import org.exoplatform.services.organization.User;
import org.exoplatform.services.organization.UserEventListener;
@@ -37,6 +35,7 @@
import org.picketlink.idm.api.query.UserQueryBuilder;
import org.picketlink.idm.common.exception.IdentityException;
import org.picketlink.idm.impl.api.SimpleAttribute;
+import org.picketlink.idm.impl.api.model.SimpleUser;
import java.text.DateFormat;
import java.text.ParseException;
@@ -145,6 +144,8 @@
try
{
+ orgService.commitTransaction();
+
session.getPersistenceManager().createUser(user.getUserName());
}
catch (IdentityException e)
@@ -214,6 +215,8 @@
try
{
+ orgService.commitTransaction();
+
foundUser = session.getPersistenceManager().findUser(userName);
}
catch (IdentityException e)
@@ -361,6 +364,8 @@
{
try
{
+ orgService.commitTransaction();
+
IdentitySession session = service_.getIdentitySession();
org.picketlink.idm.api.User idmUser = session.getPersistenceManager().findUser(user.getUserName());
@@ -407,7 +412,64 @@
);
}
+ // if only condition is email which is unique then delegate to other method as it will be more efficient
+ if (q.getUserName() == null &&
+ q.getEmail() != null &&
+ q.getFirstName() == null &&
+ q.getLastName() == null)
+ {
+ final User uniqueUser = findUserByEmail(q.getEmail());
+ if (uniqueUser != null)
+ {
+ return new LazyPageList<User>( new ListAccess<User>()
+ {
+ public User[] load(int index, int length) throws Exception, IllegalArgumentException
+ {
+ return new User[]{uniqueUser};
+ }
+
+ public int getSize() throws Exception
+ {
+ return 1;
+ }
+ }, 1);
+ }
+ else
+ {
+ return new LazyPageList<User>( new ListAccess<User>()
+ {
+ public User[] load(int index, int length) throws Exception, IllegalArgumentException
+ {
+ return new User[0];
+ }
+
+ public int getSize() throws Exception
+ {
+ return 0;
+ }
+ }, 1);
+ }
+ }
+
+
+ // otherwise use PLIDM queries
+
+ IDMUserListAccess list;
+
+ IntegrationCache cache = getIntegrationCache();
+
+ if (cache != null)
+ {
+ list = cache.getGtnUserLazyPageList(getCacheNS(), q);
+ if (list != null)
+ {
+ return new LazyPageList(list, 20);
+ }
+ }
+
+ orgService.commitTransaction();
+
UserQueryBuilder qb = service_.getIdentitySession().createUserQueryBuilder();
if (q.getUserName() != null)
@@ -430,7 +492,26 @@
qb.attributeValuesFilter(UserDAOImpl.USER_LAST_NAME, new String[]{q.getLastName()});
}
- return new LazyPageList(new IDMUserListAccess(this, service_, qb, 20, false), 20);
+
+
+ if (q.getUserName() == null &&
+ q.getEmail() == null &&
+ q.getFirstName() == null &&
+ q.getLastName() == null)
+ {
+ list = new IDMUserListAccess(this, service_, qb, 20, true);
+ }
+ else
+ {
+ list = new IDMUserListAccess(this, service_, qb, 20, false);
+ }
+
+ if (cache != null)
+ {
+ cache.putGtnUserLazyPageList(getCacheNS(), q, list);
+ }
+
+ return new LazyPageList(list, 20);
}
//
@@ -494,6 +575,8 @@
try
{
+ orgService.commitTransaction();
+
plUser = session.getAttributesManager().findUserByUniqueAttribute(USER_EMAIL, email);
}
catch (IdentityException e)
@@ -565,6 +648,7 @@
public void persistUserInfo(User user, IdentitySession session) throws Exception
{
+ orgService.commitTransaction();
AttributesManager am = session.getAttributesManager();
@@ -629,10 +713,12 @@
}
- public static User getPopulatedUser(String userName, IdentitySession session) throws Exception
+ public User getPopulatedUser(String userName, IdentitySession session) throws Exception
{
Object u = null;
+ orgService.commitTransaction();
+
try
{
u = session.getPersistenceManager().findUser(userName);
@@ -656,8 +742,9 @@
}
- public static void populateUser(User user, IdentitySession session) throws Exception
+ public void populateUser(User user, IdentitySession session) throws Exception
{
+ orgService.commitTransaction();
AttributesManager am = session.getAttributesManager();
@@ -665,7 +752,7 @@
try
{
- attrs = am.getAttributes(user.getUserName());
+ attrs = am.getAttributes(new SimpleUser(user.getUserName()));
}
catch (IdentityException e)
{
@@ -754,4 +841,26 @@
}
}
+ public PicketLinkIDMOrganizationServiceImpl getOrgService()
+ {
+ return orgService;
+ }
+
+ private IntegrationCache getIntegrationCache()
+ {
+ // TODO: refactor to remove cast. For now to avoid adding new config option and share existing cache instannce
+ // TODO: it should be there.
+ return ((PicketLinkIDMServiceImpl)service_).getIntegrationCache();
+ }
+
+ /**
+ * Returns namespace to be used with integration cache
+ * @return
+ */
+ private String getCacheNS()
+ {
+ // TODO: refactor to remove cast. For now to avoid adding new config option and share existing cache instannce
+ // TODO: it should be there.
+ return ((PicketLinkIDMServiceImpl)service_).getRealmName();
+ }
}
Modified: portal/trunk/pom.xml
===================================================================
--- portal/trunk/pom.xml 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/pom.xml 2011-05-18 11:42:27 UTC (rev 6480)
@@ -47,7 +47,7 @@
<org.gatein.common.version>2.0.4-Beta02</org.gatein.common.version>
<org.gatein.wci.version>2.1.0-Beta02</org.gatein.wci.version>
<org.gatein.pc.version>2.3.0-Beta03</org.gatein.pc.version>
- <org.picketlink.idm>1.1.9.CR01</org.picketlink.idm>
+ <org.picketlink.idm>1.3.0.Alpha03</org.picketlink.idm>
<org.gatein.wsrp.version>2.1.0-Beta03</org.gatein.wsrp.version>
<org.gatein.mop.version>1.1.0-Beta01</org.gatein.mop.version>
<version.chromattic>1.1.0-beta2</version.chromattic>
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/organization/webui/component/UIUserInGroup.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/organization/webui/component/UIUserInGroup.java 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/organization/webui/component/UIUserInGroup.java 2011-05-18 11:42:27 UTC (rev 6480)
@@ -133,7 +133,6 @@
{
OrganizationService service = getApplicationComponent(OrganizationService.class);
MembershipHandler handler = service.getMembershipHandler();
- List<?> memberships = (List<?>)handler.findMembershipsByGroup(group);
pageList = new FindMembershipByGroupPageList(group.getId(), 10);
}
UIGridUser uiGrid = getChild(UIGridUser.class);
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObject.hbm.xml 2011-05-18 11:42:27 UTC (rev 6480)
@@ -12,6 +12,7 @@
<generator class="native"/>
</id>
<set name="attributes"
+ batch-size="20"
inverse="true"
cascade="all, delete-orphan"
lazy="extra"
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/mappings/HibernateIdentityObjectAttribute.hbm.xml 2011-05-18 11:42:27 UTC (rev 6480)
@@ -35,8 +35,9 @@
table="jbid_io_attr_text_values"
cascade="all, delete-orphan"
access="field"
- lazy="extra"
- fetch="subselect">
+ lazy="false"
+ fetch="join"
+ batch-size="20">
<cache usage="read-write"/>
<key column="TEXT_ATTR_VALUE_ID"/>
<element type="string"
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObject.hbm.xml 2011-05-18 11:42:27 UTC (rev 6480)
@@ -12,6 +12,7 @@
<generator class="native"/>
</id>
<set name="attributes"
+ batch-size="20"
inverse="true"
cascade="all, delete-orphan"
lazy="extra"
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/picketlink-idm/sybase-mappings/HibernateIdentityObjectAttribute.hbm.xml 2011-05-18 11:42:27 UTC (rev 6480)
@@ -35,8 +35,9 @@
table="jbid_io_attr_text_values"
cascade="all, delete-orphan"
access="field"
- lazy="extra"
- fetch="subselect">
+ lazy="false"
+ fetch="join"
+ batch-size="20">
<cache usage="read-write"/>
<key column="TEXT_ATTR_VALUE_ID"/>
<element type="string"
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml 2011-05-18 07:12:47 UTC (rev 6479)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/organization/idm-configuration.xml 2011-05-18 11:42:27 UTC (rev 6480)
@@ -121,7 +121,7 @@
<value-param>
<name>cacheExpiration</name>
- <value>2000</value>
+ <value>360000</value>
</value-param>
13 years, 1 month