This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch quarkus-master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 8c906e28983e11e21aa180a94714102d387cd5ed Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Mon Feb 22 07:39:24 2021 +0000 Remove support for Webocket JSR 356 Fixes #2262 --- catalog/pom.xml | 13 --- docs/modules/ROOT/nav.adoc | 1 - .../reference/extensions/websocket-jsr356.adoc | 65 ------------ .../reference/components/websocket-jsr356.adoc | 14 +-- extensions/pom.xml | 1 - extensions/websocket-jsr356/deployment/pom.xml | 65 ------------ .../deployment/WebSocketJSR356Processor.java | 76 -------------- extensions/websocket-jsr356/pom.xml | 37 ------- extensions/websocket-jsr356/runtime/pom.xml | 114 --------------------- .../runtime/src/main/doc/configuration.adoc | 11 -- .../jsr356/CamelWebSocketJSR356Config.java | 34 ------ .../CamelWebSocketJSR356EndpointConfigurator.java | 35 ------- .../jsr356/CamelWebSocketJSR356Recorder.java | 73 ------------- .../main/resources/META-INF/quarkus-extension.yaml | 32 ------ integration-tests/pom.xml | 1 - integration-tests/websocket-jsr356/pom.xml | 101 ------------------ .../websocket/jsr356/it/WebSocketRoutes.java | 35 ------- .../src/main/resources/application.properties | 19 ---- .../websocket/jsr356/it/WebSocketJSR356IT.java | 24 ----- .../websocket/jsr356/it/WebSocketJSR356Test.java | 62 ----------- poms/bom/pom.xml | 15 --- tooling/scripts/test-categories.yaml | 1 - 22 files changed, 1 insertion(+), 828 deletions(-) diff --git a/catalog/pom.xml b/catalog/pom.xml index e478b8b..9fe307f 100644 --- a/catalog/pom.xml +++ b/catalog/pom.xml @@ -4209,19 +4209,6 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>*</groupId> - <artifactId>*</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-weka</artifactId> <version>${project.version}</version> <type>pom</type> diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 1c8b8df..0f5b892 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -155,7 +155,6 @@ *** xref:reference/extensions/ipfs.adoc[IPFS] *** xref:reference/extensions/irc.adoc[IRC] *** xref:reference/extensions/jacksonxml.adoc[JacksonXML] -*** xref:reference/extensions/websocket-jsr356.adoc[Javax Websocket] *** xref:reference/extensions/jaxb.adoc[JAXB] *** xref:reference/extensions/jbpm.adoc[JBPM] *** xref:reference/extensions/jclouds.adoc[JClouds] diff --git a/docs/modules/ROOT/pages/reference/extensions/websocket-jsr356.adoc b/docs/modules/ROOT/pages/reference/extensions/websocket-jsr356.adoc deleted file mode 100644 index 7aa5c98..0000000 --- a/docs/modules/ROOT/pages/reference/extensions/websocket-jsr356.adoc +++ /dev/null @@ -1,65 +0,0 @@ -// Do not edit directly! -// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page -= Javax Websocket (JSR 356) -:page-aliases: extensions/websocket-jsr356.adoc -:cq-artifact-id: camel-quarkus-websocket-jsr356 -:cq-native-supported: true -:cq-status: Stable -:cq-description: Expose websocket endpoints using JSR356. -:cq-deprecated: false -:cq-jvm-since: 1.0.0 -:cq-native-since: 1.0.0 - -[.badges] -[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0## - -Expose websocket endpoints using JSR356. - -== What's inside - -* xref:{cq-camel-components}::websocket-jsr356-component.adoc[Javax Websocket component], URI syntax: `websocket-jsr356:uri` - -Please refer to the above link for usage and configuration details. - -== Maven coordinates - -[source,xml] ----- -<dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356</artifactId> -</dependency> ----- - -Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications. - -== Additional Camel Quarkus configuration - -When using WebSocket consumers (E.g `from("websocket-jsr356:/some/path")`), you must first register the endpoint paths via -the `server-endpoint-paths` configuration property. - -For example: - -[source,properties] ----- -quarkus.camel.websocket-jsr356.server-endpoint-paths=/foo,/foo/bar,/foo/bar/cheese ----- - -Note that paths are relative to the value of `quarkus.http.root-path`. - - -[width="100%",cols="80,5,15",options="header"] -|=== -| Configuration property | Type | Default - - -|icon:lock[title=Fixed at build time] [[quarkus.camel.websocket-jsr356.server-endpoint-paths]]`link:#quarkus.camel.websocket-jsr356.server-endpoint-paths[quarkus.camel.websocket-jsr356.server-endpoint-paths]` - -A comma separated list of server endpoint paths that the websocket consumer will bind to. -| `string` -| -|=== - -[.configuration-legend] -icon:lock[title=Fixed at build time] Configuration property fixed at build time. All other configuration properties are overridable at runtime. - diff --git a/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc b/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc index 98803d4..a509c1d 100644 --- a/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc +++ b/docs/modules/ROOT/partials/reference/components/websocket-jsr356.adoc @@ -1,13 +1 @@ -// Do not edit directly! -// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page -:cq-artifact-id: camel-quarkus-websocket-jsr356 -:cq-artifact-id-base: websocket-jsr356 -:cq-native-supported: true -:cq-status: Stable -:cq-deprecated: false -:cq-jvm-since: 1.0.0 -:cq-native-since: 1.0.0 -:cq-camel-part-name: websocket-jsr356 -:cq-camel-part-title: Javax Websocket -:cq-camel-part-description: Expose websocket endpoints using JSR356. -:cq-extension-page-title: Javax Websocket (JSR 356) +// Empty partial for a Camel bit unsupported by Camel Quarkus to avoid warnings when this file is included from a Camel page diff --git a/extensions/pom.xml b/extensions/pom.xml index 6d50929..347ba66 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -242,7 +242,6 @@ <module>vertx-websocket</module> <module>vm</module> <module>weather</module> - <module>websocket-jsr356</module> <module>xmlsecurity</module> <module>xpath</module> <module>xslt</module> diff --git a/extensions/websocket-jsr356/deployment/pom.xml b/extensions/websocket-jsr356/deployment/pom.xml deleted file mode 100644 index 1097759..0000000 --- a/extensions/websocket-jsr356/deployment/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<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/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356-parent</artifactId> - <version>1.8.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>camel-quarkus-websocket-jsr356-deployment</artifactId> - <name>Camel Quarkus :: Javax Websocket (JSR 356) :: Deployment</name> - - <dependencies> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-undertow-websockets-deployment</artifactId> - </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-core-deployment</artifactId> - </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <annotationProcessorPaths> - <path> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-extension-processor</artifactId> - <version>${quarkus.version}</version> - </path> - </annotationProcessorPaths> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/extensions/websocket-jsr356/deployment/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/deployment/WebSocketJSR356Processor.java b/extensions/websocket-jsr356/deployment/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/deployment/WebSocketJSR356Processor.java deleted file mode 100644 index dc5b051..0000000 --- a/extensions/websocket-jsr356/deployment/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/deployment/WebSocketJSR356Processor.java +++ /dev/null @@ -1,76 +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.quarkus.component.websocket.jsr356.deployment; - -import java.util.List; - -import io.quarkus.deployment.annotations.BuildStep; -import io.quarkus.deployment.annotations.ExecutionTime; -import io.quarkus.deployment.annotations.Record; -import io.quarkus.deployment.builditem.FeatureBuildItem; -import io.quarkus.undertow.deployment.ServletContextAttributeBuildItem; -import io.quarkus.undertow.deployment.ServletDeploymentManagerBuildItem; -import io.undertow.websockets.jsr.WebSocketDeploymentInfo; -import org.apache.camel.quarkus.component.websocket.jsr356.CamelWebSocketJSR356Config; -import org.apache.camel.quarkus.component.websocket.jsr356.CamelWebSocketJSR356Recorder; -import org.apache.camel.quarkus.core.deployment.spi.CamelBeanBuildItem; -import org.apache.camel.quarkus.core.deployment.spi.CamelServiceFilter; -import org.apache.camel.quarkus.core.deployment.spi.CamelServiceFilterBuildItem; -import org.apache.camel.websocket.jsr356.JSR356WebSocketComponent; - -class WebSocketJSR356Processor { - - private static final String FEATURE = "camel-websocket-jsr356"; - - @BuildStep - FeatureBuildItem feature() { - return new FeatureBuildItem(FEATURE); - } - - @BuildStep - CamelServiceFilterBuildItem serviceFilter() { - return new CamelServiceFilterBuildItem(CamelServiceFilter.forComponent("websocket-jsr356")); - } - - @Record(ExecutionTime.STATIC_INIT) - @BuildStep - public void createWebsocketEndpoints(List<ServletContextAttributeBuildItem> servletContext, - CamelWebSocketJSR356Recorder recorder, CamelWebSocketJSR356Config config) { - ServletContextAttributeBuildItem wsDeploymentInfoAttribute = servletContext - .stream() - .filter(context -> context.getKey().equals(WebSocketDeploymentInfo.ATTRIBUTE_NAME)) - .findFirst() - .orElseThrow(() -> new IllegalStateException( - "Servlet context attribute: " + WebSocketDeploymentInfo.ATTRIBUTE_NAME + " not found")); - - recorder.configureWebsocketEndpoints((WebSocketDeploymentInfo) wsDeploymentInfoAttribute.getValue(), config); - } - - @Record(ExecutionTime.STATIC_INIT) - @BuildStep - public void registerServerContainer(ServletDeploymentManagerBuildItem deploymentManager, - CamelWebSocketJSR356Recorder recorder) { - recorder.registerServerContainer(deploymentManager.getDeploymentManager()); - } - - @Record(ExecutionTime.STATIC_INIT) - @BuildStep - public CamelBeanBuildItem createWebSocketComponent(CamelWebSocketJSR356Recorder recorder) { - return new CamelBeanBuildItem("websocket-jsr356", JSR356WebSocketComponent.class.getName(), - recorder.createJsr356Component()); - } -} diff --git a/extensions/websocket-jsr356/pom.xml b/extensions/websocket-jsr356/pom.xml deleted file mode 100644 index 10dfc51..0000000 --- a/extensions/websocket-jsr356/pom.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<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/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-build-parent</artifactId> - <version>1.8.0-SNAPSHOT</version> - <relativePath>../../poms/build-parent/pom.xml</relativePath> - </parent> - - <artifactId>camel-quarkus-websocket-jsr356-parent</artifactId> - <name>Camel Quarkus :: Javax Websocket (JSR 356)</name> - <packaging>pom</packaging> - - <modules> - <module>deployment</module> - <module>runtime</module> - </modules> -</project> diff --git a/extensions/websocket-jsr356/runtime/pom.xml b/extensions/websocket-jsr356/runtime/pom.xml deleted file mode 100644 index dc113c6..0000000 --- a/extensions/websocket-jsr356/runtime/pom.xml +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<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/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356-parent</artifactId> - <version>1.8.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>camel-quarkus-websocket-jsr356</artifactId> - <name>Camel Quarkus :: Javax Websocket (JSR 356) :: Runtime</name> - - <properties> - <quarkus.metadata.deprecated>true</quarkus.metadata.deprecated> - <camel.quarkus.jvmSince>1.0.0</camel.quarkus.jvmSince> - <camel.quarkus.nativeSince>1.0.0</camel.quarkus.nativeSince> - </properties> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-bom</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - - <dependencies> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-undertow-websockets</artifactId> - </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-core</artifactId> - </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-websocket-jsr356</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-bootstrap-maven-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <annotationProcessorPaths> - <path> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-extension-processor</artifactId> - <version>${quarkus.version}</version> - </path> - </annotationProcessorPaths> - </configuration> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>full</id> - <activation> - <property> - <name>!quickly</name> - </property> - </activation> - <build> - <plugins> - <plugin> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-maven-plugin</artifactId> - <executions> - <execution> - <id>update-extension-doc-page</id> - <goals> - <goal>update-extension-doc-page</goal> - </goals> - <phase>process-classes</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> diff --git a/extensions/websocket-jsr356/runtime/src/main/doc/configuration.adoc b/extensions/websocket-jsr356/runtime/src/main/doc/configuration.adoc deleted file mode 100644 index e4d7fdb..0000000 --- a/extensions/websocket-jsr356/runtime/src/main/doc/configuration.adoc +++ /dev/null @@ -1,11 +0,0 @@ -When using WebSocket consumers (E.g `from("websocket-jsr356:/some/path")`), you must first register the endpoint paths via -the `server-endpoint-paths` configuration property. - -For example: - -[source,properties] ----- -quarkus.camel.websocket-jsr356.server-endpoint-paths=/foo,/foo/bar,/foo/bar/cheese ----- - -Note that paths are relative to the value of `quarkus.http.root-path`. diff --git a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Config.java b/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Config.java deleted file mode 100644 index 3a5098e..0000000 --- a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Config.java +++ /dev/null @@ -1,34 +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.quarkus.component.websocket.jsr356; - -import java.util.List; -import java.util.Optional; - -import io.quarkus.runtime.annotations.ConfigItem; -import io.quarkus.runtime.annotations.ConfigPhase; -import io.quarkus.runtime.annotations.ConfigRoot; - -@ConfigRoot(name = "camel.websocket-jsr356", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED) -public class CamelWebSocketJSR356Config { - - /** - * A comma separated list of server endpoint paths that the websocket consumer will bind to. - */ - @ConfigItem - public Optional<List<String>> serverEndpointPaths; -} diff --git a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356EndpointConfigurator.java b/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356EndpointConfigurator.java deleted file mode 100644 index cbd0782..0000000 --- a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356EndpointConfigurator.java +++ /dev/null @@ -1,35 +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.quarkus.component.websocket.jsr356; - -import javax.websocket.server.ServerEndpointConfig; - -import org.apache.camel.websocket.jsr356.CamelServerEndpoint; - -public class CamelWebSocketJSR356EndpointConfigurator extends ServerEndpointConfig.Configurator { - - private final CamelServerEndpoint endpoint; - - public CamelWebSocketJSR356EndpointConfigurator(CamelServerEndpoint endpoint) { - this.endpoint = endpoint; - } - - @Override - public <T> T getEndpointInstance(Class<T> endpointClass) throws InstantiationException { - return endpointClass.cast(endpoint); - } -} diff --git a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Recorder.java b/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Recorder.java deleted file mode 100644 index 82e25ea..0000000 --- a/extensions/websocket-jsr356/runtime/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/CamelWebSocketJSR356Recorder.java +++ /dev/null @@ -1,73 +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.quarkus.component.websocket.jsr356; - -import java.util.Collections; -import java.util.List; - -import javax.websocket.server.ServerContainer; -import javax.websocket.server.ServerEndpointConfig; - -import io.quarkus.runtime.RuntimeValue; -import io.quarkus.runtime.annotations.Recorder; -import io.undertow.servlet.api.DeploymentManager; -import io.undertow.servlet.spec.ServletContextImpl; -import io.undertow.websockets.jsr.WebSocketDeploymentInfo; -import org.apache.camel.websocket.jsr356.CamelServerEndpoint; -import org.apache.camel.websocket.jsr356.JSR356WebSocketComponent; - -@Recorder -public class CamelWebSocketJSR356Recorder { - - public void configureWebsocketEndpoints(WebSocketDeploymentInfo deploymentInfo, CamelWebSocketJSR356Config config) { - List<String> endpointPaths = config.serverEndpointPaths.orElseGet(Collections::emptyList); - for (String path : endpointPaths) { - CamelServerEndpoint endpoint = new CamelServerEndpoint(); - ServerEndpointConfig.Builder builder = ServerEndpointConfig.Builder.create(CamelServerEndpoint.class, path); - builder.configurator(new CamelWebSocketJSR356EndpointConfigurator(endpoint)); - deploymentInfo.addEndpoint(builder.build()); - } - } - - public RuntimeValue<JSR356WebSocketComponent> createJsr356Component() { - JSR356WebSocketComponent component = new JSR356WebSocketComponent(); - component.setServerEndpointDeploymentStrategy((container, configBuilder) -> { - // Do nothing as the Quarkus Undertow extension handles deployment - }); - return new RuntimeValue<>(component); - } - - public void registerServerContainer(DeploymentManager deploymentManager) { - ServletContextImpl servletContext = deploymentManager.getDeployment().getServletContext(); - ServerContainer container = (ServerContainer) servletContext.getAttribute(ServerContainer.class.getName()); - - JSR356WebSocketComponent.registerServer(servletContext.getContextPath(), container); - - WebSocketDeploymentInfo deploymentInfo = (WebSocketDeploymentInfo) servletContext - .getAttribute(WebSocketDeploymentInfo.ATTRIBUTE_NAME); - for (ServerEndpointConfig config : deploymentInfo.getProgramaticEndpoints()) { - try { - CamelServerEndpoint endpoint = config.getConfigurator().getEndpointInstance(CamelServerEndpoint.class); - JSR356WebSocketComponent.ContextBag context = JSR356WebSocketComponent - .getContext(servletContext.getContextPath()); - context.getEndpoints().put(config.getPath(), endpoint); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } - } - } -} diff --git a/extensions/websocket-jsr356/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/websocket-jsr356/runtime/src/main/resources/META-INF/quarkus-extension.yaml deleted file mode 100644 index 2146e04..0000000 --- a/extensions/websocket-jsr356/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ /dev/null @@ -1,32 +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. -# - -# This is a generated file. Do not edit directly! -# To re-generate, run the following command from the top level directory: -# -# mvn -N cq:update-quarkus-metadata -# ---- -name: "Camel Javax Websocket (JSR 356)" -description: "Expose websocket endpoints using JSR356" -metadata: - guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/websocket-jsr356.html" - categories: - - "integration" - status: - - "stable" - - "deprecated" \ No newline at end of file diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 39fe196..ae058e5 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -203,7 +203,6 @@ <module>vertx-kafka</module> <module>vertx-websocket</module> <module>weather</module> - <module>websocket-jsr356</module> <module>xml</module> <module>xmlsecurity</module> <module>xstream</module> diff --git a/integration-tests/websocket-jsr356/pom.xml b/integration-tests/websocket-jsr356/pom.xml deleted file mode 100644 index 5826bdf..0000000 --- a/integration-tests/websocket-jsr356/pom.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<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/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-integration-tests</artifactId> - <version>1.8.0-SNAPSHOT</version> - </parent> - - <artifactId>camel-quarkus-integration-test-websocket-jsr356</artifactId> - <name>Camel Quarkus :: Integration Tests :: WebSocket JSR 356</name> - <description>Integration tests for Camel Quarkus WebSocket JSR 356 extension</description> - - <dependencies> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-resteasy</artifactId> - </dependency> - - <!-- test dependencies --> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-junit5</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.rest-assured</groupId> - <artifactId>rest-assured</artifactId> - <scope>test</scope> - </dependency> - - <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory --> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356-deployment</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>*</groupId> - <artifactId>*</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - - - <profiles> - <profile> - <id>native</id> - <activation> - <property> - <name>native</name> - </property> - </activation> - <properties> - <quarkus.package.type>native</quarkus.package.type> - </properties> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>integration-test</goal> - <goal>verify</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - -</project> diff --git a/integration-tests/websocket-jsr356/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketRoutes.java b/integration-tests/websocket-jsr356/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketRoutes.java deleted file mode 100644 index 37a380d..0000000 --- a/integration-tests/websocket-jsr356/src/main/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketRoutes.java +++ /dev/null @@ -1,35 +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.quarkus.component.websocket.jsr356.it; - -import javax.websocket.Session; - -import org.apache.camel.Message; -import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.websocket.jsr356.JSR356Constants; - -public class WebSocketRoutes extends RouteBuilder { - @Override - public void configure() throws Exception { - from("websocket-jsr356:/ws") - .process(exchange -> { - Message message = exchange.getMessage(); - Session session = message.getHeader(JSR356Constants.SESSION, Session.class); - session.getAsyncRemote().sendText("Hello " + message.getBody()); - }); - } -} diff --git a/integration-tests/websocket-jsr356/src/main/resources/application.properties b/integration-tests/websocket-jsr356/src/main/resources/application.properties deleted file mode 100644 index 616f347..0000000 --- a/integration-tests/websocket-jsr356/src/main/resources/application.properties +++ /dev/null @@ -1,19 +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. -## --------------------------------------------------------------------------- - -# Camel Websocket JSR356 -quarkus.camel.websocket-jsr356.server-endpoint-paths=/ws \ No newline at end of file diff --git a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356IT.java b/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356IT.java deleted file mode 100644 index a402f29..0000000 --- a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356IT.java +++ /dev/null @@ -1,24 +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.quarkus.component.websocket.jsr356.it; - -import io.quarkus.test.junit.NativeImageTest; - -@NativeImageTest -class WebSocketJSR356IT extends WebSocketJSR356Test { - -} diff --git a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356Test.java b/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356Test.java deleted file mode 100644 index 8ac752c..0000000 --- a/integration-tests/websocket-jsr356/src/test/java/org/apache/camel/quarkus/component/websocket/jsr356/it/WebSocketJSR356Test.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.quarkus.component.websocket.jsr356.it; - -import java.net.URI; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.TimeUnit; - -import javax.websocket.ClientEndpointConfig; -import javax.websocket.ContainerProvider; -import javax.websocket.Endpoint; -import javax.websocket.EndpointConfig; -import javax.websocket.MessageHandler; -import javax.websocket.Session; - -import io.quarkus.test.common.http.TestHTTPResource; -import io.quarkus.test.junit.QuarkusTest; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -@QuarkusTest -class WebSocketJSR356Test { - - @TestHTTPResource("/ws") - URI uri; - - @Test - public void testWebsocketChat() throws Exception { - LinkedBlockingDeque<String> message = new LinkedBlockingDeque<>(); - Endpoint endpoint = new Endpoint() { - @Override - public void onOpen(Session session, EndpointConfig endpointConfig) { - session.addMessageHandler(new MessageHandler.Whole<String>() { - @Override - public void onMessage(String s) { - message.add(s); - } - }); - session.getAsyncRemote().sendText("Camel Quarkus WebSocket"); - } - }; - - ClientEndpointConfig config = ClientEndpointConfig.Builder.create().build(); - try (Session session = ContainerProvider.getWebSocketContainer().connectToServer(endpoint, config, uri)) { - Assertions.assertEquals("Hello Camel Quarkus WebSocket", message.poll(5, TimeUnit.SECONDS)); - } - } -} diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml index 9b6588b..671f21d 100644 --- a/poms/bom/pom.xml +++ b/poms/bom/pom.xml @@ -2089,11 +2089,6 @@ </dependency> <dependency> <groupId>org.apache.camel</groupId> - <artifactId>camel-websocket-jsr356</artifactId> - <version>${camel.version}</version> - </dependency> - <dependency> - <groupId>org.apache.camel</groupId> <artifactId>camel-weka</artifactId> <version>${camel.version}</version> </dependency> @@ -5406,16 +5401,6 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356</artifactId> - <version>${camel-quarkus.version}</version> - </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-websocket-jsr356-deployment</artifactId> - <version>${camel-quarkus.version}</version> - </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-weka</artifactId> <version>${camel-quarkus.version}</version> </dependency> diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml index 92853d0..6507fe5 100644 --- a/tooling/scripts/test-categories.yaml +++ b/tooling/scripts/test-categories.yaml @@ -156,7 +156,6 @@ networking2-dataformats: - nsq - servlet - univocity-parsers - - websocket-jsr356 - vertx - compression - flatpack