Author: chris.laprun(a)jboss.com
Date: 2011-01-26 06:48:32 -0500 (Wed, 26 Jan 2011)
New Revision: 5820
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-198: Fixed improper check to see if we need to reload the RegistrationPolicy.
Added related tests.
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 2011-01-26
11:47:35 UTC (rev 5819)
+++
components/wsrp/trunk/producer/src/main/java/org/gatein/wsrp/producer/config/impl/ProducerRegistrationRequirementsImpl.java 2011-01-26
11:48:32 UTC (rev 5820)
@@ -1,6 +1,6 @@
/*
* JBoss, a division of Red Hat
- * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * Copyright 2011, 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.
@@ -358,12 +358,8 @@
{
// only reload if we don't already have a policy or if the requested
policy/validator classes are different
// from the ones we already have
- if (
- policy == null ||
- (
- ParameterValidation.isOldAndNewDifferent(this.policyClassName,
policyClassName) &&
- ParameterValidation.isOldAndNewDifferent(this.validatorClassName,
validatorClassName)
- )
+ if (policy == null ||
ParameterValidation.isOldAndNewDifferent(this.policyClassName, policyClassName) ||
+ (DEFAULT_POLICY_CLASS_NAME.equals(policyClassName) &&
ParameterValidation.isOldAndNewDifferent(this.validatorClassName, validatorClassName))
)
{
if (policyClassName != null &&
!DEFAULT_POLICY_CLASS_NAME.equals(policyClassName))
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 2011-01-26
11:47:35 UTC (rev 5819)
+++
components/wsrp/trunk/producer/src/test/java/org/gatein/wsrp/producer/config/ProducerRegistrationRequirementsTestCase.java 2011-01-26
11:48:32 UTC (rev 5820)
@@ -1,6 +1,6 @@
/*
* JBoss, a division of Red Hat
- * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * Copyright 2011, 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.
@@ -27,6 +27,8 @@
import org.gatein.registration.RegistrationPolicy;
import org.gatein.registration.RegistrationPolicyChangeListener;
import org.gatein.registration.RegistrationPropertyChangeListener;
+import org.gatein.registration.policies.DefaultRegistrationPolicy;
+import org.gatein.registration.policies.RegistrationPolicyWrapper;
import org.gatein.wsrp.WSRPConstants;
import org.gatein.wsrp.producer.config.impl.ProducerRegistrationRequirementsImpl;
import org.gatein.wsrp.registration.PropertyDescription;
@@ -68,6 +70,20 @@
assertTrue(requirements.getLastModified() > lastModified);
}
+ public void testChangeRegistrationPolicy()
+ {
+ ProducerRegistrationRequirements requirements = new
ProducerRegistrationRequirementsImpl();
+ requirements.setRegistrationRequired(true); // so that we load the policy
+ assertTrue(requirements.getPolicy() instanceof DefaultRegistrationPolicy);
+
+
requirements.reloadPolicyFrom("org.gatein.wsrp.producer.config.TestRegistrationPolicy",
ProducerRegistrationRequirements.DEFAULT_VALIDATOR_CLASS_NAME);
+
+ RegistrationPolicy policy = requirements.getPolicy();
+ assertTrue(policy instanceof RegistrationPolicyWrapper);
+ RegistrationPolicyWrapper wrapper = (RegistrationPolicyWrapper)policy;
+ assertTrue(wrapper.getDelegate() instanceof TestRegistrationPolicy);
+ }
+
public void testSetUnchangedRegistrationProperties()
{
ProducerRegistrationRequirements requirements = new
ProducerRegistrationRequirementsImpl();
Show replies by date