Author: veithen
Date: Tue Mar 30 20:14:50 2010
New Revision: 929250

URL: http://svn.apache.org/viewvc?rev=929250&view=rev
Log:
AXIS2-4662: Added some code to show automatic deployment of JSR-181 annotated 
services. Kudos to Stephan van Hugten for suggesting this feature and showing 
how to implement it.

Added:
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceUtil.java
   (with props)
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceUtil.java
   (with props)
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessor.java
   (with props)
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorParser.java
   (with props)
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorTest.java
   (with props)
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/jsr181.xml
   (with props)
Modified:
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceHandler.java
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/cfgctx/ListenerManagerParser.java
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceFactoryBean.java
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceParser.java
    
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/schemas/spring-axis2.xsd

Modified: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceHandler.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceHandler.java?rev=929250&r1=929249&r2=929250&view=diff
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceHandler.java
 (original)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceHandler.java
 Tue Mar 30 20:14:50 2010
@@ -24,6 +24,7 @@ import org.apache.axis2.spring.cfgctx.Tr
 import org.apache.axis2.spring.cfgctx.TransportOutDescriptionFactoryBean;
 import org.apache.axis2.spring.cfgctx.TransportParser;
 import org.apache.axis2.spring.service.PojoServiceParser;
+import 
org.apache.axis2.spring.service.WebServiceAnnotationBeanPostProcessorParser;
 import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
 
 public class NamespaceHandler extends NamespaceHandlerSupport {
@@ -33,5 +34,6 @@ public class NamespaceHandler extends Na
         registerBeanDefinitionParser("transportSender", new 
TransportParser(TransportOutDescriptionFactoryBean.class, "sender"));
         registerBeanDefinitionParser("listenerManager", new 
ListenerManagerParser());
         registerBeanDefinitionParser("pojoService", new PojoServiceParser());
+        registerBeanDefinitionParser("webServiceAnnotationBeanPostProcessor", 
new WebServiceAnnotationBeanPostProcessorParser());
     }
 }

Added: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceUtil.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceUtil.java?rev=929250&view=auto
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceUtil.java
 (added)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceUtil.java
 Tue Mar 30 20:14:50 2010
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.spring;
+
+import org.apache.axis2.spring.cfgctx.Constants;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.util.StringUtils;
+import org.w3c.dom.Element;
+
+public class NamespaceUtil {
+    private NamespaceUtil() {}
+    
+    public static void parseConfigurationContext(Element element, 
BeanDefinitionBuilder builder) {
+        String configurationContextName = 
element.getAttribute("configurationContext");
+        if (!StringUtils.hasText(configurationContextName)) {
+            configurationContextName = 
Constants.DEFAULT_CONFIGURATION_CONTEXT_BEAN_NAME;
+        }
+        builder.addPropertyReference("configurationContext", 
configurationContextName);
+    }
+}

Propchange: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/NamespaceUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/cfgctx/ListenerManagerParser.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/cfgctx/ListenerManagerParser.java?rev=929250&r1=929249&r2=929250&view=diff
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/cfgctx/ListenerManagerParser.java
 (original)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/cfgctx/ListenerManagerParser.java
 Tue Mar 30 20:14:50 2010
@@ -18,14 +18,14 @@
  */
 package org.apache.axis2.spring.cfgctx;
 
