You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2008/11/12 13:42:49 UTC
svn commit: r713355 [4/5] - in /cxf/sandbox/2.2.x-continuations: ./ api/
api/src/ api/src/main/ api/src/main/java/ api/src/main/java/org/
api/src/main/java/org/apache/ api/src/main/java/org/apache/cxf/
api/src/main/java/org/apache/cxf/continuations/ rt...
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPTransportFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPTransportFactory.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties Wed Nov 12 04:42:46 2008
@@ -0,0 +1,27 @@
+#
+#
+# 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.
+#
+#
+START_UP_SERVER_FAILED_MSG = Could not start Jetty server: {0}
+ADD_HANDLER_FAILED_MSG = Could not add cxf jetty handler to Jetty server: {0}
+REMOVE_HANDLER_FAILED_MSG = Could not remove cxf jetty handler from Jetty server: {0}
+CAN_NOT_FIND_HANDLER_MSG = Could not find the handler to remove for context url {0}
+FAILED_TO_SHUTDOWN_ENGINE_MSG = Failed to shutdown Jetty server on port {0,number,####0} because it is still in use
+UNKNOWN_CONNECTOR_MSG = Unknown connector type {0}, can't set the socket reuseAddress flag.
+INVALID_ENCODING_MSG = Invalid character set {0} in request.
\ No newline at end of file
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ServerEngine.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ServerEngine.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ServerEngine.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ServerEngine.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,49 @@
+/**
+ * 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.cxf.transport.http_jetty;
+
+import java.net.URL;
+
+import org.mortbay.jetty.Handler;
+
+public interface ServerEngine {
+ /**
+ * Register a servant.
+ *
+ * @param url the URL associated with the servant
+ * @param handler notified on incoming HTTP requests
+ */
+ void addServant(URL url, JettyHTTPHandler handler);
+
+ /**
+ * Remove a previously registered servant.
+ *
+ * @param url the URL the servant was registered against.
+ */
+ void removeServant(URL url);
+
+ /**
+ * Get a previously registered servant.
+ *
+ * @param url the associated URL
+ * @return the HttpHandler if registered
+ */
+ Handler getServant(URL url);
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ServerEngine.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ServerEngine.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ThreadingParameters.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ThreadingParameters.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ThreadingParameters.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ThreadingParameters.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,57 @@
+/**
+ * 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.cxf.transport.http_jetty;
+
+/**
+ * This class holds a structure that contains parameters
+ * pertaining to the threading of a Jetty HTTP Server Engine.
+ */
+public class ThreadingParameters {
+
+ private int minThreads;
+ private int maxThreads;
+ private boolean minThreadsSet;
+ private boolean maxThreadsSet;
+
+ public void setMinThreads(int number) {
+ minThreadsSet = true;
+ minThreads = number;
+ }
+
+ public void setMaxThreads(int number) {
+ maxThreadsSet = true;
+ maxThreads = number;
+ }
+
+ public int getMinThreads() {
+ return minThreads;
+ }
+
+ public int getMaxThreads() {
+ return maxThreads;
+ }
+
+ public boolean isSetMaxThreads() {
+ return maxThreadsSet;
+ }
+
+ public boolean isSetMinThreads() {
+ return minThreadsSet;
+ }
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ThreadingParameters.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/ThreadingParameters.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationProvider.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationProvider.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationProvider.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationProvider.java Wed Nov 12 04:42:46 2008
@@ -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.cxf.transport.http_jetty.continuations;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.cxf.continuations.ContinuationProvider;
+import org.apache.cxf.continuations.ContinuationWrapper;
+import org.apache.cxf.message.Message;
+import org.mortbay.util.ajax.Continuation;
+import org.mortbay.util.ajax.ContinuationSupport;
+
+public class JettyContinuationProvider implements ContinuationProvider {
+
+ private HttpServletRequest request;
+ private Message message;
+
+ public JettyContinuationProvider(HttpServletRequest req, Message m) {
+ request = req;
+ this.message = m;
+ }
+
+ public ContinuationWrapper getContinuation(Object mutex) {
+ Continuation cont = ContinuationSupport.getContinuation(request, mutex);
+ return new JettyContinuationWrapper(cont, message);
+ }
+
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationWrapper.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationWrapper.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationWrapper.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationWrapper.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,103 @@
+/**
+ * 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.cxf.transport.http_jetty.continuations;
+
+import org.apache.cxf.continuations.ContinuationInfo;
+import org.apache.cxf.continuations.ContinuationWrapper;
+import org.apache.cxf.continuations.SuspendedInvocationException;
+import org.apache.cxf.message.Message;
+import org.mortbay.jetty.RetryRequest;
+import org.mortbay.util.ajax.Continuation;
+
+public class JettyContinuationWrapper implements ContinuationWrapper {
+
+ private Continuation continuation;
+ private Message message;
+
+
+ public JettyContinuationWrapper(Continuation c, Message m) {
+ continuation = c;
+ message = m;
+ }
+
+ public Object getObject() {
+ return continuation.getObject();
+ }
+
+ public boolean isNew() {
+ return continuation.isNew();
+ }
+
+ public boolean isPending() {
+ return continuation.isPending();
+ }
+
+ public boolean isResumed() {
+ return continuation.isResumed();
+ }
+
+ public void reset() {
+ continuation.reset();
+ }
+
+ public void resume() {
+ continuation.resume();
+ }
+
+ public void setObject(Object userObject) {
+
+ ContinuationInfo ci = null;
+
+ Object obj = continuation.getObject();
+ if (obj instanceof ContinuationInfo) {
+ ci = (ContinuationInfo)obj;
+ } else {
+ ci = new ContinuationInfo(message);
+ ci.setUserObject(obj);
+ }
+ if (message != userObject) {
+ ci.setUserObject(userObject);
+ }
+ continuation.setObject(ci);
+ }
+
+ public boolean suspend(long timeout) {
+
+ Object obj = continuation.getObject();
+ if (obj == null) {
+ continuation.setObject(new ContinuationInfo(message));
+ }
+ try {
+ return continuation.suspend(timeout);
+ } catch (RetryRequest ex) {
+ throw new SuspendedInvocationException(ex);
+ }
+ }
+
+ protected Message getMessage() {
+ return message;
+ }
+
+ protected Continuation getContinuation() {
+ return continuation;
+ }
+
+
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations/JettyContinuationWrapper.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,126 @@
+/**
+ * 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.cxf.transport.http_jetty.spring;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
+
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+
+public final class JAXBHelper {
+ private JAXBHelper() {
+
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <V> List<V> parseListElement(Element parent,
+ BeanDefinitionBuilder bean,
+ QName name,
+ Class<?> c) throws JAXBException {
+ List<V> list = new ArrayList<V>();
+ NodeList nl = parent.getChildNodes();
+ Node data = null;
+
+ JAXBContext context = null;
+ String pkg = "";
+ if (null != c && c.getPackage() != null) {
+ pkg = c.getPackage().getName();
+ context = JAXBContext.newInstance(pkg, c.getClassLoader());
+ } else {
+ context = JAXBContext.newInstance(pkg);
+ }
+
+
+ for (int i = 0; i < nl.getLength(); i++) {
+ Node n = nl.item(i);
+ if (n.getNodeType() == Node.ELEMENT_NODE && name.getLocalPart().equals(n.getLocalName())
+ && name.getNamespaceURI().equals(n.getNamespaceURI())) {
+ data = n;
+ Object obj = unmarshal(context, data, c);
+ if (obj != null) {
+ list.add((V) obj);
+ }
+ }
+ }
+ return list;
+ }
+
+
+ public static <T> T parseElement(Element element,
+ BeanDefinitionBuilder bean,
+ Class<T> c) throws JAXBException {
+ if (null == element) {
+ return null;
+ }
+ JAXBContext context = null;
+ String pkg = "";
+ if (null != c && c.getPackage() != null) {
+ pkg = c.getPackage().getName();
+ context = JAXBContext.newInstance(pkg, c.getClassLoader());
+ } else {
+ context = JAXBContext.newInstance(pkg);
+ }
+ Object obj = unmarshal(context, element, c);
+
+ return c.cast(obj);
+ }
+
+
+ private static Object unmarshal(JAXBContext context,
+ Node data, Class<?> c) {
+ if (context == null) {
+ return null;
+ }
+
+ Object obj = null;
+
+ try {
+
+ Unmarshaller u = context.createUnmarshaller();
+ if (c != null) {
+ obj = u.unmarshal(data, c);
+ } else {
+ obj = u.unmarshal(data);
+ }
+
+ if (obj instanceof JAXBElement<?>) {
+ JAXBElement<?> el = (JAXBElement<?>)obj;
+ obj = el.getValue();
+ }
+
+ } catch (JAXBException e) {
+ throw new RuntimeException("Could not parse configuration.", e);
+ }
+
+ return obj;
+
+ }
+
+
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JAXBHelper.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,234 @@
+/**
+ * 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.cxf.transport.http_jetty.spring;
+
+import java.util.List;
+import java.util.Map;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor;
+import org.apache.cxf.configuration.jsse.TLSServerParameters;
+import org.apache.cxf.configuration.jsse.spring.TLSServerParametersConfig;
+import org.apache.cxf.configuration.security.TLSServerParametersType;
+import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
+import org.apache.cxf.configuration.spring.BusWiringType;
+import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine;
+import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory;
+import org.apache.cxf.transport.http_jetty.ThreadingParameters;
+import org.apache.cxf.transports.http_jetty.configuration.TLSServerParametersIdentifiedType;
+import org.apache.cxf.transports.http_jetty.configuration.ThreadingParametersIdentifiedType;
+import org.apache.cxf.transports.http_jetty.configuration.ThreadingParametersType;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.MutablePropertyValues;
+import org.springframework.beans.PropertyValue;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+public class JettyHTTPServerEngineBeanDefinitionParser extends AbstractBeanDefinitionParser {
+
+
+ public void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
+
+ String portStr = element.getAttribute("port");
+ int port = Integer.valueOf(portStr);
+ bean.addPropertyValue("port", port);
+
+ String continuationsStr = element.getAttribute("continuationsEnabled");
+ if (continuationsStr != null && continuationsStr.length() > 0) {
+ bean.addPropertyValue("continuationsEnabled", Boolean.parseBoolean(continuationsStr));
+ }
+
+ MutablePropertyValues engineFactoryProperties = ctx.getContainingBeanDefinition().getPropertyValues();
+ PropertyValue busValue = engineFactoryProperties.getPropertyValue("bus");
+
+ // get the property value from paranets
+ try {
+
+ NodeList children = element.getChildNodes();
+ for (int i = 0; i < children.getLength(); i++) {
+ Node n = children.item(i);
+ if (n.getNodeType() == Node.ELEMENT_NODE) {
+ String name = n.getLocalName();
+ if ("tlsServerParameters".equals(name)) {
+
+ TLSServerParametersType parametersType =
+ JAXBHelper.parseElement((Element)n, bean, TLSServerParametersType.class);
+
+ TLSServerParametersConfig param =
+ new TLSServerParametersConfig(parametersType);
+
+ bean.addPropertyValue("tlsServerParameters", param);
+
+ } else if ("tlsServerParametersRef".equals(name)) {
+
+ TLSServerParametersIdentifiedType parameterTypeRef =
+ JAXBHelper.parseElement((Element)n, bean,
+ TLSServerParametersIdentifiedType.class);
+
+ TLSServerParameters param =
+ getTlsServerParameters(engineFactoryProperties, parameterTypeRef.getId());
+ bean.addPropertyValue("tlsServerParameters", param);
+
+ } else if ("threadingParameters".equals(name)) {
+ ThreadingParametersType parametersType =
+ JAXBHelper.parseElement((Element)n, bean, ThreadingParametersType.class);
+
+ ThreadingParameters param = toThreadingParameters(parametersType);
+ bean.addPropertyValue("threadingParameters", param);
+
+ } else if ("threadingParametersRef".equals(name)) {
+ ThreadingParametersIdentifiedType parametersTypeRef =
+ JAXBHelper.parseElement((Element)n, bean,
+ ThreadingParametersIdentifiedType.class);
+ ThreadingParameters param =
+ getThreadingParameters(engineFactoryProperties, parametersTypeRef.getId());
+ bean.addPropertyValue("threadingParameters", param);
+
+ } else if ("connector".equals(name)) {
+ // only deal with the one connector here
+ List list =
+ ctx.getDelegate().parseListElement((Element) n, bean.getBeanDefinition());
+ bean.addPropertyValue("connector", list.get(0));
+ } else if ("handlers".equals(name)) {
+ List handlers =
+ ctx.getDelegate().parseListElement((Element) n, bean.getBeanDefinition());
+ bean.addPropertyValue("handlers", handlers);
+ } else if ("sessionSupport".equals(name) || "reuseAddress".equals(name)) {
+ String text = n.getTextContent();
+ bean.addPropertyValue(name, Boolean.valueOf(text));
+ }
+ }
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("Could not process configuration.", e);
+ }
+
+ // if the containing bean is having the bus wired up by the post processor then we should too
+ if (ctx.getContainingBeanDefinition().getAttribute(WIRE_BUS_ATTRIBUTE) == BusWiringType.PROPERTY) {
+ addBusWiringAttribute(bean, BusWiringType.PROPERTY);
+ } else {
+ bean.addPropertyValue("bus", busValue.getValue());
+ }
+
+ bean.setLazyInit(false);
+
+ }
+
+ private TLSServerParameters getTlsServerParameters(
+ MutablePropertyValues engineFactoryProperties,
+ String reference) {
+ TLSServerParameters result = null;
+ PropertyValue tlsParameterMapValue =
+ engineFactoryProperties.getPropertyValue("tlsServerParametersMap");
+ if (null == tlsParameterMapValue) {
+ throw new RuntimeException("Could not find the tlsServerParametersMap "
+ + "from the JettyHTTPServerEngineFactory!");
+ } else {
+ Map tlsServerParametersMap =
+ (Map)tlsParameterMapValue.getValue();
+ result = (TLSServerParameters)tlsServerParametersMap.get(reference);
+ if (result == null) {
+ throw new RuntimeException("Could not find the tlsServerParametersMap reference ["
+ + reference + "]'s mapping tlsParameter");
+ }
+ }
+ return result;
+ }
+
+ private ThreadingParameters getThreadingParameters(
+ MutablePropertyValues engineFactoryProperties,
+ String reference) {
+ ThreadingParameters result = null;
+ PropertyValue threadingParametersMapValue =
+ engineFactoryProperties.getPropertyValue("threadingParametersMap");
+ if (null == threadingParametersMapValue) {
+ throw new RuntimeException("Could not find the threadingParametersMap "
+ + "from the JettyHTTPServerEngineFactory!");
+ } else {
+ Map threadingParametersMap = (Map)threadingParametersMapValue.getValue();
+ result = (ThreadingParameters)threadingParametersMap.get(reference);
+ if (result == null) {
+ throw new RuntimeException("Could not find the threadingParametersMap reference ["
+ + reference + "]'s mapping threadingParameters");
+ }
+ }
+
+ return result;
+ }
+
+
+ private ThreadingParameters toThreadingParameters(
+ ThreadingParametersType paramtype) {
+ ThreadingParameters params = new ThreadingParameters();
+ params.setMaxThreads(paramtype.getMaxThreads());
+ params.setMinThreads(paramtype.getMinThreads());
+ return params;
+ }
+
+
+ /*
+ * We do not require an id from the configuration.
+ *
+ * (non-Javadoc)
+ * @see org.springframework.beans.factory.xml.AbstractBeanDefinitionParser#shouldGenerateId()
+ */
+ @Override
+ protected boolean shouldGenerateId() {
+ return true;
+ }
+
+ @Override
+ protected Class getBeanClass(Element arg0) {
+ return JettyHTTPServerEngine.class;
+ }
+
+ public static class SpringJettyHTTPServerEngine extends JettyHTTPServerEngine
+ implements ApplicationContextAware {
+
+ public SpringJettyHTTPServerEngine(
+ JettyHTTPServerEngineFactory fac,
+ Bus bus,
+ int port) {
+ super(fac, bus, port);
+ }
+
+ public SpringJettyHTTPServerEngine() {
+ super();
+ }
+
+
+ public void setApplicationContext(ApplicationContext ctx) throws BeansException {
+ if (getBus() == null) {
+ Bus bus = BusFactory.getThreadDefaultBus();
+ BusWiringBeanFactoryPostProcessor.updateBusReferencesInContext(bus, ctx);
+ setBus(bus);
+ }
+ }
+ }
+
+
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineBeanDefinitionParser.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineFactoryBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineFactoryBeanDefinitionParser.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineFactoryBeanDefinitionParser.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineFactoryBeanDefinitionParser.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,183 @@
+/**
+ * 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.cxf.transport.http_jetty.spring;
+
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Element;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor;
+import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.configuration.jsse.TLSServerParameters;
+import org.apache.cxf.configuration.jsse.spring.TLSServerParametersConfig;
+import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
+import org.apache.cxf.configuration.spring.BusWiringType;
+import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory;
+import org.apache.cxf.transport.http_jetty.ThreadingParameters;
+
+import org.apache.cxf.transports.http_jetty.configuration.TLSServerParametersIdentifiedType;
+import org.apache.cxf.transports.http_jetty.configuration.ThreadingParametersIdentifiedType;
+import org.apache.cxf.transports.http_jetty.configuration.ThreadingParametersType;
+
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.support.ManagedList;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+public class JettyHTTPServerEngineFactoryBeanDefinitionParser
+ extends AbstractBeanDefinitionParser {
+ private static final String HTTP_JETTY_NS = "http://cxf.apache.org/transports/http-jetty/configuration";
+
+ @Override
+ public void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
+ //bean.setAbstract(true);
+ String bus = element.getAttribute("bus");
+
+ try {
+ List <ThreadingParametersIdentifiedType> threadingParametersIdentifiedTypes =
+ JAXBHelper.parseListElement(element, bean,
+ new QName(HTTP_JETTY_NS, "identifiedThreadingParameters"),
+ ThreadingParametersIdentifiedType.class);
+ Map<String, ThreadingParameters> threadingParametersMap =
+ toThreadingParameters(threadingParametersIdentifiedTypes);
+ List <TLSServerParametersIdentifiedType> tlsServerParameters =
+ JAXBHelper.parseListElement(element, bean,
+ new QName(HTTP_JETTY_NS, "identifiedTLSServerParameters"),
+ TLSServerParametersIdentifiedType.class);
+ Map<String, TLSServerParameters> tlsServerParametersMap =
+ toTLSServerParamenters(tlsServerParameters);
+
+ bean.addPropertyValue("threadingParametersMap", threadingParametersMap);
+ bean.addPropertyValue("tlsServerParametersMap", tlsServerParametersMap);
+
+
+ if (StringUtils.isEmpty(bus)) {
+ addBusWiringAttribute(bean, BusWiringType.PROPERTY);
+ } else {
+ bean.addPropertyReference("bus", bus);
+ }
+
+ // parser the engine list
+ List list =
+ getRequiredElementsList(element, ctx, new QName(HTTP_JETTY_NS, "engine"), bean);
+ if (list.size() > 0) {
+ bean.addPropertyValue("enginesList", list);
+ }
+
+ } catch (Exception e) {
+ throw new RuntimeException("Could not process configuration.", e);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private List getRequiredElementsList(Element parent, ParserContext ctx, QName name,
+ BeanDefinitionBuilder bean) {
+
+ List<Element> elemList = DOMUtils.findAllElementsByTagNameNS(parent,
+ name.getNamespaceURI(),
+ name.getLocalPart());
+ ManagedList list = new ManagedList(elemList.size());
+ list.setSource(ctx.extractSource(parent));
+
+ for (Element elem : elemList) {
+ list.add(ctx.getDelegate().parsePropertySubElement(elem, bean.getBeanDefinition()));
+ }
+ return list;
+ }
+
+ private Map<String, ThreadingParameters> toThreadingParameters(
+ List <ThreadingParametersIdentifiedType> list) {
+ Map<String, ThreadingParameters> map = new TreeMap<String, ThreadingParameters>();
+ for (ThreadingParametersIdentifiedType t : list) {
+ ThreadingParameters parameter =
+ toThreadingParameters(t.getThreadingParameters());
+ map.put(t.getId(), parameter);
+ }
+ return map;
+ }
+
+ private ThreadingParameters toThreadingParameters(ThreadingParametersType paramtype) {
+ ThreadingParameters params = new ThreadingParameters();
+ params.setMaxThreads(paramtype.getMaxThreads());
+ params.setMinThreads(paramtype.getMinThreads());
+ return params;
+ }
+
+ private Map<String, TLSServerParameters> toTLSServerParamenters(
+ List <TLSServerParametersIdentifiedType> list) {
+ Map<String, TLSServerParameters> map = new TreeMap<String, TLSServerParameters>();
+ for (TLSServerParametersIdentifiedType t : list) {
+ try {
+ TLSServerParameters parameter = new TLSServerParametersConfig(t.getTlsServerParameters());
+ map.put(t.getId(), parameter);
+ } catch (Exception e) {
+ throw new RuntimeException(
+ "Could not configure TLS for id " + t.getId(), e);
+ }
+
+ }
+ return map;
+
+ }
+
+
+ /*
+ * We do not require an id from the configuration.
+ *
+ * (non-Javadoc)
+ * @see org.springframework.beans.factory.xml.AbstractBeanDefinitionParser#shouldGenerateId()
+ */
+ @Override
+ protected boolean shouldGenerateId() {
+ return true;
+ }
+
+ @Override
+ protected Class getBeanClass(Element arg0) {
+ return SpringJettyHTTPServerEngineFactory.class;
+ }
+
+ public static class SpringJettyHTTPServerEngineFactory extends JettyHTTPServerEngineFactory
+ implements ApplicationContextAware {
+
+ public SpringJettyHTTPServerEngineFactory() {
+ super();
+ }
+
+ public void setApplicationContext(ApplicationContext ctx) throws BeansException {
+ if (getBus() == null) {
+ Bus bus = BusFactory.getThreadDefaultBus();
+ BusWiringBeanFactoryPostProcessor.updateBusReferencesInContext(bus, ctx);
+ setBus(bus);
+ registerWithBus();
+ }
+ }
+ }
+
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineFactoryBeanDefinitionParser.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/JettyHTTPServerEngineFactoryBeanDefinitionParser.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/NamespaceHandler.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/NamespaceHandler.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/NamespaceHandler.java (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/NamespaceHandler.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,30 @@
+/**
+ * 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.cxf.transport.http_jetty.spring;
+
+import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
+
+public class NamespaceHandler extends NamespaceHandlerSupport {
+ public void init() {
+ registerBeanDefinitionParser("engine-factory",
+ new JettyHTTPServerEngineFactoryBeanDefinitionParser());
+ registerBeanDefinitionParser("engine",
+ new JettyHTTPServerEngineBeanDefinitionParser());
+ }
+}
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/NamespaceHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/spring/NamespaceHandler.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml Wed Nov 12 04:42:46 2008
@@ -0,0 +1,30 @@
+<?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.
+-->
+<extensions xmlns="http://cxf.apache.org/bus/extension">
+
+ <extension class="org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory" deferred="true">
+ <namespace>http://schemas.xmlsoap.org/wsdl/soap/http</namespace>
+ <namespace>http://schemas.xmlsoap.org/soap/http</namespace>
+ <namespace>http://www.w3.org/2003/05/soap/bindings/HTTP/</namespace>
+ <namespace>http://schemas.xmlsoap.org/wsdl/http/</namespace>
+ <namespace>http://cxf.apache.org/transports/http/configuration</namespace>
+ <namespace>http://cxf.apache.org/bindings/xformat</namespace>
+ </extension>
+</extensions>
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml Wed Nov 12 04:42:46 2008
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:foo="http://cxf.apache.org/configuration/foo"
+ xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
+
+ <bean class="org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory"
+ id="org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory"
+ lazy-init="false"
+ depends-on="org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory">
+ <property name="bus" ref="cxf"/>
+ <property name="transportIds">
+ <list>
+ <value>http://schemas.xmlsoap.org/soap/http</value>
+ <value>http://schemas.xmlsoap.org/wsdl/http/</value>
+ <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
+ <value>http://www.w3.org/2003/05/soap/bindings/HTTP/</value>
+ <value>http://cxf.apache.org/transports/http/configuration</value>
+ <value>http://cxf.apache.org/bindings/xformat</value>
+ </list>
+ </property>
+ </bean>
+
+</beans>
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf.extension
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf.extension?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf.extension (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf.extension Wed Nov 12 04:42:46 2008
@@ -0,0 +1 @@
+META-INF/cxf/cxf-extension-http-jetty.xml
\ No newline at end of file
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.handlers
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.handlers?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.handlers (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.handlers Wed Nov 12 04:42:46 2008
@@ -0,0 +1,21 @@
+#
+#
+# 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.
+#
+#
+http\://cxf.apache.org/transports/http-jetty/configuration=org.apache.cxf.transport.http_jetty.spring.NamespaceHandler
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.schemas
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.schemas?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.schemas (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/META-INF/spring.schemas Wed Nov 12 04:42:46 2008
@@ -0,0 +1,21 @@
+#
+#
+# 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.
+#
+#
+http\://cxf.apache.org/schemas/configuration/http-jetty.xsd=schemas/configuration/http-jetty.xsd
Added: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd (added)
+++ cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd Wed Nov 12 04:42:46 2008
@@ -0,0 +1,175 @@
+<?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.
+-->
+
+<xs:schema targetNamespace="http://cxf.apache.org/transports/http-jetty/configuration"
+ xmlns:tns="http://cxf.apache.org/transports/http-jetty/configuration"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:sec="http://cxf.apache.org/configuration/security"
+ 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.0.xsd"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ jaxb:version="2.0">
+
+ <xs:import namespace="http://cxf.apache.org/configuration/security"
+ schemaLocation="http://cxf.apache.org/schemas/configuration/security.xsd"/>
+
+
+ <!-- Is this really supposed to be supperceeded by http-conf:HTTPListenerPolicy? -->
+ <xs:complexType name="ThreadingParametersType">
+ <xs:attribute name="minThreads" type="xs:unsignedShort">
+ <xs:annotation>
+ <xs:documentation>Specifies the minimum number of threads available to the Jetty instance for processing requests.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="maxThreads" type="xs:unsignedShort">
+ <xs:annotation>
+ <xs:documentation>Specifies the maximum number of threads available to the Jetty instance for processing requests.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="ThreadingParametersIdentifiedType">
+ <xs:sequence>
+ <xs:element name="threadingParameters" type="tns:ThreadingParametersType">
+ <xs:annotation>
+ <xs:documentation>Specifies the thread pool properties for the parameter set.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Specifies a unique identifier by which the property set can be referred.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="TLSServerParametersIdentifiedType">
+ <xs:sequence>
+ <xs:element name="tlsServerParameters" type="sec:TLSServerParametersType">
+ <xs:annotation>
+ <xs:documentation>Specifies the properties for the parameter set.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Specifies a unique identifier by which the property set can be referred.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="ParametersRefType">
+ <xs:attribute name="id" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="JettyHTTPServerEngineConfigType">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="tlsServerParameters"
+ type="sec:TLSServerParametersType">
+ <xs:annotation>
+ <xs:documentation>Specifies an instance of the security parameters for the Jetty instance.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="tlsServerParametersRef"
+ type="tns:ParametersRefType">
+ <xs:annotation>
+ <xs:documentation>Specifies a reference to a reusable set of security parameters.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="threadingParameters"
+ type="tns:ThreadingParametersType">
+ <xs:annotation>
+ <xs:documentation>Specifies an instance of the threading configuration use for the Jetty engine.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="threadingParametersRef"
+ type="tns:ParametersRefType">
+ <xs:annotation>
+ <xs:documentation>Specifies a reference to a reusable set of threading parameters.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="connector" type="xsd:anyType" minOccurs="0"/>
+ <xs:element name="handlers" type="xsd:anyType" minOccurs="0"/>
+ <xs:element name="sessionSupport" type="xsd:boolean" minOccurs="0"/>
+ <xs:element name="reuseAddress" type="xsd:boolean" minOccurs="0" />
+ </xs:sequence>
+
+ <xs:attribute name="port" type="xs:int" use="required">
+ <xs:annotation>
+ <xs:documentation>Specifies the port used by the Jetty instance.
+ You can specify a value of 0 for the port attribute. Any threading
+ properties specified in an engine element with its port attribute
+ set to 0 are used as the configuration for all Jetty listeners that are not explicitly configured.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="continuationsEnabled" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Specifies if Jetty Continuations will be explicitly supported
+ by Jetty destinations. Continuations will be checked if this attribute is set to true or omitted, ignored otherwise</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="JettyHTTPServerEngineFactoryConfigType">
+ <xs:sequence>
+ <xs:element name="identifiedTLSServerParameters"
+ type="tns:TLSServerParametersIdentifiedType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Specifies a reusable set of properties for securing an HTTP service provider.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="identifiedThreadingParameters"
+ type="tns:ThreadingParametersIdentifiedType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Specifies a reusable set of properties for controlling a Jetty instance's thread pool.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="engine"
+ type="tns:JettyHTTPServerEngineConfigType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Specifies the configuration for a particular Jetty runtime instance.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="bus" type="xs:string" default="cxf"/>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+ <xs:element name="engine-factory"
+ type="tns:JettyHTTPServerEngineFactoryConfigType">
+ <xs:annotation>
+ <xs:documentation>Contains the configuration for a Jetty instance.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:schema>
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/resources/schemas/configuration/http-jetty.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/sandbox/2.2.x-continuations/systests/pom.xml
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/systests/pom.xml?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/systests/pom.xml (added)
+++ cxf/sandbox/2.2.x-continuations/systests/pom.xml Wed Nov 12 04:42:46 2008
@@ -0,0 +1,392 @@
+<?xml version="1.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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>cxf-parent</artifactId>
+ <groupId>org.apache.cxf</groupId>
+ <version>2.2-SNAPSHOT</version>
+ <relativePath>../parent/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-systests</artifactId>
+ <name>Apache CXF System Tests</name>
+ <version>2.2-SNAPSHOT</version>
+ <url>http://cxf.apache.org</url>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/cxf/trunk/systests</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/cxf/trunk/systests</developerConnection>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${basedir}/src/test/generated</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-codegen-plugin</artifactId>
+ <version>${project.version}</version>
+ <executions>
+ <execution>
+ <id>generate-test-sources</id>
+ <phase>generate-test-sources</phase>
+ <configuration>
+ <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
+ <testWsdlRoot>${basedir}/src/test/resources/wsdl_systest</testWsdlRoot>
+ </configuration>
+ <goals>
+ <goal>wsdl2java</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-corbatools-maven-plugin</artifactId>
+ <version>${project.version}</version>
+ <executions>
+ <execution>
+ <id>generate-sources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <outputDir>${basedir}/target/generated/src/test/resources/wsdl_systest/type_test_corba/</outputDir>
+ <wsdltoidlOptions>
+ <wsdltoidlOption>
+ <wsdl>${basedir}/src/test/resources/wsdl_systest/type_test_corba/type_test_corba.wsdl</wsdl>
+ <corbabinding>true</corbabinding>
+ </wsdltoidlOption>
+ </wsdltoidlOptions>
+ </configuration>
+ <goals>
+ <goal>wsdl2idl</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>ibmjdk</id>
+ <activation>
+ <property>
+ <name>java.vendor</name>
+ <value>IBM Corporation</value>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ejb_3.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-common-utilities</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-tools-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-tools-validator</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-management</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-databinding-jaxb</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-js</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-soap</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-corba</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-jbi</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-jbi</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-integration-jbi</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-databinding-aegis</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http-jetty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-local</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-jms</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-addr</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-rm</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-policy</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-ws-security</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-integration-jca</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-bindings-coloc</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-testutils</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>${derby.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>1.5.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ <version>1.5.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib-nodep</artifactId>
+ <version>2.1_3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>httpunit</groupId>
+ <artifactId>httpunit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>${spring.mock}</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymockclassextension</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix</groupId>
+ <artifactId>servicemix-core</artifactId>
+ <version>${servicemix.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>rhino</groupId>
+ <artifactId>js</artifactId>
+ <version>1.6R7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlbeans</groupId>
+ <artifactId>xmlbeans</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>${derby.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+ <properties>
+ <surefire.fork.mode>pertest</surefire.fork.mode>
+ </properties>
+
+</project>
Propchange: cxf/sandbox/2.2.x-continuations/systests/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/systests/pom.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/sandbox/2.2.x-continuations/systests/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/ClientServerContinuationTest.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/ClientServerContinuationTest.java?rev=713355&view=auto
==============================================================================
--- cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/ClientServerContinuationTest.java (added)
+++ cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/ClientServerContinuationTest.java Wed Nov 12 04:42:46 2008
@@ -0,0 +1,119 @@
+/**
+ * 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.cxf.systest.jaxws.continuations;
+
+import java.net.URL;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+import org.apache.cxf.testutil.common.AbstractClientServerTestBase;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class ClientServerContinuationTest extends AbstractClientServerTestBase {
+
+ private static final String CLIENT_CONFIG_FILE =
+ "org/apache/cxf/systest/jaxws/continuations/cxf.xml";
+ private static final String SERVER_CONFIG_FILE =
+ "org/apache/cxf/systest/jaxws/continuations/jetty-engine.xml";
+
+ public static class Server extends AbstractBusTestServerBase {
+
+ protected void run() {
+ SpringBusFactory bf = new SpringBusFactory();
+ Bus bus = bf.createBus(SERVER_CONFIG_FILE);
+ BusFactory.setDefaultBus(bus);
+ Object implementor = new HelloImplWithContinuation();
+ String address = "http://localhost:9091/hellocontinuation";
+ Endpoint.publish(address, implementor);
+ }
+
+ public static void main(String[] args) {
+ try {
+ Server s = new Server();
+ s.start();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ System.exit(-1);
+ } finally {
+ System.out.println("done!");
+ }
+ }
+ }
+
+ @BeforeClass
+ public static void startServers() throws Exception {
+ assertTrue("server did not launch correctly", launchServer(Server.class));
+ }
+
+ @Test
+ public void testHttpContinuatuions() throws Exception {
+ SpringBusFactory bf = new SpringBusFactory();
+ Bus bus = bf.createBus(CLIENT_CONFIG_FILE);
+ BusFactory.setDefaultBus(bus);
+
+ QName serviceName = new QName("http://cxf.apache.org/systest/jaxws", "HelloContinuationService");
+
+ URL wsdlURL = new URL("http://localhost:9091/hellocontinuation?wsdl");
+ HelloContinuationService service = new HelloContinuationService(wsdlURL, serviceName);
+ assertNotNull(service);
+ final HelloContinuation helloPort = service.getHelloContinuationPort();
+
+ ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 10, 0, TimeUnit.SECONDS,
+ new ArrayBlockingQueue<Runnable>(6));
+ CountDownLatch startSignal = new CountDownLatch(1);
+ CountDownLatch controlDoneSignal = new CountDownLatch(5);
+ CountDownLatch helloDoneSignal = new CountDownLatch(5);
+
+ executor.execute(new ControlWorker(helloPort, "Fred", startSignal, controlDoneSignal));
+ executor.execute(new HelloWorker(helloPort, "Fred", "", startSignal, helloDoneSignal));
+
+ executor.execute(new ControlWorker(helloPort, "Barry", startSignal, controlDoneSignal));
+ executor.execute(new HelloWorker(helloPort, "Barry", "Jameson", startSignal, helloDoneSignal));
+
+ executor.execute(new ControlWorker(helloPort, "Harry", startSignal, controlDoneSignal));
+ executor.execute(new HelloWorker(helloPort, "Harry", "", startSignal, helloDoneSignal));
+
+ executor.execute(new ControlWorker(helloPort, "Rob", startSignal, controlDoneSignal));
+ executor.execute(new HelloWorker(helloPort, "Rob", "Davidson", startSignal, helloDoneSignal));
+
+ executor.execute(new ControlWorker(helloPort, "James", startSignal, controlDoneSignal));
+ executor.execute(new HelloWorker(helloPort, "James", "ServiceMix", startSignal, helloDoneSignal));
+
+ startSignal.countDown();
+
+ controlDoneSignal.await(10, TimeUnit.SECONDS);
+ helloDoneSignal.await(10, TimeUnit.SECONDS);
+ executor.shutdownNow();
+ assertEquals("Not all invocations have been resumed", 0, controlDoneSignal.getCount());
+ assertEquals("Not all invocations have completed", 0, helloDoneSignal.getCount());
+ }
+
+
+}
Propchange: cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/ClientServerContinuationTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/ClientServerContinuationTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date