You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/03/24 12:15:58 UTC
[camel] 01/02: CAMEL-14775: camel-cxf - Move OSGi blueprint out
into camel-cxf-blueprint
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 59a36a7fb55014c20f3e8bbb34e791e83f124e72
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Mar 24 12:11:13 2020 +0100
CAMEL-14775: camel-cxf - Move OSGi blueprint out into camel-cxf-blueprint
---
components/camel-cxf/pom.xml | 2 +
.../blueprint/AbstractBeanDefinitionParser.java | 62 -------
.../cxf/blueprint/CxfBlueprintEndpoint.java | 80 ---------
.../cxf/blueprint/CxfNamespaceHandler.java | 75 ---------
.../cxf/blueprint/EndpointDefinitionParser.java | 107 ------------
.../cxf/blueprint/RsClientBlueprintBean.java | 95 -----------
.../cxf/blueprint/RsClientDefinitionParser.java | 93 -----------
.../cxf/blueprint/RsServerBlueprintBean.java | 101 ------------
.../cxf/blueprint/RsServerDefinitionParser.java | 95 -----------
.../cxf/jaxrs/CxfRsBlueprintEndpoint.java | 94 -----------
.../camel/component/cxf/jaxrs/CxfRsComponent.java | 22 ++-
.../CxfRsEndpointFactoryBean.java} | 23 ++-
.../DefaultCxfRsEndpointFactoryBean.java} | 20 +--
.../resources/OSGI-INF/blueprint/camel-cxf.xml | 31 ----
.../main/resources/schema/blueprint/camel-cxf.xsd | 179 ---------------------
15 files changed, 36 insertions(+), 1043 deletions(-)
diff --git a/components/camel-cxf/pom.xml b/components/camel-cxf/pom.xml
index 79904fa..4c1a020 100644
--- a/components/camel-cxf/pom.xml
+++ b/components/camel-cxf/pom.xml
@@ -53,6 +53,8 @@
javax.xml.stream*;version="[0.0,2)",
javax.xml.ws*;version="[0.0,3.0)",
org.apache.camel.*;${camel.osgi.import.camel.version},
+ org.apache.camel.component.cxf.blueprint;${camel.osgi.import.camel.version};resolution:=optional,
+ org.apache.camel.component.cxf.jaxrs.blueprint;${camel.osgi.import.camel.version};resolution:=optional,
org.springframework*;version="${spring-version-range}";resolution:=optional,
org.apache.cxf.*;version="${cxf-version-range}",
${camel.osgi.import.defaults},
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
deleted file mode 100644
index 84c857b..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.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.cxf.common.util.StringUtils;
-import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
-import org.osgi.service.blueprint.reflect.BeanMetadata;
-
-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"));
- // set the Bean scope to be prototype, so we can get a new instance per looking up
- answer.setScope(BeanMetadata.SCOPE_PROTOTYPE);
-
- 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;
- }
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfBlueprintEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfBlueprintEndpoint.java
deleted file mode 100644
index 205b879..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfBlueprintEndpoint.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-import org.apache.camel.blueprint.BlueprintCamelContext;
-import org.apache.camel.component.cxf.CxfComponent;
-import org.apache.camel.component.cxf.CxfEndpoint;
-import org.apache.cxf.BusFactory;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-public class CxfBlueprintEndpoint extends CxfEndpoint {
-
- private BlueprintContainer blueprintContainer;
- private BundleContext bundleContext;
- private BlueprintCamelContext blueprintCamelContext;
-
- public CxfBlueprintEndpoint(String address, BundleContext context) {
- super(address, (CxfComponent)null);
- bundleContext = context;
- }
-
- public void destroy() {
- // Clean up the BusFactory's defaultBus
- // This method is not called magically, blueprint
- // needs you to set the destroy-method.
- BusFactory.setDefaultBus(null);
- BusFactory.setThreadDefaultBus(null);
- }
-
- @Override
- public void setServiceClass(String n) throws ClassNotFoundException {
- setServiceClass(bundleContext.getBundle().loadClass(n));
- }
-
- // Package private methods
- // -------------------------------------------------------------------------
-
- public BlueprintContainer getBlueprintContainer() {
- return blueprintContainer;
- }
-
- public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
- this.blueprintContainer = blueprintContainer;
- }
-
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- public void setBundleContext(BundleContext bundleContext) {
- this.bundleContext = bundleContext;
- }
-
- public BlueprintCamelContext getBlueprintCamelContext() {
- return blueprintCamelContext;
- }
-
- public void setBlueprintCamelContext(BlueprintCamelContext blueprintCamelContext) {
- this.blueprintCamelContext = blueprintCamelContext;
- }
-
- public CxfBlueprintEndpoint getBean() {
- return this;
- }
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java
deleted file mode 100644
index daf240a..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.aries.blueprint.ParserContext;
-import org.apache.cxf.helpers.BaseNamespaceHandler;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
-import org.osgi.service.blueprint.reflect.Metadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class CxfNamespaceHandler extends BaseNamespaceHandler {
- private static final Logger LOG = LoggerFactory.getLogger(CxfNamespaceHandler.class);
-
- @Override
- public URL getSchemaLocation(String s) {
- if ("http://camel.apache.org/schema/blueprint/cxf".equals(s)) {
- return getClass().getClassLoader().getResource("schema/blueprint/camel-cxf.xsd");
- }
- return super.findCoreSchemaLocation(s);
- }
-
- @Override
- @SuppressWarnings({"rawtypes"})
- public Set<Class> getManagedClasses() {
- return new HashSet<>(Arrays.asList(CxfNamespaceHandler.class));
- }
-
- @Override
- public Metadata parse(Element element, ParserContext context) {
- Metadata answer = null;
- String s = element.getLocalName();
- if ("cxfEndpoint".equals(s)) {
- 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;
- }
-
- @Override
- public ComponentMetadata decorate(Node node, ComponentMetadata componentMetadata, ParserContext parserContext) {
- return null;
- }
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
deleted file mode 100644
index d288f0b..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-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.cxf.common.util.StringUtils;
-import org.apache.cxf.helpers.DOMUtils;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.reflect.Metadata;
-
-public class EndpointDefinitionParser extends AbstractBeanDefinitionParser {
-
- public Metadata parse(Element element, ParserContext context) {
- MutableBeanMetadata endpointConfig = createBeanMetadata(element, context, CxfBlueprintEndpoint.class);
-
- NamedNodeMap atts = element.getAttributes();
-
- String bus = null;
- String address = 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 ("address".equals(name)) {
- address = val;
- } else if (isAttribute(pre, name)) {
- if ("endpointName".equals(name) || "serviceName".equals(name)) {
- if (isPlaceHolder(val)) {
- endpointConfig.addProperty(name + "String", createValue(context, val));
- } else {
- QName q = parseQName(element, val);
- endpointConfig.addProperty(name, createValue(context, q));
- }
- } else if ("depends-on".equals(name)) {
- endpointConfig.addDependsOn(val);
- } else if (!"name".equals(name)) {
- endpointConfig.addProperty(name, createValue(context, val));
- }
- }
- }
-
- Element elem = DOMUtils.getFirstElement(element);
- while (elem != null) {
- String name = elem.getLocalName();
- if ("properties".equals(name)) {
- Metadata map = parseMapData(context, endpointConfig, elem);
- endpointConfig.addProperty(name, map);
- } else if ("binding".equals(name)) {
- setFirstChildAsProperty(elem, context, endpointConfig, "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, endpointConfig, elem);
- endpointConfig.addProperty(name, list);
- } else {
- setFirstChildAsProperty(elem, context, endpointConfig, name);
- }
-
- elem = DOMUtils.getNextElement(elem);
- }
- if (StringUtils.isEmpty(bus)) {
- bus = "cxf";
- }
- //Will create a bus if needed...
-
- endpointConfig.addProperty("bus", getBusRef(context, bus));
- endpointConfig.setDestroyMethod("destroy");
- endpointConfig.addArgument(createValue(context, address), String.class.getName(), 0);
- endpointConfig.addArgument(createRef(context, "blueprintBundleContext"),
- BundleContext.class.getName(), 1);
-
- return endpointConfig;
- }
-
- private static boolean isPlaceHolder(String value) {
- if (value != null && (value.startsWith("${") && value.endsWith("}")
- || value.startsWith("{{") && value.endsWith("}}"))) {
- return true;
- }
- return false;
- }
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
deleted file mode 100644
index 5b00526..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-import java.util.HashMap;
-
-import org.apache.camel.component.cxf.NullFaultListener;
-import org.apache.cxf.ext.logging.LoggingFeature;
-import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
-import org.apache.cxf.logging.FaultListener;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-public class RsClientBlueprintBean extends JAXRSClientFactoryBean implements BlueprintSupport, Cloneable {
- private BlueprintContainer blueprintContainer;
- private BundleContext bundleContext;
- private int loggingSizeLimit;
- private LoggingFeature loggingFeature;
-
- @Override
- public BlueprintContainer getBlueprintContainer() {
- return blueprintContainer;
- }
-
- @Override
- public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
- this.blueprintContainer = blueprintContainer;
- }
-
- @Override
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- @Override
- public void setBundleContext(BundleContext bundleContext) {
- this.bundleContext = bundleContext;
- }
-
- public boolean isLoggingFeatureEnabled() {
- return loggingFeature != null;
- }
-
- public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
- if (loggingFeature != null) {
- getFeatures().remove(loggingFeature);
- loggingFeature = null;
- }
- if (loggingFeatureEnabled) {
- loggingFeature = new LoggingFeature();
- if (getLoggingSizeLimit() > 0) {
- loggingFeature.setLimit(getLoggingSizeLimit());
- }
- getFeatures().add(loggingFeature);
- }
-
- }
-
- public int getLoggingSizeLimit() {
- return loggingSizeLimit;
- }
-
- public void setLoggingSizeLimit(int loggingSizeLimit) {
- this.loggingSizeLimit = loggingSizeLimit;
- if (loggingFeature != null) {
- if (loggingSizeLimit > 0) {
- loggingFeature.setLimit(loggingSizeLimit);
- }
- }
- }
-
- public void setSkipFaultLogging(boolean skipFaultLogging) {
- if (skipFaultLogging) {
- if (this.getProperties() == null) {
- this.setProperties(new HashMap<String, Object>());
- }
- this.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
- }
- }
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java
deleted file mode 100644
index 52351bc..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-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.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 RsClientDefinitionParser extends AbstractBeanDefinitionParser {
-
- public Metadata parse(Element element, ParserContext context) {
- MutableBeanMetadata beanMetadata = createBeanMetadata(element, context, RsClientBlueprintBean.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));
- }
- }
- }
-
- for (Element elem = DOMUtils.getFirstElement(element); elem != null; elem = DOMUtils.getNextElement(elem)) {
- 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(elem, 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(elem, context, beanMetadata, name);
- }
- }
-
- if (StringUtils.isEmpty(bus)) {
- bus = "cxf";
- }
- //Will create a bus if needed...
-
- beanMetadata.addProperty("bus", getBusRef(context, bus));
- return beanMetadata;
- }
-
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java
deleted file mode 100644
index 64fb07a..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerBlueprintBean.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-import java.util.HashMap;
-
-import org.apache.camel.component.cxf.NullFaultListener;
-import org.apache.cxf.feature.LoggingFeature;
-import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
-import org.apache.cxf.logging.FaultListener;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-public class RsServerBlueprintBean extends JAXRSServerFactoryBean implements BlueprintSupport, Cloneable {
-
- private BlueprintContainer blueprintContainer;
- private BundleContext bundleContext;
- private LoggingFeature loggingFeature;
- private int loggingSizeLimit;
-
- @Override
- public BlueprintContainer getBlueprintContainer() {
- return blueprintContainer;
- }
-
- @Override
- public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
- this.blueprintContainer = blueprintContainer;
- }
-
- @Override
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- @Override
- public void setBundleContext(BundleContext bundleContext) {
- this.bundleContext = bundleContext;
- }
-
- public boolean isLoggingFeatureEnabled() {
- return loggingFeature != null;
- }
-
- public void setLoggingFeatureEnabled(boolean loggingFeatureEnabled) {
- if (loggingFeature != null) {
- getFeatures().remove(loggingFeature);
- loggingFeature = null;
- }
- if (loggingFeatureEnabled) {
- if (getLoggingSizeLimit() > 0) {
- loggingFeature = new LoggingFeature(getLoggingSizeLimit());
- } else {
- loggingFeature = new LoggingFeature();
- }
- getFeatures().add(loggingFeature);
- }
-
- }
-
- public int getLoggingSizeLimit() {
- return loggingSizeLimit;
- }
-
- public void setLoggingSizeLimit(int loggingSizeLimit) {
- this.loggingSizeLimit = loggingSizeLimit;
- if (loggingFeature != null) {
- getFeatures().remove(loggingFeature);
- if (loggingSizeLimit > 0) {
- loggingFeature = new LoggingFeature(loggingSizeLimit);
- } else {
- loggingFeature = new LoggingFeature();
- }
- getFeatures().add(loggingFeature);
- }
- }
-
- public void setSkipFaultLogging(boolean skipFaultLogging) {
- if (skipFaultLogging) {
- if (this.getProperties() == null) {
- this.setProperties(new HashMap<String, Object>());
- }
- this.getProperties().put(FaultListener.class.getName(), new NullFaultListener());
- }
- }
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java
deleted file mode 100644
index acbc086..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.camel.component.cxf.blueprint;
-
-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.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));
- }
- }
- }
-
- for (Element elem = DOMUtils.getFirstElement(element); elem != null; elem = DOMUtils.getNextElement(elem)) {
- 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(elem, 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(elem, context, beanMetadata, name);
- }
- }
-
- if (StringUtils.isEmpty(bus)) {
- bus = "cxf";
- }
- //Will create a bus if needed...
-
- beanMetadata.addProperty("bus", getBusRef(context, bus));
- return beanMetadata;
- }
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
deleted file mode 100644
index ddf6c35..0000000
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.camel.component.cxf.jaxrs;
-
-import org.apache.camel.Component;
-import org.apache.camel.blueprint.BlueprintCamelContext;
-import org.apache.camel.component.cxf.blueprint.BlueprintSupport;
-import org.apache.camel.component.cxf.blueprint.RsClientBlueprintBean;
-import org.apache.camel.component.cxf.blueprint.RsServerBlueprintBean;
-import org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean;
-import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
-import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.springframework.util.ReflectionUtils;
-
-public class CxfRsBlueprintEndpoint extends CxfRsEndpoint {
- private AbstractJAXRSFactoryBean bean;
- private BlueprintContainer blueprintContainer;
- private BundleContext bundleContext;
- private BlueprintCamelContext blueprintCamelContext;
-
- public CxfRsBlueprintEndpoint(Component comp, String uri, AbstractJAXRSFactoryBean bean) {
- super(uri, comp);
- this.bean = bean;
- setAddress(bean.getAddress());
- // update the sfb address by resolving the properties
- bean.setAddress(getAddress());
- BlueprintSupport support = (BlueprintSupport)bean;
- setBlueprintContainer(support.getBlueprintContainer());
- setBundleContext(support.getBundleContext());
- }
-
- public BlueprintContainer getBlueprintContainer() {
- return blueprintContainer;
- }
-
- public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
- this.blueprintContainer = blueprintContainer;
- }
-
- public BundleContext getBundleContext() {
- return bundleContext;
- }
-
- public void setBundleContext(BundleContext bundleContext) {
- this.bundleContext = bundleContext;
- }
-
- public BlueprintCamelContext getBlueprintCamelContext() {
- return blueprintCamelContext;
- }
-
- public void setBlueprintCamelContext(BlueprintCamelContext blueprintCamelContext) {
- this.blueprintCamelContext = blueprintCamelContext;
- }
-
- @Override
- protected JAXRSServerFactoryBean newJAXRSServerFactoryBean() {
- checkBeanType(bean, JAXRSServerFactoryBean.class);
- return (RsServerBlueprintBean)bean;
- }
-
- @Override
- protected JAXRSClientFactoryBean newJAXRSClientFactoryBean() {
- checkBeanType(bean, JAXRSClientFactoryBean.class);
- return newInstanceWithCommonProperties();
- }
-
- private RsClientBlueprintBean newInstanceWithCommonProperties() {
- RsClientBlueprintBean cfb = new RsClientBlueprintBean();
-
- if (bean instanceof RsClientBlueprintBean) {
- ReflectionUtils.shallowCopyFieldState(bean, cfb);
- }
-
- return cfb;
- }
-
-}
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
index 7836551..7676135 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
@@ -23,7 +23,6 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.SSLContextParametersAware;
-import org.apache.camel.component.cxf.blueprint.BlueprintSupport;
import org.apache.camel.component.cxf.common.message.CxfConstants;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.annotations.Component;
@@ -54,8 +53,14 @@ public class CxfRsComponent extends HeaderFilterStrategyComponent implements SSL
}
@Override
- protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
+ protected void doStart() throws Exception {
+ super.doStart();
+
+ // lookup
+ }
+ @Override
+ protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
CxfRsEndpoint answer;
Object value = parameters.remove("setDefaultBus");
@@ -66,7 +71,6 @@ public class CxfRsComponent extends HeaderFilterStrategyComponent implements SSL
}
}
-
if (remaining.startsWith(CxfConstants.SPRING_CONTEXT_ENDPOINT)) {
// Get the bean from the Spring context
String beanId = remaining.substring(CxfConstants.SPRING_CONTEXT_ENDPOINT.length());
@@ -76,11 +80,17 @@ public class CxfRsComponent extends HeaderFilterStrategyComponent implements SSL
AbstractJAXRSFactoryBean bean = CamelContextHelper.mandatoryLookup(getCamelContext(), beanId,
AbstractJAXRSFactoryBean.class);
- if (bean instanceof BlueprintSupport) {
- answer = new CxfRsBlueprintEndpoint(this, remaining, bean);
+
+ CxfRsEndpointFactoryBean factory = null;
+ if (bean.getClass().getName().contains("blueprint")) {
+ // use blueprint
+ Class<CxfRsEndpointFactoryBean> clazz = getCamelContext().getClassResolver().resolveMandatoryClass("org.apache.camel.component.cxf.jaxrs.blueprint.CxfRsBlueprintEndpointFactoryBean", CxfRsEndpointFactoryBean.class);
+ factory = getCamelContext().getInjector().newInstance(clazz);
} else {
- answer = new CxfRsSpringEndpoint(this, remaining, bean);
+ factory = new DefaultCxfRsEndpointFactoryBean();
}
+ answer = factory.createEndpoint(this, remaining, 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
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointFactoryBean.java
similarity index 65%
copy from components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java
copy to components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointFactoryBean.java
index c6118d6..50eb48a 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointFactoryBean.java
@@ -14,19 +14,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.cxf.blueprint;
+package org.apache.camel.component.cxf.jaxrs;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.BlueprintContainer;
+import org.apache.camel.Component;
+import org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean;
-public interface BlueprintSupport {
-
- void setBlueprintContainer(BlueprintContainer blueprintContainer);
-
- BlueprintContainer getBlueprintContainer();
-
- BundleContext getBundleContext();
-
- void setBundleContext(BundleContext bundleContext);
+/**
+ * SPI factory bean for creating {@link CxfRsEndpoint}.
+ */
+public interface CxfRsEndpointFactoryBean {
+
+ CxfRsEndpoint createEndpoint(Component component, String uri, AbstractJAXRSFactoryBean bean) throws Exception;
-}
+}
\ No newline at end of file
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsEndpointFactoryBean.java
similarity index 65%
rename from components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java
rename to components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsEndpointFactoryBean.java
index c6118d6..995a251 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/BlueprintSupport.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsEndpointFactoryBean.java
@@ -14,19 +14,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.cxf.blueprint;
+package org.apache.camel.component.cxf.jaxrs;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.BlueprintContainer;
+import org.apache.camel.Component;
+import org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean;
-public interface BlueprintSupport {
-
- void setBlueprintContainer(BlueprintContainer blueprintContainer);
-
- BlueprintContainer getBlueprintContainer();
-
- BundleContext getBundleContext();
-
- void setBundleContext(BundleContext bundleContext);
+public class DefaultCxfRsEndpointFactoryBean implements CxfRsEndpointFactoryBean {
+ @Override
+ public CxfRsEndpoint createEndpoint(Component component, String uri, AbstractJAXRSFactoryBean bean) throws Exception {
+ return new CxfRsSpringEndpoint(component, uri, bean);
+ }
}
diff --git a/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/camel-cxf.xml b/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/camel-cxf.xml
deleted file mode 100644
index ab14595..0000000
--- a/components/camel-cxf/src/main/resources/OSGI-INF/blueprint/camel-cxf.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?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.
-
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
- xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
-
- <service interface="org.apache.aries.blueprint.NamespaceHandler">
- <service-properties>
- <entry key="osgi.service.blueprint.namespace" value="http://camel.apache.org/schema/blueprint/cxf"/>
- </service-properties>
- <bean class="org.apache.camel.component.cxf.blueprint.CxfNamespaceHandler"/>
- </service>
-</blueprint>
diff --git a/components/camel-cxf/src/main/resources/schema/blueprint/camel-cxf.xsd b/components/camel-cxf/src/main/resources/schema/blueprint/camel-cxf.xsd
deleted file mode 100644
index fe9d99b..0000000
--- a/components/camel-cxf/src/main/resources/schema/blueprint/camel-cxf.xsd
+++ /dev/null
@@ -1,179 +0,0 @@
-<?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.
-
--->
-<xsd:schema xmlns="http://camel.apache.org/schema/blueprint/cxf"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:beans="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:cxf-beans="http://cxf.apache.org/configuration/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- targetNamespace="http://camel.apache.org/schema/blueprint/cxf"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
-
- <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0" schemaLocation="https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"/>
- <xsd:import namespace="http://cxf.apache.org/configuration/beans" schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xsd"/>
-
- <xsd:element name="cxfEndpoint">
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="beans:Tcomponent">
- <xsd:all>
- <xsd:element name="binding" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="properties" type="beans:Tmap" minOccurs="0"/>
- <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
- <xsd:element name="serviceBean" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="serviceFactory" type="xsd:anyType" minOccurs="0"/>
- </xsd:all>
- <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
- <xsd:attribute name="address" type="xsd:string"/>
- <xsd:attribute name="bindingId" type="xsd:string"/>
- <xsd:attribute name="bus" type="xsd:string"/>
- <xsd:attribute name="serviceClass" type="xsd:string"/>
- <xsd:attribute name="transportId" type="xsd:string"/>
- <xsd:attribute name="wsdlURL" type="xsd:string"/>
- <xsd:attribute name="endpointName" type="xsd:QName"/>
- <xsd:attribute name="serviceName" type="xsd:QName"/>
- <xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
- <xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
- <xsd:attribute name="continuationTimeout" type="xsd:long" />
- <xsd:attribute name="publishedEndpointUrl" type="xsd:string" />
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="rsServer">
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="beans:Tcomponent">
- <xsd:all>
- <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="binding" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="invoker" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="properties" type="beans:Tmap" minOccurs="0"/>
- <xsd:element name="serviceBeans" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="model" type="model" minOccurs="0"/>
- <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="extensionMappings" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="languageMappings" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
- </xsd:all>
- <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
- <xsd:attribute name="address" type="xsd:string"/>
- <xsd:attribute name="bus" type="xsd:string"/>
- <xsd:attribute name="serviceClass" type="xsd:string"/>
- <xsd:attribute name="transportId" type="xsd:string"/>
- <xsd:attribute name="modelRef" type="xsd:string"/>
- <xsd:attribute name="bindingId" type="xsd:string"/>
- <xsd:attribute name="staticSubresourceResolution" type="xsd:boolean"/>
- <xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
- <xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
- <xsd:attribute name="publishedEndpointUrl" type="xsd:string" />
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="rsClient">
- <xsd:complexType>
- <xsd:complexContent>
- <xsd:extension base="beans:Tcomponent">
- <xsd:all>
- <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="binding" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="properties" type="beans:Tmap" minOccurs="0"/>
- <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="model" type="model" minOccurs="0"/>
- <xsd:element name="headers" type="xsd:anyType" minOccurs="0"/>
- <xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
- </xsd:all>
- <!-- xsd:attributeGroup ref="cxf-beans:beanAttributes"/-->
- <xsd:attribute name="address" type="xsd:string"/>
- <xsd:attribute name="serviceClass" type="xsd:string"/>
- <xsd:attribute name="inheritHeaders" type="xsd:boolean"/>
- <xsd:attribute name="bus" type="xsd:string"/>
- <xsd:attribute name="transportId" type="xsd:string"/>
- <xsd:attribute name="bindingId" type="xsd:string"/>
- <xsd:attribute name="modelRef" type="xsd:string"/>
- <xsd:attribute name="username" type="xsd:string"/>
- <xsd:attribute name="password" type="xsd:string"/>
- <xsd:attribute name="loggingFeatureEnabled" type="xsd:boolean"/>
- <xsd:attribute name="loggingSizeLimit" type="xsd:integer" />
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="schemasType">
- <xsd:sequence>
- <xsd:element name="schemaLocation" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="model">
- <xsd:sequence>
- <xsd:element name="resource" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="operation" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="path" type="xsd:string"/>
- <xsd:attribute name="verb" type="xsd:string"/>
- <xsd:attribute name="consumes" type="xsd:string"/>
- <xsd:attribute name="produces" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string"/>
- <xsd:attribute name="path" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:string"/>
- </xsd:complexType>
-</xsd:schema>