You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/10/28 20:29:53 UTC
svn commit: r830738 [2/2] - in /tuscany/java/sca/modules:
assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/
assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/
assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/...
Modified: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java (original)
+++ tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java Wed Oct 28 19:29:50 2009
@@ -21,7 +21,9 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Dictionary;
import java.util.HashMap;
+import java.util.Hashtable;
import java.util.List;
import java.util.Map;
@@ -36,6 +38,8 @@
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.cm.ConfigurationException;
+import org.osgi.service.cm.ManagedService;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.osgi.util.tracker.ServiceTracker;
@@ -43,9 +47,10 @@
/**
* SCA Implementation of {@link RemoteServiceAdmin}
*/
-public class RemoteServiceAdminImpl implements RemoteServiceAdmin {
+public class RemoteServiceAdminImpl implements RemoteServiceAdmin, ManagedService {
private BundleContext context;
private ServiceRegistration registration;
+ private ServiceRegistration managedService;
private ServiceTracker listeners;
private OSGiServiceExporter exporter;
@@ -64,6 +69,9 @@
exporter.start();
importer.start();
registration = context.registerService(RemoteServiceAdmin.class.getName(), this, null);
+ Hashtable<String, Object> props = new Hashtable<String, Object>();
+ props.put(Constants.SERVICE_PID, RemoteServiceAdminImpl.class.getName());
+ managedService = context.registerService(ManagedService.class.getName(), this, props);
listeners = new ServiceTracker(this.context, RemoteServiceAdminListener.class.getName(), null);
listeners.open();
}
@@ -73,6 +81,10 @@
registration.unregister();
registration = null;
}
+ if (managedService != null) {
+ managedService.unregister();
+ managedService = null;
+ }
if (listeners != null) {
listeners.close();
listeners = null;
@@ -249,4 +261,12 @@
}
return importReg;
}
+
+ public synchronized void updated(Dictionary props) throws ConfigurationException {
+ String domainRegistry = (String)props.get("org.osgi.sca.domain.registry");
+ if (domainRegistry != null) {
+ exporter.setDomainRegistry(domainRegistry);
+ importer.setDomainRegistry(domainRegistry);
+ }
+ }
}
Modified: tuscany/java/sca/modules/node-impl-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory (original)
+++ tuscany/java/sca/modules/node-impl-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory Wed Oct 28 19:29:50 2009
@@ -14,4 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-# org.apache.tuscany.sca.node.osgi.impl.OSGiNodeFactoryImpl
\ No newline at end of file
+# org.apache.tuscany.sca.node.osgi.impl.OSGiNodeFactoryImpl;ranking=100
\ No newline at end of file
Modified: tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java (original)
+++ tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java Wed Oct 28 19:29:50 2009
@@ -154,6 +154,7 @@
nodes.clear();
deployer.stop();
registry.stop();
+ super.destroy();
inited = false;
}
}