[jboss-cvs] JBossAS SVN: r111388 - in projects/jboss-jca/trunk: deployers/src/main/java/org/jboss/jca/deployers/common and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 17 09:19:18 EDT 2011
Author: jesper.pedersen
Date: 2011-05-17 09:19:16 -0400 (Tue, 17 May 2011)
New Revision: 111388
Modified:
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/EndpointImpl.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
Log:
[JBJCA-575] Proper fix for as.validate()
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/EndpointImpl.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/EndpointImpl.java 2011-05-16 19:35:18 UTC (rev 111387)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/EndpointImpl.java 2011-05-17 13:19:16 UTC (rev 111388)
@@ -22,14 +22,19 @@
package org.jboss.jca.core.rar;
+import org.jboss.jca.core.bv.BeanValidationUtil;
import org.jboss.jca.core.spi.rar.Endpoint;
import java.lang.ref.WeakReference;
+import java.util.Set;
import javax.resource.ResourceException;
import javax.resource.spi.ActivationSpec;
import javax.resource.spi.ResourceAdapter;
import javax.resource.spi.endpoint.MessageEndpointFactory;
+import javax.validation.ConstraintViolationException;
+import javax.validation.Validator;
+import javax.validation.groups.Default;
/**
* An endpoint representation
@@ -53,14 +58,31 @@
/**
* {@inheritDoc}
*/
+ @SuppressWarnings("unchecked")
public void activate(MessageEndpointFactory endpointFactory,
ActivationSpec spec) throws ResourceException
{
+ if (endpointFactory == null)
+ throw new IllegalArgumentException("MessageEndpointFactory is null");
+
+ if (spec == null)
+ throw new IllegalArgumentException("ActivationSpec is null");
+
ResourceAdapter rar = ra.get();
if (rar == null)
throw new ResourceException("ResourceAdapter instance not active");
+ spec.validate();
+
+ Validator validator = BeanValidationUtil.createValidator();
+ Set errors = validator.validate(spec, Default.class);
+
+ if (errors != null && errors.size() > 0)
+ {
+ throw new ResourceException("Validation exception", new ConstraintViolationException(errors));
+ }
+
rar.endpointActivation(endpointFactory, spec);
}
@@ -70,6 +92,12 @@
public void deactivate(MessageEndpointFactory endpointFactory,
ActivationSpec spec) throws ResourceException
{
+ if (endpointFactory == null)
+ throw new IllegalArgumentException("MessageEndpointFactory is null");
+
+ if (spec == null)
+ throw new IllegalArgumentException("ActivationSpec is null");
+
ResourceAdapter rar = ra.get();
if (rar == null)
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-05-16 19:35:18 UTC (rev 111387)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-05-17 13:19:16 UTC (rev 111388)
@@ -571,18 +571,10 @@
log.trace("ActivationSpec defined in classloader: " + as.getClass().getClassLoader());
}
- archiveValidationObjects.add(new ValidateObject(Key.ACTIVATION_SPEC, as, cpm));
- beanValidationObjects.add(as);
+ // Associate for validation
associateResourceAdapter(resourceAdapter, as);
- try
- {
- as.validate();
- }
- catch (Throwable t)
- {
- throw new DeployException("Validation exception for " + as, t);
- }
+ archiveValidationObjects.add(new ValidateObject(Key.ACTIVATION_SPEC, as, cpm));
}
}
}
More information about the jboss-cvs-commits
mailing list