[CXF-7060] Drop karaf 3 support Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/3fbedf13 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/3fbedf13 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/3fbedf13
Branch: refs/heads/master Commit: 3fbedf1397714824b9700cd4d49569087936fe1a Parents: 44e59d7 Author: Guillaume Nodet <[email protected]> Authored: Fri Sep 23 11:46:28 2016 +0200 Committer: Guillaume Nodet <[email protected]> Committed: Wed Sep 28 15:43:40 2016 +0200 ---------------------------------------------------------------------- .../cxf/osgi/itests/CXFOSGiTestSupport.java | 2 +- osgi/karaf/commands/pom.xml | 10 +- .../cxf/karaf/commands/CXFController.java | 38 -- .../cxf/karaf/commands/ListBussesCommand.java | 56 +- .../karaf/commands/ListEndpointsCommand.java | 82 +-- .../karaf/commands/StartEndpointCommand.java | 31 +- .../cxf/karaf/commands/StopEndpointCommand.java | 31 +- .../karaf/commands/completers/BusCompleter.java | 28 +- .../completers/EndpointCompleterSupport.java | 26 +- .../completers/StartedEndpointCompleter.java | 2 + .../completers/StoppedEndpointCompleter.java | 2 + .../karaf/commands/internal/CXFController.java | 94 ++++ .../commands/internal/CXFControllerImpl.java | 97 ---- .../OSGI-INF/blueprint/cxf-karaf-commands.xml | 68 --- osgi/karaf/features/pom.xml | 125 ++--- .../features/src/main/resources/features.xml | 193 ++++--- osgi/karaf/pom.xml | 2 +- osgi/karaf4/commands/pom.xml | 84 --- .../cxf/karaf/commands/ListBussesCommand.java | 67 --- .../karaf/commands/ListEndpointsCommand.java | 176 ------ .../karaf/commands/StartEndpointCommand.java | 68 --- .../cxf/karaf/commands/StopEndpointCommand.java | 68 --- .../karaf/commands/completers/BusCompleter.java | 53 -- .../completers/EndpointCompleterSupport.java | 68 --- .../completers/StartedEndpointCompleter.java | 33 -- .../completers/StoppedEndpointCompleter.java | 34 -- .../karaf/commands/internal/CXFController.java | 94 ---- osgi/karaf4/features/pom.xml | 127 ----- .../src/main/resources/config.properties | 334 ------------ .../features/src/main/resources/features.xml | 540 ------------------- osgi/karaf4/pom.xml | 36 -- osgi/pom.xml | 1 - parent/pom.xml | 3 +- 33 files changed, 404 insertions(+), 2269 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java ---------------------------------------------------------------------- diff --git a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java index 812eb18..aaf5c7c 100644 --- a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java +++ b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java @@ -105,7 +105,7 @@ public class CXFOSGiTestSupport { } if (karafVersion == null) { // setup the default version of it - karafVersion = "2.3.6"; + karafVersion = "4.0.5"; } return karafVersion; } http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/pom.xml ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/pom.xml b/osgi/karaf/commands/pom.xml index 07d2dcd..3d700bc 100644 --- a/osgi/karaf/commands/pom.xml +++ b/osgi/karaf/commands/pom.xml @@ -37,7 +37,7 @@ <!-- karaf --> <dependency> <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.console</artifactId> + <artifactId>org.apache.karaf.shell.core</artifactId> <version>${cxf.karaf.version}</version> </dependency> <dependency> @@ -57,15 +57,21 @@ <build> <plugins> <plugin> + <groupId>org.apache.karaf.tooling</groupId> + <artifactId>karaf-services-maven-plugin</artifactId> + <version>${cxf.karaf.version}</version> + </plugin> + <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> + <Karaf-Commands>*</Karaf-Commands> <Import-Package> !org.apache.cxf.karaf.commands, org.apache.cxf*;version="[3,4)", - org.apache.karaf.shell*;version="[2.3,5)", + org.apache.karaf.shell*;version="[4,5)", * </Import-Package> <_nouses>true</_nouses> http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/CXFController.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/CXFController.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/CXFController.java deleted file mode 100644 index b85aafd..0000000 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/CXFController.java +++ /dev/null @@ -1,38 +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.cxf.karaf.commands; - -import java.util.List; - -import org.apache.cxf.Bus; -import org.osgi.service.cm.ConfigurationAdmin; - -/** - * - */ -public interface CXFController { - - List<Bus> getBusses(); - - Bus getBus(String name); - - ConfigurationAdmin getConfigAdmin(); - -} http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListBussesCommand.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListBussesCommand.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListBussesCommand.java index 443b9a2..5ea70a8 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListBussesCommand.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListBussesCommand.java @@ -22,46 +22,46 @@ package org.apache.cxf.karaf.commands; import java.util.List; import org.apache.cxf.Bus; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.console.OsgiCommandSupport; +import org.apache.cxf.karaf.commands.internal.CXFController; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Reference; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Terminal; +import org.apache.karaf.shell.support.table.ShellTable; /** * */ @Command(scope = "cxf", name = "list-busses", description = "Lists all CXF Busses.") -public class ListBussesCommand extends OsgiCommandSupport { - protected static final int DEFAULT_BUSID_LENGTH = 38; - protected String headerFormat = "%-40s %-20s"; - protected String outputFormat = "[%-38s] [%-18s]"; - - private CXFController cxfController; +@Service +public class ListBussesCommand extends CXFController implements Action { - public void setController(CXFController controller) { - this.cxfController = controller; - } + @Reference(optional = true) + Terminal terminal; + + @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false) + boolean noFormat; - protected Object doExecute() throws Exception { - List<Bus> busses = cxfController.getBusses(); - renderFormat(busses); - System.out.println(String.format(headerFormat, "Name", "State")); + @Override + public Object execute() throws Exception { + List<Bus> busses = getBusses(); + + ShellTable table = new ShellTable(); + if (terminal != null && terminal.getWidth() > 0) { + table.size(terminal.getWidth()); + } + table.column("Name"); + table.column("State"); for (Bus bus : busses) { + String name = bus.getId(); String state = bus.getState().toString(); - System.out.println(String.format(outputFormat, bus.getId(), state)); + table.addRow().addContent(name, state); } + table.print(System.out, !noFormat); return null; } - private void renderFormat(List<Bus> busses) { - int longestBusId = DEFAULT_BUSID_LENGTH; - for (Bus bus : busses) { - if (bus.getId().length() > longestBusId) { - longestBusId = bus.getId().length(); - } - } - if (longestBusId > DEFAULT_BUSID_LENGTH) { - headerFormat = "%-" + (longestBusId + 2) + "s %-20s"; - outputFormat = "[%-" + longestBusId + "s] [%-18s]"; - } - } } http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListEndpointsCommand.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListEndpointsCommand.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListEndpointsCommand.java index ea7ae38..3fb3323 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListEndpointsCommand.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/ListEndpointsCommand.java @@ -27,10 +27,17 @@ import org.apache.cxf.Bus; import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.endpoint.Server; import org.apache.cxf.endpoint.ServerRegistry; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.apache.karaf.shell.console.OsgiCommandSupport; +import org.apache.cxf.karaf.commands.completers.BusCompleter; +import org.apache.cxf.karaf.commands.internal.CXFController; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Reference; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.Terminal; +import org.apache.karaf.shell.support.table.ShellTable; import org.osgi.framework.InvalidSyntaxException; import org.osgi.framework.ServiceReference; import org.osgi.service.cm.Configuration; @@ -39,45 +46,54 @@ import org.osgi.service.cm.ConfigurationAdmin; /** * */ -@Command(scope = "cxf", name = "list-endpoints", +@Command(scope = "cxf", name = "list-endpoints", description = "Lists all CXF Endpoints on a Bus.") -public class ListEndpointsCommand extends OsgiCommandSupport { +@Service +public class ListEndpointsCommand extends CXFController implements Action { protected static final String HEADER_FORMAT = "%-25s %-10s %-60s %-40s"; protected static final String OUTPUT_FORMAT = "[%-23s] [%-8s] [%-58s] [%-38s]"; - @Argument(index = 0, name = "bus", + @Argument(index = 0, name = "bus", description = "The CXF bus name where to look for the Endpoints", required = false, multiValued = false) + @Completion(BusCompleter.class) String name; - @Option(name = "-f", aliases = {"--fulladdress" }, + @Option(name = "-f", aliases = {"--fulladdress" }, description = "Display full address of an endpoint ", required = false, multiValued = false) boolean fullAddress; - - private CXFController cxfController; - public void setController(CXFController controller) { - this.cxfController = controller; - } + @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false) + boolean noFormat; + + @Reference(optional = true) + Terminal terminal; - protected Object doExecute() throws Exception { + @Override + public Object execute() throws Exception { List<Bus> busses; if (name == null) { - busses = cxfController.getBusses(); + busses = getBusses(); } else { - Bus b = cxfController.getBus(name); + Bus b = getBus(name); if (b != null) { - busses = Collections.singletonList(cxfController.getBus(name)); + busses = Collections.singletonList(getBus(name)); } else { busses = Collections.emptyList(); } } - System.out.println(String.format(HEADER_FORMAT, - "Name", "State", "Address", "BusID")); + + ShellTable table = new ShellTable(); + if (terminal != null && terminal.getWidth() > 0) { + table.size(terminal.getWidth()); + } + table.column("Name"); + table.column("State"); + table.column("Address"); + table.column("BusID"); for (Bus b : busses) { ServerRegistry reg = b.getExtension(ServerRegistry.class); List<Server> servers = reg.getServers(); - for (Server serv : servers) { String qname = serv.getEndpoint().getEndpointInfo().getName().getLocalPart(); String started = serv.isStarted() ? "Started" : "Stopped"; @@ -86,14 +102,15 @@ public class ListEndpointsCommand extends OsgiCommandSupport { address = toFullAddress(address); } String busId = b.getId(); - System.out.println(String.format(OUTPUT_FORMAT, qname, started, address, busId)); + table.addRow().addContent(qname, started, address, busId); } } + table.print(System.out, !noFormat); return null; } private String toFullAddress(String address) throws IOException, InvalidSyntaxException { - ConfigurationAdmin configAdmin = getConfigurationAdmin(); + ConfigurationAdmin configAdmin = getConfigAdmin(); if (address.startsWith("/") && configAdmin != null) { String httpPort = null; String cxfContext = null; @@ -126,10 +143,6 @@ public class ListEndpointsCommand extends OsgiCommandSupport { return ret; } - private ConfigurationAdmin getConfigurationAdmin() { - return cxfController.getConfigAdmin(); - } - private String getCXFOSGiServletContext() throws InvalidSyntaxException { String ret = null; String filter = "(&(" + "objectclass=" + "javax.servlet.Servlet" @@ -144,21 +157,20 @@ public class ListEndpointsCommand extends OsgiCommandSupport { return ret; } - + private String getHttpOSGiServicePort() throws InvalidSyntaxException { String ret = null; - String filter = "(&(" + "objectclass=" + "org.osgi.service.http.HttpService" - + "))"; + String filter = "(&(" + "objectclass=" + "org.osgi.service.http.HttpService" + + "))"; ServiceReference ref = getBundleContext().getServiceReferences(null, filter)[0]; - + if (ref != null) { - ret = (String)ref.getProperty("org.osgi.service.http.port"); - } - + ret = (String) ref.getProperty("org.osgi.service.http.port"); + } + return ret; - - } + } } http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StartEndpointCommand.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StartEndpointCommand.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StartEndpointCommand.java index 1f64f30..d2bf6be 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StartEndpointCommand.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StartEndpointCommand.java @@ -24,35 +24,38 @@ import java.util.List; import org.apache.cxf.Bus; import org.apache.cxf.endpoint.Server; import org.apache.cxf.endpoint.ServerRegistry; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.console.OsgiCommandSupport; +import org.apache.cxf.karaf.commands.completers.BusCompleter; +import org.apache.cxf.karaf.commands.completers.StoppedEndpointCompleter; +import org.apache.cxf.karaf.commands.internal.CXFController; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; /** * */ -@Command(scope = "cxf", name = "start-endpoint", +@Command(scope = "cxf", name = "start-endpoint", description = "Starts a CXF Endpoint on a Bus.") -public class StartEndpointCommand extends OsgiCommandSupport { +@Service +public class StartEndpointCommand extends CXFController implements Action { @Argument(index = 0, name = "bus", description = "The CXF bus name where to look for the Endpoint", required = true, multiValued = false) + @Completion(BusCompleter.class) String busName; - @Argument(index = 1, name = "endpoint", + @Argument(index = 1, name = "endpoint", description = "The Endpoint name to start", required = true, multiValued = false) + @Completion(StoppedEndpointCompleter.class) String endpoint; - - private CXFController cxfController; - - public void setController(CXFController controller) { - this.cxfController = controller; - } - protected Object doExecute() throws Exception { - Bus b = cxfController.getBus(busName); + @Override + public Object execute() throws Exception { + Bus b = getBus(busName); ServerRegistry reg = b.getExtension(ServerRegistry.class); List<Server> servers = reg.getServers(); for (Server serv : servers) { http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StopEndpointCommand.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StopEndpointCommand.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StopEndpointCommand.java index ab557b9..9ffdbf9 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StopEndpointCommand.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/StopEndpointCommand.java @@ -24,35 +24,38 @@ import java.util.List; import org.apache.cxf.Bus; import org.apache.cxf.endpoint.Server; import org.apache.cxf.endpoint.ServerRegistry; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.console.OsgiCommandSupport; +import org.apache.cxf.karaf.commands.completers.BusCompleter; +import org.apache.cxf.karaf.commands.completers.StartedEndpointCompleter; +import org.apache.cxf.karaf.commands.internal.CXFController; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; /** * */ -@Command(scope = "cxf", name = "stop-endpoint", +@Command(scope = "cxf", name = "stop-endpoint", description = "Stops a CXF Endpoint on a Bus.") -public class StopEndpointCommand extends OsgiCommandSupport { +@Service +public class StopEndpointCommand extends CXFController implements Action { - @Argument(index = 0, name = "bus", + @Argument(index = 0, name = "bus", description = "The CXF bus name where to look for the Endpoint", required = true, multiValued = false) + @Completion(BusCompleter.class) String busName; @Argument(index = 1, name = "endpoint", description = "The Endpoint name to stop", required = true, multiValued = false) + @Completion(StartedEndpointCompleter.class) String endpoint; - - private CXFController cxfController; - - public void setController(CXFController controller) { - this.cxfController = controller; - } - protected Object doExecute() throws Exception { - Bus b = cxfController.getBus(busName); + @Override + public Object execute() throws Exception { + Bus b = getBus(busName); ServerRegistry reg = b.getExtension(ServerRegistry.class); List<Server> servers = reg.getServers(); for (Server serv : servers) { http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/BusCompleter.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/BusCompleter.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/BusCompleter.java index 51e3a34..47217e1 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/BusCompleter.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/BusCompleter.java @@ -21,26 +21,24 @@ package org.apache.cxf.karaf.commands.completers; import java.util.List; import org.apache.cxf.Bus; -import org.apache.cxf.karaf.commands.CXFController; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.cxf.karaf.commands.internal.CXFController; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; -public class BusCompleter implements Completer { +@Service +public class BusCompleter extends CXFController implements Completer { - private CXFController cxfController; - - public void setController(CXFController controller) { - this.cxfController = controller; - } - @Override - public int complete(final String buffer, - final int cursor, - @SuppressWarnings("rawtypes") final List candidates) { + public int complete(Session session, + CommandLine commandLine, + List<String> list) { StringsCompleter delegate = new StringsCompleter(); try { - List<Bus> busses = cxfController.getBusses(); + List<Bus> busses = getBusses(); for (Bus bus : busses) { delegate.getStrings().add(bus.getId()); @@ -49,7 +47,7 @@ public class BusCompleter implements Completer { } catch (Exception e) { // Ignore } - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, list); } } http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/EndpointCompleterSupport.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/EndpointCompleterSupport.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/EndpointCompleterSupport.java index 65a8bb8..463a5ad 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/EndpointCompleterSupport.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/EndpointCompleterSupport.java @@ -23,25 +23,21 @@ import java.util.List; import org.apache.cxf.Bus; import org.apache.cxf.endpoint.Server; import org.apache.cxf.endpoint.ServerRegistry; -import org.apache.cxf.karaf.commands.CXFController; -import org.apache.karaf.shell.console.Completer; -import org.apache.karaf.shell.console.completer.StringsCompleter; +import org.apache.cxf.karaf.commands.internal.CXFController; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; -public abstract class EndpointCompleterSupport implements Completer { - - private CXFController cxfController; - - public void setController(CXFController controller) { - this.cxfController = controller; - } +public abstract class EndpointCompleterSupport extends CXFController implements Completer { @Override - public int complete(final String buffer, - final int cursor, - @SuppressWarnings("rawtypes") final List candidates) { + public int complete(Session session, + CommandLine commandLine, + List<String> list) { StringsCompleter delegate = new StringsCompleter(); try { - List<Bus> busses = cxfController.getBusses(); + List<Bus> busses = getBusses(); for (Bus b : busses) { ServerRegistry reg = b.getExtension(ServerRegistry.class); @@ -58,7 +54,7 @@ public abstract class EndpointCompleterSupport implements Completer { } catch (Exception e) { // Ignore } - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, list); } /** http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StartedEndpointCompleter.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StartedEndpointCompleter.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StartedEndpointCompleter.java index 7f09dff..1e2d529 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StartedEndpointCompleter.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StartedEndpointCompleter.java @@ -20,7 +20,9 @@ package org.apache.cxf.karaf.commands.completers; import org.apache.cxf.endpoint.Server; +import org.apache.karaf.shell.api.action.lifecycle.Service; +@Service public class StartedEndpointCompleter extends EndpointCompleterSupport { @Override http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StoppedEndpointCompleter.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StoppedEndpointCompleter.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StoppedEndpointCompleter.java index 1ccbd00..fb53ae7 100644 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StoppedEndpointCompleter.java +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/completers/StoppedEndpointCompleter.java @@ -20,7 +20,9 @@ package org.apache.cxf.karaf.commands.completers; import org.apache.cxf.endpoint.Server; +import org.apache.karaf.shell.api.action.lifecycle.Service; +@Service public class StoppedEndpointCompleter extends EndpointCompleterSupport { http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFController.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFController.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFController.java new file mode 100644 index 0000000..0daf0e7 --- /dev/null +++ b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFController.java @@ -0,0 +1,94 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.karaf.commands.internal; + +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + + +import org.apache.cxf.Bus; +import org.apache.cxf.common.logging.LogUtils; +import org.apache.karaf.shell.api.action.lifecycle.Reference; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.cm.ConfigurationAdmin; + + +/** + */ +public class CXFController { + private static final Logger LOG = LogUtils.getL7dLogger(CXFController.class); + + @Reference + private BundleContext bundleContext; + + @Reference + private ConfigurationAdmin configAdmin; + + public List<Bus> getBusses() { + List<Bus> busses = new ArrayList<Bus>(); + try { + ServiceReference[] references = bundleContext.getServiceReferences(Bus.class.getName(), null); + if (references != null) { + for (ServiceReference reference : references) { + if (reference != null) { + Bus bus = (Bus) bundleContext.getService(reference); + if (bus != null) { + busses.add(bus); + } + } + } + } + } catch (Exception e) { + LOG.log(Level.INFO, "Cannot retrieve the list of CXF Busses.", e); + } + return busses; + } + + public Bus getBus(String name) { + try { + ServiceReference[] references = bundleContext.getServiceReferences(Bus.class.getName(), null); + if (references != null) { + for (ServiceReference reference : references) { + if (reference != null + && name.equals(reference.getProperty("cxf.bus.id"))) { + return (Bus) bundleContext.getService(reference); + } + } + } + } catch (Exception e) { + LOG.log(Level.INFO, "Cannot retrieve the CXF Bus.", e); + return null; + } + LOG.log(Level.INFO, "Cannot retrieve the CXF Bus " + name + "."); + return null; + } + + public ConfigurationAdmin getConfigAdmin() { + return configAdmin; + } + + public BundleContext getBundleContext() { + return bundleContext; + } + +} http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFControllerImpl.java ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFControllerImpl.java b/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFControllerImpl.java deleted file mode 100644 index fad5386..0000000 --- a/osgi/karaf/commands/src/main/java/org/apache/cxf/karaf/commands/internal/CXFControllerImpl.java +++ /dev/null @@ -1,97 +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.cxf.karaf.commands.internal; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - - -import org.apache.cxf.Bus; -import org.apache.cxf.common.logging.LogUtils; -import org.apache.cxf.karaf.commands.CXFController; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; -import org.osgi.service.cm.ConfigurationAdmin; - - -/** - */ -public class CXFControllerImpl implements CXFController { - private static final Logger LOG = LogUtils.getL7dLogger(CXFControllerImpl.class); - - private BundleContext bundleContext; - private ConfigurationAdmin configAdmin; - - public void setBundleContext(BundleContext bundleContext) { - this.bundleContext = bundleContext; - } - - public List<Bus> getBusses() { - List<Bus> busses = new ArrayList<Bus>(); - try { - ServiceReference[] references = bundleContext.getServiceReferences(Bus.class.getName(), null); - if (references != null) { - for (ServiceReference reference : references) { - if (reference != null) { - Bus bus = (Bus) bundleContext.getService(reference); - if (bus != null) { - busses.add(bus); - } - } - } - } - } catch (Exception e) { - LOG.log(Level.INFO, "Cannot retrieve the list of CXF Busses.", e); - } - return busses; - } - - public Bus getBus(String name) { - try { - ServiceReference[] references = bundleContext.getServiceReferences(Bus.class.getName(), null); - if (references != null) { - for (ServiceReference reference : references) { - if (reference != null - && name.equals(reference.getProperty("cxf.bus.id"))) { - return (Bus) bundleContext.getService(reference); - } - } - } - } catch (Exception e) { - LOG.log(Level.INFO, "Cannot retrieve the CXF Bus.", e); - return null; - } - LOG.log(Level.INFO, "Cannot retrieve the CXF Bus " + name + "."); - return null; - } - - public ConfigurationAdmin getConfigAdmin() { - return configAdmin; - } - - public void setConfigAdmin(ConfigurationAdmin configAdmin) { - this.configAdmin = configAdmin; - } - - - -} http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/commands/src/main/resources/OSGI-INF/blueprint/cxf-karaf-commands.xml ---------------------------------------------------------------------- diff --git a/osgi/karaf/commands/src/main/resources/OSGI-INF/blueprint/cxf-karaf-commands.xml b/osgi/karaf/commands/src/main/resources/OSGI-INF/blueprint/cxf-karaf-commands.xml deleted file mode 100644 index 561c304..0000000 --- a/osgi/karaf/commands/src/main/resources/OSGI-INF/blueprint/cxf-karaf-commands.xml +++ /dev/null @@ -1,68 +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. ---> -<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy"> - <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0"> - <command name="cxf/list-busses"> - <action class="org.apache.cxf.karaf.commands.ListBussesCommand"> - <property name="controller" ref="cxfController"/> - </action> - </command> - <command name="cxf/list-endpoints"> - <action class="org.apache.cxf.karaf.commands.ListEndpointsCommand"> - <property name="controller" ref="cxfController"/> - </action> - </command> - <command name="cxf/start-endpoint"> - <action class="org.apache.cxf.karaf.commands.StartEndpointCommand"> - <property name="controller" ref="cxfController"/> - </action> - <completers> - <ref component-id="busCompleter" /> - <ref component-id="stoppedEndpointCompleter" /> - <null/> - </completers> - </command> - <command name="cxf/stop-endpoint"> - <action class="org.apache.cxf.karaf.commands.StopEndpointCommand"> - <property name="controller" ref="cxfController"/> - </action> - <completers> - <ref component-id="busCompleter" /> - <ref component-id="startedEndpointCompleter" /> - <null/> - </completers> - </command> - </command-bundle> - <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/> - <bean id="cxfController" class="org.apache.cxf.karaf.commands.internal.CXFControllerImpl"> - <property name="bundleContext" ref="blueprintBundleContext"/> - <property name="configAdmin" ref="configAdmin"/> - </bean> - <bean id="busCompleter" class="org.apache.cxf.karaf.commands.completers.BusCompleter"> - <property name="controller" ref="cxfController" /> - </bean> - - <bean id="stoppedEndpointCompleter" class="org.apache.cxf.karaf.commands.completers.StoppedEndpointCompleter"> - <property name="controller" ref="cxfController" /> - </bean> - - <bean id="startedEndpointCompleter" class="org.apache.cxf.karaf.commands.completers.StartedEndpointCompleter"> - <property name="controller" ref="cxfController" /> - </bean> - -</blueprint> http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/features/pom.xml ---------------------------------------------------------------------- diff --git a/osgi/karaf/features/pom.xml b/osgi/karaf/features/pom.xml index 3ead8ca..36407c2 100644 --- a/osgi/karaf/features/pom.xml +++ b/osgi/karaf/features/pom.xml @@ -29,66 +29,21 @@ <description>Apache CXF Karaf Features</description> <!-- The validate plugin will export these provided dependencies bundles' export packages first --> <dependencies> + <!-- Framework distribution --> <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - <version>4.2.0</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.logging</groupId> - <artifactId>pax-logging-api</artifactId> - <version>${cxf.pax.logging.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.logging</groupId> - <artifactId>pax-logging-service</artifactId> - <version>${cxf.pax.logging.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.framework</artifactId> - <version>${cxf.felix.framework.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.configadmin</artifactId> - <version>${cxf.felix.configadmin.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.aries.blueprint</groupId> - <artifactId>org.apache.aries.blueprint</artifactId> - <version>${cxf.aries.version}</version> - <scope>provided</scope> - </dependency> - <!-- The dependency for cxf karaf command console --> - <dependency> - <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.console</artifactId> + <groupId>org.apache.karaf.features</groupId> + <artifactId>framework</artifactId> <version>${cxf.karaf.version}</version> + <type>kar</type> <scope>provided</scope> </dependency> - - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-frontend-jaxws</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-ws-rm</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> + <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-ws-security</artifactId> - <version>${project.version}</version> + <groupId>org.apache.karaf.features</groupId> + <artifactId>standard</artifactId> + <version>${cxf.karaf.version}</version> + <classifier>features</classifier> + <type>xml</type> <scope>provided</scope> </dependency> </dependencies> @@ -135,34 +90,38 @@ </execution> </executions> </plugin> - </plugins> - </build> - <profiles> - <profile> - <id>validate</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.karaf.tooling</groupId> - <artifactId>features-maven-plugin</artifactId> - <version>${cxf.karaf.version}</version> + <plugin> + <groupId>org.apache.karaf.tooling</groupId> + <artifactId>karaf-maven-plugin</artifactId> + <version>${cxf.karaf.version}</version> + <executions> + <execution> + <id>verify</id> + <phase>process-resources</phase> + <goals> + <goal>verify</goal> + </goals> <configuration> - <file>${project.build.directory}/classes/features.xml</file> - <karafConfig>${project.build.directory}/classes/config.properties</karafConfig> - <jreVersion>jre-1.6</jreVersion> + <descriptors> + <descriptor>mvn:org.apache.karaf.features/framework/${cxf.karaf.version}/xml/features</descriptor> + <descriptor>mvn:org.apache.karaf.features/standard/${cxf.karaf.version}/xml/features</descriptor> + <descriptor>mvn:org.apache.karaf.features/spring/${cxf.karaf.version}/xml/features</descriptor> + <descriptor>file:${project.build.directory}/classes/features.xml</descriptor> + </descriptors> + <distribution>org.apache.karaf.features:framework</distribution> + <javase>1.8</javase> + <framework> + <feature>framework</feature> + </framework> + <features> + <!--<feature>cxf-*</feature>--> + <feature>cxf-management-web</feature> + <feature>cxf-wsn</feature> + </features> </configuration> - <executions> - <execution> - <id>validate</id> - <phase>process-resources</phase> - <goals> - <goal>validate</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> + </execution> + </executions> + </plugin> + </plugins> + </build> </project> http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/features/src/main/resources/features.xml ---------------------------------------------------------------------- diff --git a/osgi/karaf/features/src/main/resources/features.xml b/osgi/karaf/features/src/main/resources/features.xml index 9df83bf..cb1fa09 100644 --- a/osgi/karaf/features/src/main/resources/features.xml +++ b/osgi/karaf/features/src/main/resources/features.xml @@ -16,8 +16,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="cxf-${project.version}"> - <feature name="cxf-specs" version="${project.version}" resolver="(obr)"> +<features xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" name="cxf-${project.version}"> + + <repository>mvn:org.ops4j.pax.cdi/pax-cdi-features/[1.0.0.RC1,2)/xml/features</repository> + + <feature name="cxf-specs" version="${project.version}"> <bundle start-level="9">mvn:org.apache.geronimo.specs/geronimo-osgi-registry/1.1</bundle> <bundle start-level="10" dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${cxf.servicemix.specs.version}</bundle> <bundle start-level="10">mvn:javax.annotation/javax.annotation-api/${cxf.javax.annotation-api.version}</bundle> @@ -32,13 +35,14 @@ <bundle start-level="20">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${cxf.jaxb.bundle.version}</bundle> <bundle start-level="20">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-xjc/${cxf.jaxb.bundle.version}</bundle> </feature> - <feature name="cxf-jaxb" version="${project.version}" resolver="(obr)"> + <feature name="cxf-jaxb" version="${project.version}"> <feature version="${project.version}">cxf-specs</feature> + <feature version="${project.version}">cxf-wsdl</feature> <bundle start-level="20">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${cxf.jaxb.bundle.version}</bundle> <bundle start-level="20">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-xjc/${cxf.jaxb.bundle.version}</bundle> </feature> <!-- Current the abdera bundle is not working as we expect --> - <feature name="cxf-abdera" version="${project.version}" resolver="(obr)"> + <feature name="cxf-abdera" version="${project.version}"> <feature version="${project.version}">cxf-specs</feature> <bundle start-level="25" dependency="true">mvn:commons-codec/commons-codec/${cxf.commons-codec.version}</bundle> <bundle start-level="35">mvn:org.apache.abdera/abdera-core/${cxf.abdera.version}</bundle> @@ -51,7 +55,7 @@ <!--bundle start-level='35'>mvn:org.apache.abdera/abdera-extensions-html/${cxf.abdera.version}</bundle> <bundle start-level='35'>mvn:org.apache.abdera/abdera-extensions-json/${cxf.abdera.version}</bundle>--> </feature> - <feature name="wss4j" version="${cxf.wss4j.version}" resolver="(obr)"> + <feature name="wss4j" version="${cxf.wss4j.version}"> <feature version="${project.version}">cxf-specs</feature> <bundle start-level="25" dependency="true">mvn:joda-time/joda-time/${cxf.joda.time.version}</bundle> <bundle start-level="25" dependency="true">mvn:commons-codec/commons-codec/${cxf.commons-codec.version}</bundle> @@ -73,47 +77,53 @@ <bundle start-level="30">mvn:org.apache.wss4j/wss4j-ws-security-stax/${cxf.wss4j.version}</bundle> <bundle start-level="30">mvn:org.apache.wss4j/wss4j-ws-security-policy-stax/${cxf.wss4j.version}</bundle> </feature> - <feature name="cxf-core" version="${project.version}" resolver="(obr)"> + <feature name="cxf-core" version="${project.version}"> <feature version="${project.version}">cxf-specs</feature> <bundle start-level="30" dependency="true">mvn:org.apache.ws.xmlschema/xmlschema-core/${cxf.xmlschema.version}</bundle> <bundle start-level="25" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${cxf.xmlresolver.bundle.version}</bundle> <bundle start-level="30" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.fastinfoset/${cxf.fastinfoset.bundle.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-core/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-management/${project.version}</bundle> + <conditional> + <condition>shell</condition> + <feature version="${project.version}">cxf-commands</feature> + </conditional> </feature> - <feature name="cxf-commands" version="${project.version}" resolver="(obr)"> + <feature name="cxf-commands" version="${project.version}"> + <feature>shell</feature> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:org.apache.cxf.karaf/cxf-karaf-commands/${project.version}</bundle> </feature> - <feature name="cxf-wsdl" version="${project.version}" resolver="(obr)"> + <feature name="cxf-wsdl" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="30" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.wsdl4j/${cxf.wsdl4j.bundle.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-wsdl/${project.version}</bundle> </feature> - <feature name="cxf-ws-policy" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-policy" version="${project.version}"> <feature version="${project.version}">cxf-wsdl</feature> <bundle start-level="30" dependency="true">mvn:org.apache.neethi/neethi/${cxf.neethi.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-ws-policy/${project.version}</bundle> </feature> - <feature name="cxf-ws-addr" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-addr" version="${project.version}"> <feature version="${project.version}">cxf-ws-policy</feature> <feature version="${project.version}">cxf-bindings-soap</feature> <feature version="${project.version}">cxf-databinding-jaxb</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-ws-addr/${project.version}</bundle> </feature> - <feature name="cxf-ws-rm" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-rm" version="${project.version}"> <feature version="${project.version}">cxf-ws-policy</feature> <feature version="${project.version}">cxf-ws-addr</feature> + <feature version="${project.version}">cxf-ws-security</feature> <feature version="${project.version}">cxf-databinding-jaxb</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-ws-rm/${project.version}</bundle> </feature> - <feature name="cxf-ws-mex" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-mex" version="${project.version}"> <feature version="${project.version}">cxf-ws-policy</feature> <feature version="${project.version}">cxf-ws-addr</feature> <feature version="${project.version}">cxf-jaxws</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-ws-mex/${project.version}</bundle> </feature> - <feature name="cxf-ws-security" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-security" version="${project.version}"> <feature version="${cxf.wss4j.version}">wss4j</feature> <feature version="${project.version}">cxf-rt-security-saml</feature> <feature version="${project.version}">cxf-ws-policy</feature> @@ -122,42 +132,58 @@ <bundle start-level="40" dependency="true">mvn:net.sf.ehcache/ehcache/${cxf.ehcache.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-ws-security/${project.version}</bundle> </feature> - <feature name="cxf-rt-security" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rt-security" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-wsdl</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-security/${project.version}</bundle> </feature> - <feature name="cxf-rt-security-saml" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rt-security-saml" version="${project.version}"> <feature version="${project.version}">cxf-rt-security</feature> <feature version="${cxf.wss4j.version}">wss4j</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-security-saml/${project.version}</bundle> </feature> - <feature name="cxf-http-client" version="${project.version}" resolver="(obr)"> + <feature name="cxf-http-client" version="${project.version}"> <!-- Can be used instead cxf-http for a smaller footprint --> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:${cxf.servlet-api.group}/${cxf.servlet-api.artifact}/${cxf.servlet-api.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http/${project.version}</bundle> </feature> - <feature name="cxf-http" version="${project.version}" resolver="(obr)"> + <feature name="cxf-http" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature>http</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http/${project.version}</bundle> </feature> - <feature name="cxf-http-jetty" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <!-- + This feature can be used to depend on the feature providing a HttpDestinationFactory extension + without depending on the actual provider (see cxf-wsn for example). + It will install cxf-http-jetty by default, unless the user explicitly installs a different + provider, such as cxf-http-undertow. + --> + <feature name="cxf-http-provider" version="${project.version}"> + <feature dependency="true" version="${project.version}">cxf-http-jetty</feature> + <requirement> + cxf.http.provider + </requirement> + </feature> + <feature name="cxf-http-jetty" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> <feature version="[7,10)">jetty</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http-jetty/${project.version}</bundle> + <capability> + cxf.http.provider;name=jetty + </capability> </feature> - <feature name="cxf-http-async" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <feature name="cxf-http-async" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> <bundle start-level="40">mvn:org.apache.httpcomponents/httpcore-osgi/${cxf.httpcomponents.core.version}</bundle> <bundle start-level="40">mvn:org.apache.httpcomponents/httpclient-osgi/${cxf.httpcomponents.client.version}</bundle> <bundle start-level="40">mvn:org.apache.httpcomponents/httpasyncclient-osgi/${cxf.httpcomponents.asyncclient.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http-hc/${project.version}</bundle> </feature> - <feature name="cxf-http-netty-client" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <feature name="cxf-http-netty-client" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> + <bundle dependency="true" start-level="40">mvn:${cxf.servlet-api.group}/${cxf.servlet-api.artifact}/${cxf.servlet-api.version}</bundle> <bundle start-level="40">mvn:io.netty/netty-common/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:io.netty/netty-handler/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:io.netty/netty-buffer/${cxf.netty.version}</bundle> @@ -166,8 +192,8 @@ <bundle start-level="40">mvn:io.netty/netty-codec-http/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http-netty-client/${project.version}</bundle> </feature> - <feature name="cxf-http-netty-server" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <feature name="cxf-http-netty-server" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> <bundle start-level="40">mvn:io.netty/netty-common/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:io.netty/netty-handler/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:io.netty/netty-buffer/${cxf.netty.version}</bundle> @@ -175,26 +201,33 @@ <bundle start-level="40">mvn:io.netty/netty-codec/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:io.netty/netty-codec-http/${cxf.netty.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http-netty-server/${project.version}</bundle> + <capability> + cxf.http.provider;name=netty + </capability> </feature> - <feature name="cxf-http-undertow" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <feature name="cxf-http-undertow" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> <feature>pax-http-undertow</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-http-undertow/${project.version}</bundle> + <capability> + cxf.http.provider;name=undertow + </capability> </feature> - <feature name="cxf-bindings-soap" version="${project.version}" resolver="(obr)"> + <feature name="cxf-bindings-soap" version="${project.version}"> <feature version="${project.version}">cxf-wsdl</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-bindings-xml/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-bindings-soap/${project.version}</bundle> </feature> - <feature name="cxf-jaxws" version="${project.version}" resolver="(obr)"> + <feature name="cxf-jaxws" version="${project.version}"> <feature version="${project.version}">cxf-wsdl</feature> <feature version="${project.version}">cxf-databinding-jaxb</feature> <feature version="${project.version}">cxf-bindings-soap</feature> <feature version="${project.version}">cxf-http</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-frontend-simple/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-frontend-jaxws/${project.version}</bundle> + <library type="endorsed" export="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${cxf.servicemix.specs.version}</library> </feature> - <feature name="cxf-jaxrs" version="${project.version}" resolver="(obr)"> + <feature name="cxf-jaxrs" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-http</feature> <bundle start-level="30" dependency="true">mvn:org.codehaus.jettison/jettison/${cxf.jettison.version}</bundle> @@ -204,36 +237,36 @@ <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-frontend-jaxrs/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-client/${project.version}</bundle> </feature> - <feature name="cxf-rs-security-xml" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-security-xml" version="${project.version}"> <feature version="${project.version}">cxf-jaxrs</feature> <feature version="${project.version}">cxf-rt-security-saml</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-xml/${project.version}</bundle> </feature> - <feature name="cxf-rs-security-sso-saml" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-security-sso-saml" version="${project.version}"> <feature version="${project.version}">cxf-rs-security-xml</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-sso-saml/${project.version}</bundle> </feature> - <feature name="cxf-rs-security-cors" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-security-cors" version="${project.version}"> <feature version="${project.version}">cxf-jaxrs</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-cors/${project.version}</bundle> </feature> - <feature name="cxf-rs-security-oauth" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-security-oauth" version="${project.version}"> <feature version="${project.version}">cxf-jaxrs</feature> <bundle start-level="30" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oauth-provider/${cxf.oauth.bundle.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-oauth/${project.version}</bundle> </feature> - <feature name="cxf-rs-security-jose" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-security-jose" version="${project.version}"> <feature version="${project.version}">cxf-jaxrs</feature> <feature version="${project.version}">cxf-rt-security</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-json-basic/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-jose/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-jose-jaxrs/${project.version}</bundle> </feature> - <feature name="cxf-rs-security-oauth2" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-security-oauth2" version="${project.version}"> <feature version="${project.version}">cxf-rs-security-jose</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-oauth2/${project.version}</bundle> </feature> - <feature name="cxf-jackson" version="${project.version}" resolver="(obr)"> + <feature name="cxf-jackson" version="${project.version}"> <bundle start-level="35">mvn:com.fasterxml.jackson.core/jackson-core/${cxf.jackson.version}</bundle> <bundle start-level="35">mvn:com.fasterxml.jackson.core/jackson-annotations/${cxf.jackson.version}</bundle> <bundle start-level="35">mvn:com.fasterxml.jackson.core/jackson-databind/${cxf.jackson.version}</bundle> @@ -241,7 +274,7 @@ <bundle start-level="35">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/${cxf.jackson.version}</bundle> <bundle start-level="35">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${cxf.jackson.version}</bundle> </feature> - <feature name="cxf-rs-description-swagger2" version="${project.version}" resolver="(obr)"> + <feature name="cxf-rs-description-swagger2" version="${project.version}"> <feature version="${project.version}">cxf-jaxrs</feature> <feature version="${project.version}">cxf-jackson</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-service-description-swagger/${project.version}</bundle> @@ -255,12 +288,12 @@ <bundle start-level="35" dependency="true">mvn:io.swagger/swagger-core/${cxf.swagger2.version}</bundle> <bundle start-level="35" dependency="true">mvn:io.swagger/swagger-jaxrs/${cxf.swagger2.version}</bundle> </feature> - <feature name="cxf-databinding-aegis" version="${project.version}" resolver="(obr)"> + <feature name="cxf-databinding-aegis" version="${project.version}"> <feature version="${project.version}">cxf-wsdl</feature> <feature version="${project.version}">cxf-bindings-soap</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-databinding-aegis/${project.version}</bundle> </feature> - <feature name="cxf-databinding-jibx" version="${project.version}" resolver="(obr)"> + <feature name="cxf-databinding-jibx" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-tools</feature> <bundle start-level="25" dependency="true">mvn:joda-time/joda-time/${cxf.joda.time.version}</bundle> @@ -271,89 +304,93 @@ <bundle start-level="40" dependency="true">mvn:org.jibx/jibx-tools/${cxf.jibx.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-databinding-jibx/${project.version}</bundle> </feature> - <feature name="cxf-databinding-jaxb" version="${project.version}" resolver="(obr)"> + <feature name="cxf-databinding-jaxb" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> + <feature version="${project.version}">cxf-wsdl</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-databinding-jaxb/${project.version}</bundle> </feature> - <feature name="cxf-databinding-xmlbeans" version="${project.version}" resolver="(obr)"> + <feature name="cxf-databinding-xmlbeans" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="30" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/${cxf.xmlbeans.bundle.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-databinding-xmlbeans/${project.version}</bundle> </feature> - <feature name="cxf-features-clustering" version="${project.version}" resolver="(obr)"> + <feature name="cxf-features-clustering" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-features-clustering/${project.version}</bundle> </feature> - <feature name="cxf-features-logging" version="${project.version}" resolver="(obr)"> + <feature name="cxf-features-logging" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-features-logging/${project.version}</bundle> </feature> - <feature name="cxf-features-throttling" version="${project.version}" resolver="(obr)"> + <feature name="cxf-features-throttling" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-features-throttling/${project.version}</bundle> </feature> - <feature name="cxf-features-metrics" version="${project.version}" resolver="(obr)"> + <feature name="cxf-features-metrics" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40" dependency='true'>mvn:io.dropwizard.metrics/metrics-core/${cxf.dropwizard.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-features-metrics/${project.version}</bundle> </feature> - <feature name="cxf-bindings-corba" version="${project.version}" resolver="(obr)"> + <feature name="cxf-bindings-corba" version="${project.version}"> <feature version="${project.version}">cxf-wsdl</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-bindings-corba/${project.version}</bundle> </feature> - <feature name="cxf-bindings-coloc" version="${project.version}" resolver="(obr)"> + <feature name="cxf-bindings-coloc" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-bindings-coloc/${project.version}</bundle> </feature> - <feature name="cxf-bindings-object" version="${project.version}" resolver="(obr)"> + <feature name="cxf-bindings-object" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-transports-local</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-bindings-object/${project.version}</bundle> </feature> - <feature name="cxf-transports-local" version="${project.version}" resolver="(obr)"> + <feature name="cxf-transports-local" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-local/${project.version}</bundle> </feature> - <feature name="cxf-transports-jms" version="${project.version}" resolver="(obr)"> + <feature name="cxf-transports-jms" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-bindings-soap</feature> <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${cxf.geronimo.transaction.version}</bundle> <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${cxf.geronimo.jms.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-jms/${project.version}</bundle> </feature> - <feature name="cxf-transports-udp" version="${project.version}" resolver="(obr)"> + <feature name="cxf-transports-udp" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <bundle dependency="true">mvn:org.apache.mina/mina-core/${cxf.mina.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-udp/${project.version}</bundle> </feature> - <feature name="cxf-transports-websocket-client" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <feature name="cxf-transports-websocket-client" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> <bundle dependency='true'>mvn:com.ning/async-http-client/${cxf.ahc.version}</bundle> <bundle dependency='true'>mvn:io.netty/netty/${cxf.netty3.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-websocket/${project.version}</bundle> </feature> - <feature name="cxf-transports-websocket-server" version="${project.version}" resolver="(obr)"> - <feature version="[3,4)">cxf-http</feature> + <feature name="cxf-transports-websocket-server" version="${project.version}"> + <feature version="${project.version}">cxf-http</feature> <bundle dependency='true'>mvn:org.atmosphere/atmosphere-runtime/${cxf.atmosphere.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-transports-websocket/${project.version}</bundle> + <capability> + cxf.http.provider;name=websocket + </capability> </feature> - <feature name="cxf-javascript" version="${project.version}" resolver="(obr)"> + <feature name="cxf-javascript" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-bindings-soap</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-javascript/${project.version}</bundle> </feature> - <feature name="cxf-frontend-javascript" version="${project.version}" resolver="(obr)"> + <feature name="cxf-frontend-javascript" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-jaxws</feature> <bundle start-level="40" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/${cxf.rhino.bundle.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-frontend-js/${project.version}</bundle> </feature> - <feature name="cxf-xjc-runtime" version="${project.version}" resolver="(obr)"> + <feature name="cxf-xjc-runtime" version="${project.version}"> <feature version="${project.version}">cxf-jaxb</feature> <bundle start-level="35" dependency="true">mvn:commons-lang/commons-lang/${cxf.commons-lang.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf.xjc-utils/cxf-xjc-runtime/${cxf.xjc-utils.version}</bundle> </feature> - <feature name="cxf-tools" version="${project.version}" resolver="(obr)"> + <feature name="cxf-tools" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-wsdl</feature> <feature version="${project.version}">cxf-databinding-jaxb</feature> @@ -377,7 +414,7 @@ <!-- need antlr <bundle>mvn:org.apache.cxf/cxf-tools-corba/${project.version}</bundle--> </feature> - <feature name="cxf" version="${project.version}" resolver="(obr)"> + <feature name="cxf" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-jaxws</feature> <feature version="${project.version}">cxf-jaxrs</feature> @@ -387,7 +424,7 @@ <feature version="${project.version}">cxf-bindings-corba</feature> <feature version="${project.version}">cxf-bindings-coloc</feature> <feature version="${project.version}">cxf-bindings-object</feature> - <feature version="${project.version}">cxf-http-jetty</feature> + <feature version="${project.version}">cxf-http-provider</feature> <feature version="${project.version}">cxf-transports-local</feature> <feature version="${project.version}">cxf-transports-jms</feature> <feature version="${project.version}">cxf-transports-udp</feature> @@ -410,21 +447,22 @@ <!-- need sdo deps <bundle>mvn:org.apache.cxf/cxf-rt-databinding-sdo/${project.version}</bundle--> </feature> - <feature name="cxf-sts" version="${project.version}" resolver="(obr)"> + <feature name="cxf-sts" version="${project.version}"> <bundle start-level="40" dependency="true">mvn:com.hazelcast/hazelcast/${cxf.hazelcast.version}</bundle> <bundle start-level="40" dependency="true">mvn:net.sf.ehcache/ehcache/${cxf.ehcache.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-json-basic/${project.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-rs-security-jose/${project.version}</bundle> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-ws-security</feature> + <feature version="${project.version}">cxf-http</feature> <bundle>mvn:org.apache.cxf.services.sts/cxf-services-sts-core/${project.version}</bundle> </feature> - <feature name="cxf-wsn-api" version="${project.version}" resolver="(obr)"> + <feature name="cxf-wsn-api" version="${project.version}"> <feature version="${project.version}">cxf-ws-addr</feature> <feature version="${project.version}">cxf-jaxws</feature> <bundle>mvn:org.apache.cxf.services.wsn/cxf-services-wsn-api/${project.version}</bundle> </feature> - <feature name="cxf-wsn" version="${project.version}" resolver="(obr)"> + <feature name="cxf-wsn" version="${project.version}"> <config name="org.apache.cxf.wsn"> cxf.wsn.activemq = vm:localhost cxf.wsn.rootUrl = http://0.0.0.0:8182 @@ -432,23 +470,29 @@ cxf.wsn.activemq.username = karaf cxf.wsn.activemq.password = karaf </config> - <feature version="[5.4,6)">activemq</feature> + <feature>spring</feature> + <feature>aries-blueprint</feature> <feature version="${project.version}">cxf-wsn-api</feature> - <feature version="${project.version}">cxf-http-jetty</feature> + <feature version="${project.version}">cxf-http-provider</feature> + <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_6</bundle> + <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle> + <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle> + <bundle dependency="true">mvn:org.apache.activemq/activemq-osgi/5.14.0</bundle> <bundle>mvn:org.apache.cxf.services.wsn/cxf-services-wsn-core/${project.version}</bundle> </feature> - <feature name="cxf-ws-discovery-api" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-discovery-api" version="${project.version}"> <feature version="${project.version}">cxf-transports-udp</feature> <feature version="${project.version}">cxf-ws-addr</feature> <feature version="${project.version}">cxf-jaxws</feature> + <feature>aries-blueprint</feature> <bundle>mvn:org.apache.cxf.services.ws-discovery/cxf-services-ws-discovery-api/${project.version}</bundle> </feature> - <feature name="cxf-ws-discovery" version="${project.version}" resolver="(obr)"> + <feature name="cxf-ws-discovery" version="${project.version}"> <feature version="${project.version}">cxf-ws-discovery-api</feature> <bundle>mvn:org.apache.cxf.services.ws-discovery/cxf-services-ws-discovery-service/${project.version}</bundle> </feature> - <feature name="cxf-bean-validation-core" version="${project.version}" resolver="(obr)"> + <feature name="cxf-bean-validation-core" version="${project.version}"> <!-- This feature has the wrong name; it's hibernate-only. Fix up in 3.2.0? Move all this to the hibernate-bean-validation-helper feature --> <bundle start-level="30" dependency="true">mvn:org.hibernate/hibernate-validator/${cxf.hibernate.validator.version}</bundle> @@ -469,13 +513,14 @@ <bundle start-level="30" dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${cxf.servicemix.aspectj.version}</bundle> </feature> - <feature name="cxf-bean-validation" version="${project.version}" resolver="(obr)"> + <feature name="cxf-bean-validation" version="${project.version}"> <feature version="${project.version}">cxf-bean-validation-core</feature> <bundle start-level="30" dependency="true">mvn:javax.el/javax.el-api/${cxf.javax.el.version}</bundle> <bundle start-level="30" dependency="true">mvn:org.glassfish/javax.el/${cxf.javax.el.version}</bundle> </feature> - <feature name="cxf-management-web" version="${project.version}" resolver="(obr)"> + <!-- + <feature name="cxf-management-web" version="${project.version}"> <feature version="${project.version}">cxf-core</feature> <feature version="${project.version}">cxf-jaxrs</feature> <bundle start-level="35" dependency="true">mvn:commons-lang/commons-lang/${cxf.commons-lang.version}</bundle> @@ -486,9 +531,11 @@ <bundle start-level="35">mvn:org.apache.abdera/abdera-parser/${cxf.abdera.version}</bundle> <bundle start-level="40">mvn:org.apache.cxf/cxf-rt-management-web/${project.version}</bundle> </feature> + --> - <feature name="cxf-jaxrs-cdi" version="${project.version}" resolver="(obr)"> + <feature name="cxf-jaxrs-cdi" version="${project.version}"> <feature version="${project.version}">cxf-jaxrs</feature> + <feature>pax-cdi</feature> <bundle start-level="40">mvn:org.apache.cxf/cxf-integration-cdi/${project.version}</bundle> </feature> </features> http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf/pom.xml ---------------------------------------------------------------------- diff --git a/osgi/karaf/pom.xml b/osgi/karaf/pom.xml index 41976c6..6fc62fc 100644 --- a/osgi/karaf/pom.xml +++ b/osgi/karaf/pom.xml @@ -30,7 +30,7 @@ <name>Apache CXF Karaf Parent</name> <description>Apache CXF Karaf Parent</description> <modules> - <module>features</module> <module>commands</module> + <module>features</module> </modules> </project> http://git-wip-us.apache.org/repos/asf/cxf/blob/3fbedf13/osgi/karaf4/commands/pom.xml ---------------------------------------------------------------------- diff --git a/osgi/karaf4/commands/pom.xml b/osgi/karaf4/commands/pom.xml deleted file mode 100644 index 4a6e5fc..0000000 --- a/osgi/karaf4/commands/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <!-- - - 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. - --> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.cxf.karaf4</groupId> - <artifactId>karaf4-parent</artifactId> - <version>3.2.0-SNAPSHOT</version> - </parent> - <artifactId>cxf-karaf4-commands</artifactId> - <packaging>bundle</packaging> - <name>Apache CXF Karaf4 Commands</name> - <description>Apache CXF Karaf4 Commands</description> - <dependencies> - <!-- cxf --> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-core</artifactId> - <version>${project.version}</version> - </dependency> - <!-- karaf --> - <dependency> - <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.core</artifactId> - <version>${cxf.karaf4.version}</version> - </dependency> - <dependency> - <groupId>org.apache.karaf</groupId> - <artifactId>org.apache.karaf.util</artifactId> - <version>${cxf.karaf4.version}</version> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.karaf.tooling</groupId> - <artifactId>karaf-services-maven-plugin</artifactId> - <version>${cxf.karaf4.version}</version> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <instructions> - <Karaf-Commands>*</Karaf-Commands> - <Import-Package> - !org.apache.cxf.karaf.commands, - org.apache.cxf*;version="[3,4)", - org.apache.karaf.shell*;version="[4,5)", - * - </Import-Package> - <_nouses>true</_nouses> - <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> - </instructions> - </configuration> - </plugin> - </plugins> - </build> -</project>
