[portal-commits] JBoss Portal SVN: r9179 - in branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal: wsrp/producer and 1 other directory.
portal-commits at lists.jboss.org
portal-commits at lists.jboss.org
Wed Nov 28 22:05:54 EST 2007
Author: chris.laprun at jboss.com
Date: 2007-11-28 22:05:54 -0500 (Wed, 28 Nov 2007)
New Revision: 9179
Modified:
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java
Log:
- JBPORTAL-1821:
+ Fixed RegistrationHandler to properly check the data before accepting to modify a registration.
+ Added test case and fixed testModifyRegistration, which was indeed sending incorrect data!
Modified: branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java 2007-11-29 02:50:09 UTC (rev 9178)
+++ branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/v1/producer/RegistrationTestCase.java 2007-11-29 03:05:54 UTC (rev 9179)
@@ -194,6 +194,7 @@
org.jboss.portal.wsrp.core.Property[] newProps = new org.jboss.portal.wsrp.core.Property[props.length + 1];
System.arraycopy(props, 0, newProps, 0, props.length);
newProps[props.length] = new org.jboss.portal.wsrp.core.Property(newPropName, "en", "blah", null);
+ regData.setRegistrationProperties(newProps);
// Modify registration and get service description
registrationService.modifyRegistration(new ModifyRegistration(rc, regData));
@@ -201,6 +202,30 @@
checkServiceDescriptionWithOnlyBasicPortlet(gs);
}
+ public void testModifyRegistrationIncorrectData() throws Exception
+ {
+ // initiate registration
+ configureRegistrationSettings(true, false);
+ RegistrationContext rc = registerConsumer();
+
+ // now modify Producer's set of required registration info
+ String newPropName = "New Prop";
+ RegistrationPropertyDescription regProp = new RegistrationPropertyDescription(newPropName,
+ new QName("urn:oasis:names:tc:wsrp:v1:types", "LocalizedString", "ns1"));
+ regProp.setDefaultLabel("New Registration Property");
+ producer.getProducerRegistrationRequirements().addRegistrationProperty(regProp);
+
+ try
+ {
+ registrationService.modifyRegistration(new ModifyRegistration(rc, createBaseRegData()));
+ ExtendedAssert.fail("Passing incorrect data should fail");
+ }
+ catch (OperationFailedFault operationFailedFault)
+ {
+ // expected
+ }
+ }
+
public void testRegister() throws Exception
{
configureRegistrationSettings(true, false);
Modified: branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java 2007-11-29 02:50:09 UTC (rev 9178)
+++ branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/wsrp/producer/RegistrationHandler.java 2007-11-29 03:05:54 UTC (rev 9179)
@@ -44,6 +44,7 @@
import org.jboss.portal.wsrp.core.RegistrationState;
import org.jboss.portal.wsrp.core.ReturnAny;
import org.jboss.portal.wsrp.core.WSRP_v1_Registration_PortType;
+import org.jboss.portal.wsrp.producer.config.ProducerRegistrationRequirements;
import javax.xml.namespace.QName;
import java.rmi.RemoteException;
@@ -211,7 +212,14 @@
try
{
Registration registration = producer.getRegistrationManager().getRegistration(registrationHandle);
- registration.updateProperties(createRegistrationProperties(registrationData));
+
+ Map properties = createRegistrationProperties(registrationData);
+
+ // check that the given registration properties are acceptable according to expectations and policy
+ ProducerRegistrationRequirements req = producer.getProducerRegistrationRequirements();
+ req.getPolicy().validateRegistrationDataFor(properties, consumerName);
+
+ registration.updateProperties(properties);
updateRegistrationInformation(registration, registrationData);
}
catch (NoSuchRegistrationException e)
@@ -227,6 +235,7 @@
}
+ log.debug("Modified registration with handle '" + registrationHandle + "'");
return null;
}
More information about the portal-commits
mailing list