[gatein-commits] gatein SVN: r7735 - in components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp: registration and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Oct 12 11:11:32 EDT 2011


Author: chris.laprun at jboss.com
Date: 2011-10-12 11:11:32 -0400 (Wed, 12 Oct 2011)
New Revision: 7735

Modified:
   components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/EndpointInfoMapping.java
   components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/ProducerInfoMapping.java
   components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/RegistrationInfoMapping.java
   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/mapping/ConsumerGroupMapping.java
   components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerMapping.java
   components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationMapping.java
Log:
- GTNWSRP-248: extended use of BaseMapping for more coherence.

Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/EndpointInfoMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/EndpointInfoMapping.java	2011-10-12 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/EndpointInfoMapping.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -30,6 +30,8 @@
 import org.chromattic.api.annotations.PrimaryType;
 import org.chromattic.api.annotations.Property;
 import org.gatein.wsrp.consumer.EndpointConfigurationInfo;
+import org.gatein.wsrp.consumer.ProducerInfo;
+import org.gatein.wsrp.jcr.mapping.BaseMapping;
 import org.gatein.wsrp.jcr.mapping.mixins.MixinHolder;
 import org.gatein.wsrp.jcr.mapping.mixins.WSSEndpointEnabled;
 
@@ -38,7 +40,7 @@
  * @version $Revision$
  */
 @PrimaryType(name = EndpointInfoMapping.NODE_NAME)
-public abstract class EndpointInfoMapping extends MixinHolder<WSSEndpointEnabled>
+public abstract class EndpointInfoMapping extends MixinHolder<WSSEndpointEnabled> implements BaseMapping<EndpointConfigurationInfo, ProducerInfo>
 {
    public static final String NODE_NAME = "wsrp:endpointinfo";
 
@@ -78,7 +80,7 @@
       setWSSEnabled(info.getWSSEnabled());
    }
 
-   EndpointConfigurationInfo toEndpointConfigurationInfo(EndpointConfigurationInfo initial)
+   public EndpointConfigurationInfo toModel(EndpointConfigurationInfo initial, ProducerInfo registry)
    {
       initial.setWsdlDefinitionURL(getWSDLURL());
       initial.setWSOperationTimeOut(getWSTimeoutMilliseconds());

Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/ProducerInfoMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/ProducerInfoMapping.java	2011-10-12 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/ProducerInfoMapping.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -136,11 +136,11 @@
       info.setModifyRegistrationRequired(getModifyRegistrationRequired());
 
       // endpoint
-      EndpointConfigurationInfo endInfo = getEndpointInfo().toEndpointConfigurationInfo(info.getEndpointConfigurationInfo());
+      EndpointConfigurationInfo endInfo = getEndpointInfo().toModel(info.getEndpointConfigurationInfo(), info);
       info.setEndpointConfigurationInfo(endInfo);
 
       // registration
-      RegistrationInfo regInfo = getRegistrationInfo().toRegistrationInfo(info.getRegistrationInfo());
+      RegistrationInfo regInfo = getRegistrationInfo().toModel(info.getRegistrationInfo(), info);
       info.setRegistrationInfo(regInfo);
 
       return info;

Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/RegistrationInfoMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/RegistrationInfoMapping.java	2011-10-12 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/consumer/registry/mapping/RegistrationInfoMapping.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -29,9 +29,11 @@
 import org.chromattic.api.annotations.PrimaryType;
 import org.chromattic.api.annotations.Property;
 import org.gatein.common.io.IOTools;
+import org.gatein.wsrp.consumer.ProducerInfo;
 import org.gatein.wsrp.consumer.RegistrationInfo;
 import org.gatein.wsrp.consumer.RegistrationProperty;
 import org.gatein.wsrp.jcr.ChromatticPersister;
+import org.gatein.wsrp.jcr.mapping.BaseMapping;
 import org.gatein.wsrp.registration.RegistrationPropertyDescription;
 import org.gatein.wsrp.registration.mapping.RegistrationPropertyDescriptionMapping;
 
@@ -45,7 +47,7 @@
  */
 @PrimaryType(name = RegistrationInfoMapping.NODE_NAME)
 @FormattedBy(ChromatticPersister.QNameFormatter.class)
-public abstract class RegistrationInfoMapping
+public abstract class RegistrationInfoMapping implements BaseMapping<RegistrationInfo, ProducerInfo>
 {
    public static final String NODE_NAME = "wsrp:registrationinfo";
 
@@ -95,7 +97,7 @@
       }
    }
 
