Author: [email protected]
Date: Tue Mar 29 15:58:38 2011
New Revision: 915

Log:
AMDATU-283 removed accidental destroy of winkregistration component

Modified:
   
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/osgi/Activator.java
   
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/service/WinkRegistrationServiceImpl.java

Modified: 
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/osgi/Activator.java
==============================================================================
--- 
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/osgi/Activator.java
     (original)
+++ 
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/osgi/Activator.java
     Tue Mar 29 15:58:38 2011
@@ -26,6 +26,7 @@
 
 /**
  * This is the OSGi activator for this Cassandra application bundle.
+ * 
  * @author ivol
  */
 public class Activator extends DependencyActivatorBase {
@@ -39,9 +40,9 @@
         // Create and register the wink registration service
         manager.add(createComponent()
             .setImplementation(WinkRegistrationServiceImpl.class)
-            
.add(createServiceDependency().setService(LogService.class).setRequired(true))
+            
.add(createServiceDependency().setService(HttpService.class).setRequired(true))
             
.add(createServiceDependency().setService("(objectclass=*)").setCallbacks("onAdded",
 "onRemoved"))
-            
.add(createServiceDependency().setService(HttpService.class).setRequired(true)));
+            
.add(createServiceDependency().setService(LogService.class).setRequired(false)));
     }
 
     @Override

Modified: 
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/service/WinkRegistrationServiceImpl.java
==============================================================================
--- 
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/service/WinkRegistrationServiceImpl.java
        (original)
+++ 
branches/AMDATU-283-dev/amdatu-web/rest-wink/src/main/java/org/amdatu/web/rest/wink/service/WinkRegistrationServiceImpl.java
        Tue Mar 29 15:58:38 2011
@@ -62,19 +62,15 @@
     // List of registered servlets, stored to be sure the servlet is 
registered before unregistering it
     private List<String> m_registeredServlets = new ArrayList<String>();
 
-    // Our HTTP context
-    private Component m_httpContextComponent;
-    private Component m_spiComponent;
+    // Array to prevent depnman from injecting
+    private Component[] m_spiComponent;
 
     /**
      * The init() method is invoked by the Felix dependency manager.
      */
     public void init() {
-        // Set the runtime delegate
         setRuntimeDelegate();
         registerSpiService();
-
-        // Register REST dispatcher servlet
         m_logService.log(LogService.LOG_INFO, getClass().getName() + " service 
initialized");
     }
 
@@ -83,7 +79,6 @@
      */
     public void destroy() {
         removeSpiService();
-        // When the Wink application is destroyed, unregister Wink servlets
         while (m_registeredServlets.size() > 0) {
             String servletUrl = m_registeredServlets.get(0);
             m_httpService.unregister(servletUrl);
@@ -91,10 +86,6 @@
             m_logService.log(LogService.LOG_INFO, "Wink application 
unregistered REST servlet '" + servletUrl
                 + "'");
         }
-
-        // Stop the HTTP context service we created ourselves
-        m_httpContextComponent.stop();
-
         m_logService.log(LogService.LOG_INFO, getClass().getName() + " service 
destroyed");
     }
 
@@ -137,16 +128,16 @@
     }
 
     private void registerSpiService() {
-        m_spiComponent = m_dependencyManager.createComponent()
+        Component comp = m_dependencyManager.createComponent()
             .setInterface(JaxRsSpi.class.getName(), null)
             .setImplementation(new JaxRsSpi() {
             });
-
-        m_dependencyManager.add(m_spiComponent);
+        m_dependencyManager.add(comp);
+        m_spiComponent = new Component[] { comp };
     }
 
     private void removeSpiService() {
-        m_dependencyManager.remove(m_spiComponent);
+        m_dependencyManager.remove(m_spiComponent[0]);
     }
 
     public void onAdded(ServiceReference ref, Object service) {
@@ -188,10 +179,9 @@
 
             // Register servlet whiteboard style
             String servletUrl = "/" + RESOURCE_ID + "/" + restPath;
-            
+
             String contextId = getStringProperty(ref, "contextId");
 
-//            registerServlet(tenantId, servletUrl + "/" + restPath, 
contextId, restServlet, initParams);
             registerServlet(tenantId, servletUrl, contextId, restServlet, 
initParams);
             m_registeredServlets.add(servletUrl);
             m_logService.log(LogService.LOG_DEBUG, "Wink application 
registered REST servlet '" + servletUrl + "'");
@@ -225,7 +215,8 @@
         return null;
     }
 
-    private void registerServlet(String tenantId, String alias, String 
contextId, Servlet servlet, Dictionary<String, String> initParams) {
+    private void registerServlet(String tenantId, String alias, String 
contextId, Servlet servlet,
+        Dictionary<String, String> initParams) {
         Properties properties = new Properties();
         if (initParams != null) {
             Enumeration<String> keys = initParams.keys();
@@ -259,7 +250,7 @@
             .setInterface(new String[] { Filter.class.getName() }, 
filterProperties)
             
.add(m_dependencyManager.createServiceDependency().setService(LogService.class).setRequired(true)));
     }
-    
+
     private String getStringProperty(ServiceReference ref, String key) {
         Object value = ref.getProperty(key);
         return (value instanceof String) ? (String) value : "";
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to