Author: veithen Date: Tue Mar 30 10:57:11 2010 New Revision: 929077 URL: http://svn.apache.org/viewvc?rev=929077&view=rev Log: AXIS2-4662: Some more PoC code that shows how POJO service deployment with Spring could look like.
Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ParameterUtil.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceFactoryBean.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceParser.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/SpringServiceObjectSupplier.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportDescriptionFactoryBean.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactoryBean.java - copied, changed from r928727, axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactory.java axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportOutDescriptionFactoryBean.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportParser.java - copied, changed from r928819, axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportReceiverParser.java axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/axis2_default_spring.xml (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherServiceRunner.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherSpringService.java (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/context.xml (with props) axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/log4j.properties (with props) Removed: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactory.java axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportReceiverParser.java Modified: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/pom.xml axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/AxisConfigurationBeanFactoryPostProcessor.java axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ConfigurationContextFactoryBean.java 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/resources/schemas/spring-axis2.xsd Modified: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/pom.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/pom.xml?rev=929077&r1=929076&r2=929077&view=diff ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/pom.xml (original) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/pom.xml Tue Mar 30 10:57:11 2010 @@ -62,6 +62,17 @@ <version>${project.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-adb</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <scope>test</scope> + </dependency> </dependencies> <build> <plugins> Modified: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/AxisConfigurationBeanFactoryPostProcessor.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/AxisConfigurationBeanFactoryPostProcessor.java?rev=929077&r1=929076&r2=929077&view=diff ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/AxisConfigurationBeanFactoryPostProcessor.java (original) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/AxisConfigurationBeanFactoryPostProcessor.java Tue Mar 30 10:57:11 2010 @@ -25,6 +25,7 @@ import java.util.Map; import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.description.TransportInDescription; +import org.apache.axis2.description.TransportOutDescription; import org.springframework.beans.BeansException; import org.springframework.beans.PropertyValue; import org.springframework.beans.factory.config.BeanDefinition; @@ -41,6 +42,7 @@ public class AxisConfigurationBeanFactor configurationContextMap.put(name, beanFactory.getBeanDefinition(name)); } processItems(beanFactory, configurationContextMap, TransportInDescription.class, "transportInDescriptions"); + processItems(beanFactory, configurationContextMap, TransportOutDescription.class, "transportOutDescriptions"); } private void processItems(ConfigurableListableBeanFactory beanFactory, Modified: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ConfigurationContextFactoryBean.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/ConfigurationContextFactoryBean.java?rev=929077&r1=929076&r2=929077&view=diff ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ConfigurationContextFactoryBean.java (original) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ConfigurationContextFactoryBean.java Tue Mar 30 10:57:11 2010 @@ -21,32 +21,49 @@ package org.apache.axis2.spring; import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.context.ConfigurationContextFactory; import org.apache.axis2.description.TransportInDescription; +import org.apache.axis2.description.TransportOutDescription; import org.apache.axis2.engine.AxisConfiguration; import org.springframework.beans.factory.FactoryBean; +import org.springframework.beans.factory.InitializingBean; -public class ConfigurationContextFactoryBean implements FactoryBean { +public class ConfigurationContextFactoryBean implements FactoryBean, InitializingBean { private TransportInDescription[] transportInDescriptions; + private TransportOutDescription[] transportOutDescriptions; + private ConfigurationContext configurationContext; public void setTransportInDescriptions(TransportInDescription[] transportInDescriptions) { this.transportInDescriptions = transportInDescriptions; } - public Class getObjectType() { + public void setTransportOutDescriptions(TransportOutDescription[] transportOutDescriptions) { + this.transportOutDescriptions = transportOutDescriptions; + } + + public Class<?> getObjectType() { return ConfigurationContext.class; } public boolean isSingleton() { - return false; + return true; } - public Object getObject() throws Exception { - ConfigurationContext configurationContext = ConfigurationContextFactory.createEmptyConfigurationContext(); + public void afterPropertiesSet() throws Exception { + configurationContext = ConfigurationContextFactory.createBasicConfigurationContext("axis2_default_spring.xml"); +// configurationContext = ConfigurationContextFactory.createEmptyConfigurationContext(); AxisConfiguration config = configurationContext.getAxisConfiguration(); if (transportInDescriptions != null) { for (TransportInDescription description : transportInDescriptions) { config.addTransportIn(description); } } + if (transportOutDescriptions != null) { + for (TransportOutDescription description : transportOutDescriptions) { + config.addTransportOut(description); + } + } + } + + public Object getObject() throws Exception { return configurationContext; } } 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=929077&r1=929076&r2=929077&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 10:57:11 2010 @@ -23,7 +23,9 @@ import org.springframework.beans.factory public class NamespaceHandler extends NamespaceHandlerSupport { public void init() { registerBeanDefinitionParser("configurationContext", new ConfigurationContextParser()); - registerBeanDefinitionParser("transportReceiver", new TransportReceiverParser()); + registerBeanDefinitionParser("transportReceiver", new TransportParser(TransportInDescriptionFactoryBean.class, "receiver")); + registerBeanDefinitionParser("transportSender", new TransportParser(TransportOutDescriptionFactoryBean.class, "sender")); registerBeanDefinitionParser("listenerManager", new ListenerManagerParser()); + registerBeanDefinitionParser("pojoService", new PojoServiceParser()); } } Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ParameterUtil.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/ParameterUtil.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ParameterUtil.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ParameterUtil.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,45 @@ +/* + * 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 java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.apache.axis2.description.Parameter; +import org.springframework.util.xml.DomUtils; +import org.w3c.dom.Element; + +public class ParameterUtil { + private ParameterUtil() {} + + public static List<Parameter> parseParameters(Element parent) { + List elements = DomUtils.getChildElementsByTagName(parent, "parameter"); + List<Parameter> parameters = new ArrayList<Parameter>(elements.size()); + for (Iterator it = elements.iterator(); it.hasNext(); ) { + Element element = (Element)it.next(); + Parameter parameter = new Parameter(element.getAttribute("name"), element.getTextContent()); + if ("true".equals(element.getAttribute("locked"))) { + parameter.setLocked(true); + } + parameters.add(parameter); + } + return parameters; + } +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/ParameterUtil.java ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/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/PojoServiceFactoryBean.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceFactoryBean.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceFactoryBean.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,61 @@ +/* + * 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.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; + +public class PojoServiceFactoryBean implements FactoryBean, InitializingBean { + private ConfigurationContext configurationContext; + private Object serviceObject; + private AxisService service; + + public void setConfigurationContext(ConfigurationContext configurationContext) { + this.configurationContext = configurationContext; + } + + public void setServiceObject(Object serviceObject) { + this.serviceObject = serviceObject; + } + + public Class<?> getObjectType() { + return AxisService.class; + } + + public boolean isSingleton() { + return true; + } + + 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); + } + + public Object getObject() throws Exception { + return service; + } +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceFactoryBean.java ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/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/PojoServiceParser.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceParser.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceParser.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,46 @@ +/* + * 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.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 { + @Override + protected Class<?> getBeanClass(Element element) { + return PojoServiceFactoryBean.class; + } + + @Override + protected boolean shouldGenerateId() { + return true; + } + + @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); + builder.addPropertyReference("serviceObject", element.getAttribute("bean")); + } +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/PojoServiceParser.java ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/SpringServiceObjectSupplier.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/SpringServiceObjectSupplier.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/SpringServiceObjectSupplier.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/SpringServiceObjectSupplier.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,38 @@ +package org.apache.axis2.spring; + +import org.apache.axis2.AxisFault; +import org.apache.axis2.ServiceObjectSupplier; +import org.apache.axis2.description.AxisService; +import org.apache.axis2.description.Parameter; +import org.apache.axis2.i18n.Messages; + +/** + * This class provides an AxisService with its corresponding Spring managed + * Service implementation if it exists in springBeans map. + * + * @author Stephan van Hugten + * + */ +public class SpringServiceObjectSupplier implements ServiceObjectSupplier { + + public static final String SERVICE_SPRING_BEANNAME = "SpringBeanName"; + + /* + * (non-Javadoc) + * + * @see + * org.apache.axis2.ServiceObjectSupplier#getServiceObject(org.apache.axis2 + * .description.AxisService) + */ + public Object getServiceObject(AxisService axisService) throws AxisFault { + Parameter serviceSpringBeanName = axisService + .getParameter(SERVICE_SPRING_BEANNAME); + if (serviceSpringBeanName != null) { + return serviceSpringBeanName.getValue(); + } else { + throw new AxisFault(Messages.getMessage("paramIsNotSpecified", + "SERVICE_SPRING_BEANNAME")); + } + } + +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/SpringServiceObjectSupplier.java ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportDescriptionFactoryBean.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/TransportDescriptionFactoryBean.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportDescriptionFactoryBean.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportDescriptionFactoryBean.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,52 @@ +/* + * 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 java.util.List; + +import org.apache.axis2.description.Parameter; +import org.apache.axis2.description.ParameterInclude; +import org.springframework.beans.factory.FactoryBean; + +public abstract class TransportDescriptionFactoryBean implements FactoryBean { + private String name; + private List<Parameter> parameters; + + public void setName(String name) { + this.name = name; + } + + public void setParameters(List<Parameter> parameters) { + this.parameters = parameters; + } + + public boolean isSingleton() { + return false; + } + + public Object getObject() throws Exception { + ParameterInclude description = createDescription(name); + for (Parameter parameter : parameters) { + description.addParameter(parameter); + } + return description; + } + + protected abstract ParameterInclude createDescription(String name); +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportDescriptionFactoryBean.java ------------------------------------------------------------------------------ svn:eol-style = native Copied: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactoryBean.java (from r928727, axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactory.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/TransportInDescriptionFactoryBean.java?p2=axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactoryBean.java&p1=axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactory.java&r1=928727&r2=929077&rev=929077&view=diff ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactory.java (original) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportInDescriptionFactoryBean.java Tue Mar 30 10:57:11 2010 @@ -18,31 +18,23 @@ */ package org.apache.axis2.spring; +import org.apache.axis2.description.ParameterInclude; import org.apache.axis2.description.TransportInDescription; import org.apache.axis2.transport.TransportListener; -import org.springframework.beans.factory.FactoryBean; -public class TransportInDescriptionFactory implements FactoryBean { - private String name; +public class TransportInDescriptionFactoryBean extends TransportDescriptionFactoryBean { private TransportListener receiver; - public void setName(String name) { - this.name = name; - } - public void setReceiver(TransportListener receiver) { this.receiver = receiver; } - public Class getObjectType() { + public Class<?> getObjectType() { return TransportInDescription.class; } - public boolean isSingleton() { - return false; - } - - public Object getObject() throws Exception { + @Override + protected ParameterInclude createDescription(String name) { TransportInDescription description = new TransportInDescription(name); description.setReceiver(receiver); return description; Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportOutDescriptionFactoryBean.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/TransportOutDescriptionFactoryBean.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportOutDescriptionFactoryBean.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportOutDescriptionFactoryBean.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,43 @@ +/* + * 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.description.ParameterInclude; +import org.apache.axis2.description.TransportOutDescription; +import org.apache.axis2.transport.TransportSender; + +public class TransportOutDescriptionFactoryBean extends TransportDescriptionFactoryBean { + private TransportSender sender; + + public void setSender(TransportSender sender) { + this.sender = sender; + } + + public Class<?> getObjectType() { + return TransportOutDescription.class; + } + + @Override + protected ParameterInclude createDescription(String name) { + TransportOutDescription description = new TransportOutDescription(name); + description.setSender(sender); + return description; + } +} + Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportOutDescriptionFactoryBean.java ------------------------------------------------------------------------------ svn:eol-style = native Copied: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportParser.java (from r928819, axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportReceiverParser.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/TransportParser.java?p2=axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportParser.java&p1=axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportReceiverParser.java&r1=928819&r2=929077&rev=929077&view=diff ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportReceiverParser.java (original) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/java/org/apache/axis2/spring/TransportParser.java Tue Mar 30 10:57:11 2010 @@ -24,10 +24,18 @@ import org.springframework.beans.factory import org.springframework.beans.factory.xml.ParserContext; import org.w3c.dom.Element; -public class TransportReceiverParser extends AbstractSingleBeanDefinitionParser { +public class TransportParser extends AbstractSingleBeanDefinitionParser { + private final Class<?> beanClass; + private final String propertyName; + + public TransportParser(Class<?> beanClass, String propertyName) { + this.beanClass = beanClass; + this.propertyName = propertyName; + } + @Override - protected Class getBeanClass(Element element) { - return TransportInDescriptionFactory.class; + protected Class<?> getBeanClass(Element element) { + return beanClass; } @Override @@ -42,6 +50,7 @@ public class TransportReceiverParser ext builder.addPropertyValue("name", element.getAttribute("name")); BeanDefinitionBuilder receiver = BeanDefinitionBuilder.rootBeanDefinition(element.getAttribute("class")); receiver.setSource(parserContext.extractSource(element)); - builder.addPropertyValue("receiver", receiver.getBeanDefinition()); + builder.addPropertyValue(propertyName, receiver.getBeanDefinition()); + builder.addPropertyValue("parameters", ParameterUtil.parseParameters(element)); } } Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/axis2_default_spring.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/axis2_default_spring.xml?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/axis2_default_spring.xml (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/axis2_default_spring.xml Tue Mar 30 10:57:11 2010 @@ -0,0 +1,248 @@ +<!-- + ~ 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. + --> + +<axisconfig name="AxisJava2.0"> + <!-- ================================================= --> + <!-- Parameters --> + <!-- ================================================= --> + <parameter name="hotdeployment">true</parameter> + <parameter name="hotupdate">false</parameter> + <parameter name="enableMTOM">false</parameter> + + <!--If turned on with use the Accept header of the request to determine the contentType of the + response--> + <parameter name="httpContentNegotiation">false</parameter> + + <!--During a fault, stacktrace can be sent with the fault message. The following flag will control --> + <!--that behaviour.--> + <parameter name="sendStacktraceDetailsWithFaults">true</parameter> + + <!--If there aren't any information available to find out the fault reason, we set the message of the exception--> + <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be --> + <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag--> + <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.--> + <parameter name="DrillDownToRootCauseForFaultReason">false</parameter> + + <!--This is the user name and password of admin console--> + <parameter name="userName">admin</parameter> + <parameter name="password">axis2</parameter> + + <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.--> + <!--ServicesDirectory only works on the following cases--> + <!---File based configurator and in that case the value should be a file URL (http:// not allowed)--> + <!---When creating URL Based configurator with URL âfile://â --> + <!--- War based configurator with expanded case , --> + + <!--All the other scenarios it will be ignored.--> + <!--<parameter name="ServicesDirectory">service</parameter>--> + <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path--> + <!--<parameter name="ModulesDirectory">modules</parameter>--> + + <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context--> + <!--root which can configured using the following contextRoot parameter--> + <!--<parameter name="contextRoot">axis2</parameter>--> + + <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguish those endpoints--> + <!--<parameter name="servicePath">services</parameter>--> + <!--<parameter name="restPath">rest</parameter>--> + + <!-- Following parameter will completely disable REST handling in Axis2--> + <parameter name="disableREST" locked="false">false</parameter> + + <!--POJO deployer , this will alow users to drop .class file and make that into a service--> + <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/> + <deployer extension=".jar" directory="transports" class="org.apache.axis2.deployment.TransportDeployer"/> + + <!-- Following parameter will set the host name for the epr--> + <!--<parameter name="hostname" locked="true">myhost.com</parameter>--> + + <!-- ================================================= --> + <!-- Message Receivers --> + <!-- ================================================= --> + <!--This is the Default Message Receiver for the system , if you want to have MessageReceivers for --> + <!--all the other MEP implement it and add the correct entry to here , so that you can refer from--> + <!--any operation --> + <!--Note : You can override this for particular service by adding the same element with your requirement--> + <messageReceivers> + <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" + class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> + <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" + class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> + <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only" + class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> + <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out" + class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> + </messageReceivers> + + <!-- ================================================= --> + <!-- Message Formatter --> + <!-- ================================================= --> + <!--Following content type to message formatter mapping can be used to implement support for different message --> + <!--format serialization in Axis2. These message formats are expected to be resolved based on the content type. --> + <messageFormatters> + <messageFormatter contentType="application/x-www-form-urlencoded" + class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/> + <messageFormatter contentType="multipart/form-data" + class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/> + <messageFormatter contentType="application/xml" + class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/> + <messageFormatter contentType="text/xml" + class="org.apache.axis2.transport.http.SOAPMessageFormatter"/> + <messageFormatter contentType="application/soap+xml" + class="org.apache.axis2.transport.http.SOAPMessageFormatter"/> + </messageFormatters> + + <!-- ================================================= --> + <!-- Message Builders --> + <!-- ================================================= --> + <!--Following content type to builder mapping can be used to implement support for different message --> + <!--formats in Axis2. These message formats are expected to be resolved based on the content type. --> + <messageBuilders> + <messageBuilder contentType="application/xml" + class="org.apache.axis2.builder.ApplicationXMLBuilder"/> + <messageBuilder contentType="application/x-www-form-urlencoded" + class="org.apache.axis2.builder.XFormURLEncodedBuilder"/> + <!--Left commented because it adds the depandancy of servlet-api to other modules. + Please uncomment to Receive messages in multipart/form-data format--> + <!--<messageBuilder contentType="multipart/form-data"--> + <!--class="org.apache.axis2.builder.MultipartFormDataBuilder"/>--> + </messageBuilders> + + <!-- ================================================= --> + <!-- Target Resolvers --> + <!-- ================================================= --> + <!-- Uncomment the following and specify the class name for your TargetResolver to add --> + <!-- a TargetResolver. TargetResolvers are used to process the To EPR for example to --> + <!-- choose a server in a cluster --> + <!--<targetResolvers>--> + <!--<targetResolver class="" />--> + <!--</targetResolvers>--> + + <!-- ================================================= --> + <!-- SOAP Role Configuration --> + <!-- ================================================= --> + <!-- Use the following pattern to configure this axis2 + instance to act in particular roles. Note that in + the absence of any configuration, Axis2 will act + only in the ultimate receiver role --> + <!-- + <SOAPRoleConfiguration isUltimateReceiver="true"> + <role>http://my/custom/role</role> + </SOAPRoleConfiguration> + --> + + <!-- ================================================= --> + <!-- Phases --> + <!-- ================================================= --> + <phaseOrder type="InFlow"> + <!-- System pre-defined phases --> + <phase name="Transport"> + <handler name="RequestURIBasedDispatcher" + class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"> + <order phase="Transport"/> + </handler> + <handler name="SOAPActionBasedDispatcher" + class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"> + <order phase="Transport"/> + </handler> + </phase> + <phase name="Addressing"> + <handler name="AddressingBasedDispatcher" + class="org.apache.axis2.dispatchers.AddressingBasedDispatcher"> + <order phase="Addressing"/> + </handler> + </phase> + <phase name="Security"/> + <phase name="PreDispatch"/> + <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"> + <handler name="RequestURIBasedDispatcher" + class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/> + <handler name="SOAPActionBasedDispatcher" + class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/> + <handler name="RequestURIOperationDispatcher" + class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/> + <handler name="SOAPMessageBodyBasedDispatcher" + class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/> + + <handler name="HTTPLocationBasedDispatcher" + class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/> + </phase> + <!-- System pre defined phases --> + <phase name="RMPhase"/> + <phase name="OpPhase"/> + <!-- After Postdispatch phase module author or or service author can add any phase he want --> + <phase name="OperationInPhase"/> + </phaseOrder> + <phaseOrder type="OutFlow"> + <phase name="RMPhase"/> + <phase name="OpPhase"/> + <!-- user can add his own phases to this area --> + <phase name="OperationOutPhase"/> + <!--system predefined phase--> + <!--these phase will run irrespective of the service--> + <phase name="PolicyDetermination"/> + <phase name="MessageOut"/> + <phase name="Security"/> + </phaseOrder> + <phaseOrder type="InFaultFlow"> + <phase name="Transport"> + <handler name="RequestURIBasedDispatcher" + class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"> + <order phase="Transport"/> + </handler> + <handler name="SOAPActionBasedDispatcher" + class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"> + <order phase="Transport"/> + </handler> + </phase> + <phase name="Addressing"> + <handler name="AddressingBasedDispatcher" + class="org.apache.axis2.dispatchers.AddressingBasedDispatcher"> + <order phase="Addressing"/> + </handler> + </phase> + <phase name="Security"/> + <phase name="PreDispatch"/> + <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"> + <handler name="RequestURIBasedDispatcher" + class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/> + <handler name="SOAPActionBasedDispatcher" + class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/> + <handler name="RequestURIOperationDispatcher" + class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/> + <handler name="SOAPMessageBodyBasedDispatcher" + class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/> + + <handler name="HTTPLocationBasedDispatcher" + class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/> + </phase> + <phase name="RMPhase"/> + <phase name="OpPhase"/> + <!-- user can add his own phases to this area --> + <phase name="OperationInFaultPhase"/> + </phaseOrder> + <phaseOrder type="OutFaultFlow"> + <!-- user can add his own phases to this area --> + <phase name="OperationOutFaultPhase"/> + <phase name="RMPhase"/> + <phase name="PolicyDetermination"/> + <phase name="MessageOut"/> + <phase name="Security"/> + </phaseOrder> +</axisconfig> \ No newline at end of file Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/main/resources/axis2_default_spring.xml ------------------------------------------------------------------------------ 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=929077&r1=929076&r2=929077&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 10:57:11 2010 @@ -50,7 +50,13 @@ <element name="transportSender" type="tns:transportDescription"/> <element name="listenerManager"> <complexType> - <attribute name="configurationContext"/> + <attribute name="configurationContext" use="optional"/> </complexType> </element> -</schema> \ No newline at end of file + <element name="pojoService"> + <complexType> + <attribute name="configurationContext" use="optional"/> + <attribute name="bean" use="required"/> + </complexType> + </element> +</schema> Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherServiceRunner.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/WeatherServiceRunner.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherServiceRunner.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherServiceRunner.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,12 @@ +package org.apache.axis2.spring; + +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class WeatherServiceRunner { + public static void main(String[] args) throws Exception { + ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("context.xml"); + synchronized (WeatherServiceRunner.class) { + WeatherServiceRunner.class.wait(); + } + } +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherServiceRunner.java ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherSpringService.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/WeatherSpringService.java?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherSpringService.java (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherSpringService.java Tue Mar 30 10:57:11 2010 @@ -0,0 +1,15 @@ +package org.apache.axis2.spring; + +import javax.jws.WebMethod; +import javax.jws.WebService; + +...@webservice(name="WeatherSpringService", +targetNamespace="http://example.com/ns", +serviceName="WeatherService") +public class WeatherSpringService { + + @WebMethod(action="http://example.com/actions/getTodaysWeather") + public String getTodaysWeather() { + return "Today it's 90 degrees outside!"; + } +} Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/java/org/apache/axis2/spring/WeatherSpringService.java ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/context.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/context.xml?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/context.xml (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/context.xml Tue Mar 30 10:57:11 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:beans xmlns:beans="http://www.springframework.org/schema/beans" + xmlns="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://axis.apache.org/spring-axis2 http://axis.apache.org/schema/spring-axis2.xsd"> + <configurationContext/> + <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"> + <parameter name="port">6060</parameter> + </transportReceiver> + <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <parameter name="PROTOCOL">HTTP/1.1</parameter> + <parameter name="Transfer-Encoding">chunked</parameter> + </transportSender> + <listenerManager/> + <pojoService bean="weatherService"/> + <beans:bean id="weatherService" class="org.apache.axis2.spring.WeatherSpringService"/> +</beans:beans> Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/context.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/log4j.properties?rev=929077&view=auto ============================================================================== --- axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/log4j.properties (added) +++ axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/log4j.properties Tue Mar 30 10:57:11 2010 @@ -0,0 +1,23 @@ +# +# 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. +# +log4j.rootCategory=DEBUG, CONSOLE + +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n Propchange: axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/src/test/resources/log4j.properties ------------------------------------------------------------------------------ svn:executable = *