-   RegistrationInfo toRegistrationInfo(RegistrationInfo initial)
+   public RegistrationInfo toModel(RegistrationInfo initial, ProducerInfo registry)
    {
       initial.setConsumerName(getConsumerName());
       initial.setRegistrationHandle(getRegistrationHandle());

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 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/JCRRegistrationPersistenceManager.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -89,12 +89,12 @@
 
          for (ConsumerGroupMapping cgm : mappings.getConsumerGroups())
          {
-            internalAddConsumerGroup(cgm.toConsumerGroup(this));
+            internalAddConsumerGroup(cgm.toModel(newConsumerGroupSPI(cgm.getName()), this));
          }
 
          for (ConsumerMapping cm : mappings.getConsumers())
          {
-            ConsumerSPI consumer = cm.toConsumer(this);
+            ConsumerSPI consumer = cm.toModel(newConsumerSPI(cm.getId(), cm.getName()), this);
             internalAddConsumer(consumer);
 
             // get the registrations and add them to local map.
@@ -149,11 +149,21 @@
       return super.internalRemoveConsumer(consumerId);
    }
 
-   private void remove(String id, Class clazz)
+   private <T> T remove(String id, Class<T> clazz)
    {
       ChromatticSession session = persister.getSession();
-      session.remove(session.findById(clazz, id));
-      persister.closeSession(true);
+      try
+      {
+         T toRemove = session.findById(clazz, id);
+         session.remove(toRemove);
+         persister.closeSession(true);
+         return toRemove;
+      }
+      catch (Exception e)
+      {
+         persister.closeSession(false);
+         throw new RuntimeException(e);
+      }
    }
 
    @Override
@@ -189,7 +199,7 @@
       try
       {
          ConsumerMapping cm = session.findById(ConsumerMapping.class, consumer.getPersistentKey());
-         cm.initFrom(consumer);
+         cm.initFrom(consumerSPI);
          persister.closeSession(true);
       }
       catch (Exception e)
@@ -209,7 +219,7 @@
       try
       {
          RegistrationMapping cm = session.findById(RegistrationMapping.class, registration.getPersistentKey());
-         cm.initFrom(registration);
+         cm.initFrom(registrationSPI);
          persister.closeSession(true);
       }
       catch (Exception e)

Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerGroupMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerGroupMapping.java	2011-10-12 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerGroupMapping.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -32,10 +32,11 @@
 import org.chromattic.api.annotations.Property;
 import org.gatein.common.util.ParameterValidation;
 import org.gatein.registration.Consumer;
-import org.gatein.registration.ConsumerGroup;
 import org.gatein.registration.RegistrationException;
 import org.gatein.registration.RegistrationStatus;
 import org.gatein.registration.spi.ConsumerGroupSPI;
+import org.gatein.registration.spi.ConsumerSPI;
+import org.gatein.wsrp.jcr.mapping.BaseMapping;
 import org.gatein.wsrp.registration.JCRRegistrationPersistenceManager;
 
 import java.util.Collection;
@@ -45,7 +46,7 @@
  * @version $Revision$
  */
 @PrimaryType(name = ConsumerGroupMapping.NODE_NAME)
-public abstract class ConsumerGroupMapping
+public abstract class ConsumerGroupMapping implements BaseMapping<ConsumerGroupSPI, JCRRegistrationPersistenceManager>
 {
    public static final String NODE_NAME = "wsrp:consumergroup";
 
@@ -69,7 +70,7 @@
    @FindById
    public abstract ConsumerMapping findConsumerById(String id);
 
-   public void initFrom(ConsumerGroup group)
+   public void initFrom(ConsumerGroupSPI group)
    {
       setName(group.getName());
       setStatus(group.getStatus());
@@ -82,7 +83,7 @@
             ConsumerMapping cm = findConsumerById(id);
             ParameterValidation.throwIllegalArgExceptionIfNull(cm, "ConsumerMapping (no such mapping with id: " + id + ")");
             getConsumers().add(cm);
-            cm.initFrom(consumer);
+            cm.initFrom((ConsumerSPI)consumer);
          }
       }
       catch (RegistrationException e)
@@ -91,9 +92,9 @@
       }
    }
 
