This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit e728940db17a0d5947d8c7fd374322f8804841c7 Author: Peter Palaga <ppal...@redhat.com> AuthorDate: Thu Jan 16 18:04:30 2020 +0100 Revert "Fix #620 Introduce CamelServiceInfo transformers" This reverts commit e6920d014fec0ea4ec52ab527fdd0d1ac05ad7ee. We decided to adopt another approach --- .../quarkus/core/deployment/BuildProcessor.java | 16 +------- .../quarkus/core/deployment/CamelServiceInfo.java | 14 ++----- .../CamelServiceInfoTransformerBuildItem.java | 42 -------------------- .../deployment/CamelServiceInfoTransformers.java | 43 -------------------- .../CamelServiceInfoTransformersTest.java | 46 ---------------------- 5 files changed, 4 insertions(+), 157 deletions(-) diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java index 4d0d192..594ec28 100644 --- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java +++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java @@ -25,7 +25,6 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.function.Function; import java.util.stream.Collectors; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; @@ -126,12 +125,6 @@ class BuildProcessor { new CamelServiceFilterBuildItem(CamelServiceFilter.forService("properties-component-factory"))); } - @BuildStep - void serviceInfoTransformers(BuildProducer<CamelServiceInfoTransformerBuildItem> mapperBuildItems) { - mapperBuildItems.produce( - new CamelServiceInfoTransformerBuildItem(CamelServiceInfoTransformers::configurer)); - } - /* * Discover {@link TypeConverterLoader}. */ @@ -192,8 +185,7 @@ class BuildProcessor { ApplicationArchivesBuildItem applicationArchives, ContainerBeansBuildItem containerBeans, List<CamelBeanBuildItem> registryItems, - List<CamelServiceFilterBuildItem> serviceFilters, - List<CamelServiceInfoTransformerBuildItem> serviceMappers) { + List<CamelServiceFilterBuildItem> serviceFilters) { final RuntimeValue<org.apache.camel.spi.Registry> registry = recorder.createRegistry(); @@ -213,12 +205,6 @@ class BuildProcessor { return !blacklisted; }) - .map( - /* apply the CamelServiceInfo transformers */ - serviceMappers.stream() - .map(CamelServiceInfoTransformerBuildItem::getTransformer) - .reduce(Function::andThen) - .orElse(Function.identity())) .forEach(si -> { LOGGER.debug("Binding bean with name: {}, type {}", si.name, si.type); diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfo.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfo.java index 2b6a2cf..8c46e13 100644 --- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfo.java +++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfo.java @@ -30,8 +30,9 @@ public class CamelServiceInfo implements CamelBeanInfo { public final Path path; /** - * The name under which this service will be registered in the Camel registry. - * This name may or may not be the same as the last segment of {@link #path}. + * The name of the service entry which is derived from the service path. As example the + * name for a service with path <code>META-INF/services/org/apache/camel/component/file</code> + * will be <code>file</code> */ public final String name; @@ -60,15 +61,6 @@ public class CamelServiceInfo implements CamelBeanInfo { return this.type; } - /** - * @param newName the overriding name - * @return a new {@link CamelServiceInfo} having all fields the same as the current {@link CamelServiceInfo} - * except for {@link #name} which is set to the given {@code newName} - */ - public CamelServiceInfo withName(String newName) { - return new CamelServiceInfo(path, newName, type); - } - @Override public boolean equals(Object o) { if (this == o) { diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformerBuildItem.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformerBuildItem.java deleted file mode 100644 index 4da677a..0000000 --- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformerBuildItem.java +++ /dev/null @@ -1,42 +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.core.deployment; - -import java.util.function.Function; - -import io.quarkus.builder.item.MultiBuildItem; - -/** - * A {@link MultiBuildItem} holding a transformer function to be used to transform {@link CamelServiceInfo}s discovered - * in the classpath. This can be used e.g. for changing the name under which some particular service will be registered - * in the Camel registry. - */ -public final class CamelServiceInfoTransformerBuildItem extends MultiBuildItem { - private final Function<CamelServiceInfo, CamelServiceInfo> transformer; - - public CamelServiceInfoTransformerBuildItem(Function<CamelServiceInfo, CamelServiceInfo> mapper) { - this.transformer = mapper; - } - - /** - * @return the transformer function - */ - public Function<CamelServiceInfo, CamelServiceInfo> getTransformer() { - return transformer; - } - -} diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformers.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformers.java deleted file mode 100644 index 5d2db73..0000000 --- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformers.java +++ /dev/null @@ -1,43 +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.core.deployment; - -import java.nio.file.Path; -import java.nio.file.Paths; - -public final class CamelServiceInfoTransformers { - - private static final Path CONFIGURER_PATH = Paths.get("configurer"); - - private CamelServiceInfoTransformers() { - } - - /** - * Configurers need to get registered under a different name in the registry than the name of - * the service file - * - * @param serviceInfo the {@link CamelServiceInfo} that will possibly be transformed - * @return the given {@code serviceInfo} or a new {@link CamelServiceInfo} - */ - public static CamelServiceInfo configurer(CamelServiceInfo serviceInfo) { - final Path path = serviceInfo.path; - final int pathLen = path.getNameCount(); - return (pathLen >= 2 && CONFIGURER_PATH.equals(path.getName(pathLen - 2))) - ? serviceInfo.withName(path.getFileName().toString() + "-configurer") - : serviceInfo; - } -} diff --git a/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformersTest.java b/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformersTest.java deleted file mode 100644 index cdef8db..0000000 --- a/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/CamelServiceInfoTransformersTest.java +++ /dev/null @@ -1,46 +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.core.deployment; - -import java.nio.file.Paths; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -public class CamelServiceInfoTransformersTest { - - @Test - void configurer() { - { - final CamelServiceInfo info = new CamelServiceInfo(Paths.get(""), "foo", "org.foo.Foo"); - Assertions.assertEquals(info, CamelServiceInfoTransformers.configurer(info)); - } - { - final CamelServiceInfo info = new CamelServiceInfo(Paths.get("foo"), "foo", "org.foo.Foo"); - Assertions.assertEquals(info, CamelServiceInfoTransformers.configurer(info)); - } - { - final CamelServiceInfo info = new CamelServiceInfo(Paths.get("foo/bar/baz"), "foo", "org.foo.Foo"); - Assertions.assertEquals(info, CamelServiceInfoTransformers.configurer(info)); - } - { - final CamelServiceInfo info = new CamelServiceInfo(Paths.get("foo/configurer/baz"), "foo", "org.foo.Foo"); - Assertions.assertEquals(new CamelServiceInfo(Paths.get("foo/configurer/baz"), "baz-configurer", "org.foo.Foo"), - CamelServiceInfoTransformers.configurer(info)); - } - } -}