You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2016/03/11 20:43:35 UTC
[36/50] [abbrv] aries-rsa git commit: Switch project setup to Aries
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/distribution/subsystem/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/subsystem/pom.xml b/distribution/subsystem/pom.xml
deleted file mode 100644
index bade03c..0000000
--- a/distribution/subsystem/pom.xml
+++ /dev/null
@@ -1,393 +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/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-subsystem-distribution</artifactId>
- <name>Distributed OSGi Subsystem Distribution</name>
- <url>http://cxf.apache.org</url>
-
- <parent>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-distribution-parent</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <properties>
- <dosgi.version>${project.version}</dosgi.version>
- <topDirectoryLocation>../..</topDirectoryLocation>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-annotation_1.0_spec</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-activation_1.1_spec</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-javamail_1.4_spec</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
- <version>1.1.3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_${servlet.version}_spec</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>com.springsource.org.apache.commons.logging</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.enterprise</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jcl</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>com.springsource.org.jdom</artifactId>
- <version>1.1.0</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.aopalliance</groupId>
- <artifactId>com.springsource.org.aopalliance</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-asm</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-expression</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.osgi</groupId>
- <artifactId>spring-osgi-io</artifactId>
- <version>${spring.osgi.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.osgi</groupId>
- <artifactId>spring-osgi-core</artifactId>
- <version>${spring.osgi.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.osgi</groupId>
- <artifactId>spring-osgi-extender</artifactId>
- <version>${spring.osgi.version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty.aggregate</groupId>
- <artifactId>jetty-all-server</artifactId>
- <version>${jetty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.web</groupId>
- <artifactId>pax-web-spi</artifactId>
- <version>${pax.web.version}</version>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.web</groupId>
- <artifactId>pax-web-runtime</artifactId>
- <version>${pax.web.version}</version>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.web</groupId>
- <artifactId>pax-web-jetty</artifactId>
- <version>${pax.web.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.specs</groupId>
- <artifactId>org.apache.servicemix.specs.saaj-api-1.3</artifactId>
- <version>${servicemix.specs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.specs</groupId>
- <artifactId>org.apache.servicemix.specs.stax-api-1.0</artifactId>
- <version>${servicemix.specs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.specs</groupId>
- <artifactId>org.apache.servicemix.specs.jaxb-api-2.1</artifactId>
- <version>${servicemix.specs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.specs</groupId>
- <artifactId>org.apache.servicemix.specs.jaxws-api-2.1</artifactId>
- <version>${servicemix.specs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.specs</groupId>
- <artifactId>org.apache.servicemix.specs.jsr311-api-1.1.1</artifactId>
- <version>${servicemix.specs.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.xmlschema</groupId>
- <artifactId>xmlschema-core</artifactId>
- <version>${xmlschema.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.xmlresolver</artifactId>
- <version>${xmlresolver.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.neethi</groupId>
- <artifactId>neethi</artifactId>
- <version>${neethi.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.wsdl4j</artifactId>
- <version>${wsdl4j.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.xmlsec</artifactId>
- <version>${xmlsec.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
- <version>${jaxbimpl.bundle.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.asm</artifactId>
- <version>${asm.bundle.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>stax2-api</artifactId>
- <version>3.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>woodstox-core-asl</artifactId>
- <version>${woodstox.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.commons-pool</artifactId>
- <version>${commons.pool.bundle.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.joda-time</artifactId>
- <version>1.5.2_4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.opensaml</artifactId>
- <version>2.4.1_1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-bundle-minimal</artifactId>
- <version>${cxf.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-discovery-local</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-dsw-cxf</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-topology-manager</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <!-- Discovery dependencies -->
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.configadmin</artifactId>
- <version>1.2.8</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.fileinstall</artifactId>
- <version>3.1.10</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.log4j</groupId>
- <artifactId>com.springsource.org.apache.log4j</artifactId>
- <version>${log4j.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>zookeeper</artifactId>
- <version>${zookeeper.version}</version>
- <exclusions>
- <exclusion>
- <groupId>com.sun.jdmk</groupId>
- <artifactId>jmxtools</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.sun.jmx</groupId>
- <artifactId>jmxri</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-discovery-distributed</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-discovery-distributed-zookeeper-server</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-discovery-distributed-zookeeper-server-config</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- </dependencies>
-
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
-
- <plugins>
- <!-- The assembly plugin is used to actually build the subsystem archive -->
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <descriptors>
- <descriptor>./src/main/assembly/subsystem-assembly.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Since the assembly plugin has no way to output to an .esa file extension use the antrun
- plugin to copy the file to one with the proper extension -->
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <configuration>
- <target>
- <copy file="${project.build.directory}/${project.build.finalName}.zip"
- tofile="${project.build.directory}/${project.build.finalName}.esa" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- Attach the .esa file to the project so that it ends up in the repo -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <id>attach-instrumented-jar</id>
- <phase>verify</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/${project.build.finalName}.esa</file>
- <type>esa</type>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/distribution/subsystem/src/main/assembly/subsystem-assembly.xml
----------------------------------------------------------------------
diff --git a/distribution/subsystem/src/main/assembly/subsystem-assembly.xml b/distribution/subsystem/src/main/assembly/subsystem-assembly.xml
deleted file mode 100644
index c0daf6c..0000000
--- a/distribution/subsystem/src/main/assembly/subsystem-assembly.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/component-1.1.2.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.
--->
- <id>subsystem-feature</id>
- <formats>
- <format>zip</format>
- </formats>
- <includeBaseDirectory>false</includeBaseDirectory>
-
- <files>
- <file>
- <source>target/classes/OSGI-INF/SUBSYSTEM.MF</source>
- <outputDirectory>OSGI-INF</outputDirectory>
- </file>
- </files>
-
- <dependencySets>
- <dependencySet>
- <scope>runtime</scope>
- <useTransitiveDependencies>false</useTransitiveDependencies>
- <excludes>
- <!-- Exclude the current artifact as it doesn't contribute anything other than the
- logic to build the subsystem. -->
- <exclude>org.apache.cxf.dosgi:cxf-dosgi-ri-subsystem-distribution</exclude>
- </excludes>
- </dependencySet>
- </dependencySets>
-</assembly>
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF
----------------------------------------------------------------------
diff --git a/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF b/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF
deleted file mode 100644
index e2631e0..0000000
--- a/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF
+++ /dev/null
@@ -1,51 +0,0 @@
-Manifest-Version: 2.0
-Subsystem-ManifestVersion: 1.0
-Subsystem-SymbolicName: ${project.artifactId}
-Subsystem-Version: 1.4.0
-Subsystem-Name: ${project.name}
-Subsystem-Content: org.apache.geronimo.specs.geronimo-annotation_1.0_spec;start-order:=1,
- org.apache.geronimo.specs.geronimo-activation_1.1_spec;start-order:=2,
- org.apache.geronimo.specs.geronimo-javamail_1.4_spec;start-order:=3,
- org.apache.geronimo.specs.geronimo-servlet_3.0_spec;start-order:=4,
- org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec;start-order:=5,
- com.springsource.org.apache.commons.logging;start-order:=6,
- com.springsource.org.jdom;start-order:=7,
- org.springframework.core;start-order:=8,
- org.springframework.beans;start-order:=9,
- org.springframework.context;start-order:=10,
- com.springsource.org.aopalliance;start-order:=11,
- slf4j-api;start-order:=11,
- slf4j-jcl,
- org.springframework.aop;start-order:=12,
- org.springframework.asm;start-order:=13,
- org.springframework.expression;start-order:=14,
- org.springframework.osgi.io;start-order:=15,
- org.springframework.osgi.core;start-order:=16,
- org.springframework.osgi.extender;start-order:=17,
- org.eclipse.jetty.aggregate.jetty-all-server;start-order:=18,
- org.ops4j.pax.web.pax-web-spi;start-order:=19,
- org.ops4j.pax.web.pax-web-runtime;start-order:=20,
- org.ops4j.pax.web.pax-web-jetty;start-order:=21,
- org.apache.servicemix.bundles.jaxb-impl;start-order:=22,
- org.apache.servicemix.bundles.wsdl4j;start-order:=23,
- org.apache.servicemix.bundles.xmlsec;start-order:=24,
- org.apache.ws.xmlschema.core;start-order:=25,
- org.apache.servicemix.bundles.asm;start-order:=26,
- org.apache.servicemix.bundles.xmlresolver;start-order:=27,
- org.apache.neethi;start-order:=28,
- stax2-api;start-order:=29,
- woodstox-core-asl;start-order:=30,
- org.apache.servicemix.bundles.commons-pool;start-order:=31,
- org.apache.servicemix.specs.saaj-api-1.3;start-order:=32,
- org.apache.servicemix.specs.stax-api-1.0;start-order:=33,
- org.apache.servicemix.specs.jaxb-api-2.1;start-order:=34,
- org.apache.servicemix.specs.jaxws-api-2.1;start-order:=35,
- org.apache.servicemix.specs.jsr311-api-1.1.1;start-order:=36,
- org.apache.servicemix.bundles.joda-time;start-order:=37,
- org.apache.servicemix.bundles.opensaml;start-order:=38,
- org.apache.cxf.bundle-minimal;start-order:=39,
- cxf-dosgi-ri-discovery-local;start-order:=40,
- osgi.enterprise;start-order:=41,
- cxf-dosgi-ri-dsw-cxf;start-order:=42,
- cxf-dosgi-ri-topology-manager;start-order:=43
-Subsystem-Type: osgi.subsystem.feature
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-provider-api/pom.xml
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-provider-api/pom.xml b/dsw/cxf-dosgi-provider-api/pom.xml
deleted file mode 100644
index 0deab6c..0000000
--- a/dsw/cxf-dosgi-provider-api/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<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.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-parent</artifactId>
- <version>1.8-SNAPSHOT</version>
- <relativePath>../../parent/pom.xml</relativePath>
- </parent>
- <artifactId>cxf-dosgi-ri-provider-api</artifactId>
- <packaging>bundle</packaging>
- <name>Distributed OSGI Distributed Software Modules</name>
-
- <properties>
- <topDirectoryLocation>../..</topDirectoryLocation>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>1.7.14</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java b/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java
deleted file mode 100644
index d7c648b..0000000
--- a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java
+++ /dev/null
@@ -1,56 +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.dosgi.dsw.api;
-
-import java.util.Map;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-
-@SuppressWarnings("rawtypes")
-public interface DistributionProvider {
-
- String[] getSupportedTypes();
-
- /**
- * @param serviceO service instance to be exported
- * @param serviceContext bundle context of the bundle exporting the sevice
- * @param effectiveProperties combined properties of the service and additional properties from rsa
- * @param exportedInterfaces name of the interface to be exported
- * @return Endpoint that represents the service that is exposed to the outside world
- */
- Endpoint exportService(Object serviceO,
- BundleContext serviceContext,
- Map<String, Object> effectiveProperties,
- Class[] exportedInterfaces);
-
- /**
- * @param cl classloader of the consumer bundle
- * @param consumerContext bundle context of the consumer bundle
- * @param interfaces interfaces of the service to proxy
- * @param endpoint description of the remote endpoint
- * @return service proxy to be given to the requesting bundle
- * @throws IntentUnsatisfiedException
- */
- Object importEndpoint(ClassLoader cl,
- BundleContext consumerContext,
- Class[] interfaces,
- EndpointDescription endpoint)
- throws IntentUnsatisfiedException;
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/Endpoint.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/Endpoint.java b/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/Endpoint.java
deleted file mode 100644
index f45b562..0000000
--- a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/Endpoint.java
+++ /dev/null
@@ -1,27 +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.dosgi.dsw.api;
-
-import java.io.Closeable;
-
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-
-public interface Endpoint extends Closeable {
- EndpointDescription description();
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/EndpointHelper.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/EndpointHelper.java b/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/EndpointHelper.java
deleted file mode 100644
index cdc66ad..0000000
--- a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/EndpointHelper.java
+++ /dev/null
@@ -1,41 +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.dosgi.dsw.api;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public final class EndpointHelper {
-
- private EndpointHelper() {
- }
-
- public static void addObjectClass(Map<String, Object> props, Class<?>[] interfaces) {
- props.put(org.osgi.framework.Constants.OBJECTCLASS, getClassNames(interfaces));
- }
-
- public static String[] getClassNames(Class<?>[] ifaces) {
- List<String> ifaceNames = new ArrayList<String>();
- for (Class<?> iface : ifaces) {
- ifaceNames.add(iface.getName());
- }
- return ifaceNames.toArray(new String[]{});
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/ExportPolicy.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/ExportPolicy.java b/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/ExportPolicy.java
deleted file mode 100644
index 9e82c04..0000000
--- a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/ExportPolicy.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.cxf.dosgi.dsw.api;
-
-import java.util.Map;
-
-import org.osgi.framework.ServiceReference;
-
-
-/**
- * SPI for TopologyManagerExport. Allows to export services that are
- * not marked for export as well customize the way services are exported.
- *
- * Use cases:
- * - Mandate SSL and basic authoriziation by adding the respective intents and configs
- * - Add logging interceptor as intent
- * - Remove exported interfaces to filter out services
- */
-public interface ExportPolicy {
- /**
- * Allows to supply additional properties for a service that are then
- * given to RemoteServiceAdmin. The service will be exported
- * if the original service or the additional properties contain the
- * non empty property service.exported.interfaces.
- *
- * @param service to export
- * @return additional properties for exported Service (must not be null)
- */
- Map<String, ?> additionalParameters(ServiceReference<?> sref);
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/IntentUnsatisfiedException.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/IntentUnsatisfiedException.java b/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/IntentUnsatisfiedException.java
deleted file mode 100644
index 4e27938..0000000
--- a/dsw/cxf-dosgi-provider-api/src/main/java/org/apache/cxf/dosgi/dsw/api/IntentUnsatisfiedException.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.cxf.dosgi.dsw.api;
-
-public class IntentUnsatisfiedException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- private final String intent;
-
- public IntentUnsatisfiedException(String intent) {
- super(intent);
- this.intent = intent;
- }
-
- public String getIntent() {
- return intent;
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/pom.xml
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/pom.xml b/dsw/cxf-dosgi-rsa/pom.xml
deleted file mode 100644
index b96828b..0000000
--- a/dsw/cxf-dosgi-rsa/pom.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<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.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-parent</artifactId>
- <version>1.8-SNAPSHOT</version>
- <relativePath>../../parent/pom.xml</relativePath>
- </parent>
- <artifactId>cxf-dosgi-ri-rsa</artifactId>
- <packaging>bundle</packaging>
- <name>CXF dOSGi Remote Service Admin Implementation</name>
- <description>The CXF Remote Service Admin as described in the OSGi Remote Service Admin specification</description>
-
- <properties>
- <topDirectoryLocation>../..</topDirectoryLocation>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf.dosgi</groupId>
- <artifactId>cxf-dosgi-ri-provider-api</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>1.7.14</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- <Bundle-Activator>org.apache.cxf.dosgi.dsw.service.Activator</Bundle-Activator>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/Activator.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/Activator.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/Activator.java
deleted file mode 100644
index 4c4d7ad..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/Activator.java
+++ /dev/null
@@ -1,37 +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.dosgi.dsw.service;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- private DistributionProviderTracker tracker;
-
- public void start(BundleContext bundlecontext) throws Exception {
- tracker = new DistributionProviderTracker(bundlecontext);
- tracker.open();
- }
-
- public void stop(BundleContext context) throws Exception {
- tracker.close();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ClientServiceFactory.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ClientServiceFactory.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ClientServiceFactory.java
deleted file mode 100644
index 7c292db..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ClientServiceFactory.java
+++ /dev/null
@@ -1,110 +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.dosgi.dsw.service;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.cxf.dosgi.dsw.api.DistributionProvider;
-import org.apache.cxf.dosgi.dsw.api.IntentUnsatisfiedException;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceFactory;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.framework.wiring.BundleWiring;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("rawtypes")
-public class ClientServiceFactory implements ServiceFactory {
-
- private static final Logger LOG = LoggerFactory.getLogger(ClientServiceFactory.class);
-
- private EndpointDescription endpoint;
- private DistributionProvider handler;
- private ImportRegistrationImpl importRegistration;
-
- private boolean closeable;
- private int serviceCounter;
-
- public ClientServiceFactory(EndpointDescription endpoint,
- DistributionProvider handler, ImportRegistrationImpl ir) {
- this.endpoint = endpoint;
- this.handler = handler;
- this.importRegistration = ir;
- }
-
- public Object getService(final Bundle requestingBundle, final ServiceRegistration sreg) {
- List<String> interfaceNames = endpoint.getInterfaces();
- final BundleContext consumerContext = requestingBundle.getBundleContext();
- final ClassLoader consumerLoader = requestingBundle.adapt(BundleWiring.class).getClassLoader();
- try {
- LOG.debug("getService() from serviceFactory for {}", interfaceNames);
- final List<Class<?>> interfaces = new ArrayList<Class<?>>();
- for (String ifaceName : interfaceNames) {
- interfaces.add(consumerLoader.loadClass(ifaceName));
- }
- Object proxy = AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Class<?>[] ifAr = interfaces.toArray(new Class[]{});
- return handler.importEndpoint(consumerLoader, consumerContext, ifAr, endpoint);
- }
- });
-
- synchronized (this) {
- serviceCounter++;
- }
- return proxy;
- } catch (IntentUnsatisfiedException iue) {
- LOG.info("Did not create proxy for {} because intent {} could not be satisfied",
- interfaceNames, iue.getIntent());
- } catch (Exception e) {
- LOG.warn("Problem creating a remote proxy for {}", interfaceNames, e);
- }
- return null;
- }
-
- public void ungetService(Bundle requestingBundle, ServiceRegistration sreg, Object serviceObject) {
- String[] interfaces = (String[])sreg.getReference().getProperty(org.osgi.framework.Constants.OBJECTCLASS);
- LOG.info("Releasing a client object, interfaces: {}", Arrays.toString(interfaces));
-
- synchronized (this) {
- serviceCounter--;
- LOG.debug("Services still provided by this ServiceFactory: {}", serviceCounter);
- closeIfUnused();
- }
- }
-
- public void setCloseable(boolean closeable) {
- synchronized (this) {
- this.closeable = closeable;
- closeIfUnused();
- }
- }
-
- private synchronized void closeIfUnused() {
- if (serviceCounter <= 0 && closeable) {
- importRegistration.closeAll();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/DistributionProviderTracker.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/DistributionProviderTracker.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/DistributionProviderTracker.java
deleted file mode 100644
index 675fcc6..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/DistributionProviderTracker.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.cxf.dosgi.dsw.service;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-import org.apache.cxf.dosgi.dsw.api.DistributionProvider;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.remoteserviceadmin.RemoteServiceAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("rawtypes")
-public class DistributionProviderTracker extends ServiceTracker<DistributionProvider, ServiceRegistration> {
- private static final Logger LOG = LoggerFactory.getLogger(Activator.class);
-
- public DistributionProviderTracker(BundleContext context) {
- super(context, DistributionProvider.class, null);
- }
-
- @Override
- public ServiceRegistration addingService(ServiceReference<DistributionProvider> reference) {
- LOG.debug("RemoteServiceAdmin Implementation is starting up");
- DistributionProvider provider = context.getService(reference);
- BundleContext apiContext = getAPIContext();
- RemoteServiceAdminCore rsaCore = new RemoteServiceAdminCore(context,
- apiContext,
- provider);
- RemoteServiceadminFactory rsaf = new RemoteServiceadminFactory(rsaCore);
- Dictionary<String, Object> props = new Hashtable<String, Object>();
- props.put("remote.intents.supported", reference.getProperty("remote.intents.supported"));
- props.put("remote.configs.supported", reference.getProperty("remote.configs.supported"));
- LOG.info("Registering RemoteServiceAdmin for provider " + provider.getClass().getName());
- return context.registerService(RemoteServiceAdmin.class.getName(), rsaf, props);
- }
-
- protected BundleContext getAPIContext() {
- Bundle apiBundle = FrameworkUtil.getBundle(DistributionProvider.class);
- BundleContext apiContext = apiBundle.getBundleContext();
- return apiContext;
- }
-
- @Override
- public void removedService(ServiceReference<DistributionProvider> reference,
- ServiceRegistration reg) {
- LOG.debug("RemoteServiceAdmin Implementation is shutting down now");
- reg.unregister();
- super.removedService(reference, reg);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventAdminHelper.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventAdminHelper.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventAdminHelper.java
deleted file mode 100644
index 4868efa..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventAdminHelper.java
+++ /dev/null
@@ -1,151 +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.dosgi.dsw.service;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
-import org.osgi.service.event.Event;
-import org.osgi.service.event.EventAdmin;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-import org.osgi.service.remoteserviceadmin.RemoteServiceAdminEvent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EventAdminHelper {
-
- private static final Logger LOG = LoggerFactory.getLogger(EventAdminHelper.class);
-
- private BundleContext bctx;
-
- public EventAdminHelper(BundleContext bc) {
- bctx = bc;
- }
-
- private Event createEvent(Map<String, Object> props, String type) {
- String topic = "org/osgi/service/remoteserviceadmin/" + type;
- props.put("bundle", bctx.getBundle());
- props.put("bundle.id", bctx.getBundle().getBundleId());
- props.put("bundle.symbolicname", bctx.getBundle().getSymbolicName());
-
- String version = (String)bctx.getBundle().getHeaders().get("Bundle-Version");
- Version v = version != null ? new Version(version) : Version.emptyVersion;
- setIfNotNull(props, "bundle.version", v);
-
- return new Event(topic, props);
- }
-
- public void notifyEventAdmin(RemoteServiceAdminEvent rsae) {
- String topic = remoteServiceAdminEventTypeToString(rsae.getType());
-
- Map<String, Object> props = new HashMap<String, Object>();
- setIfNotNull(props, "cause", rsae.getException());
-
- EndpointDescription endpoint = null;
- if (rsae.getImportReference() != null) {
- endpoint = ((ImportRegistrationImpl)rsae.getImportReference()).getImportedEndpointAlways();
- setIfNotNull(props, "import.registration", endpoint);
- } else if (rsae.getExportReference() != null) {
- endpoint = rsae.getExportReference().getExportedEndpoint();
- setIfNotNull(props, "export.registration", endpoint);
- }
-
- if (endpoint != null) {
- setIfNotNull(props, "service.remote.id", endpoint.getServiceId());
- setIfNotNull(props, "service.remote.uuid", endpoint.getFrameworkUUID());
- setIfNotNull(props, "service.remote.uri", endpoint.getId());
- setIfNotNull(props, "objectClass", endpoint.getInterfaces().toArray());
- setIfNotNull(props, "service.imported.configs", endpoint.getConfigurationTypes());
- }
- props.put("timestamp", System.currentTimeMillis());
- props.put("event", rsae);
-
- Event event = createEvent(props, topic);
- notifyEventAdmins(topic, event);
- }
-
- @SuppressWarnings({
- "rawtypes", "unchecked"
- })
- private void notifyEventAdmins(String topic, Event event) {
- ServiceReference[] refs = null;
- try {
- refs = bctx.getAllServiceReferences(EventAdmin.class.getName(), null);
- } catch (InvalidSyntaxException e) {
- LOG.error("Failed to get EventAdmin: " + e.getMessage(), e);
- }
-
- if (refs != null) {
- LOG.debug("Publishing event to {} EventAdmins; Topic:[{}]", refs.length, topic);
- for (ServiceReference serviceReference : refs) {
- EventAdmin eventAdmin = (EventAdmin) bctx.getService(serviceReference);
- try {
- eventAdmin.postEvent(event);
- } finally {
- if (eventAdmin != null) {
- bctx.ungetService(serviceReference);
- }
- }
- }
- }
- }
-
- private <K, V> void setIfNotNull(Map<K, V> map, K key, V val) {
- if (val != null) {
- map.put(key, val);
- }
- }
-
- private static String remoteServiceAdminEventTypeToString(int type) {
- String retval;
- switch (type) {
- case RemoteServiceAdminEvent.EXPORT_ERROR:
- retval = "EXPORT_ERROR";
- break;
- case RemoteServiceAdminEvent.EXPORT_REGISTRATION:
- retval = "EXPORT_REGISTRATION";
- break;
- case RemoteServiceAdminEvent.EXPORT_UNREGISTRATION:
- retval = "EXPORT_UNREGISTRATION";
- break;
- case RemoteServiceAdminEvent.EXPORT_WARNING:
- retval = "EXPORT_WARNING";
- break;
- case RemoteServiceAdminEvent.IMPORT_ERROR:
- retval = "IMPORT_ERROR";
- break;
- case RemoteServiceAdminEvent.IMPORT_REGISTRATION:
- retval = "IMPORT_REGISTRATION";
- break;
- case RemoteServiceAdminEvent.IMPORT_UNREGISTRATION:
- retval = "IMPORT_UNREGISTRATION";
- break;
- case RemoteServiceAdminEvent.IMPORT_WARNING:
- retval = "IMPORT_WARNING";
- break;
- default:
- retval = "UNKNOWN_EVENT";
- }
- return retval;
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventProducer.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventProducer.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventProducer.java
deleted file mode 100644
index 26a46ab..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/EventProducer.java
+++ /dev/null
@@ -1,114 +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.dosgi.dsw.service;
-
-import java.util.List;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.remoteserviceadmin.ExportRegistration;
-import org.osgi.service.remoteserviceadmin.ImportRegistration;
-import org.osgi.service.remoteserviceadmin.RemoteServiceAdminEvent;
-import org.osgi.service.remoteserviceadmin.RemoteServiceAdminListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EventProducer {
-
- private static final Logger LOG = LoggerFactory.getLogger(EventProducer.class);
- private final BundleContext bctx;
- private final EventAdminHelper eaHelper;
-
- public EventProducer(BundleContext bc) {
- bctx = bc;
- eaHelper = new EventAdminHelper(bctx);
- }
-
- protected void publishNotification(List<ExportRegistration> erl) {
- for (ExportRegistration exportRegistration : erl) {
- publishNotification(exportRegistration);
- }
- }
-
- protected void publishNotification(ExportRegistration er) {
- int type = er.getException() == null
- ? RemoteServiceAdminEvent.EXPORT_REGISTRATION
- : RemoteServiceAdminEvent.EXPORT_ERROR;
- notify(type, null, er);
- }
-
- protected void publishNotification(ImportRegistration ir) {
- int type = ir.getException() == null
- ? RemoteServiceAdminEvent.IMPORT_REGISTRATION
- : RemoteServiceAdminEvent.IMPORT_ERROR;
- notify(type, ir, null);
- }
-
- public void notifyRemoval(ExportRegistration er) {
- notify(RemoteServiceAdminEvent.EXPORT_UNREGISTRATION, null, er);
- }
-
- public void notifyRemoval(ImportRegistration ir) {
- notify(RemoteServiceAdminEvent.IMPORT_UNREGISTRATION, ir, null);
- }
-
- // only one of ir or er must be set, and the other must be null
- private void notify(int type, ImportRegistration ir, ExportRegistration er) {
- try {
- RemoteServiceAdminEvent event = ir != null
- ? new RemoteServiceAdminEvent(type, bctx.getBundle(), ir.getImportReference(), ir.getException())
- : new RemoteServiceAdminEvent(type, bctx.getBundle(), er.getExportReference(), er.getException());
- notifyListeners(event);
- eaHelper.notifyEventAdmin(event);
- } catch (IllegalStateException ise) {
- LOG.debug("can't send notifications since bundle context is no longer valid");
- }
- }
-
- @SuppressWarnings({
- "rawtypes", "unchecked"
- })
- private void notifyListeners(RemoteServiceAdminEvent rsae) {
- try {
- ServiceReference[] listenerRefs = bctx.getServiceReferences(
- RemoteServiceAdminListener.class.getName(), null);
- if (listenerRefs != null) {
- for (ServiceReference sref : listenerRefs) {
- RemoteServiceAdminListener rsal = (RemoteServiceAdminListener)bctx.getService(sref);
- if (rsal != null) {
- try {
- Bundle bundle = sref.getBundle();
- if (bundle != null) {
- LOG.debug("notify RemoteServiceAdminListener {} of bundle {}",
- rsal, bundle.getSymbolicName());
- rsal.remoteAdminEvent(rsae);
- }
- } finally {
- bctx.ungetService(sref);
- }
- }
- }
- }
- } catch (InvalidSyntaxException e) {
- LOG.error(e.getMessage(), e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportReferenceImpl.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportReferenceImpl.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportReferenceImpl.java
deleted file mode 100644
index 497aa9c..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportReferenceImpl.java
+++ /dev/null
@@ -1,77 +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.dosgi.dsw.service;
-
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-import org.osgi.service.remoteserviceadmin.ExportReference;
-
-@SuppressWarnings("rawtypes")
-public class ExportReferenceImpl implements ExportReference {
-
- private ServiceReference serviceReference;
- private EndpointDescription endpoint;
-
- public ExportReferenceImpl(ServiceReference serviceReference, EndpointDescription endpoint) {
- this.serviceReference = serviceReference;
- this.endpoint = endpoint;
- }
-
- public ExportReferenceImpl(ExportReference exportReference) {
- this(exportReference.getExportedService(), exportReference.getExportedEndpoint());
- }
-
- public EndpointDescription getExportedEndpoint() {
- return endpoint;
- }
-
- public ServiceReference getExportedService() {
- return serviceReference;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + (endpoint == null ? 0 : endpoint.hashCode());
- result = prime * result + (serviceReference == null ? 0 : serviceReference.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null || getClass() != obj.getClass()) {
- return false;
- }
- ExportReferenceImpl other = (ExportReferenceImpl) obj;
- boolean ed = endpoint == null ? other.endpoint == null
- : endpoint.equals(other.endpoint);
- boolean sr = serviceReference == null ? other.serviceReference == null
- : serviceReference.equals(other.serviceReference);
- return ed && sr;
- }
-
- synchronized void close() {
- this.endpoint = null;
- this.serviceReference = null;
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportRegistrationImpl.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportRegistrationImpl.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportRegistrationImpl.java
deleted file mode 100644
index d80bd40..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ExportRegistrationImpl.java
+++ /dev/null
@@ -1,152 +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.dosgi.dsw.service;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.cxf.dosgi.dsw.api.Endpoint;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-import org.osgi.service.remoteserviceadmin.ExportReference;
-import org.osgi.service.remoteserviceadmin.ExportRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("rawtypes")
-public class ExportRegistrationImpl implements ExportRegistration {
-
- private static final Logger LOG = LoggerFactory.getLogger(ExportRegistrationImpl.class);
-
- private final RemoteServiceAdminCore rsaCore;
- private final ExportReferenceImpl exportReference;
- private final Closeable server;
- private final Throwable exception;
-
- private final ExportRegistrationImpl parent;
- private int instanceCount;
- private volatile boolean closed;
-
- private ExportRegistrationImpl(ExportRegistrationImpl parent, RemoteServiceAdminCore rsaCore,
- ExportReferenceImpl exportReference, Closeable server, Throwable exception) {
- this.parent = parent != null ? parent.parent : this; // a parent points to itself
- this.parent.addInstance();
- this.rsaCore = rsaCore;
- this.exportReference = exportReference;
- this.server = server;
- this.exception = exception;
- }
-
- // create a clone of the provided ExportRegistrationImpl that is linked to it
- public ExportRegistrationImpl(ExportRegistrationImpl parent) {
- this(parent, parent.rsaCore, new ExportReferenceImpl(parent.exportReference),
- parent.server, parent.exception);
- }
-
- // create a new (parent) instance which was exported successfully with the given server
- public ExportRegistrationImpl(ServiceReference sref, Endpoint endpoint, RemoteServiceAdminCore rsaCore) {
- this(null, rsaCore, new ExportReferenceImpl(sref, endpoint.description()), endpoint, null);
- }
-
- // create a new (parent) instance which failed to be exported with the given exception
- public ExportRegistrationImpl(RemoteServiceAdminCore rsaCore, Throwable exception) {
- this(null, rsaCore, null, null, exception);
- }
-
- private void ensureParent() {
- if (parent != this) {
- throw new IllegalStateException("this method may only be called on the parent");
- }
- }
-
- public ExportReference getExportReference() {
- if (exportReference == null) {
- throw new IllegalStateException(getException());
- }
- return closed ? null : exportReference;
- }
-
- public Throwable getException() {
- return closed ? null : exception;
- }
-
- public final void close() {
- synchronized (this) {
- if (closed) {
- return;
- }
- closed = true;
- }
-
- rsaCore.removeExportRegistration(this);
- exportReference.close();
- parent.removeInstance();
- }
-
- private void addInstance() {
- ensureParent();
- synchronized (this) {
- instanceCount++;
- }
- }
-
- private void removeInstance() {
- ensureParent();
- synchronized (this) {
- instanceCount--;
- if (instanceCount <= 0) {
- LOG.debug("really closing ExportRegistration now!");
-
- if (server != null) {
- try {
- server.close();
- } catch (IOException e) {
- LOG.warn("Error closing ExportRegistration", e);
- }
- }
- }
- }
- }
-
- @Override
- public String toString() {
- if (closed) {
- return "ExportRegistration closed";
- }
- EndpointDescription endpoint = getExportReference().getExportedEndpoint();
- ServiceReference serviceReference = getExportReference().getExportedService();
- String r = "EndpointDescription for ServiceReference " + serviceReference;
-
- r += "\n*** EndpointDescription: ****\n";
- if (endpoint == null) {
- r += "---> NULL <---- \n";
- } else {
- Set<Map.Entry<String, Object>> props = endpoint.getProperties().entrySet();
- for (Map.Entry<String, Object> entry : props) {
- Object value = entry.getValue();
- r += entry.getKey() + " => "
- + (value instanceof Object[] ? Arrays.toString((Object[]) value) : value) + "\n";
- }
- }
- return r;
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ImportRegistrationImpl.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ImportRegistrationImpl.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ImportRegistrationImpl.java
deleted file mode 100644
index 2b896db..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/ImportRegistrationImpl.java
+++ /dev/null
@@ -1,230 +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.dosgi.dsw.service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.remoteserviceadmin.EndpointDescription;
-import org.osgi.service.remoteserviceadmin.ImportReference;
-import org.osgi.service.remoteserviceadmin.ImportRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("rawtypes")
-public class ImportRegistrationImpl implements ImportRegistration, ImportReference {
-
- private static final Logger LOG = LoggerFactory.getLogger(ImportRegistrationImpl.class);
-
- private volatile Throwable exception;
- private volatile ServiceRegistration importedService; // used only in parent
- private EndpointDescription endpoint;
- private volatile ClientServiceFactory clientServiceFactory;
- private RemoteServiceAdminCore rsaCore;
- private boolean closed;
- private boolean detached; // used only in parent
-
- private ImportRegistrationImpl parent;
- private List<ImportRegistrationImpl> children; // used only in parent
-
- public ImportRegistrationImpl(Throwable ex) {
- exception = ex;
- initParent();
- }
-
- public ImportRegistrationImpl(EndpointDescription endpoint, RemoteServiceAdminCore rsac) {
- this.endpoint = endpoint;
- this.rsaCore = rsac;
- initParent();
- }
-
- /**
- * Creates a clone of the given parent instance.
- */
- public ImportRegistrationImpl(ImportRegistrationImpl ir) {
- // we always want a link to the parent...
- parent = ir.getParent();
- exception = parent.getException();
- endpoint = parent.getImportedEndpointDescription();
- clientServiceFactory = parent.clientServiceFactory;
- rsaCore = parent.rsaCore;
-
- parent.instanceAdded(this);
- }
-
- private void initParent() {
- parent = this;
- children = new ArrayList<ImportRegistrationImpl>(1);
- }
-
- private void ensureParent() {
- if (parent != this) {
- throw new IllegalStateException("this method may only be called on the parent");
- }
- }
-
- /**
- * Called on parent when a child is added.
- *
- * @param iri the child
- */
- private synchronized void instanceAdded(ImportRegistrationImpl iri) {
- ensureParent();
- children.add(iri);
- }
-
- /**
- * Called on parent when a child is closed.
- *
- * @param iri the child
- */
- private void instanceClosed(ImportRegistrationImpl iri) {
- ensureParent();
- synchronized (this) {
- children.remove(iri);
- if (!children.isEmpty() || detached || !closed) {
- return;
- }
- detached = true;
- }
-
- LOG.debug("really closing ImportRegistration now");
-
- if (importedService != null) {
- try {
- importedService.unregister();
- } catch (IllegalStateException ise) {
- LOG.debug("imported service is already unregistered");
- }
- importedService = null;
- }
- if (clientServiceFactory != null) {
- clientServiceFactory.setCloseable(true);
- }
- }
-
- public void close() {
- LOG.debug("close() called");
-
- synchronized (this) {
- if (isInvalid()) {
- return;
- }
- closed = true;
- }
- rsaCore.removeImportRegistration(this);
- parent.instanceClosed(this);
- }
-
- /**
- * Closes all ImportRegistrations which share the same parent as this one.
- */
- public void closeAll() {
- if (this == parent) {
- LOG.info("closing down all child ImportRegistrations");
-
- // we must iterate over a copy of children since close() removes the child
- // from the list (which would cause a ConcurrentModificationException)
- for (ImportRegistrationImpl ir : copyChildren()) {
- ir.close();
- }
- this.close();
- } else {
- parent.closeAll();
- }
- }
-
- private List<ImportRegistrationImpl> copyChildren() {
- synchronized (this) {
- return new ArrayList<ImportRegistrationImpl>(children);
- }
- }
-
- public EndpointDescription getImportedEndpointDescription() {
- return isInvalid() ? null : endpoint;
- }
-
- @Override
- public EndpointDescription getImportedEndpoint() {
- return getImportedEndpointDescription();
- }
-
- @Override
- public ServiceReference getImportedService() {
- return isInvalid() || parent.importedService == null ? null : parent.importedService.getReference();
- }
-
- @Override
- public ImportReference getImportReference() {
- return this;
- }
-
- @Override
- public Throwable getException() {
- return exception;
- }
-
- public void setException(Throwable ex) {
- exception = ex;
- }
-
- private synchronized boolean isInvalid() {
- return exception != null || closed;
- }
-
- /**
- * Sets the {@link ServiceRegistration} representing the locally
- * registered {@link ClientServiceFactory} service which provides
- * proxies to the remote imported service. It is set only on the parent.
- *
- * @param sreg the ServiceRegistration
- */
- public void setImportedServiceRegistration(ServiceRegistration sreg) {
- ensureParent();
- importedService = sreg;
- }
-
- /**
- * Sets the {@link ClientServiceFactory} which is the implementation
- * of the locally registered service which provides proxies to the
- * remote imported service. It is set only on the parent.
- *
- * @param csf the ClientServiceFactory
- */
- public void setClientServiceFactory(ClientServiceFactory csf) {
- ensureParent();
- clientServiceFactory = csf;
- }
-
- public ImportRegistrationImpl getParent() {
- return parent;
- }
-
- /**
- * Returns the imported endpoint even if this
- * instance is closed or has an exception.
- *
- * @return the imported endpoint
- */
- public EndpointDescription getImportedEndpointAlways() {
- return endpoint;
- }
-}
http://git-wip-us.apache.org/repos/asf/aries-rsa/blob/d73a3a7f/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/PackageUtil.java
----------------------------------------------------------------------
diff --git a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/PackageUtil.java b/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/PackageUtil.java
deleted file mode 100644
index effcef1..0000000
--- a/dsw/cxf-dosgi-rsa/src/main/java/org/apache/cxf/dosgi/dsw/service/PackageUtil.java
+++ /dev/null
@@ -1,85 +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.dosgi.dsw.service;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.ExportedPackage;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("deprecation")
-public final class PackageUtil {
-
- public static final Logger LOG = LoggerFactory.getLogger(PackageUtil.class);
-
- private PackageUtil() {
- }
-
- /**
- * Tries to retrieve the version of iClass via the PackageAdmin.
- *
- * @param iClass tThe interface for which the version should be found
- * @param bc any valid BundleContext
- * @return the version of the interface or "0.0.0" if no version information could be found or an error
- * occurred during the retrieval
- */
- public static String getVersion(Class<?> iClass, BundleContext bc) {
- ServiceReference<PackageAdmin> paRef = bc.getServiceReference(PackageAdmin.class);
- if (paRef != null) {
- PackageAdmin pa = bc.getService(paRef);
- try {
- Bundle b = pa.getBundle(iClass);
- if (b == null) {
- LOG.info("Unable to find interface version for interface " + iClass.getName()
- + ". Falling back to 0.0.0");
- return "0.0.0";
- }
- LOG.debug("Interface source bundle: {}", b.getSymbolicName());
-
- ExportedPackage[] ep = pa.getExportedPackages(b);
- LOG.debug("Exported Packages of the source bundle: {}", (Object)ep);
-
- String pack = iClass.getPackage().getName();
- LOG.debug("Looking for Package: {}", pack);
- if (ep != null) {
- for (ExportedPackage p : ep) {
- if (p != null
- && pack.equals(p.getName())) {
- LOG.debug("found package -> Version: {}", p.getVersion());
- return p.getVersion().toString();
- }
- }
- }
- } finally {
- if (pa != null) {
- bc.ungetService(paRef);
- }
- }
- } else {
- LOG.error("Was unable to obtain the package admin service -> can't resolve interface versions");
- }
-
- LOG.info("Unable to find interface version for interface " + iClass.getName()
- + ". Falling back to 0.0.0");
- return "0.0.0";
- }
-}