-   public ConsumerGroupSPI toConsumerGroup(JCRRegistrationPersistenceManager persistenceManager) throws RegistrationException
+   public ConsumerGroupSPI toModel(ConsumerGroupSPI initial, JCRRegistrationPersistenceManager persistenceManager)
    {
-      ConsumerGroupSPI group = persistenceManager.newConsumerGroupSPI(getName());
+      ConsumerGroupSPI group = (initial != null ? initial : persistenceManager.newConsumerGroupSPI(getName()));
       group.setPersistentKey(getPersistentKey());
       RegistrationStatus status = getStatus();
       if (status == null)
@@ -102,16 +103,24 @@
       }
       group.setStatus(status);
 
-      for (ConsumerMapping cm : getConsumers())
+      try
       {
-         Consumer consumer = persistenceManager.getConsumerById(cm.getPersistentKey());
-         if (consumer == null)
+         for (ConsumerMapping cm : getConsumers())
          {
-            consumer = cm.toConsumer(persistenceManager);
+            Consumer consumer = persistenceManager.getConsumerById(cm.getPersistentKey());
+            if (consumer == null)
+            {
+               consumer = cm.toModel((ConsumerSPI)consumer, persistenceManager);
+            }
+
+            group.addConsumer(consumer);
          }
 
-         group.addConsumer(consumer);
+         return group;
       }
-      return group;
+      catch (RegistrationException e)
+      {
+         throw new RuntimeException(e);
+      }
    }
 }

Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerMapping.java	2011-10-12 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/ConsumerMapping.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -34,11 +34,12 @@
 import org.chromattic.api.annotations.Owner;
 import org.chromattic.api.annotations.PrimaryType;
 import org.chromattic.api.annotations.Property;
-import org.gatein.registration.Consumer;
 import org.gatein.registration.ConsumerGroup;
 import org.gatein.registration.Registration;
 import org.gatein.registration.RegistrationException;
 import org.gatein.registration.spi.ConsumerSPI;
+import org.gatein.registration.spi.RegistrationSPI;
+import org.gatein.wsrp.jcr.mapping.BaseMapping;
 import org.gatein.wsrp.registration.JCRRegistrationPersistenceManager;
 
 import java.util.List;
@@ -48,7 +49,7 @@
  * @version $Revision$
  */
 @PrimaryType(name = ConsumerMapping.NODE_NAME)
-public abstract class ConsumerMapping
+public abstract class ConsumerMapping implements BaseMapping<ConsumerSPI, JCRRegistrationPersistenceManager>
 {
    public static final String NODE_NAME = "wsrp:consumer";
 
@@ -112,7 +113,7 @@
          }
 
          // then init
-         rm.initFrom(registration);
+         rm.initFrom((RegistrationSPI)registration);
       }
       else
       {
@@ -124,7 +125,7 @@
       return rm;
    }
 
-   public void initFrom(Consumer consumer)
+   public void initFrom(ConsumerSPI consumer)
    {
       setName(consumer.getName());
       setId(consumer.getId());
@@ -153,23 +154,30 @@
       }
    }
 
