[gatein-commits] gatein SVN: r7732 - components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Oct 12 08:29:46 EDT 2011
Author: chris.laprun at jboss.com
Date: 2011-10-12 08:29:46 -0400 (Wed, 12 Oct 2011)
New Revision: 7732
Modified:
components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java
Log:
- Properly close session in all cases.
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-10-12 12:18:10 UTC (rev 7731)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java 2011-10-12 12:29:46 UTC (rev 7732)
@@ -78,31 +78,36 @@
this.persister = persister;
ChromatticSession session = persister.getSession();
- ConsumersAndGroupsMapping mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
- if (mappings == null)
+ try
{
- mappings = session.insert(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
- }
- persister.save(); // needed right now as the session must still be open to iterate over nodes
+ ConsumersAndGroupsMapping mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
+ if (mappings == null)
+ {
+ mappings = session.insert(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
+ }
+ persister.save(); // needed right now as the session must still be open to iterate over nodes
- for (ConsumerGroupMapping cgm : mappings.getConsumerGroups())
- {
- internalAddConsumerGroup(cgm.toConsumerGroup(this));
- }
+ for (ConsumerGroupMapping cgm : mappings.getConsumerGroups())
+ {
+ internalAddConsumerGroup(cgm.toConsumerGroup(this));
+ }
- for (ConsumerMapping cm : mappings.getConsumers())
- {
- ConsumerSPI consumer = cm.toConsumer(this);
- internalAddConsumer(consumer);
+ for (ConsumerMapping cm : mappings.getConsumers())
+ {
+ ConsumerSPI consumer = cm.toConsumer(this);
+ internalAddConsumer(consumer);
- // get the registrations and add them to local map.
- for (Registration registration : consumer.getRegistrations())
- {
- internalAddRegistration((RegistrationSPI)registration);
+ // get the registrations and add them to local map.
+ for (Registration registration : consumer.getRegistrations())
+ {
+ internalAddRegistration((RegistrationSPI)registration);
+ }
}
}
-
- persister.closeSession(false);
+ finally
+ {
+ persister.closeSession(false);
+ }
}
@Override
@@ -157,9 +162,9 @@
ConsumerSPI consumer = super.internalCreateConsumer(consumerId, consumerName);
ChromatticSession session = persister.getSession();
- ConsumersAndGroupsMapping mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
try
{
+ ConsumersAndGroupsMapping mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
ConsumerMapping cm = mappings.createConsumer(consumerId);
mappings.getConsumers().add(cm);
cm.initFrom(consumer);
@@ -245,9 +250,9 @@
ConsumerGroupSPI group = super.internalCreateConsumerGroup(name);
ChromatticSession session = persister.getSession();
- ConsumersAndGroupsMapping mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
try
{
+ ConsumersAndGroupsMapping mappings = session.findByPath(ConsumersAndGroupsMapping.class, ConsumersAndGroupsMapping.NODE_NAME);
ConsumerGroupMapping cgm = mappings.createConsumerGroup(name);
mappings.getConsumerGroups().add(cgm);
group.setPersistentKey(cgm.getPersistentKey());
More information about the gatein-commits
mailing list