Author: dkulp Date: Mon Sep 19 19:09:02 2011 New Revision: 1172749 URL: http://svn.apache.org/viewvc?rev=1172749&view=rev Log: Merged revisions 1149449 via svnmerge from https://svn.apache.org/repos/asf/camel/trunk
........ r1149449 | ningjiang | 2011-07-21 23:50:16 -0400 (Thu, 21 Jul 2011) | 1 line Merge branch 'CAMEL-4110' into trunk ........ Added: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java - copied unchanged from r1149449, camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java - copied unchanged from r1149449, camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java - copied unchanged from r1149449, camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java - copied unchanged from r1149449, camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java Modified: camel/branches/camel-2.8.x/ (props changed) camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java camel/branches/camel-2.8.x/tests/camel-itest-osgi/pom.xml camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfProxyExampleTest.java Propchange: camel/branches/camel-2.8.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java Mon Sep 19 19:09:02 2011 @@ -17,8 +17,45 @@ package org.apache.camel.component.cxf.blueprint; +import java.util.StringTokenizer; + +import org.w3c.dom.Element; + +import org.apache.aries.blueprint.ParserContext; +import org.apache.aries.blueprint.mutable.MutableBeanMetadata; +import org.apache.camel.component.cxf.CxfBlueprintEndpoint; +import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser; public class AbstractBeanDefinitionParser extends AbstractBPBeanDefinitionParser { + public static String getIdOrName(Element elem) { + String id = elem.getAttribute("id"); + + if (null == id || "".equals(id)) { + String names = elem.getAttribute("name"); + if (null != names) { + StringTokenizer st = new StringTokenizer(names, ","); + if (st.countTokens() > 0) { + id = st.nextToken(); + } + } + } + return id; + } + + public MutableBeanMetadata createBeanMetadata(Element element, ParserContext context, Class runtimeClass) { + MutableBeanMetadata answer = context.createMetadata(MutableBeanMetadata.class); + answer.setRuntimeClass(runtimeClass); + answer.addProperty("blueprintContainer", createRef(context, "blueprintContainer")); + answer.addProperty("bundleContext", createRef(context, "blueprintBundleContext")); + + if (!StringUtils.isEmpty(getIdOrName(element))) { + answer.setId(getIdOrName(element)); + } else { + // TODO we may need to throw exception for it + answer.setId("camel.cxf.endpoint." + runtimeClass.getSimpleName() + "." + context.generateId()); + } + return answer; + } } Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java Mon Sep 19 19:09:02 2011 @@ -54,6 +54,14 @@ public class CxfNamespaceHandler impleme LOG.debug("parsing the cxfEndpoint element"); answer = new EndpointDefinitionParser().parse(element, context); } + if ("rsClient".equals(s)) { + LOG.debug("parsing the rsClient element"); + answer = new RsClientDefinitionParser().parse(element, context); + } + if ("rsServer".equals(s)) { + LOG.debug("parsing the rsServer element"); + answer = new RsServerDefinitionParser().parse(element, context); + } return answer; } Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java Mon Sep 19 19:09:02 2011 @@ -17,9 +17,8 @@ package org.apache.camel.component.cxf.blueprint; -import java.util.StringTokenizer; -import java.util.concurrent.Callable; import javax.xml.namespace.QName; + import org.w3c.dom.Attr; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; @@ -33,35 +32,12 @@ import org.apache.cxf.helpers.DOMUtils; import org.osgi.framework.BundleContext; import org.osgi.service.blueprint.reflect.Metadata; -public class EndpointDefinitionParser extends AbstractBPBeanDefinitionParser { - - public static String getIdOrName(Element elem) { - String id = elem.getAttribute("id"); - - if (null == id || "".equals(id)) { - String names = elem.getAttribute("name"); - if (null != names) { - StringTokenizer st = new StringTokenizer(names, ","); - if (st.countTokens() > 0) { - id = st.nextToken(); - } - } - } - return id; - } +public class EndpointDefinitionParser extends AbstractBeanDefinitionParser { + public Metadata parse(Element element, ParserContext context) { - MutableBeanMetadata endpointConfig = context.createMetadata(MutableBeanMetadata.class); - endpointConfig.setRuntimeClass(CxfBlueprintEndpoint.class); - endpointConfig.addProperty("blueprintContainer", createRef(context, "blueprintContainer")); - endpointConfig.addProperty("bundleContext", createRef(context, "blueprintBundleContext")); - - if (!StringUtils.isEmpty(getIdOrName(element))) { - endpointConfig.setId(getIdOrName(element)); - } else { - endpointConfig.setId("camel.cxf.endpoint." + context.generateId()); - } - + MutableBeanMetadata endpointConfig = createBeanMetadata(element, context, CxfBlueprintEndpoint.class); + NamedNodeMap atts = element.getAttributes(); String bus = null; @@ -119,17 +95,5 @@ public class EndpointDefinitionParser ex return endpointConfig; } - - public static class PassThroughCallable<T> implements Callable<T> { - - private T value; - - public PassThroughCallable(T value) { - this.value = value; - } - - public T call() throws Exception { - return value; - } - } + } Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java Mon Sep 19 19:09:02 2011 @@ -17,47 +17,87 @@ package org.apache.camel.component.cxf.blueprint; +import java.util.List; import java.util.StringTokenizer; +import javax.xml.namespace.QName; + +import org.w3c.dom.Attr; import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; import org.apache.aries.blueprint.ParserContext; import org.apache.aries.blueprint.mutable.MutableBeanMetadata; +import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata; +import org.apache.aries.blueprint.mutable.MutableValueMetadata; import org.apache.camel.component.cxf.CxfBlueprintEndpoint; import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser; +import org.apache.cxf.helpers.DOMUtils; +import org.apache.cxf.jaxrs.model.UserResource; +import org.apache.cxf.jaxrs.utils.ResourceUtils; +import org.osgi.framework.BundleContext; import org.osgi.service.blueprint.reflect.Metadata; -public class RsClientDefinitionParser extends AbstractBPBeanDefinitionParser { +public class RsClientDefinitionParser extends AbstractBeanDefinitionParser { public Metadata parse(Element element, ParserContext context) { - MutableBeanMetadata endpointConfig = context.createMetadata(MutableBeanMetadata.class); - endpointConfig.setRuntimeClass(CxfBlueprintEndpoint.class); - endpointConfig.addProperty("blueprintContainer", createRef(context, "blueprintContainer")); - endpointConfig.addProperty("bundleContext", createRef(context, "blueprintBundleContext")); - - if (!StringUtils.isEmpty(getIdOrName(element))) { - endpointConfig.setId(getIdOrName(element)); - } else { - endpointConfig.setId("camel.cxf.endpoint." + context.generateId()); - } - - return null; - } - - public static String getIdOrName(Element elem) { - String id = elem.getAttribute("id"); + MutableBeanMetadata beanMetadata = createBeanMetadata(element, context, RsClientBlueprintBean.class); + NamedNodeMap atts = element.getAttributes(); - if (null == id || "".equals(id)) { - String names = elem.getAttribute("name"); - if (null != names) { - StringTokenizer st = new StringTokenizer(names, ","); - if (st.countTokens() > 0) { - id = st.nextToken(); + String bus = null; + for (int i = 0; i < atts.getLength(); i++) { + Attr node = (Attr) atts.item(i); + String val = node.getValue(); + String pre = node.getPrefix(); + String name = node.getLocalName(); + if ("bus".equals(name)) { + bus = val; + } else if (isAttribute(pre, name)) { + if ("depends-on".equals(name)) { + beanMetadata.addDependsOn(val); + } else if (!"name".equals(name)) { + beanMetadata.addProperty(name, AbstractBPBeanDefinitionParser.createValue(context, val)); } } } - return id; + + Element elem = DOMUtils.getFirstElement(element); + while (elem != null) { + String name = elem.getLocalName(); + if ("properties".equals(name) || "headers".equals(name)) { + Metadata map = parseMapData(context, beanMetadata, elem); + beanMetadata.addProperty(name, map); + } else if ("binding".equals(name)) { + setFirstChildAsProperty(element, context, beanMetadata, "bindingConfig"); + } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name) || "outInterceptors".equals(name) + || "outFaultInterceptors".equals(name) || "features".equals(name) || "schemaLocations".equals(name) || "handlers".equals(name)) { + Metadata list = parseListData(context, beanMetadata, elem); + beanMetadata.addProperty(name, list); + } else if ("features".equals(name) || "providers".equals(name) + || "schemaLocations".equals(name) || "modelBeans".equals(name) + || "serviceBeans".equals(name)) { + Metadata list = parseListData(context, beanMetadata, elem); + beanMetadata.addProperty(name, list); + } else if ("model".equals(name)) { + List<UserResource> resources = ResourceUtils.getResourcesFromElement(elem); + MutablePassThroughMetadata value = context.createMetadata(MutablePassThroughMetadata.class); + value.setObject(resources); + beanMetadata.addProperty(name, value); + } else { + setFirstChildAsProperty(element, context, beanMetadata, name); + } + } + + if (StringUtils.isEmpty(bus)) { + bus = "cxf"; + } + //Will create a bus if needed... + + beanMetadata.addProperty("bus", getBusRef(context, bus)); + return beanMetadata; } + + } Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java Mon Sep 19 19:09:02 2011 @@ -17,6 +17,81 @@ package org.apache.camel.component.cxf.blueprint; -public class RsServerDefinitionParser { +import java.util.List; + +import org.w3c.dom.Attr; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; + +import org.apache.aries.blueprint.ParserContext; +import org.apache.aries.blueprint.mutable.MutableBeanMetadata; +import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata; +import org.apache.camel.component.cxf.CxfBlueprintEndpoint; +import org.apache.cxf.common.util.StringUtils; +import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser; +import org.apache.cxf.helpers.DOMUtils; +import org.apache.cxf.jaxrs.model.UserResource; +import org.apache.cxf.jaxrs.utils.ResourceUtils; +import org.osgi.service.blueprint.reflect.Metadata; + +public class RsServerDefinitionParser extends AbstractBeanDefinitionParser { + + public Metadata parse(Element element, ParserContext context) { + MutableBeanMetadata beanMetadata = createBeanMetadata(element, context, RsServerBlueprintBean.class); + NamedNodeMap atts = element.getAttributes(); + + String bus = null; + for (int i = 0; i < atts.getLength(); i++) { + Attr node = (Attr) atts.item(i); + String val = node.getValue(); + String pre = node.getPrefix(); + String name = node.getLocalName(); + if ("bus".equals(name)) { + bus = val; + } else if (isAttribute(pre, name)) { + if ("depends-on".equals(name)) { + beanMetadata.addDependsOn(val); + } else if (!"name".equals(name)) { + beanMetadata.addProperty(name, AbstractBPBeanDefinitionParser.createValue(context, val)); + } + } + } + + Element elem = DOMUtils.getFirstElement(element); + while (elem != null) { + String name = elem.getLocalName(); + if ("properties".equals(name) + || "extensionMappings".equals(name) + || "languageMappings".equals(name)) { + Metadata map = parseMapData(context, beanMetadata, elem); + beanMetadata.addProperty(name, map); + } else if ("binding".equals(name)) { + setFirstChildAsProperty(element, context, beanMetadata, "bindingConfig"); + } else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name) || "outInterceptors".equals(name) + || "outFaultInterceptors".equals(name) || "features".equals(name) || "schemaLocations".equals(name) || "handlers".equals(name)) { + Metadata list = parseListData(context, beanMetadata, elem); + beanMetadata.addProperty(name, list); + } else if ("features".equals(name) || "providers".equals(name) + || "schemaLocations".equals(name) || "modelBeans".equals(name)) { + Metadata list = parseListData(context, beanMetadata, elem); + beanMetadata.addProperty(name, list); + } else if ("model".equals(name)) { + List<UserResource> resources = ResourceUtils.getResourcesFromElement(elem); + MutablePassThroughMetadata value = context.createMetadata(MutablePassThroughMetadata.class); + value.setObject(resources); + beanMetadata.addProperty(name, value); + } else { + setFirstChildAsProperty(element, context, beanMetadata, name); + } + } + + if (StringUtils.isEmpty(bus)) { + bus = "cxf"; + } + //Will create a bus if needed... + + beanMetadata.addProperty("bus", getBusRef(context, bus)); + return beanMetadata; + } } Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java Mon Sep 19 19:09:02 2011 @@ -21,6 +21,7 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; +import org.apache.camel.component.cxf.blueprint.BlueprintSupport; import org.apache.camel.component.cxf.common.message.CxfConstants; import org.apache.camel.impl.HeaderFilterStrategyComponent; import org.apache.camel.util.CamelContextHelper; @@ -52,9 +53,11 @@ public class CxfRsComponent extends Head AbstractJAXRSFactoryBean bean = CamelContextHelper.mandatoryLookup(getCamelContext(), beanId, AbstractJAXRSFactoryBean.class); - - answer = new CxfRsSpringEndpoint(this.getCamelContext(), bean); - + if (bean instanceof BlueprintSupport) { + answer = new CxfRsBlueprintEndpoint(this.getCamelContext(), bean); + } else { + answer = new CxfRsSpringEndpoint(this.getCamelContext(), bean); + } // Apply Spring bean properties (including # notation referenced bean). Note that the // Spring bean properties values can be overridden by property defined in URI query. // The super class (DefaultComponent) will invoke "setProperties" after this method Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java Mon Sep 19 19:09:02 2011 @@ -26,9 +26,6 @@ import org.apache.camel.Component; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; -import org.apache.camel.component.cxf.CxfEndpointUtils; -import org.apache.camel.component.cxf.spring.SpringJAXRSClientFactoryBean; -import org.apache.camel.component.cxf.spring.SpringJAXRSServerFactoryBean; import org.apache.camel.impl.DefaultEndpoint; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategyAware; @@ -139,35 +136,56 @@ public class CxfRsEndpoint extends Defau return binding; } + + protected void checkBeanType(Object object, Class<?> clazz) { + if (!clazz.isAssignableFrom(object.getClass())) { + throw new IllegalArgumentException("The configure bean is not the instance of " + clazz.getName()); + } + } protected void setupJAXRSServerFactoryBean(JAXRSServerFactoryBean sfb) { // address - sfb.setAddress(getAddress()); - sfb.setResourceClasses(CastUtils.cast(getResourceClasses(), Class.class)); + if (getAddress() != null) { + sfb.setAddress(getAddress()); + } + if (getResourceClasses()!= null) { + sfb.setResourceClasses(CastUtils.cast(getResourceClasses(), Class.class)); + } sfb.setStart(false); } protected void setupJAXRSClientFactoryBean(JAXRSClientFactoryBean cfb, String address) { // address - cfb.setAddress(address); + if (address != null) { + cfb.setAddress(address); + } if (getResourceClasses() != null) { cfb.setResourceClass(getResourceClasses().get(0)); } cfb.setThreadSafe(true); } + + protected JAXRSServerFactoryBean newJAXRSServerFactoryBean() { + return new JAXRSServerFactoryBean(); + } + + protected JAXRSClientFactoryBean newJAXRSClientFactoryBean() { + return new JAXRSClientFactoryBean(); + } public JAXRSServerFactoryBean createJAXRSServerFactoryBean() { - JAXRSServerFactoryBean answer = new SpringJAXRSServerFactoryBean(); + JAXRSServerFactoryBean answer = newJAXRSServerFactoryBean(); setupJAXRSServerFactoryBean(answer); return answer; } + public JAXRSClientFactoryBean createJAXRSClientFactoryBean() { return createJAXRSClientFactoryBean(getAddress()); } public JAXRSClientFactoryBean createJAXRSClientFactoryBean(String address) { - JAXRSClientFactoryBean answer = new SpringJAXRSClientFactoryBean(); + JAXRSClientFactoryBean answer = newJAXRSClientFactoryBean(); setupJAXRSClientFactoryBean(answer, address); return answer; } Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java (original) +++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java Mon Sep 19 19:09:02 2011 @@ -18,6 +18,8 @@ package org.apache.camel.component.cxf.jaxrs; import org.apache.camel.CamelContext; +import org.apache.camel.component.cxf.spring.SpringJAXRSClientFactoryBean; +import org.apache.camel.component.cxf.spring.SpringJAXRSServerFactoryBean; import org.apache.camel.spring.SpringCamelContext; import org.apache.cxf.configuration.spring.ConfigurerImpl; import org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean; @@ -26,9 +28,6 @@ import org.apache.cxf.jaxrs.client.JAXRS import org.springframework.context.ApplicationContext; import org.springframework.context.support.AbstractApplicationContext; -/** - * - */ public class CxfRsSpringEndpoint extends CxfRsEndpoint implements BeanIdAware { private AbstractJAXRSFactoryBean bean; private ApplicationContext applicationContext; @@ -61,28 +60,34 @@ public class CxfRsSpringEndpoint extends configurer.configureBean(beanId, beanInstance); } - void checkBeanType(Class<?> clazz) { - if (!clazz.isAssignableFrom(bean.getClass())) { - throw new IllegalArgumentException("The configure bean is not the instance of " + clazz.getName()); - } - } + @Override protected void setupJAXRSServerFactoryBean(JAXRSServerFactoryBean sfb) { - checkBeanType(JAXRSServerFactoryBean.class); + checkBeanType(bean, JAXRSServerFactoryBean.class); configure(sfb); } @Override protected void setupJAXRSClientFactoryBean(JAXRSClientFactoryBean cfb, String address) { - checkBeanType(JAXRSClientFactoryBean.class); + checkBeanType(bean, JAXRSClientFactoryBean.class); configure(cfb); cfb.setAddress(address); // Need to enable the option of ThreadSafe cfb.setThreadSafe(true); } + @Override + protected JAXRSServerFactoryBean newJAXRSServerFactoryBean() { + return new SpringJAXRSServerFactoryBean(); + } + + @Override + protected JAXRSClientFactoryBean newJAXRSClientFactoryBean() { + return new SpringJAXRSClientFactoryBean(); + } + public String getBeanId() { return beanId; } Modified: camel/branches/camel-2.8.x/tests/camel-itest-osgi/pom.xml URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/tests/camel-itest-osgi/pom.xml?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/tests/camel-itest-osgi/pom.xml (original) +++ camel/branches/camel-2.8.x/tests/camel-itest-osgi/pom.xml Mon Sep 19 19:09:02 2011 @@ -236,6 +236,12 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>${httpclient4-version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-persistence-jdbc</artifactId> <scope>test</scope> @@ -283,22 +289,10 @@ <!-- cxf --> <dependency> <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-core</artifactId> - <version>${cxf-version}</version> - </dependency> - <!-- used by the real web service --> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-frontend-jaxws</artifactId> - <version>${cxf-version}</version> - </dependency> - <!-- regular http transport --> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-transports-http</artifactId> + <artifactId>cxf-bundle</artifactId> <version>${cxf-version}</version> + <scope>test</scope> </dependency> - <dependency> <groupId>org.apache.ftpserver</groupId> <artifactId>ftpserver-core</artifactId> Modified: camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java (original) +++ camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java Mon Sep 19 19:09:02 2011 @@ -43,13 +43,6 @@ public abstract class AbstractIntegratio @Inject protected BundleContext bundleContext; - @Before - public void setUp() throws Exception { - log.info("********************************************************************************"); - log.info("Testing: " + getTestMethodName() + "(" + getClass().getName() + ")"); - log.info("********************************************************************************"); - } - protected <T> T getOsgiService(Class<T> type, long timeout) { return getOsgiService(type, null, timeout); } Modified: camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfProxyExampleTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfProxyExampleTest.java?rev=1172749&r1=1172748&r2=1172749&view=diff ============================================================================== --- camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfProxyExampleTest.java (original) +++ camel/branches/camel-2.8.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfProxyExampleTest.java Mon Sep 19 19:09:02 2011 @@ -30,12 +30,9 @@ import org.ops4j.pax.exam.junit.Configur import org.ops4j.pax.exam.junit.JUnit4TestRunner; import org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext; -import static org.ops4j.pax.exam.CoreOptions.equinox; -import static org.ops4j.pax.exam.CoreOptions.felix; import static org.ops4j.pax.exam.CoreOptions.provision; import static org.ops4j.pax.exam.OptionUtils.combine; import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures; -import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.workingDirectory; import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.newBundle; import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.withBnd;