-   public ConsumerSPI toConsumer(JCRRegistrationPersistenceManager persistenceManager) throws RegistrationException
+   public ConsumerSPI toModel(ConsumerSPI initial, JCRRegistrationPersistenceManager persistenceManager)
    {
-      ConsumerSPI consumer = persistenceManager.newConsumerSPI(getId(), getName());
+      ConsumerSPI consumer = (initial != null ? initial : persistenceManager.newConsumerSPI(getId(), getName()));
       consumer.setConsumerAgent(getConsumerAgent());
       consumer.setPersistentKey(getPersistentKey());
 
       consumer.setCapabilities(getCapabilities().toConsumerCapabilities());
 
-      ConsumerGroupMapping cgm = getGroup();
-      if (cgm != null)
+      try
       {
-         consumer.setGroup(persistenceManager.getConsumerGroup(cgm.getName()));
+         ConsumerGroupMapping cgm = getGroup();
+         if (cgm != null)
+         {
+            consumer.setGroup(persistenceManager.getConsumerGroup(cgm.getName()));
+         }
+
+         for (RegistrationMapping rm : getRegistrations())
+         {
+            consumer.addRegistration(rm.toRegistration(consumer, persistenceManager));
+         }
       }
-
-      for (RegistrationMapping rm : getRegistrations())
+      catch (RegistrationException e)
       {
-         consumer.addRegistration(rm.toRegistration(persistenceManager, consumer));
+         throw new RuntimeException(e);
       }
 
       return consumer;

Modified: components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationMapping.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationMapping.java	2011-10-12 14:52:32 UTC (rev 7734)
+++ components/wsrp/trunk/jcr-impl/src/main/java/org/gatein/wsrp/registration/mapping/RegistrationMapping.java	2011-10-12 15:11:32 UTC (rev 7735)
@@ -36,11 +36,11 @@
 import org.gatein.pc.api.PortletContext;
 import org.gatein.pc.api.PortletStateType;
 import org.gatein.pc.api.StatefulPortletContext;
-import org.gatein.registration.Registration;
 import org.gatein.registration.RegistrationException;
 import org.gatein.registration.RegistrationStatus;
 import org.gatein.registration.spi.ConsumerSPI;
 import org.gatein.registration.spi.RegistrationSPI;
+import org.gatein.wsrp.jcr.mapping.BaseMapping;
 import org.gatein.wsrp.registration.JCRRegistrationPersistenceManager;
 
 import javax.xml.namespace.QName;
@@ -53,7 +53,7 @@
  * @version $Revision$
  */
 @PrimaryType(name = RegistrationMapping.NODE_NAME)
-public abstract class RegistrationMapping
+public abstract class RegistrationMapping implements BaseMapping<RegistrationSPI, JCRRegistrationPersistenceManager>
 {
    public static final String NODE_NAME = "wsrp:registration";
 
@@ -91,7 +91,7 @@
     *
     * @param registration
     */
-   public void initFrom(Registration registration)
+   public void initFrom(RegistrationSPI registration)
    {
       setStatus(registration.getStatus());
       setRegistrationHandle(registration.getRegistrationHandle());
@@ -136,27 +136,41 @@
       }
    }
 
-   public RegistrationSPI toRegistration(JCRRegistrationPersistenceManager persistenceManager, ConsumerSPI consumer) throws RegistrationException
+   public RegistrationSPI toModel(RegistrationSPI initial, JCRRegistrationPersistenceManager persistenceManager)
    {
-      RegistrationPropertiesMapping rpm = getProperties();
-      Map<QName, Object> props = Collections.emptyMap();
-      if (rpm != null)
-      {
-         props = rpm.toPropMap();
-      }
+      ParameterValidation.throwIllegalArgExceptionIfNull(initial, "RegistrationSPI");
 
-      RegistrationSPI reg = persistenceManager.newRegistrationSPI(consumer, props);
-      reg.setStatus(getStatus());
-      reg.setRegistrationHandle(getRegistrationHandle());
-      reg.setPersistentKey(getPersistentKey());
+      initial.setStatus(getStatus());
+      initial.setRegistrationHandle(getRegistrationHandle());
+      initial.setPersistentKey(getPersistentKey());
 
       Collection<PortletContextMapping> pcms = getPortletContexts();
       for (PortletContextMapping pcm : pcms)
       {
          PortletContext pc = PortletContext.createPortletContext(pcm.getId(), IOTools.safeGetBytes(pcm.getState()));
-         reg.addPortletContext(pc, false); // no need to save since we're loading from persistence :)
+         try
+         {
+            initial.addPortletContext(pc, false); // no need to save since we're loading from persistence :)
+         }
+         catch (RegistrationException e)
+         {
+            throw new RuntimeException(e);
+         }
       }
 
-      return reg;
+      return initial;
    }
+
+   public RegistrationSPI toRegistration(ConsumerSPI consumer, JCRRegistrationPersistenceManager persistenceManager) throws RegistrationException
+   {
+      RegistrationPropertiesMapping rpm = getProperties();
+      Map<QName, Object> props = Collections.emptyMap();
+      if (rpm != null)
+      {
+         props = rpm.toPropMap();
+      }
+
+      RegistrationSPI reg = persistenceManager.newRegistrationSPI(consumer, props);
+      return toModel(reg, persistenceManager);
+   }
 }



More information about the gatein-commits mailing list