Author: rmannibucau
Date: Mon Aug 22 14:16:45 2011
New Revision: 1160273
URL: http://svn.apache.org/viewvc?rev=1160273&view=rev
Log:
adding the default validator and validator factory in the remote client -
configuration still to manage
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1160273&r1=1160272&r2=1160273&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Mon Aug 22 14:16:45 2011
@@ -1535,6 +1535,7 @@ public class AnnotationDeployer implemen
}
}
+ /* TODO: still useful?
List<String> unusableTypes = new
ArrayList<String>(knownResourceEnvTypes);
unusableTypes.remove("javax.jms.Topic");
unusableTypes.remove("javax.jms.Queue");
@@ -1555,6 +1556,7 @@ public class AnnotationDeployer implemen
}
}
}
+ */
}
public ConnectorModule deploy(ConnectorModule connectorModule) throws
OpenEJBException {
@@ -3673,6 +3675,9 @@ public class AnnotationDeployer implemen
try {
return cls.getMethod("lookup", null);
} catch (NoSuchMethodException e) {
+ logger.error("lookup method is not available for " +
cls.getName()
+ + ". You probably have an old API in the classpath."
+ + "Tomcat is known to have an old annotation-api.jar,
maybe you should replace it.");
return null;
}
}
Modified:
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java?rev=1160273&r1=1160272&r2=1160273&view=diff
==============================================================================
---
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
(original)
+++
openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
Mon Aug 22 14:16:45 2011
@@ -18,7 +18,6 @@ package org.apache.openejb.client;
import org.omg.CORBA.ORB;
-import java.io.Serializable;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.ConnectException;
@@ -32,6 +31,9 @@ import javax.naming.*;
import javax.naming.spi.InitialContextFactory;
import javax.naming.spi.NamingManager;
import javax.sql.DataSource;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
/**
* @version $Rev$ $Date$
@@ -40,6 +42,8 @@ public class JNDIContext implements Init
public static final String DEFAULT_PROVIDER_URL = "ejbd://localhost:4201";
+ private static ValidatorFactory DEFAULT_VALIDATOR_FACTORY;
+
private String tail = "/";
private ServerMetaData server;
private ClientMetaData client;
@@ -242,6 +246,13 @@ public class JNDIContext implements Init
String type = (String) res.getResult();
value = System.getProperty("Resource/" + type);
if (value == null) {
+ if (Validator.class.getName().equals(type)) {
+ return getValidatorFactory().getValidator();
+ } else {
+ if (ValidatorFactory.class.getName().equals(type)) {
+ return getValidatorFactory();
+ }
+ }
return null;
}
return parseEntry(prop, value);
@@ -275,6 +286,17 @@ public class JNDIContext implements Init
}
}
+ private ValidatorFactory getValidatorFactory() {
+ if (DEFAULT_VALIDATOR_FACTORY == null) {
+ synchronized (this) {
+ if (DEFAULT_VALIDATOR_FACTORY == null) {
+ DEFAULT_VALIDATOR_FACTORY =
Validation.buildDefaultValidatorFactory();
+ }
+ }
+ }
+ return DEFAULT_VALIDATOR_FACTORY;
+ }
+
private Object parseEntry(String name, String value) throws
NamingException {
try {
URI uri = new URI(value);
Modified:
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?rev=1160273&r1=1160272&r2=1160273&view=diff
==============================================================================
---
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
(original)
+++
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
Mon Aug 22 14:16:45 2011
@@ -35,6 +35,8 @@ import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.resource.Referenceable;
import javax.sql.DataSource;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
import javax.xml.namespace.QName;
import org.apache.openejb.BeanContext;
@@ -227,6 +229,14 @@ class JndiRequestHandler {
res.setResponseCode(ResponseCodes.JNDI_RESOURCE);
res.setResult(ORB.class.getName());
return;
+ } else if (object instanceof ValidatorFactory) {
+ res.setResponseCode(ResponseCodes.JNDI_RESOURCE);
+ res.setResult(ValidatorFactory.class.getName());
+ return;
+ } else if (object instanceof Validator) {
+ res.setResponseCode(ResponseCodes.JNDI_RESOURCE);
+ res.setResult(Validator.class.getName());
+ return;
}
ServiceRefData serviceRef;