Author: rmannibucau
Date: Sun Jul 7 19:59:56 2013
New Revision: 1500525
URL: http://svn.apache.org/r1500525
Log:
TOMEE-993 WS SEI as @Remote with a flag
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1500525&r1=1500524&r2=1500525&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Sun Jul 7 19:59:56 2013
@@ -327,7 +327,7 @@ public class AnnotationDeployer implemen
public AnnotationDeployer() {
discoverAnnotatedBeans = new DiscoverAnnotatedBeans();
- processAnnotatedBeans = new ProcessAnnotatedBeans();
+ processAnnotatedBeans = new
ProcessAnnotatedBeans(SystemInstance.get().getOptions().get("openejb.jaxws.add-remote",
false));
builtInEnvironmentEntries = new BuiltInEnvironmentEntries();
envEntriesPropertiesDeployer = new EnvEntriesPropertiesDeployer();
mBeanDeployer = new MBeanDeployer();
@@ -1768,6 +1768,12 @@ public class AnnotationDeployer implemen
public static final String STRICT_INTERFACE_DECLARATION =
"openejb.strict.interface.declaration";
+ private final boolean webserviceAsRemote;
+
+ public ProcessAnnotatedBeans(final boolean wsAsRemote) {
+ webserviceAsRemote = wsAsRemote;
+ }
+
public void deploy(CdiBeanInfo beanInfo) throws OpenEJBException{
AnnotationFinder annotationFinder =
createFinder(beanInfo.getBeanClass());
@@ -2852,12 +2858,14 @@ public class AnnotationDeployer implemen
* @WebService
* @WebServiceProvider
*/
+ Class<?> webServiceItf = null;
if (sessionBean.getServiceEndpoint() == null) {
Class defaultEndpoint = BeanContext.ServiceEndpoint.class;
for (Class interfce : clazz.getInterfaces()) {
if (interfce.isAnnotationPresent(WebService.class)) {
defaultEndpoint = interfce;
+ webServiceItf = interfce;
}
}
@@ -2929,6 +2937,11 @@ public class AnnotationDeployer implemen
BusinessInterfaces bean = new BusinessInterfaces();
if (local != null) bean.local.addAll(asList(local.value()));
if (remote != null) bean.remote.addAll(asList(remote.value()));
+ if (webserviceAsRemote
+ && webServiceItf != null
+ && bean.remote.isEmpty()) {
+ bean.remote.add(webServiceItf);
+ }
if (strict) for (Class interfce : bean.local) {
if (bean.remote.contains(interfce)) {