tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rf...@apache.org
Subject svn commit: r830802 - /tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
Date Thu, 29 Oct 2009 00:05:47 GMT
Author: rfeng
Date: Thu Oct 29 00:05:46 2009
New Revision: 830802

URL: http://svn.apache.org/viewvc?rev=830802&view=rev
Log:
Add missing file

Added:
    tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
  (with props)

Added: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java?rev=830802&view=auto
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
(added)
+++ tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
Thu Oct 29 00:05:46 2009
@@ -0,0 +1,88 @@
+/*
+ * 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.tuscany.sca.osgi.remoteserviceadmin.impl;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.LifeCycleListener;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
+import org.apache.tuscany.sca.osgi.service.discovery.impl.LocalDiscoveryService;
+import org.osgi.framework.BundleContext;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * Watching and exporting OSGi services 
+ */
+public class AbstractOSGiServiceHandler implements LifeCycleListener {
+    protected ExtensionPointRegistry registry;
+    protected BundleContext context;
+    protected NodeFactoryImpl nodeFactory;
+    protected EndpointIntrospector introspector;
+    protected ServiceTracker discoveryTracker;
+    protected String domainRegistry;
+
+    /**
+     * @param context
+     * @param clazz
+     * @param customizer
+     */
+    protected AbstractOSGiServiceHandler(BundleContext context) {
+        this.context = context;
+    }
+
+    protected ExtensionPointRegistry getExtensionPointRegistry() {
+        if (registry == null) {
+            ServiceTracker tracker = new ServiceTracker(context, ExtensionPointRegistry.class.getName(),
null);
+            tracker.open();
+            // tracker.waitForService(1000);
+            registry = (ExtensionPointRegistry)tracker.getService();
+            tracker.close();
+        }
+        return registry;
+    }
+
+    protected synchronized void init() {
+        if (nodeFactory == null) {
+            this.nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance();
+            this.nodeFactory.init();
+            this.discoveryTracker = LocalDiscoveryService.getTracker(context);
+            discoveryTracker.open();
+            this.introspector = new EndpointIntrospector(context, getExtensionPointRegistry(),
discoveryTracker);
+        }
+    }
+
+    public void start() {
+        init();
+    }
+
+    public void stop() {
+        discoveryTracker.close();
+        discoveryTracker = null;
+        introspector = null;
+        nodeFactory = null;
+        registry = null;
+        context = null;
+    }
+
+    public void setDomainRegistry(String domainRegistry) {
+        this.domainRegistry = domainRegistry;
+    }
+
+}

Propchange: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/AbstractOSGiServiceHandler.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



Mime
View raw message