[gatein-commits] gatein SVN: r4959 - in components/wsrp/trunk/producer/src: test/java/org/gatein/wsrp/producer/config and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 5 13:15:51 EDT 2010


Author: chris.laprun at jboss.com
Date: 2010-11-05 13:15:49 -0400 (Fri, 05 Nov 2010)
New Revision: 4959

Modified:
   components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/config/impl/ProducerRegistrationRequirementsImpl.java
   components/wsrp/trunk/producer/src/test/java/org/gatein/wsrp/producer/config/ProducerRegistrationRequirementsTestCase.java
Log:
- GTNWSRP-149: modifyNow wasn't properly called when setRegistrationProperties didn't add new registration properties so it wouldn't be called in the case of simply removing properties.

Modified: components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/config/impl/ProducerRegistrationRequirementsImpl.java
===================================================================
--- components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/config/impl/ProducerRegistrationRequirementsImpl.java	2010-11-05 16:24:35 UTC (rev 4958)
+++ components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/config/impl/ProducerRegistrationRequirementsImpl.java	2010-11-05 17:15:49 UTC (rev 4959)
@@ -105,12 +105,8 @@
 
    public void setRegistrationProperties(Map<QName, RegistrationPropertyDescription> regProps)
    {
-      if (registrationProperties.equals(regProps))
+      if (!registrationProperties.equals(regProps))
       {
-         return;
-      }
-      else
-      {
          registrationProperties.clear();
 
          for (RegistrationPropertyDescription propertyDescription : regProps.values())
@@ -118,6 +114,8 @@
             addRegistrationProperty(new RegistrationPropertyDescription(propertyDescription));
          }
 
+         modifyNow();
+
          notifyRegistrationPropertyChangeListeners();
       }
    }

Modified: components/wsrp/trunk/producer/src/test/java/org/gatein/wsrp/producer/config/ProducerRegistrationRequirementsTestCase.java
===================================================================
--- components/wsrp/trunk/producer/src/test/java/org/gatein/wsrp/producer/config/ProducerRegistrationRequirementsTestCase.java	2010-11-05 16:24:35 UTC (rev 4958)
+++ components/wsrp/trunk/producer/src/test/java/org/gatein/wsrp/producer/config/ProducerRegistrationRequirementsTestCase.java	2010-11-05 17:15:49 UTC (rev 4959)
@@ -33,6 +33,7 @@
 import org.gatein.wsrp.registration.RegistrationPropertyDescription;
 
 import javax.xml.namespace.QName;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -91,6 +92,28 @@
       assertEquals(lastModified, requirements.getLastModified());
    }
 
+   public void testSetRegistrationPropertiesPropertyRemoval()
+   {
+      ProducerRegistrationRequirements requirements = new ProducerRegistrationRequirementsImpl();
+      requirements.addEmptyRegistrationProperty("foo");
+
+      final Map<QName, RegistrationPropertyDescription> expected = Collections.emptyMap();
+
+      long lastModified = requirements.getLastModified();
+
+      requirements.addRegistrationPropertyChangeListener(new RegistrationPropertyChangeListener()
+      {
+         public void propertiesHaveChanged(Map<QName, ? extends PropertyDescription> newRegistrationProperties)
+         {
+            assertEquals(expected, newRegistrationProperties);
+         }
+      });
+
+      requirements.setRegistrationProperties(expected);
+
+      assertTrue(requirements.getLastModified() > lastModified);
+   }
+
    public void testReloadSamePolicy()
    {
       ProducerRegistrationRequirements requirements = new ProducerRegistrationRequirementsImpl();
@@ -129,4 +152,24 @@
       requirements.setRegistrationRequired(true);
    }
 
+   public void testRemoveProperty()
+   {
+      ProducerRegistrationRequirements requirements = new ProducerRegistrationRequirementsImpl();
+      requirements.addEmptyRegistrationProperty("foo");
+
+      long lastModified = requirements.getLastModified();
+
+      requirements.removeRegistrationProperty("foo");
+
+      requirements.addRegistrationPropertyChangeListener(new RegistrationPropertyChangeListener()
+      {
+         public void propertiesHaveChanged(Map<QName, ? extends PropertyDescription> newRegistrationProperties)
+         {
+            assertTrue(newRegistrationProperties.isEmpty());
+         }
+      });
+
+      assertTrue(requirements.getLastModified() > lastModified);
+   }
+
 }



More information about the gatein-commits mailing list