You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2015/01/19 14:44:34 UTC
[20/24] camel git commit: CAMEL-8239 Split jetty8 and jetty9 support
into separate modules
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/CamelRedirectListener.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/CamelRedirectListener.java b/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/CamelRedirectListener.java
deleted file mode 100644
index 10ad17c..0000000
--- a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/CamelRedirectListener.java
+++ /dev/null
@@ -1,52 +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.jetty8;
-
-import java.io.IOException;
-
-import org.eclipse.jetty.client.HttpDestination;
-import org.eclipse.jetty.client.HttpExchange;
-import org.eclipse.jetty.client.RedirectListener;
-import org.eclipse.jetty.http.HttpStatus;
-import org.eclipse.jetty.io.Buffer;
-
-public class CamelRedirectListener extends RedirectListener {
- private final HttpExchange exchange;
-
- public CamelRedirectListener(HttpDestination destination, HttpExchange ex) {
- super(destination, ex);
- exchange = ex;
- }
-
- @Override
- public void onResponseStatus(Buffer version, int status, Buffer reason) throws IOException {
- // Update the exchange method to get to support the Post/Redirect/Get
- // http://en.wikipedia.org/wiki/Post/Redirect/Get
- if (exchange.getMethod().equals("POST") && (status == HttpStatus.SEE_OTHER_303 || status == HttpStatus.MOVED_TEMPORARILY_302)) {
- exchange.setMethod("GET");
- }
-
- // Since the default RedirectListener only cares about http
- // response codes 301 and 302, we override this method and
- // trick the super class into handling this case for us.
- if (status == HttpStatus.SEE_OTHER_303) {
- status = HttpStatus.MOVED_TEMPORARILY_302;
- }
-
- super.onResponseStatus(version, status, reason);
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyContentExchange8.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyContentExchange8.java b/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyContentExchange8.java
deleted file mode 100644
index 857877c..0000000
--- a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyContentExchange8.java
+++ /dev/null
@@ -1,287 +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.jetty8;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.CountDownLatch;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.CamelExchangeException;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangeTimedOutException;
-import org.apache.camel.component.jetty.JettyContentExchange;
-import org.apache.camel.component.jetty.JettyHttpBinding;
-import org.apache.camel.util.IOHelper;
-import org.eclipse.jetty.client.ContentExchange;
-import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.HttpEventListener;
-import org.eclipse.jetty.client.HttpEventListenerWrapper;
-import org.eclipse.jetty.client.HttpExchange;
-import org.eclipse.jetty.http.HttpFields;
-import org.eclipse.jetty.http.HttpHeaders;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Jetty specific exchange which keeps track of the the request and response.
- *
- * @version
- */
-public class JettyContentExchange8 implements JettyContentExchange {
-
- private static final Logger LOG = LoggerFactory.getLogger(JettyContentExchange8.class);
-
- private volatile Exchange exchange;
- private volatile AsyncCallback callback;
- private volatile JettyHttpBinding jettyBinding;
- private volatile HttpClient client;
- private final CountDownLatch done = new CountDownLatch(1);
- private final ContentExchange ce;
-
- public JettyContentExchange8() {
- this.ce = new ContentExchange(true);
- }
-
- public void init(Exchange exchange, JettyHttpBinding jettyBinding,
- final HttpClient client, AsyncCallback callback) {
- this.exchange = exchange;
- this.jettyBinding = jettyBinding;
- this.client = client;
- this.callback = callback;
- HttpEventListener old = ce.getEventListener();
- ce.setEventListener(new HttpEventListenerWrapper(old, true) {
- public void onRequestComplete() throws IOException {
- JettyContentExchange8.this.onRequestComplete();
- super.onRequestComplete();
- }
-
- @Override
- public void onResponseComplete() throws IOException {
- super.onResponseComplete();
- JettyContentExchange8.this.onResponseComplete();
- }
-
- @Override
- public void onConnectionFailed(Throwable ex) {
- try {
- super.onConnectionFailed(ex);
- } finally {
- JettyContentExchange8.this.onConnectionFailed(ex);
- }
- }
-
- @Override
- public void onException(Throwable ex) {
- try {
- super.onException(ex);
- } finally {
- JettyContentExchange8.this.onException(ex);
- }
- }
-
- @Override
- public void onExpire() {
- try {
- super.onExpire();
- } finally {
- JettyContentExchange8.this.onExpire();
- }
- }
-
- });
- }
-
- protected void onRequestComplete() throws IOException {
- LOG.trace("onRequestComplete");
-
- closeRequestContentSource();
- }
-
- protected void onResponseComplete() throws IOException {
- LOG.trace("onResponseComplete");
- doTaskCompleted();
- }
-
- protected void onExpire() {
- LOG.trace("onExpire");
-
- // need to close the request input stream
- closeRequestContentSource();
- doTaskCompleted();
- }
-
- protected void onException(Throwable ex) {
- LOG.trace("onException {}", ex);
-
- // need to close the request input stream
- closeRequestContentSource();
- doTaskCompleted(ex);
- }
-
- protected void onConnectionFailed(Throwable ex) {
- LOG.trace("onConnectionFailed {}", ex);
-
- // need to close the request input stream
- closeRequestContentSource();
- doTaskCompleted(ex);
- }
-
- public byte[] getBody() {
- // must return the content as raw bytes
- return ce.getResponseContentBytes();
- }
-
- public String getUrl() {
- String params = ce.getRequestFields().getStringField(HttpHeaders.CONTENT_ENCODING);
- return ce.getScheme() + "://"
- + ce.getAddress().toString()
- + ce.getRequestURI() + (params != null ? "?" + params : "");
- }
-
- protected void closeRequestContentSource() {
- // close the input stream when its not needed anymore
- InputStream is = ce.getRequestContentSource();
- if (is != null) {
- IOHelper.close(is, "RequestContentSource", LOG);
- }
- }
-
- protected void doTaskCompleted() {
- // make sure to lower the latch
- done.countDown();
-
- if (callback == null) {
- // this is only for the async callback
- return;
- }
-
- int exchangeState = ce.getStatus();
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("TaskComplete with state {} for url: {}", exchangeState, getUrl());
- }
-
- try {
- if (exchangeState == HttpExchange.STATUS_COMPLETED) {
- // process the response as the state is ok
- try {
- jettyBinding.populateResponse(exchange, this);
- } catch (Exception e) {
- exchange.setException(e);
- }
- } else if (exchangeState == HttpExchange.STATUS_EXPIRED) {
- // we did timeout
- exchange.setException(new ExchangeTimedOutException(exchange, client.getTimeout()));
- } else {
- // some kind of other error
- if (exchange.getException() != null) {
- exchange.setException(new CamelExchangeException("JettyClient failed with state " + exchangeState, exchange, exchange.getException()));
- }
- }
- } finally {
- // now invoke callback to indicate we are done async
- callback.done(false);
- }
- }
-
- protected void doTaskCompleted(Throwable ex) {
- try {
- // some kind of other error
- exchange.setException(new CamelExchangeException("JettyClient failed cause by: " + ex.getMessage(), exchange, ex));
- } finally {
- // make sure to lower the latch
- done.countDown();
- }
-
- if (callback != null) {
- // now invoke callback to indicate we are done async
- callback.done(false);
- }
- }
-
- public void setRequestContentType(String contentType) {
- ce.setRequestContentType(contentType);
- }
-
- public int getResponseStatus() {
- return ce.getResponseStatus();
- }
-
- public void setMethod(String method) {
- ce.setMethod(method);
- }
-
- public void setURL(String url) {
- ce.setURL(url);
- }
-
- public void setRequestContent(byte[] byteArray) {
- ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(byteArray));
- }
- public void setRequestContent(String data, String charset) throws UnsupportedEncodingException {
- if (charset == null) {
- ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(data));
- } else {
- ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(data, charset));
- }
- }
- public void setRequestContent(InputStream ins) {
- ce.setRequestContentSource(ins);
- }
-
- public void addRequestHeader(String key, String s) {
- ce.addRequestHeader(key, s);
- }
-
- public void send(HttpClient client) throws IOException {
- client.send(ce);
- }
-
- public byte[] getResponseContentBytes() {
- return ce.getResponseContentBytes();
- }
-
- public Map<String, Collection<String>> getResponseHeaders() {
- final HttpFields f = ce.getResponseFields();
- Map<String, Collection<String>> ret = new TreeMap<String, Collection<String>>(String.CASE_INSENSITIVE_ORDER);
- for (String n : f.getFieldNamesCollection()) {
- ret.put(n, f.getValuesCollection(n));
- }
- return ret;
- }
-
- @Override
- public void setTimeout(long timeout) {
- client.setTimeout(timeout);
- ce.setTimeout(timeout);
- }
-
- @Override
- public void setSupportRedirect(boolean supportRedirect) {
- LinkedList<String> listeners = client.getRegisteredListeners();
- if (listeners == null || !listeners.contains(CamelRedirectListener.class.getName())) {
- client.registerListener(CamelRedirectListener.class.getName());
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpComponent8.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpComponent8.java b/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpComponent8.java
deleted file mode 100644
index 588cf3c..0000000
--- a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpComponent8.java
+++ /dev/null
@@ -1,132 +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.jetty8;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.component.jetty.CamelHttpClient;
-import org.apache.camel.component.jetty.JettyHttpComponent;
-import org.apache.camel.component.jetty.JettyHttpEndpoint;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.eclipse.jetty.server.AbstractConnector;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-
-public class JettyHttpComponent8 extends JettyHttpComponent {
-
- protected CamelHttpClient createCamelHttpClient(SslContextFactory sslContextFactory) {
- return new CamelHttpClient8(sslContextFactory);
- }
-
- protected AbstractConnector createConnectorJettyInternal(Server server,
- JettyHttpEndpoint endpoint,
- SslContextFactory sslcf) {
- //Jetty 8
- AbstractConnector result = null;
- String hosto = endpoint.getHttpUri().getHost();
- int porto = endpoint.getPort();
- try {
- if (sslcf == null && !"https".equals(endpoint.getProtocol())) {
- result = (AbstractConnector)ObjectHelper
- .loadClass("org.eclipse.jetty.server.nio.SelectChannelConnector",
- Server.class.getClassLoader()).newInstance();
- } else if (sslcf == null) {
- result = (AbstractConnector)ObjectHelper
- .loadClass("org.eclipse.jetty.server.ssl.SslSelectChannelConnector",
- Server.class.getClassLoader()).newInstance();
- } else {
- result = (AbstractConnector)ObjectHelper
- .loadClass("org.eclipse.jetty.server.ssl.SslSelectChannelConnector",
- Server.class.getClassLoader()).getConstructor(SslContextFactory.class)
- .newInstance(sslcf);
- }
- Server.class.getMethod("setSendServerVersion", Boolean.TYPE).invoke(server,
- endpoint.isSendServerVersion());
-
- Server.class.getMethod("setSendDateHeader", Boolean.TYPE).invoke(server,
- endpoint.isSendDateHeader());
-
-
- if (result != null && requestBufferSize != null) {
- result.getClass().getMethod("setRequestBufferSize", Integer.TYPE)
- .invoke(result, requestBufferSize);
- }
- if (result != null && requestHeaderSize != null) {
- result.getClass().getMethod("setRequestHeaderSize", Integer.TYPE)
- .invoke(result, requestHeaderSize);
- }
- if (result != null && responseBufferSize != null) {
- result.getClass().getMethod("setResponseBufferSize", Integer.TYPE)
- .invoke(result, responseBufferSize);
- }
- if (result != null && responseHeaderSize != null) {
- result.getClass().getMethod("setResponseBufferSize", Integer.TYPE)
- .invoke(result, responseHeaderSize);
- }
- result.getClass().getMethod("setPort", Integer.TYPE).invoke(result, porto);
- if (hosto != null) {
- result.getClass().getMethod("setHost", String.class).invoke(result, hosto);
- }
- } catch (RuntimeException rex) {
- throw rex;
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- try {
- result.getClass().getMethod("setPort", Integer.TYPE).invoke(result, porto);
- if (hosto != null) {
- result.getClass().getMethod("setHost", String.class).invoke(result, hosto);
- }
- if (getSocketConnectorProperties() != null && !"https".equals(endpoint.getProtocol())) {
- // must copy the map otherwise it will be deleted
- Map<String, Object> properties = new HashMap<String, Object>(getSocketConnectorProperties());
- IntrospectionSupport.setProperties(result, properties);
- if (properties.size() > 0) {
- throw new IllegalArgumentException("There are " + properties.size()
- + " parameters that couldn't be set on the SocketConnector."
- + " Check the uri if the parameters are spelt correctly and that they are properties of the SelectChannelConnector."
- + " Unknown parameters=[" + properties + "]");
- }
- } else if (getSslSocketConnectorProperties() != null && "https".equals(endpoint.getProtocol())) {
- // must copy the map otherwise it will be deleted
- Map<String, Object> properties = new HashMap<String, Object>(getSslSocketConnectorProperties());
- IntrospectionSupport.setProperties(result, properties);
- if (properties.size() > 0) {
- throw new IllegalArgumentException("There are " + properties.size()
- + " parameters that couldn't be set on the SocketConnector."
- + " Check the uri if the parameters are spelt correctly and that they are properties of the SelectChannelConnector."
- + " Unknown parameters=[" + properties + "]");
- }
- }
-
- } catch (RuntimeException rex) {
- throw rex;
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- return result;
- }
-
- @Override
- protected JettyHttpEndpoint createEndpoint(URI endpointUri, URI httpUri) throws URISyntaxException {
- return new JettyHttpEndpoint8(this, endpointUri.toString(), httpUri);
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java b/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
deleted file mode 100644
index 9cbd353..0000000
--- a/components/camel-jetty/src/main/jetty8/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
+++ /dev/null
@@ -1,36 +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.jetty8;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import org.apache.camel.component.jetty.JettyContentExchange;
-import org.apache.camel.component.jetty.JettyHttpComponent;
-import org.apache.camel.component.jetty.JettyHttpEndpoint;
-
-public class JettyHttpEndpoint8 extends JettyHttpEndpoint {
- public JettyHttpEndpoint8(JettyHttpComponent component, String uri, URI httpURL) throws URISyntaxException {
- super(component, uri, httpURL);
- }
-
- @Override
- public JettyContentExchange createContentExchange() {
- return new JettyContentExchange8();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/AttachmentHttpBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/AttachmentHttpBinding.java b/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/AttachmentHttpBinding.java
deleted file mode 100644
index 82ce70f..0000000
--- a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/AttachmentHttpBinding.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.camel.component.jetty9;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Collection;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.Part;
-
-import org.apache.camel.component.http.DefaultHttpBinding;
-import org.apache.camel.component.http.HttpEndpoint;
-import org.apache.camel.component.http.HttpMessage;
-import org.eclipse.jetty.util.MultiPartInputStreamParser;
-
-final class AttachmentHttpBinding extends DefaultHttpBinding {
- AttachmentHttpBinding(HttpEndpoint endpoint) {
- super(endpoint);
- }
-
- @Override
- protected void populateAttachments(HttpServletRequest request, HttpMessage message) {
- Object object = request.getAttribute("org.eclipse.jetty.servlet.MultiPartFile.multiPartInputStream");
- if (object instanceof MultiPartInputStreamParser) {
- MultiPartInputStreamParser parser = (MultiPartInputStreamParser)object;
- Collection<Part> parts;
- try {
- parts = parser.getParts();
- for (Part part : parts) {
- String contentType = part.getContentType();
- if (!contentType.startsWith("application/octet-stream")) {
- continue;
- }
-
- DataSource ds = new PartDataSource(part);
- message.addAttachment(part.getName(), new DataHandler(ds));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- }
- }
-
- final class PartDataSource implements DataSource {
- private final Part part;
-
- PartDataSource(Part part) {
- this.part = part;
- }
-
- @Override
- public OutputStream getOutputStream() throws IOException {
- return null;
- }
-
- @Override
- public String getName() {
- return part.getName();
- }
-
- @Override
- public InputStream getInputStream() throws IOException {
- return part.getInputStream();
- }
-
- @Override
- public String getContentType() {
- return part.getContentType();
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/CamelHttpClient9.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/CamelHttpClient9.java b/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/CamelHttpClient9.java
deleted file mode 100644
index 001662f..0000000
--- a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/CamelHttpClient9.java
+++ /dev/null
@@ -1,52 +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.jetty9;
-
-import java.util.concurrent.Executor;
-
-import org.apache.camel.component.jetty.CamelHttpClient;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-
-public class CamelHttpClient9 extends CamelHttpClient {
-
- public CamelHttpClient9(SslContextFactory sslContextFactory) {
- super(sslContextFactory);
- }
-
- protected boolean hasThreadPool() {
- return getExecutor() != null;
- }
-
- protected void setThreadPoolOrExecutor(Executor pool) {
- setExecutor(pool);
- }
-
- public void setProxy(String host, int port) {
- getProxyConfiguration().getProxies().add(new org.eclipse.jetty.client.HttpProxy(host, port));
- }
-
- @Override
- public String getProxyHost() {
- return getProxyConfiguration().getProxies().get(0).getAddress().getHost();
- }
-
- @Override
- public int getProxyPort() {
- return getProxyConfiguration().getProxies().get(0).getAddress().getPort();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyContentExchange9.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyContentExchange9.java b/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyContentExchange9.java
deleted file mode 100644
index 3ee2072..0000000
--- a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyContentExchange9.java
+++ /dev/null
@@ -1,295 +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.jetty9;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.util.Collection;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.CamelExchangeException;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangeTimedOutException;
-import org.apache.camel.component.jetty.JettyContentExchange;
-import org.apache.camel.component.jetty.JettyHttpBinding;
-import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.api.Request;
-import org.eclipse.jetty.client.api.Response;
-import org.eclipse.jetty.client.api.Result;
-import org.eclipse.jetty.client.util.BufferingResponseListener;
-import org.eclipse.jetty.client.util.BytesContentProvider;
-import org.eclipse.jetty.client.util.InputStreamContentProvider;
-import org.eclipse.jetty.client.util.StringContentProvider;
-import org.eclipse.jetty.http.HttpFields;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Jetty specific exchange which keeps track of the the request and response.
- *
- * @version
- */
-public class JettyContentExchange9 implements JettyContentExchange {
-
- private static final Logger LOG = LoggerFactory.getLogger(JettyContentExchange9.class);
-
- private volatile Exchange exchange;
- private volatile AsyncCallback callback;
- private volatile JettyHttpBinding jettyBinding;
- private volatile HttpClient client;
- private final CountDownLatch done = new CountDownLatch(1);
- private Request request;
- private Response response;
- private byte[] responseContent;
-
- private String requestContentType;
-
- private boolean supportRedirect;
-
- public void init(Exchange exchange, JettyHttpBinding jettyBinding,
- final HttpClient client, AsyncCallback callback) {
- this.exchange = exchange;
- this.jettyBinding = jettyBinding;
- this.client = client;
- this.callback = callback;
- }
-
- protected void onRequestComplete() {
- LOG.trace("onRequestComplete");
- closeRequestContentSource();
- }
-
- protected void onResponseComplete(Result result, byte[] content, String contentType) {
- LOG.trace("onResponseComplete");
- done.countDown();
- this.response = result.getResponse();
- this.responseContent = content;
- if (callback == null) {
- // this is only for the async callback
- return;
- }
- try {
- jettyBinding.populateResponse(exchange, this);
- } catch (Exception e) {
- exchange.setException(e);
- } finally {
- callback.done(false);
- }
- }
-
- protected void onExpire() {
- LOG.trace("onExpire");
-
- // need to close the request input stream
- closeRequestContentSource();
- doTaskCompleted(new ExchangeTimedOutException(exchange, client.getConnectTimeout()));
- }
-
- protected void onException(Throwable ex) {
- LOG.trace("onException {}", ex);
-
- // need to close the request input stream
- closeRequestContentSource();
- doTaskCompleted(ex);
- }
-
- protected void onConnectionFailed(Throwable ex) {
- LOG.trace("onConnectionFailed {}", ex);
-
- // need to close the request input stream
- closeRequestContentSource();
- doTaskCompleted(ex);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#getBody()
- */
- public byte[] getBody() {
- // must return the content as raw bytes
- return getResponseContentBytes();
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#getUrl()
- */
- public String getUrl() {
- try {
- return this.request.getURI().toURL().toExternalForm();
- } catch (MalformedURLException e) {
- throw new IllegalStateException(e.getMessage(), e);
- }
- }
-
- protected void closeRequestContentSource() {
- tryClose(this.request.getContent());
- }
-
- private void tryClose(Object obj) {
- if (obj instanceof Closeable) {
- try {
- ((Closeable)obj).close();
- } catch (IOException e) {
- // Ignore
- }
- }
- }
-
- protected void doTaskCompleted(Throwable ex) {
- if (ex instanceof TimeoutException) {
- exchange.setException(new ExchangeTimedOutException(exchange, request.getTimeout()));
- } else {
- exchange.setException(new CamelExchangeException("JettyClient failed cause by: " + ex.getMessage(), exchange, ex));
- }
- done.countDown();
-
- if (callback != null) {
- // now invoke callback to indicate we are done async
- callback.done(false);
- }
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setRequestContentType(java.lang.String)
- */
- public void setRequestContentType(String contentType) {
- this.requestContentType = contentType;
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#getResponseStatus()
- */
- public int getResponseStatus() {
- return this.response.getStatus();
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setMethod(java.lang.String)
- */
- public void setMethod(String method) {
- this.request.method(method);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setTimeout(long)
- */
- public void setTimeout(long timeout) {
- this.request.timeout(timeout, TimeUnit.MILLISECONDS);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setURL(java.lang.String)
- */
- public void setURL(String url) {
- this.request = client.newRequest(url);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setRequestContent(byte[])
- */
- public void setRequestContent(byte[] byteArray) {
- this.request.content(new BytesContentProvider(byteArray), this.requestContentType);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setRequestContent(java.lang.String, java.lang.String)
- */
- public void setRequestContent(String data, String charset) throws UnsupportedEncodingException {
- StringContentProvider cp = charset != null ? new StringContentProvider(data, charset) : new StringContentProvider(data);
- this.request.content(cp, this.requestContentType);
- }
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#setRequestContent(java.io.InputStream)
- */
- public void setRequestContent(InputStream ins) {
- this.request.content(new InputStreamContentProvider(ins), this.requestContentType);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#addRequestHeader(java.lang.String, java.lang.String)
- */
- public void addRequestHeader(String key, String s) {
- this.request.header(key, s);
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#send(org.eclipse.jetty.client.HttpClient)
- */
- public void send(HttpClient client) throws IOException {
- org.eclipse.jetty.client.api.Request.Listener listener = new Request.Listener.Adapter() {
-
- @Override
- public void onSuccess(Request request) {
- onRequestComplete();
- }
-
- @Override
- public void onFailure(Request request, Throwable failure) {
- onConnectionFailed(failure);
- }
-
- };
- BufferingResponseListener responseListener = new BufferingResponseListener() {
-
- @Override
- public void onComplete(Result result) {
- if (result.isFailed()) {
- doTaskCompleted(result.getFailure());
- } else {
- onResponseComplete(result, getContent(), getMediaType());
- }
- }
- };
- request.followRedirects(supportRedirect).listener(listener).send(responseListener);
- }
-
- protected void setResponse(Response response) {
- this.response = response;
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#getResponseContentBytes()
- */
- public byte[] getResponseContentBytes() {
- return responseContent;
- }
-
- /* (non-Javadoc)
- * @see org.apache.camel.component.jetty.JettyContentExchangeI#getResponseHeaders()
- */
- public Map<String, Collection<String>> getResponseHeaders() {
- final HttpFields f = response.getHeaders();
- Map<String, Collection<String>> ret = new TreeMap<String, Collection<String>>(String.CASE_INSENSITIVE_ORDER);
- for (String n : f.getFieldNamesCollection()) {
- ret.put(n, f.getValuesList(n));
- }
- return ret;
- }
-
- @Override
- public void setSupportRedirect(boolean supportRedirect) {
- this.supportRedirect = supportRedirect;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpComponent9.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpComponent9.java b/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpComponent9.java
deleted file mode 100644
index ec53cdc..0000000
--- a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpComponent9.java
+++ /dev/null
@@ -1,140 +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.jetty9;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.component.jetty.CamelHttpClient;
-import org.apache.camel.component.jetty.JettyHttpComponent;
-import org.apache.camel.component.jetty.JettyHttpEndpoint;
-import org.apache.camel.util.IntrospectionSupport;
-import org.eclipse.jetty.server.AbstractConnector;
-import org.eclipse.jetty.server.ConnectionFactory;
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.HttpConnectionFactory;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.SslConnectionFactory;
-import org.eclipse.jetty.util.ssl.SslContextFactory;
-
-public class JettyHttpComponent9 extends JettyHttpComponent {
-
- protected CamelHttpClient createCamelHttpClient(SslContextFactory sslContextFactory) {
- return new CamelHttpClient9(sslContextFactory);
- }
-
- protected JettyHttpEndpoint createEndpoint(URI endpointUri, URI httpUri) throws URISyntaxException {
- return new JettyHttpEndpoint9(this, endpointUri.toString(), httpUri);
- }
-
- protected Connector getSslSocketConnector(Server server, JettyHttpEndpoint endpoint) {
- Connector answer = null;
- /*
- if (sslSocketConnectors != null) {
- SslContextFactory con = sslSocketConnectors.get(endpoint.getPort());
- if (con != null) {
- SslConnectionFactory sslConnectionFactory = new SslConnectionFactory(con, null);
- @SuppressWarnings("resource")
- ServerConnector sc = new ServerConnector(server, sslConnectionFactory);
- sc.setPort(endpoint.getPort());
- sc.setHost(endpoint.getHttpUri().getHost());
- answer = sc;
- }
- }
- */
- if (answer == null) {
- answer = createConnector(server, endpoint);
- }
- return answer;
- }
-
- protected AbstractConnector createConnectorJettyInternal(Server server,
- JettyHttpEndpoint endpoint,
- SslContextFactory sslcf) {
- try {
- String hosto = endpoint.getHttpUri().getHost();
- int porto = endpoint.getPort();
- org.eclipse.jetty.server.HttpConfiguration httpConfig = new org.eclipse.jetty.server.HttpConfiguration();
- httpConfig.setSendServerVersion(endpoint.isSendServerVersion());
- httpConfig.setSendDateHeader(endpoint.isSendDateHeader());
- httpConfig.setSendDateHeader(endpoint.isSendDateHeader());
-
- if (requestBufferSize != null) {
- // Does not work
- //httpConfig.setRequestBufferSize(requestBufferSize);
- }
- if (requestHeaderSize != null) {
- httpConfig.setRequestHeaderSize(requestHeaderSize);
- }
- if (responseBufferSize != null) {
- httpConfig.setOutputBufferSize(responseBufferSize);
- }
- if (responseHeaderSize != null) {
- httpConfig.setResponseHeaderSize(responseHeaderSize);
- }
-
- HttpConnectionFactory httpFactory = new org.eclipse.jetty.server.HttpConnectionFactory(httpConfig);
-
- ArrayList<ConnectionFactory> connectionFactories = new ArrayList<ConnectionFactory>();
- ServerConnector result = new org.eclipse.jetty.server.ServerConnector(server);
- if (sslcf != null) {
- httpConfig.addCustomizer(new org.eclipse.jetty.server.SecureRequestCustomizer());
- SslConnectionFactory scf = new org.eclipse.jetty.server.SslConnectionFactory(sslcf, "HTTP/1.1");
- connectionFactories.add(scf);
- result.setDefaultProtocol("SSL-HTTP/1.1");
- }
- connectionFactories.add(httpFactory);
- result.setConnectionFactories(connectionFactories);
- result.setPort(porto);
- if (hosto != null) {
- result.setHost(hosto);
- }
- /*
- if (getSocketConnectorProperties() != null && !"https".equals(endpoint.getProtocol())) {
- // must copy the map otherwise it will be deleted
- Map<String, Object> properties = new HashMap<String, Object>(getSocketConnectorProperties());
- IntrospectionSupport.setProperties(httpConfig, properties);
- if (properties.size() > 0) {
- throw new IllegalArgumentException("There are " + properties.size()
- + " parameters that couldn't be set on the SocketConnector."
- + " Check the uri if the parameters are spelt correctly and that they are properties of the SelectChannelConnector."
- + " Unknown parameters=[" + properties + "]");
- }
- } else*/
- if (getSslSocketConnectorProperties() != null && "https".equals(endpoint.getProtocol())) {
- // must copy the map otherwise it will be deleted
- Map<String, Object> properties = new HashMap<String, Object>(getSslSocketConnectorProperties());
- IntrospectionSupport.setProperties(sslcf, properties);
- if (properties.size() > 0) {
- throw new IllegalArgumentException("There are " + properties.size()
- + " parameters that couldn't be set on the SocketConnector."
- + " Check the uri if the parameters are spelt correctly and that they are properties of the SelectChannelConnector."
- + " Unknown parameters=[" + properties + "]");
- }
- }
- return result;
- } catch (RuntimeException rex) {
- throw rex;
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java b/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
deleted file mode 100644
index 9c5ac6a..0000000
--- a/components/camel-jetty/src/main/jetty9/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.camel.component.jetty9;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import org.apache.camel.component.http.HttpBinding;
-import org.apache.camel.component.jetty.JettyContentExchange;
-import org.apache.camel.component.jetty.JettyHttpComponent;
-import org.apache.camel.component.jetty.JettyHttpEndpoint;
-
-public class JettyHttpEndpoint9 extends JettyHttpEndpoint {
- private HttpBinding binding;
-
- public JettyHttpEndpoint9(JettyHttpComponent component, String uri, URI httpURL) throws URISyntaxException {
- super(component, uri, httpURL);
- }
-
- @Override
- public HttpBinding getBinding() {
- if (this.binding == null) {
- this.binding = new AttachmentHttpBinding(this);
- }
- return this.binding;
- }
-
- @Override
- public void setBinding(HttpBinding binding) {
- super.setBinding(binding);
- this.binding = binding;
- }
-
- @Override
- public JettyContentExchange createContentExchange() {
- return new JettyContentExchange9();
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/resources/META-INF/LICENSE.txt
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/resources/META-INF/LICENSE.txt b/components/camel-jetty/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b127..0000000
--- a/components/camel-jetty/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/resources/META-INF/NOTICE.txt
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/resources/META-INF/NOTICE.txt b/components/camel-jetty/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-jetty/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
- =========================================================================
- == NOTICE file corresponding to the section 4 d of ==
- == the Apache License, Version 2.0, ==
- == in this case for the Apache Camel distribution. ==
- =========================================================================
-
- This product includes software developed by
- The Apache Software Foundation (http://www.apache.org/).
-
- Please read the different LICENSE files present in the licenses directory of
- this distribution.
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index aa69a0f..0000000
--- a/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.camel.component.jetty.JettyConverter
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/component/jetty
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/component/jetty b/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/component/jetty
deleted file mode 100644
index 13116dc..0000000
--- a/components/camel-jetty/src/main/resources/META-INF/services/org/apache/camel/component/jetty
+++ /dev/null
@@ -1,17 +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.
-#
-class=org.apache.camel.component.jetty8.JettyHttpComponent8
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/data/logo.jpeg
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/data/logo.jpeg b/components/camel-jetty/src/test/data/logo.jpeg
deleted file mode 100644
index b635017..0000000
Binary files a/components/camel-jetty/src/test/data/logo.jpeg and /dev/null differ
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/data/plain.txt
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/data/plain.txt b/components/camel-jetty/src/test/data/plain.txt
deleted file mode 100644
index 3ef60fd..0000000
--- a/components/camel-jetty/src/test/data/plain.txt
+++ /dev/null
@@ -1,18 +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.
-## ------------------------------------------------------------------------
-Hello World
-This is the second line
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java
deleted file mode 100644
index aeb196f..0000000
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java
+++ /dev/null
@@ -1,119 +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.jetty;
-
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.http.DefaultHttpBinding;
-import org.apache.camel.component.http.HttpHeaderFilterStrategy;
-import org.apache.camel.component.properties.PropertiesComponent;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.eclipse.jetty.server.Server;
-import org.junit.BeforeClass;
-
-public abstract class BaseJettyTest extends CamelTestSupport {
-
- private static volatile int port;
-
- private static volatile int port2;
-
- private final AtomicInteger counter = new AtomicInteger(1);
-
- @BeforeClass
- public static void initPort() throws Exception {
- // start from somewhere in the 23xxx range
- port = AvailablePortFinder.getNextAvailable(23000);
- // find another ports for proxy route test
- port2 = AvailablePortFinder.getNextAvailable(24000);
- }
-
- @Override
- protected CamelContext createCamelContext() throws Exception {
- CamelContext context = super.createCamelContext();
- context.addComponent("properties", new PropertiesComponent("ref:prop"));
- return context;
- }
-
- @Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry jndi = super.createRegistry();
-
- Properties prop = new Properties();
- prop.setProperty("port", "" + getPort());
- prop.setProperty("port2", "" + getPort2());
- jndi.bind("prop", prop);
- return jndi;
- }
-
- protected int getNextPort() {
- return AvailablePortFinder.getNextAvailable(port + counter.getAndIncrement());
- }
-
- protected int getNextPort(int startWithPort) {
- return AvailablePortFinder.getNextAvailable(startWithPort);
- }
-
- public void setSSLProps(JettyHttpComponent jetty, String path, String keyStorePasswd, String keyPasswd) {
- if (jettyVersion() == 9) {
- jetty.addSslSocketConnectorProperty("keyStorePassword", keyStorePasswd);
- jetty.addSslSocketConnectorProperty("keyManagerPassword", keyPasswd);
- jetty.addSslSocketConnectorProperty("keyStorePath", path);
- jetty.addSslSocketConnectorProperty("trustStoreType", "JKS");
- } else {
- jetty.addSslSocketConnectorProperty("password", keyStorePasswd);
- jetty.addSslSocketConnectorProperty("keyPassword", keyPasswd);
- jetty.addSslSocketConnectorProperty("keystore", path);
- jetty.addSslSocketConnectorProperty("truststoreType", "JKS");
- }
- }
-
- protected static int getPort() {
- return port;
- }
-
- protected static int getPort2() {
- return port2;
- }
-
- public int jettyVersion() {
- try {
- this.getClass().getClassLoader().loadClass("org.eclipse.jetty.server.ssl.SslSelectChannelConnector");
- return 8;
- } catch (ClassNotFoundException e) {
- return 9;
- }
- }
-
- protected void allowNullHeaders() {
- JettyHttpComponent jetty = (JettyHttpComponent)context.getComponent("jetty");
- HttpHeaderFilterStrategy filterStrat = new HttpHeaderFilterStrategy();
- filterStrat.setAllowNullValues(true);
- @SuppressWarnings("deprecation")
- DefaultHttpBinding httpBinding = new DefaultHttpBinding(filterStrat);
- jetty.setHttpBinding(httpBinding);
- }
-
- protected boolean isJetty8() {
- String majorVersion = Server.getVersion().split("\\.")[0];
- return "8".equals(majorVersion);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ConvertPayloadToInputStreamTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ConvertPayloadToInputStreamTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ConvertPayloadToInputStreamTest.java
deleted file mode 100644
index c1d8f1f..0000000
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ConvertPayloadToInputStreamTest.java
+++ /dev/null
@@ -1,64 +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.jetty;
-
-import java.io.InputStream;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Test;
-
-/**
- * @version
- */
-public class ConvertPayloadToInputStreamTest extends BaseJettyTest {
- protected String expectedBody = "<hello>world!</hello>";
-
- @Test
- public void testConvertPayloadToInputStream() throws Exception {
- MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
- mockEndpoint.expectedMessageCount(1);
-
- template.requestBodyAndHeader("http://localhost:{{port}}/test", expectedBody, "Content-Type", "application/xml");
-
- mockEndpoint.assertIsSatisfied();
- List<Exchange> list = mockEndpoint.getReceivedExchanges();
- Exchange exchange = list.get(0);
- assertNotNull("exchange", exchange);
-
- Message in = exchange.getIn();
- assertNotNull("in", in);
-
- Object actual = in.getBody();
- InputStream value = assertIsInstanceOf(InputStream.class, actual);
- assertNotNull("InputStream", value);
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() {
- from("jetty:http://localhost:{{port}}/test").
- convertBodyTo(InputStream.class).
- to("mock:result");
- }
- };
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
deleted file mode 100644
index 463151b..0000000
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
+++ /dev/null
@@ -1,109 +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.jetty;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.JndiRegistry;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.junit.Test;
-
-public class CustomFiltersTest extends BaseJettyTest {
-
- private static class MyTestFilter implements Filter {
- @Override
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
- // set a marker attribute to show that this filter class was used
- ((HttpServletResponse)response).addHeader("MyTestFilter", "true");
- chain.doFilter(request , response);
- }
-
- @Override
- public void init(FilterConfig filterConfig) throws ServletException {
- // do nothing here
- }
-
- @Override
- public void destroy() {
- // do nothing here
- }
- }
-
- private void sendRequestAndVerify(String url) throws Exception {
- HttpClient httpclient = new HttpClient();
-
- PostMethod httppost = new PostMethod(url);
-
- StringRequestEntity reqEntity = new StringRequestEntity("This is a test", null, null);
- httppost.setRequestEntity(reqEntity);
-
- int status = httpclient.executeMethod(httppost);
-
- assertEquals("Get a wrong response status", 200, status);
-
- String result = httppost.getResponseBodyAsString();
- assertEquals("Get a wrong result", "This is a test response", result);
- assertNotNull("Did not use custom multipart filter", httppost.getResponseHeader("MyTestFilter"));
- }
-
- @Test
- public void testFilters() throws Exception {
- sendRequestAndVerify("http://localhost:" + getPort() + "/testFilters");
- }
-
- @Override
- protected JndiRegistry createRegistry() throws Exception {
- JndiRegistry jndi = super.createRegistry();
- List<Filter> filters = new ArrayList<Filter>();
- filters.add(new MyTestFilter());
- jndi.bind("myFilters", filters);
- return jndi;
- }
-
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() throws Exception {
-
- // Test the filter list options
- from("jetty://http://localhost:{{port}}/testFilters?filtersRef=myFilters").process(new Processor() {
- public void process(Exchange exchange) throws Exception {
- Message in = exchange.getIn();
- String request = in.getBody(String.class);
- // The other form date can be get from the message header
- exchange.getOut().setBody(request + " response");
- }
- });
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java
deleted file mode 100644
index e893775..0000000
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java
+++ /dev/null
@@ -1,71 +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.jetty;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.junit.Test;
-
-public class EnableCORSTest extends BaseJettyTest {
-
- @Test
- public void testCORSdisabled() throws Exception {
- HttpClient httpclient = new HttpClient();
- HttpMethod httpMethod = new GetMethod("http://localhost:" + getPort() + "/test1");
- httpMethod.addRequestHeader("Origin", "http://localhost:9000");
- httpMethod.addRequestHeader("Referer", "http://localhost:9000");
-
- int status = httpclient.executeMethod(httpMethod);
-
- assertEquals("Get a wrong response status", 200, status);
-
- Header responseHeader = httpMethod.getResponseHeader("Access-Control-Allow-Credentials");
- assertNull("Access-Control-Allow-Credentials HEADER should not be set", responseHeader);
- }
-
-
- @Test
- public void testCORSenabled() throws Exception {
- HttpClient httpclient = new HttpClient();
- HttpMethod httpMethod = new GetMethod("http://localhost:" + getPort2() + "/test2");
- httpMethod.addRequestHeader("Origin", "http://localhost:9000");
- httpMethod.addRequestHeader("Referer", "http://localhost:9000");
-
-
- int status = httpclient.executeMethod(httpMethod);
-
- assertEquals("Get a wrong response status", 200, status);
-
- Header responseHeader = httpMethod.getResponseHeader("Access-Control-Allow-Credentials");
- assertTrue("CORS not enabled", Boolean.valueOf(responseHeader.getValue()));
-
-
- }
-
-
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() throws Exception {
- from("jetty://http://localhost:{{port}}/test1?enableCORS=false").transform(simple("OK"));
- from("jetty://http://localhost:{{port2}}/test2?enableCORS=true").transform(simple("OK"));
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/camel/blob/8b2a8877/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java
deleted file mode 100644
index 6a4b635..0000000
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java
+++ /dev/null
@@ -1,69 +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.jetty;
-
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.eclipse.jetty.server.Connector;
-import org.junit.Ignore;
-
-@Ignore
-public class ExplicitHttpsRouteTest extends HttpsRouteTest {
-
- private Connector createSslSocketConnector(int port) throws URISyntaxException {
- /*
- SslSelectChannelConnector sslSocketConnector = new SslSelectChannelConnector();
- configureSslContextFactory(sslSocketConnector.getSslContextFactory());
- sslSocketConnector.setPort(port);
- return sslSocketConnector;
- */
- return null;
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() throws URISyntaxException {
- // START SNIPPET: e1
- // create SSL select channel connectors for port 9080 and 9090
- Map<Integer, Connector> connectors = new HashMap<Integer, Connector>();
- connectors.put(port1, createSslSocketConnector(port1));
- connectors.put(port2, createSslSocketConnector(port2));
-
- JettyHttpComponent jetty = getContext().getComponent("jetty", JettyHttpComponent.class);
- jetty.setSslSocketConnectors(connectors);
- // END SNIPPET: e1
-
- from("jetty:https://localhost:" + port1 + "/test").to("mock:a");
-
- Processor proc = new Processor() {
- public void process(Exchange exchange) throws Exception {
- exchange.getOut().setBody("<b>Hello World</b>");
- }
- };
- from("jetty:https://localhost:" + port1 + "/hello").process(proc);
-
- from("jetty:https://localhost:" + port2 + "/test").to("mock:b");
- }
- };
- }
-}
\ No newline at end of file