Author: lenzi
Date: Fri Jan  4 07:14:05 2008
New Revision: 608884

URL: http://svn.apache.org/viewvc?rev=608884&view=rev
Log:
ExporterUPnPEventListener, UPnPEventNotifier reverting changes in order to 
follow the specification proposed by Javadoc (FELIX-447)

Fixed blocking compilation issue

Modified:
    
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
    
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
    
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
    
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
    
felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java

Modified: 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java?rev=608884&r1=608883&r2=608884&view=diff
==============================================================================
--- 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
 (original)
+++ 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
 Fri Jan  4 07:14:05 2008
@@ -23,6 +23,7 @@
 
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceRegistration;
 
 import org.apache.felix.upnp.basedriver.controller.DevicesInfo;
@@ -38,21 +39,22 @@
 import org.apache.felix.upnp.basedriver.importer.core.event.thread.Notifier;
 import org.apache.felix.upnp.basedriver.importer.core.event.thread.SubScriber;
 import org.apache.felix.upnp.basedriver.tool.Logger;
+import org.apache.felix.upnp.basedriver.util.Converter;
 
 /* 
 * @author <a href="mailto:[EMAIL PROTECTED]">Felix Project Team</a>
 */
 public class Activator implements BundleActivator {
        
-       private final static String BASEDRIVER_LOG_PROP = "felix.upnpbase.log";
-       private final static String EXPORTER_ENABLED_PROP = 
"felix.upnpbase.exporter.enabled";
-       private final static String IMPORTER_ENABLED_PROP = 
"felix.upnpbase.importer.enabled";
-       private final static String NET_ONLY_IPV4_PROP = 
"felix.upnpbase.cyberdomo.net.onlyIPV4";
-       private final static String NET_ONLY_IPV6_PROP = 
"felix.upnpbase.cyberdomo.net.onlyIPV6";
-       private final static String NET_USE_LOOPBACK_PROP = 
"felix.upnpbase.cyberdomo.net.loopback";
-       private final static String CYBERDOMO_LOG_PROP = 
"felix.upnpbase.cyberdomo.log";
+       public final static String BASEDRIVER_LOG_PROP = "felix.upnpbase.log";
+       public final static String CYBERDOMO_LOG_PROP = 
"felix.upnpbase.cyberdomo.log";
+       public final static String EXPORTER_ENABLED_PROP = 
"felix.upnpbase.exporter.enabled";
+       public final static String IMPORTER_ENABLED_PROP = 
"felix.upnpbase.importer.enabled";
+       public final static String NET_ONLY_IPV4_PROP = 
"felix.upnpbase.cyberdomo.net.onlyIPV4";
+       public final static String NET_ONLY_IPV6_PROP = 
"felix.upnpbase.cyberdomo.net.onlyIPV6";
+       public final static String NET_USE_LOOPBACK_PROP = 
"felix.upnpbase.cyberdomo.net.loopback";
        
-    public static BundleContext bc;
+       public static BundleContext bc;
     public static Logger logger;        
        private RootDeviceExportingQueue queue;
        private RootDeviceListener producerDeviceToExport;
@@ -65,7 +67,14 @@
        private SubscriptionQueue subQueue;
        private Monitor monitor;
     private DriverControllerImpl drvController;
-    private ServiceRegistration drvControllerRegistrar;        
+    private ServiceRegistration drvControllerRegistrar;
+    
+       private boolean useExporter = true;
+       private boolean useImporter = true;
+       
+       private boolean useOnlyIPV4 = true;
+       private boolean useOnlyIPV6 = false;
+       private boolean useLoopback = false;    
        
        /**
         * @see 
org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
@@ -75,86 +84,18 @@
         
                Activator.bc = context;                         
                
-               //
-               // Debugger configuration
-               //
-           String levelStr = 
getPropertyDefault(context,BASEDRIVER_LOG_PROP,"2");          
-               Activator.logger = new Logger(levelStr);
-               
-           String cyberLog = 
getPropertyDefault(context,CYBERDOMO_LOG_PROP,"false");
-           Activator.logger.setCyberDebug(cyberLog);
-           
-           
-               //
-           // NET configuration
-               //
-           String useOnlyIPV4 = 
getPropertyDefault(context,NET_ONLY_IPV4_PROP,"true");
-       if (useOnlyIPV4.equalsIgnoreCase("true"))
-            UPnP.setEnable(UPnP.USE_ONLY_IPV4_ADDR);
-       else
-               UPnP.setDisable(UPnP.USE_ONLY_IPV4_ADDR);
-       
-               String useOnlyIPV6 = 
getPropertyDefault(context,NET_ONLY_IPV6_PROP,"false");
-       if (useOnlyIPV6.equalsIgnoreCase("true"))
-            UPnP.setEnable(UPnP.USE_ONLY_IPV6_ADDR);
-       else
-               UPnP.setDisable(UPnP.USE_ONLY_IPV6_ADDR);
-
-               String useLoopback = 
getPropertyDefault(context,NET_USE_LOOPBACK_PROP,"false");
-       if (useLoopback.equalsIgnoreCase("true"))
-            UPnP.setEnable(UPnP.USE_LOOPBACK_ADDR);
-       else
-               UPnP.setDisable(UPnP.USE_LOOPBACK_ADDR);
-
-       //
-       // Exporter configuration               
-               //
-       String useExporter = 
getPropertyDefault(context,EXPORTER_ENABLED_PROP,"true");
-               if (useExporter.equalsIgnoreCase("true")){
-                       //Setting up Base Driver Exporter
-                       this.queue = new RootDeviceExportingQueue();
-                       this.producerDeviceToExport = new 
RootDeviceListener(queue);
-                       producerDeviceToExport.activate();
-                       consumerDeviceToExport = new ThreadExporter(queue);
-                       new Thread(consumerDeviceToExport, 
"upnp.basedriver.Exporter").start();
-               }
-
-       //
-               // Importer configuration               
-       //
-               String useImporter = 
getPropertyDefault(context,IMPORTER_ENABLED_PROP,"true");
-               if (useImporter.equalsIgnoreCase("true")){
-                       //Setting up Base Driver Importer
-                       this.notifierQueue = new NotifierQueue();
-                       this.subQueue = new SubscriptionQueue();
-                       ctrl = new MyCtrlPoint(context, subQueue, 
notifierQueue);
-                       
-                       //Enable CyberLink re-new for Event
-                       ctrl.setNMPRMode(true);
-                               
-                       this.monitor=new Monitor();
-                       this.notifier = new Notifier(notifierQueue,monitor);
-                       this.subScriber = new SubScriber(ctrl, 
subQueue,monitor);
-                       
-                       ctrl.start();
-                       subScriber.start();
-                       notifier.start();
-               }
-        
+               doInitProperties();
+               
+               doInitUPnPStack();
+               
+               doInitExporter();
+               
+               doInitImporter();
+               
         doControllerRegistration();
         
        }
 
-       private void doControllerRegistration() {
-        drvController = new DriverControllerImpl(ctrl);
-        drvControllerRegistrar = bc.registerService(
-            new String[]{
-                       DriverController.class.getName(),
-                       DevicesInfo.class.getName()},
-            drvController,
-            null
-        );       
-    }
 
     /**
         * @see 
org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
@@ -189,4 +130,150 @@
                return value;
        }
 
+
+       
+       /**
+        * Method used for initilizing the Import component of the UPnP Base 
Driver
+        * 
+        * @since 0.3
+        */
+       private void doInitImporter() {
+               if (!useImporter) return;
+               
+               
+               //Setting up Base Driver Importer
+               this.notifierQueue = new NotifierQueue();
+               this.subQueue = new SubscriptionQueue();
+               ctrl = new MyCtrlPoint(Activator.bc, subQueue, notifierQueue);
+               
+               //Enable CyberLink re-new for Event
+               ctrl.setNMPRMode(true);
+                       
+               this.monitor=new Monitor();
+               this.notifier = new Notifier(notifierQueue,monitor);
+               this.subScriber = new SubScriber(ctrl, subQueue,monitor);
+               
+               ctrl.start();
+               subScriber.start();
+               notifier.start();
+       }
+
+       /**
+       /**
+        * Method used for initilizing the Exporter component of the UPnP Base 
Driver
+        * @throws InvalidSyntaxException 
+        * 
+        * @since 0.3
+        * @throws InvalidSyntaxException
+        */
+       private void doInitExporter() throws InvalidSyntaxException {           
+               if (!useExporter) return;
+               
+               
+               //Setting up Base Driver Exporter
+               this.queue = new RootDeviceExportingQueue();
+               this.producerDeviceToExport = new RootDeviceListener(queue);
+               producerDeviceToExport.activate();
+               consumerDeviceToExport = new ThreadExporter(queue);
+               new Thread(consumerDeviceToExport, 
"upnp.basedriver.Exporter").start();
+               
+       }
+
+       /**
+        * Method used for initilizing the UPnP SDK component used by the UPnP 
Base Driver
+        * 
+        * @since 0.3
+        */
+       private void doInitUPnPStack() {
+               
+           if (useOnlyIPV4) UPnP.setEnable(UPnP.USE_ONLY_IPV4_ADDR);
+       else UPnP.setDisable(UPnP.USE_ONLY_IPV4_ADDR);
+
+           if (useOnlyIPV6) UPnP.setEnable(UPnP.USE_ONLY_IPV6_ADDR);
+       else UPnP.setDisable(UPnP.USE_ONLY_IPV6_ADDR);
+
+       if (useLoopback) UPnP.setEnable(UPnP.USE_LOOPBACK_ADDR);
+       else UPnP.setDisable(UPnP.USE_LOOPBACK_ADDR);
+       
+       }
+
+       /**
+        * Method used for initilizing the general properties of the UPnP Base 
Driver
+        * 
+        * @since 0.3
+        */
+       private void doInitProperties() {
+               
+               //
+               // Debugger configuration
+               //
+           String levelStr = 
getPropertyDefault(Activator.bc,BASEDRIVER_LOG_PROP,"2");     
+               Activator.logger = new Logger(levelStr);
+               
+           String cyberLog = 
getPropertyDefault(Activator.bc,CYBERDOMO_LOG_PROP,"false");
+           Activator.logger.setCyberDebug(cyberLog);       
+
+               //
+           // NET configuration
+               //
+           try {
+                       useOnlyIPV4 = ((Boolean) Converter.parseString(
+                                       
getPropertyDefault(Activator.bc,NET_ONLY_IPV4_PROP,"true"),"boolean"
+                       )).booleanValue();
+               } catch (Exception e) {
+                       logger.WARNING(NET_ONLY_IPV4_PROP+" initialized with 
wrong value, using default "+useOnlyIPV4);
+               }
+       
+               try {
+                       useOnlyIPV6 = ((Boolean) Converter.parseString(
+                                       
getPropertyDefault(Activator.bc,NET_ONLY_IPV6_PROP,"false"),"boolean"
+                       )).booleanValue();
+               } catch (Exception e) {
+                       logger.WARNING(NET_ONLY_IPV6_PROP+" initialized with 
wrong value, using default "+useOnlyIPV6);
+               }
+               
+               try {
+                       useLoopback = ((Boolean) Converter.parseString(
+                                       
getPropertyDefault(Activator.bc,NET_USE_LOOPBACK_PROP,"false"),"boolean"
+                       )).booleanValue();
+               } catch (Exception e) {
+                       logger.WARNING(NET_USE_LOOPBACK_PROP+" initialized with 
wrong value, using default "+useLoopback);
+               }
+       
+       //
+       // Exporter configuration               
+               //
+       try {
+                       useExporter = ((Boolean) Converter.parseString(
+                                       
getPropertyDefault(Activator.bc,EXPORTER_ENABLED_PROP,"true"),"boolean"         
+                       )).booleanValue();
+               } catch (Exception e) {
+                       logger.WARNING(EXPORTER_ENABLED_PROP+" initialized with 
wrong value, using default "+useExporter);
+               }
+       
+       //
+               // Importer configuration               
+       //
+               try {
+                       useImporter = ((Boolean) Converter.parseString(
+                                       
getPropertyDefault(Activator.bc,IMPORTER_ENABLED_PROP,"true"),"boolean"
+                                       
+                       )).booleanValue();
+               } catch (Exception e) {
+                       logger.WARNING(IMPORTER_ENABLED_PROP+" initialized with 
wrong value, using default "+useImporter);
+               }
+       }
+
+       private void doControllerRegistration() {
+        drvController = new DriverControllerImpl(ctrl);
+        drvControllerRegistrar = bc.registerService(
+            new String[]{
+                       DriverController.class.getName(),
+                       DevicesInfo.class.getName()},
+            drvController,
+            null
+        );       
+    }
+       
+       
 }

Modified: 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java?rev=608884&r1=608883&r2=608884&view=diff
==============================================================================
--- 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
 (original)
+++ 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
 Fri Jan  4 07:14:05 2008
@@ -262,7 +262,7 @@
 
        public static Device createCyberLinkDevice(ServiceReference sr){
                Node root = buildRootNode();
-               Device devUPnP = buildRootDeviceNode(root,sr);          
+               Device devUPnP = buildRootDeviceNode(root,sr);
                return devUPnP;
        }
 }

Modified: 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java?rev=608884&r1=608883&r2=608884&view=diff
==============================================================================
--- 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
 (original)
+++ 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
 Fri Jan  4 07:14:05 2008
@@ -49,35 +49,29 @@
         * @see 
org.osgi.service.upnp.UPnPEventListener#notifyUPnPEvent(java.lang.String, 
java.lang.String, java.util.Dictionary)
         */
        public void notifyUPnPEvent(String deviceId, String 
serviceId,Dictionary events) {
-        Device dAux = null;
-        if(d.getUDN().equals(deviceId)){
-            dAux=d;
-        }else{
-            dAux= d.getDevice(deviceId);
-        }
-        Service s = dAux.getService(serviceId);
+               Device dAux = null;
+               if(d.getUDN().equals(deviceId)){
+                       dAux=d;
+               }else{
+                       dAux=d.getDevice(deviceId);
+               }
+               Service s = dAux.getService(serviceId);
                // fix 2/9/2004 francesco 
                Enumeration e = events.keys();
                while (e.hasMoreElements()) {
             StateVariable sv;
             String dataType;
             String name;
-            //TODO Keep for compatibility? The OSGi compendium R4 pag. 257 
requires pair containg <UPnPStateVariable,Object value> instead of <String 
name,Object value>
             Object key = e.nextElement();
             if(key instanceof String){
                 name=(String) key;
                 sv=s.getStateVariable(name);
                 dataType=sv.getDataType();
-            }else if(key instanceof UPnPStateVariable){
-                UPnPStateVariable variable = (UPnPStateVariable) key;
-                name=variable.getName();
-                dataType=variable.getUPnPDataType();
-                sv=s.getStateVariable(name);
             }else{
                 Activator.logger.ERROR(deviceId + " notified the change in the 
StateVariable of " 
                                        + serviceId + " but the key Java type 
contained in the Dictiories was " 
-                                       + key.getClass().getName() + " instead 
of " + UPnPStateVariable.class.getName()
-                                       + " as specified by OSGi Compendium 
Release 4 pag. 257");
+                                       + key.getClass().getName() + " instead 
of " + String.class.getName()
+                                       + " as specified by Javadoc");
                 continue;
             }
             

Modified: 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java?rev=608884&r1=608883&r2=608884&view=diff
==============================================================================
--- 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
 (original)
+++ 
felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
 Fri Jan  4 07:14:05 2008
@@ -28,5 +28,5 @@
         * The value of the does not carry any mean. <br>
         * The name of the property is "UPnP.device.import".
         */
-       public static final String UPNP_IMPORT = "UPnP.device.imported"; 
+       public final static String UPNP_IMPORT = "UPnP.device.imported"; 
 }

Modified: 
felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java?rev=608884&r1=608883&r2=608884&view=diff
==============================================================================
--- 
felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java
 (original)
+++ 
felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java
 Fri Jan  4 07:14:05 2008
@@ -26,7 +26,6 @@
 import java.util.Properties;
 import java.util.Vector;
 
-import org.apache.felix.upnp.basedriver.Activator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.Filter;
@@ -173,19 +172,10 @@
         * @see 
java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
         */
        public void propertyChange(PropertyChangeEvent evt) {
-        UPnPStateVariable variable;
         String property = evt.getPropertyName();
-        try{
-            variable = (UPnPStateVariable) evt.getSource();
-        }catch(ClassCastException ex){
-            Activator.logger.ERROR("Trying to nofied the change of a 
UPnPStateVariable but event source Java type is "
-                                   +evt.getSource().getClass().getName()+" 
instead of "+UPnPStateVariable.class.getName()
-                                   +" so "+property+"it's been SKIPPED");
-            return;
-        }
                Object value = evt.getNewValue();
                Properties events = new Properties();           
-        events.put(variable,value);
+        events.put(property,value);
                doNotify(events);
        }
 


Reply via email to