Repository: camel Updated Branches: refs/heads/master 2af0189ba -> 812591a19
CAMEL-7999: More components include documentation Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/aed118a1 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/aed118a1 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/aed118a1 Branch: refs/heads/master Commit: aed118a11ed75cf529c6c592dc1b6d6270f0c23b Parents: 2af0189 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Jan 5 11:22:04 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Jan 5 11:22:04 2015 +0100 ---------------------------------------------------------------------- .../component/websocket/WebsocketComponent.java | 9 ++-- .../component/websocket/WebsocketEndpoint.java | 48 ++++++++++++++++---- 2 files changed, 43 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/aed118a1/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java index c08078b..33afc99 100644 --- a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java +++ b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketComponent.java @@ -29,7 +29,7 @@ import javax.servlet.DispatcherType; import org.apache.camel.Endpoint; import org.apache.camel.RuntimeCamelException; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.spi.ManagementAgent; import org.apache.camel.spi.ManagementStrategy; import org.apache.camel.util.ObjectHelper; @@ -59,7 +59,7 @@ import org.eclipse.jetty.util.thread.ThreadPool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class WebsocketComponent extends DefaultComponent { +public class WebsocketComponent extends UriEndpointComponent { protected static final Logger LOG = LoggerFactory.getLogger(WebsocketComponent.class); protected static final HashMap<String, ConnectorRef> CONNECTORS = new HashMap<String, ConnectorRef>(); @@ -113,6 +113,7 @@ public class WebsocketComponent extends DefaultComponent { } public WebsocketComponent() { + super(WebsocketEndpoint.class); } /** @@ -426,7 +427,7 @@ public class WebsocketComponent extends DefaultComponent { } } - protected WebsocketComponentServlet addServlet(NodeSynchronization sync, WebsocketConsumer consumer, String remaining) throws Exception { + protected WebsocketComponentServlet addServlet(NodeSynchronization sync, WebsocketConsumer consumer, String resourceUri) throws Exception { // Get Connector from one of the Jetty Instances to add WebSocket Servlet WebsocketEndpoint endpoint = consumer.getEndpoint(); @@ -436,7 +437,7 @@ public class WebsocketComponent extends DefaultComponent { WebsocketComponentServlet servlet; if (connectorRef != null) { - String pathSpec = createPathSpec(remaining); + String pathSpec = createPathSpec(resourceUri); servlet = servlets.get(pathSpec); if (servlet == null) { // Retrieve Context http://git-wip-us.apache.org/repos/asf/camel/blob/aed118a1/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java index d32a0a3..e9c0815 100644 --- a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java +++ b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java @@ -25,46 +25,63 @@ import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.DefaultEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriPath; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ServiceHelper; import org.apache.camel.util.jsse.SSLContextParameters; import org.eclipse.jetty.server.Handler; +@UriEndpoint(scheme = "websocket", consumerClass = WebsocketConsumer.class, label = "http,websocket") public class WebsocketEndpoint extends DefaultEndpoint { private NodeSynchronization sync; private WebsocketStore memoryStore; private WebsocketComponent component; - private SSLContextParameters sslContextParameters; private URI uri; private List<Handler> handlers; + @UriParam(defaultValue = "false") private Boolean sendToAll; + @UriParam(defaultValue = "false") private boolean enableJmx; + @UriParam(defaultValue = "false") private boolean sessionSupport; + @UriParam(defaultValue = "false") private boolean crossOriginFilterOn; - private String remaining; + @UriPath private String host; + @UriPath + private Integer port; + @UriPath + private String resourceUri; + @UriParam + private SSLContextParameters sslContextParameters; + @UriParam private String allowedOrigins; // Used to filter CORS + @UriParam private String filterPath; - // Base Resource for the ServletContextHandler + @UriParam private String staticResources; - - private Integer port; // Here are the configuration on the WebSocketComponentServlet + @UriParam private Integer bufferSize; + @UriParam private Integer maxIdleTime; + @UriParam private Integer maxTextMessageSize; + @UriParam private Integer maxBinaryMessageSize; + @UriParam private Integer minVersion; - - public WebsocketEndpoint(WebsocketComponent component, String uri, String remaining, Map<String, Object> parameters) { + public WebsocketEndpoint(WebsocketComponent component, String uri, String resourceUri, Map<String, Object> parameters) { super(uri, component); - this.remaining = remaining; + this.resourceUri = resourceUri; this.memoryStore = new MemoryWebsocketStore(); this.sync = new DefaultNodeSynchronization(memoryStore); this.component = component; @@ -96,7 +113,7 @@ public class WebsocketEndpoint extends DefaultEndpoint { public void connect(WebsocketConsumer consumer) throws Exception { component.connect(consumer); - component.addServlet(sync, consumer, remaining); + component.addServlet(sync, consumer, resourceUri); } public void disconnect(WebsocketConsumer consumer) throws Exception { @@ -106,7 +123,7 @@ public class WebsocketEndpoint extends DefaultEndpoint { public void connect(WebsocketProducer producer) throws Exception { component.connect(producer); - component.addServlet(sync, producer, remaining); + component.addServlet(sync, producer, resourceUri); } public void disconnect(WebsocketProducer producer) throws Exception { @@ -260,6 +277,17 @@ public class WebsocketEndpoint extends DefaultEndpoint { this.filterPath = filterPath; } + public void setPort(Integer port) { + this.port = port; + } + + public String getResourceUri() { + return resourceUri; + } + + public void setResourceUri(String resourceUri) { + this.resourceUri = resourceUri; + } @Override protected void doStart() throws Exception {