+import org.apache.axis2.spring.NamespaceUtil;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import 
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.util.StringUtils;
 import org.w3c.dom.Element;
 
 public class ListenerManagerParser extends AbstractSingleBeanDefinitionParser {
     @Override
-    protected Class getBeanClass(Element element) {
+    protected Class<?> getBeanClass(Element element) {
         return ListenerManagerFactoryBean.class;
     }
 
@@ -36,10 +36,6 @@ public class ListenerManagerParser exten
 
     @Override
     protected void doParse(Element element, BeanDefinitionBuilder builder) {
-        String configurationContextName = 
element.getAttribute("configurationContext");
-        if (!StringUtils.hasText(configurationContextName)) {
-            configurationContextName = 
Constants.DEFAULT_CONFIGURATION_CONTEXT_BEAN_NAME;
-        }
-        builder.addPropertyReference("configurationContext", 
configurationContextName);
+        NamespaceUtil.parseConfigurationContext(element, builder);
     }
 }

Modified: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceFactoryBean.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceFactoryBean.java?rev=929250&r1=929249&r2=929250&view=diff
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceFactoryBean.java
 (original)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceFactoryBean.java
 Tue Mar 30 20:14:50 2010
@@ -18,10 +18,8 @@
  */
 package org.apache.axis2.spring.service;
 
-import org.apache.axis2.Constants;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.description.AxisService;
-import org.apache.axis2.engine.AxisConfiguration;
 import org.springframework.beans.factory.FactoryBean;
 import org.springframework.beans.factory.InitializingBean;
 
@@ -47,12 +45,7 @@ public class PojoServiceFactoryBean impl
     }
 
     public void afterPropertiesSet() throws Exception {
-        String serviceClassName = serviceObject.getClass().getName();
-        AxisConfiguration axisConfig = 
configurationContext.getAxisConfiguration();
-        service = AxisService.createService(serviceClassName, axisConfig);
-        service.addParameter(Constants.SERVICE_OBJECT_SUPPLIER, 
SpringServiceObjectSupplier.class.getName());
-        
service.addParameter(SpringServiceObjectSupplier.SERVICE_SPRING_BEANNAME, 
serviceObject);
-        axisConfig.addService(service);
+        service = PojoServiceUtil.deployPojo(configurationContext, 
serviceObject);
     }
 
     public Object getObject() throws Exception {

Modified: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceParser.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceParser.java?rev=929250&r1=929249&r2=929250&view=diff
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceParser.java
 (original)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceParser.java
 Tue Mar 30 20:14:50 2010
@@ -18,10 +18,9 @@
  */
 package org.apache.axis2.spring.service;
 
-import org.apache.axis2.spring.cfgctx.Constants;
+import org.apache.axis2.spring.NamespaceUtil;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import 
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.util.StringUtils;
 import org.w3c.dom.Element;
 
 public class PojoServiceParser extends AbstractSingleBeanDefinitionParser {
@@ -37,11 +36,7 @@ public class PojoServiceParser extends A
 
     @Override
     protected void doParse(Element element, BeanDefinitionBuilder builder) {
-        String configurationContextName = 
element.getAttribute("configurationContext");
-        if (!StringUtils.hasText(configurationContextName)) {
-            configurationContextName = 
Constants.DEFAULT_CONFIGURATION_CONTEXT_BEAN_NAME;
-        }
-        builder.addPropertyReference("configurationContext", 
configurationContextName);
+        NamespaceUtil.parseConfigurationContext(element, builder);
         builder.addPropertyReference("serviceObject", 
element.getAttribute("bean"));
     }
 }

Added: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceUtil.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceUtil.java?rev=929250&view=auto
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceUtil.java
 (added)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceUtil.java
 Tue Mar 30 20:14:50 2010
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.spring.service;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.AxisConfiguration;
+
+public class PojoServiceUtil {
+    private PojoServiceUtil() {}
+    
+    public static AxisService deployPojo(ConfigurationContext 
configurationContext, Object serviceObject) throws AxisFault {
+        String serviceClassName = serviceObject.getClass().getName();
+        AxisConfiguration axisConfig = 
configurationContext.getAxisConfiguration();
+        AxisService service = AxisService.createService(serviceClassName, 
axisConfig);
+        service.addParameter(Constants.SERVICE_OBJECT_SUPPLIER, 
SpringServiceObjectSupplier.class.getName());
+        
service.addParameter(SpringServiceObjectSupplier.SERVICE_SPRING_BEANNAME, 
serviceObject);
+        axisConfig.addService(service);
+        return service;
+    }
+}

Propchange: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/PojoServiceUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessor.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessor.java?rev=929250&view=auto
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessor.java
 (added)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessor.java
 Tue Mar 30 20:14:50 2010
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.spring.service;
+
+import javax.jws.WebService;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanCreationException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+
+// TODO: this implicitly assumes that all services have application scope; to 
be clarified
+public class WebServiceAnnotationBeanPostProcessor implements 
BeanPostProcessor {
+    private static final long serialVersionUID = -4394340453143619407L;
+    
+    private ConfigurationContext configurationContext;
+    
+    public void setConfigurationContext(ConfigurationContext 
configurationContext) {
+        this.configurationContext = configurationContext;
+    }
+
+    public Object postProcessBeforeInitialization(Object bean, String 
beanName) throws BeansException {
+        return bean;
+    }
+
+    public Object postProcessAfterInitialization(Object bean, String beanName) 
throws BeansException {
+        if (bean.getClass().isAnnotationPresent(WebService.class)) {
+            try {
+                PojoServiceUtil.deployPojo(configurationContext, bean);
+            } catch (AxisFault e) {
+                throw new BeanCreationException(e.getMessage(), e);
+            }
+        }
+        return bean;
+    }
+}

Propchange: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorParser.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorParser.java?rev=929250&view=auto
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorParser.java
 (added)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorParser.java
 Tue Mar 30 20:14:50 2010
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.spring.service;
+
+import org.apache.axis2.spring.NamespaceUtil;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import 
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
+import org.w3c.dom.Element;
+
+public class WebServiceAnnotationBeanPostProcessorParser extends 
AbstractSingleBeanDefinitionParser {
+    @Override
+    protected Class<?> getBeanClass(Element element) {
+        return WebServiceAnnotationBeanPostProcessor.class;
+    }
+
+    @Override
+    protected boolean shouldGenerateId() {
+        return true;
+    }
+
+    @Override
+    protected void doParse(Element element, BeanDefinitionBuilder builder) {
+        NamespaceUtil.parseConfigurationContext(element, builder);
+    }
+}

Propchange: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorParser.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/schemas/spring-axis2.xsd
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/schemas/spring-axis2.xsd?rev=929250&r1=929249&r2=929250&view=diff
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/schemas/spring-axis2.xsd
 (original)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/schemas/spring-axis2.xsd
 Tue Mar 30 20:14:50 2010
@@ -59,4 +59,9 @@
             <attribute name="bean" use="required"/>
         </complexType>
     </element>
+    <element name="webServiceAnnotationBeanPostProcessor">
+        <complexType>
+            <attribute name="configurationContext" use="optional"/>
+        </complexType>
+    </element>
 </schema>

Added: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorTest.java?rev=929250&view=auto
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorTest.java
 (added)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorTest.java
 Tue Mar 30 20:14:50 2010
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.spring.service;
+
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.spring.cfgctx.Constants;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class WebServiceAnnotationBeanPostProcessorTest extends TestCase {
+    public void test() throws Exception {
+        ClassPathXmlApplicationContext appContext = new 
ClassPathXmlApplicationContext("jsr181.xml");
+        ConfigurationContext configurationContext = 
(ConfigurationContext)appContext.getBean(Constants.DEFAULT_CONFIGURATION_CONTEXT_BEAN_NAME);
+        Map<String,AxisService> services = 
configurationContext.getAxisConfiguration().getServices();
+        assertTrue(services.containsKey("WeatherService"));
+    }
+}

Propchange: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/service/WebServiceAnnotationBeanPostProcessorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/jsr181.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/jsr181.xml?rev=929250&view=auto
==============================================================================
--- 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/jsr181.xml
 (added)
+++ 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/jsr181.xml
 Tue Mar 30 20:14:50 2010
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:context="http://www.springframework.org/schema/context";
+       xmlns:axis2="http://axis.apache.org/spring-axis2";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+                           http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-2.5.xsd
+                           http://axis.apache.org/spring-axis2 
http://axis.apache.org/schema/spring-axis2.xsd";>
+    
+    <axis2:configurationContext/>
+    
+    <context:component-scan base-package="org.apache.axis2.spring">
+        <context:include-filter type="annotation" 
expression="javax.jws.WebService"/>
+    </context:component-scan>
+    
+    <axis2:webServiceAnnotationBeanPostProcessor/>
+    
+</beans>

Propchange: 
axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/jsr181.xml
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to