felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From furf...@apache.org
Subject svn commit: r607731 - in /felix/trunk/upnp: basedriver/src/main/java/org/apache/felix/upnp/basedriver/ basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/ basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ basedriv...
Date Mon, 31 Dec 2007 12:26:18 GMT
Author: furfari
Date: Mon Dec 31 04:26:14 2007
New Revision: 607731

URL: http://svn.apache.org/viewvc?rev=607731&view=rev
Log:
Moved UPnPEventNotifier.java and EventSource to the "extra" bundle.
Added dependencies with "extra" bundle to the examples projects   
Modified the evented statevariables of the examples to use UPnPLocalStateVariable (since R4) (we used UPnPStateVariableDescriptor.java now removed)
Reorganized imports with the following order:
java,javax,com,org,org.apache,org.osgi,org.apache.felix,org.apache.felix.upnp

Added:
    felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java
    felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java
    felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPSubscriber.java
Removed:
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/EventSource.java
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/UPnPEventNotifier.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/EventSource.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/UPnPEventNotifier.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/EventSource.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPEventNotifier.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPStateVariableDescriptor.java
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/controller/impl/DriverControllerImpl.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/GeneralActionListener.java
    felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java
    felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPDeviceImpl.java
    felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/HTTPRequestForIcon.java
    felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java
    felix/trunk/upnp/samples/binarylight/pom.xml
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightDevice.java
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightModel.java
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/PowerSwitchService.java
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/StatusStateVariable.java
    felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/TargetStateVariable.java
    felix/trunk/upnp/samples/clock/pom.xml
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/Clock.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockDevice.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockIcon.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ResultStateVariable.java
    felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/TimeStateVariable.java
    felix/trunk/upnp/samples/tv/pom.xml
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java
    felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/Mediator.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/UPnPSubscriber.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DeviceNode.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DevicesList.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/RootDeviceListener.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/SubscriptionPanel.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/UPnPDeviceTreeNode.java
    felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/test.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=607731&r1=607730&r2=607731&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 Mon Dec 31 04:26:14 2007
@@ -19,6 +19,12 @@
 
 package org.apache.felix.upnp.basedriver;
 
+import org.cybergarage.upnp.UPnP;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+
 import org.apache.felix.upnp.basedriver.controller.impl.DriverControllerImpl;
 import org.apache.felix.upnp.basedriver.export.RootDeviceExportingQueue;
 import org.apache.felix.upnp.basedriver.export.RootDeviceListener;
@@ -33,10 +39,6 @@
 import org.apache.felix.upnp.basedriver.tool.Util;
 import org.apache.felix.upnp.extra.controller.DevicesInfo;
 import org.apache.felix.upnp.extra.controller.DriverController;
-import org.cybergarage.upnp.UPnP;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java Mon Dec 31 04:26:14 2007
@@ -19,15 +19,14 @@
 
 package org.apache.felix.upnp.basedriver.controller.impl;
 
-import org.apache.felix.upnp.extra.controller.DevicesInfo;
-import org.apache.felix.upnp.extra.controller.DriverController;
-
 import org.cybergarage.upnp.Device;
 import org.cybergarage.upnp.Service;
 
 import org.apache.felix.upnp.basedriver.Activator;
 import org.apache.felix.upnp.basedriver.importer.core.MyCtrlPoint;
 import org.apache.felix.upnp.basedriver.tool.Logger;
+import org.apache.felix.upnp.extra.controller.DevicesInfo;
+import org.apache.felix.upnp.extra.controller.DriverController;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

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=607731&r1=607730&r2=607731&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 Mon Dec 31 04:26:14 2007
@@ -26,9 +26,9 @@
 import org.cybergarage.upnp.Argument;
 import org.cybergarage.upnp.ArgumentList;
 import org.cybergarage.upnp.Device;
+import org.cybergarage.upnp.RootDescription;
 import org.cybergarage.upnp.Service;
 import org.cybergarage.upnp.StateVariable;
-import org.cybergarage.upnp.RootDescription;
 import org.cybergarage.upnp.xml.DeviceData;
 import org.cybergarage.xml.Node;
 

Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java Mon Dec 31 04:26:14 2007
@@ -36,11 +36,11 @@
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPDevice;
+import org.osgi.service.upnp.UPnPException;
 import org.osgi.service.upnp.UPnPService;
 
 import org.apache.felix.upnp.basedriver.Activator;
 import org.apache.felix.upnp.extra.util.Converter;
-import org.osgi.service.upnp.UPnPException;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java Mon Dec 31 04:26:14 2007
@@ -29,10 +29,10 @@
 import org.cybergarage.upnp.UPnPStatus;
 
 import org.osgi.service.upnp.UPnPAction;
+import org.osgi.service.upnp.UPnPException;
 import org.osgi.service.upnp.UPnPStateVariable;
 
 import org.apache.felix.upnp.extra.util.Converter;
-import org.osgi.service.upnp.UPnPException;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPDeviceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPDeviceImpl.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPDeviceImpl.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPDeviceImpl.java Mon Dec 31 04:26:14 2007
@@ -25,12 +25,14 @@
 import java.util.Hashtable;
 import java.util.Vector;
 
-import org.apache.felix.upnp.basedriver.importer.util.DeviceSetup;
 import org.cybergarage.upnp.Device;
+
 import org.osgi.framework.BundleContext;
 import org.osgi.service.upnp.UPnPDevice;
 import org.osgi.service.upnp.UPnPIcon;
 import org.osgi.service.upnp.UPnPService;
+
+import org.apache.felix.upnp.basedriver.importer.util.DeviceSetup;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/HTTPRequestForIcon.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/HTTPRequestForIcon.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/HTTPRequestForIcon.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/HTTPRequestForIcon.java Mon Dec 31 04:26:14 2007
@@ -19,8 +19,12 @@
 
 package org.apache.felix.upnp.basedriver.importer.util;
 
-import java.io.*;
-import java.net.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.URL;
 
 /** 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java (original)
+++ felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java Mon Dec 31 04:26:14 2007
@@ -19,13 +19,17 @@
 
 package org.apache.felix.upnp.extra.util;
 
-import java.text.*;
-import java.util.*;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
 
-//import org.apache.xerces.impl.dv.util.*;
 import org.apache.xerces.impl.dv.util.Base64;
 import org.apache.xerces.impl.dv.util.HexBin;
-import org.osgi.service.upnp.*;
+
+import org.osgi.service.upnp.UPnPStateVariable;
 
 /** 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Added: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java?rev=607731&view=auto
==============================================================================
--- felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java (added)
+++ felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java Mon Dec 31 04:26:14 2007
@@ -0,0 +1,33 @@
+/* 
+ * 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.felix.upnp.extra.util;
+
+import java.beans.PropertyChangeListener;
+
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
+public interface EventSource {
+	void addPropertyChangeListener(PropertyChangeListener listener);
+	void addPropertyChangeListener(String propertyName, PropertyChangeListener listener);
+	void removePropertyChangeListener(PropertyChangeListener listener);
+	void removePropertyChangeListener(String propertyName, PropertyChangeListener listener);
+}
+

Added: 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=607731&view=auto
==============================================================================
--- felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java (added)
+++ felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPEventNotifier.java Mon Dec 31 04:26:14 2007
@@ -0,0 +1,261 @@
+/* 
+ * 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.felix.upnp.extra.util;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Dictionary;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Vector;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.Filter;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.upnp.UPnPDevice;
+import org.osgi.service.upnp.UPnPEventListener;
+import org.osgi.service.upnp.UPnPLocalStateVariable;
+import org.osgi.service.upnp.UPnPService;
+import org.osgi.service.upnp.UPnPStateVariable;
+
+/* 
+* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+*/
+
+public class UPnPEventNotifier implements PropertyChangeListener, ServiceListener {
+	private BundleContext context;
+	private UPnPDevice device;
+	private UPnPService service;
+	private String deviceId;
+	private String serviceId;
+	
+	private Properties UPnPTargetListener;
+	private Vector upnpListeners = new Vector();
+	final private Object LOCK = new Object();
+	
+	
+	private class NotifierThread extends Thread {
+		private ServiceReference sr;
+		private Properties events;
+
+		public NotifierThread(ServiceReference sr, Properties events){
+			super("UPnPEventNotifier");
+			this.sr = sr;
+			this.events = events;
+		}
+		
+		public void run(){
+			try {
+				UPnPEventListener listener = (UPnPEventListener) context.getService(sr);
+				listener.notifyUPnPEvent(deviceId,serviceId,events);
+				context.ungetService(sr);
+			} catch (Exception ignored){
+			}
+		}
+	}
+
+	public UPnPEventNotifier(BundleContext context, UPnPDevice device, UPnPService service, EventSource source){
+		this(context,device,service);
+		
+		if (source != null){
+			UPnPStateVariable[] vars = service.getStateVariables();
+			if (vars != null){
+				for (int i=0;i<vars.length;i++){
+					if(vars[i].sendsEvents()){
+						source.addPropertyChangeListener(vars[i].getName(),this);
+					}
+				}
+			}
+		}
+
+	}
+	
+	public UPnPEventNotifier(BundleContext context, UPnPDevice device, UPnPService service){
+		this.context=context;
+		this.device=device;
+		this.service=service;
+		setupUPnPListenerWatcher();
+	}
+	
+	/**
+	 * @param deviceId
+	 */
+	private void setupUPnPListenerWatcher() {
+		Dictionary dict = device.getDescriptions(null);
+		this.deviceId = (String) dict.get(UPnPDevice.ID);
+		this.serviceId=service.getId();
+		UPnPTargetListener = new Properties();
+		UPnPTargetListener.put(UPnPDevice.ID,deviceId);
+		UPnPTargetListener.put(UPnPService.ID,serviceId);
+		UPnPTargetListener.put(UPnPDevice.TYPE,dict.get(UPnPDevice.TYPE));
+		UPnPTargetListener.put(UPnPService.TYPE,service.getType());
+		String ANY_UPnPEventListener = "("+Constants.OBJECTCLASS+"="+UPnPEventListener.class.getName()+")";
+		
+		synchronized (LOCK) {
+		    try {
+		    	String filter = ANY_UPnPEventListener;
+				context.addServiceListener(this,filter);
+			} catch (Exception ex) {
+				System.out.println(ex);
+			}
+						
+			ServiceReference[] listeners = null; 
+			try {
+				listeners = context.getServiceReferences(UPnPEventListener.class.getName(),null);
+				if (listeners != null){
+					for (int i = 0;i<listeners.length;i++){
+						ServiceReference sr = listeners[i];
+						Filter filter = (Filter) sr.getProperty(UPnPEventListener.UPNP_FILTER);
+						if (filter == null) upnpListeners.add(sr);
+						else {				
+							if (filter.match(UPnPTargetListener))
+								addNewListener(sr);
+						}
+					}
+				}
+			} catch (Exception ex) {
+				System.out.println(ex);
+			}
+			
+			Properties status = getCurrentStatus();
+			if (! status.isEmpty())
+					doNotify(status);
+		
+		} // end LOCK
+	
+	}
+
+	private Properties getCurrentStatus() {
+		Properties status = new Properties();
+		UPnPStateVariable[] vars = service.getStateVariables();
+		if (vars != null){
+			for (int i=0;i<vars.length;i++){
+				if(vars[i].sendsEvents()){
+					if (vars[i] instanceof UPnPLocalStateVariable){
+						UPnPLocalStateVariable localVar = (UPnPLocalStateVariable) vars[i];
+						String property = localVar.getName();
+						Object value = localVar.getCurrentValue();
+						status.put(property,value);						
+					}
+					else {
+						System.out.println("[Warning] The StateVariable (" +vars[i].getName() +")"
+								+ " of device (ID:" + deviceId 	+ ") "
+								+ "should implement the interface UPnPLocalStateVariable");
+					}
+				}
+			} // end for
+		}
+		return status;
+	}
+
+	/* (non-Javadoc)
+	 * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+	 */
+	public void propertyChange(PropertyChangeEvent evt) {
+		
+		String property = evt.getPropertyName();
+		Object value = evt.getNewValue();
+		String valueString = value.toString();
+		Properties events = new Properties();
+		events.put(property,valueString);
+		doNotify(events);
+	}
+
+	private void doNotify(Properties events){
+				
+		synchronized (LOCK) {			
+			Iterator list = upnpListeners.iterator();
+			while (list.hasNext()){
+				final ServiceReference sr = (ServiceReference)list.next();
+				new NotifierThread(sr,events).start();						
+			}
+		}		
+	}
+	
+	private void doNotify(ServiceReference sr) {
+		Properties status = getCurrentStatus();
+		if (! status.isEmpty())
+			new NotifierThread(sr,status).start();						
+	}
+
+	
+	/* (non-Javadoc)
+	 * @see org.osgi.framework.ServiceListener#serviceChanged(org.osgi.framework.ServiceEvent)
+	 */
+	public void serviceChanged(ServiceEvent e) {
+		ServiceReference sr = e.getServiceReference();		
+		synchronized (LOCK) {			
+			switch(e.getType()){
+				case ServiceEvent.REGISTERED:{
+					Filter filter = (Filter) sr.getProperty(UPnPEventListener.UPNP_FILTER);
+					if (filter == null) {
+						addNewListener(sr);
+						doNotify(sr);
+					}
+					else {				
+						if (filter.match(UPnPTargetListener)){
+							addNewListener(sr);
+							doNotify(sr);
+						}
+					}
+				};break;
+				
+				case ServiceEvent.MODIFIED:{				
+		               Filter filter = (Filter)	sr.getProperty(UPnPEventListener.UPNP_FILTER);
+		               removeListener(sr);
+		               if (filter == null)
+		                   addNewListener(sr);
+		               else {
+		                   if (filter.match(UPnPTargetListener))
+		                       addNewListener(sr);
+		               }
+				};break;
+				
+				case ServiceEvent.UNREGISTERING:{	
+					removeListener(sr);
+				};break;					
+			}
+		}//end LOCK
+		
+	}
+
+
+	/**
+	 * @param reference
+	 */
+	private void removeListener(ServiceReference reference) {
+		upnpListeners.remove(reference);		
+	}
+
+	/**
+	 * @param reference
+	 */
+	private void addNewListener(ServiceReference reference) {
+		upnpListeners.add(reference);	
+	}
+	
+	public void destroy(){
+		context.removeServiceListener(this);
+		upnpListeners.removeAllElements();
+	}
+}

Added: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPSubscriber.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPSubscriber.java?rev=607731&view=auto
==============================================================================
--- felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPSubscriber.java (added)
+++ felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/UPnPSubscriber.java Mon Dec 31 04:26:14 2007
@@ -0,0 +1,139 @@
+/* 
+ * 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.felix.upnp.extra.util;
+
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.upnp.UPnPDevice;
+import org.osgi.service.upnp.UPnPEventListener;
+import org.osgi.service.upnp.UPnPService;
+
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
+public class UPnPSubscriber {
+	private BundleContext context;
+	private UPnPEventListener listener;
+	private HashMap hash;
+	
+	private class Subscription implements UPnPEventListener{
+	    ServiceRegistration registration;
+	    
+	    Subscription(String keys){
+	 		try {
+				Filter filter = context.createFilter(keys);
+				Properties props = new Properties();
+				props.put(UPnPEventListener.UPNP_FILTER, filter);
+				registration = context.registerService(UPnPEventListener.class.getName(), this, props);
+			}catch (Exception ex){
+				System.out.println(ex);
+			}
+	    }
+	    
+	    public void unsubscribe(){
+			registration.unregister();
+	    }
+	    
+        public void notifyUPnPEvent(String arg0, String arg1, Dictionary arg2) {
+            listener.notifyUPnPEvent( arg0,  arg1,  arg2);
+        }
+	}
+	
+	
+	public UPnPSubscriber(BundleContext context,UPnPEventListener listener){
+	    if ((context == null)|| (listener == null))
+	        throw new IllegalArgumentException("Illegal arguments in UPnPSubscriber constructor.");
+		this.context = context;
+		this.listener = listener;
+		hash = new HashMap();
+	}
+
+	public void subscribe(String filter){
+		if (hash.get(filter) == null){
+		    hash.put(filter, new Subscription(filter));
+		}	
+	}
+	
+	public void unsubscribe(String filter){
+		if (hash.containsKey(filter)) {
+		    Subscription subscription = (Subscription) hash.get(filter);
+		    subscription.unsubscribe();
+			hash.remove(filter);
+		}
+	}
+	
+	public void unsubscribeAll(){
+	    Iterator list = hash.entrySet().iterator();
+	    while (list.hasNext()){		        
+	        Map.Entry entry = (Map.Entry) list.next();
+	        Subscription subcription = (Subscription) entry.getValue();
+	        subcription.unsubscribe();
+		    list.remove();
+	    }
+	}
+
+	public String subscribeServiceIdOf(String deviceId, String serviceId){
+		String keys = "(&(" + UPnPDevice.ID + "="+ deviceId + ")(" + UPnPService.ID + "=" + serviceId + "))";
+		subscribe(keys);
+		return keys;
+	}
+	
+	public String subscribeServiceTypeOf(String deviceId, String serviceType){
+		String keys = "(&(" + UPnPDevice.ID + "="+ deviceId + ")(" + UPnPService.TYPE + "=" + serviceType + "))";
+		subscribe(keys);
+		return keys;
+	}
+	
+	public String subscribeEveryServiceType(String deviceType, String serviceType){
+		String keys = "(&(" + UPnPDevice.TYPE + "="+ deviceType + ")(" + UPnPService.TYPE + "=" + serviceType + "))";
+		subscribe(keys);
+		return keys;
+	}
+	
+	public String subscribeAllServicesOf(String deviceId){
+		String keys = "(" + UPnPDevice.ID + "="+ deviceId + ")";
+		subscribe(keys);
+		return keys;
+	}
+	
+	public String subscribeEveryDeviceTypeServices(String deviceType){
+		String keys = "(" + UPnPDevice.TYPE + "="+ deviceType + ")";
+		subscribe(keys);
+		return keys;
+	}
+	
+	
+	public void unsubscribeServiceIdOf(String deviceId, String serviceId){
+		String keys = "(&(" + UPnPDevice.ID + "="+ deviceId + ")(" + UPnPService.ID + "=" + serviceId + "))";
+		unsubscribe(keys);
+	}
+	
+	public void unsubscribeAllServicesOf(String deviceId){
+		String keys = "(" + UPnPDevice.ID + "="+ deviceId + ")";
+		unsubscribe(keys);
+	}
+}
\ No newline at end of file

Modified: felix/trunk/upnp/samples/binarylight/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/binarylight/pom.xml?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/binarylight/pom.xml (original)
+++ felix/trunk/upnp/samples/binarylight/pom.xml Mon Dec 31 04:26:14 2007
@@ -1,60 +1,64 @@
-<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">
-  <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>felix</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-    <relativePath>../pom/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <packaging>bundle</packaging>
-  <groupId>org.apache.felix</groupId>
-  <name>Apache Felix UPnP Sample Binary-Light</name>
-  <artifactId>org.apache.felix.upnp.sample.binaryLight</artifactId>
-  <version>0.2.0-SNAPSHOT</version>
-  <!-- <url>http://maven.apache.org</url> -->
-  <dependencies>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>1.1.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>javax.servlet</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${pom.name}</Bundle-Name>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-            <Bundle-Author><![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]></Bundle-Author>
-            <Bundle-Description>
-               	Standardized BinaryLight DCPs to test UPnP Base Driver
-            </Bundle-Description>
-            <Bundle-SymbolicName>org.apache.felix.upnp.sample.binaryLight</Bundle-SymbolicName>
-            <Bundle-Activator>org.apache.felix.upnp.sample.binaryLight.Activator</Bundle-Activator>
-            <Private-Package>org.apache.felix.upnp.sample.binaryLight.*</Private-Package>
-            <Import-Package>*</Import-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+  <parent>
+    <artifactId>felix</artifactId>
+    <groupId>org.apache.felix</groupId>
+    <version>1.1.0-SNAPSHOT</version>
+    <relativePath>../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.felix</groupId>
+  <artifactId>org.apache.felix.upnp.sample.binaryLight</artifactId>
+  <packaging>bundle</packaging>
+  <name>Apache Felix UPnP Sample Binary-Light</name>
+  <version>0.2.0-SNAPSHOT</version>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-Name>${pom.name}</Bundle-Name>
+            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
+            <Bundle-Author>Matteo Demuru &lt;demuru@apache.org&gt;,Francesco Furfari &lt;furfari@apache.org&gt;,Stefano "Kismet" Lenzi &lt;lenzi@apache.org&gt;</Bundle-Author>
+            <Bundle-Description>Standardized BinaryLight DCPs to test UPnP Base Driver</Bundle-Description>
+            <Bundle-SymbolicName>org.apache.felix.upnp.sample.binaryLight</Bundle-SymbolicName>
+            <Bundle-Activator>org.apache.felix.upnp.sample.binaryLight.Activator</Bundle-Activator>
+            <Private-Package>org.apache.felix.upnp.sample.binaryLight.*</Private-Package>
+            <Import-Package>*</Import-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>javax.servlet</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.upnp.extra</artifactId>
+      <version>0.3.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>
+

Modified: felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightDevice.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightDevice.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightDevice.java (original)
+++ felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightDevice.java Mon Dec 31 04:26:14 2007
@@ -29,6 +29,8 @@
 import org.osgi.service.upnp.UPnPIcon;
 import org.osgi.service.upnp.UPnPService;
 
+import org.apache.felix.upnp.extra.util.UPnPEventNotifier;
+
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
 */
@@ -61,7 +63,7 @@
 	 * 
 	 */
 	private void buildEventNotifyer() {
-		notifier = new UPnPEventNotifier(context,DEVICE_ID,powerSwitch,model);
+		notifier = new UPnPEventNotifier(context,this,powerSwitch,model);
 	}
 
 	private void setupDeviceProperties(){

Modified: felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightModel.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightModel.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightModel.java (original)
+++ felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/LightModel.java Mon Dec 31 04:26:14 2007
@@ -22,6 +22,8 @@
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
 
+import org.apache.felix.upnp.extra.util.EventSource;
+
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
 */

Modified: felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/PowerSwitchService.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/PowerSwitchService.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/PowerSwitchService.java (original)
+++ felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/PowerSwitchService.java Mon Dec 31 04:26:14 2007
@@ -43,7 +43,7 @@
 	
 	public PowerSwitchService(LightModel model){
 		this.model = model;
-		status = new StatusStateVariable();
+		status = new StatusStateVariable(model);
 		target = new TargetStateVariable();
 		this.states = new UPnPStateVariable[]{status,target};
 		

Modified: felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/StatusStateVariable.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/StatusStateVariable.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/StatusStateVariable.java (original)
+++ felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/StatusStateVariable.java Mon Dec 31 04:26:14 2007
@@ -18,18 +18,17 @@
  */
 
 package org.apache.felix.upnp.sample.binaryLight;
-import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
+import org.osgi.service.upnp.UPnPLocalStateVariable;
 
-public class StatusStateVariable implements UPnPStateVariable{
+public class StatusStateVariable implements UPnPLocalStateVariable{
 	
 	final private String NAME = "Status";
 	final private Boolean DEFAULT_VALUE = Boolean.FALSE;
+	private LightModel model;
 	
 	
-	public StatusStateVariable(){
+	public StatusStateVariable(LightModel model){
+		this.model= model;
 	}
 	
 	/* (non-Javadoc)
@@ -93,5 +92,9 @@
 	 */
 	public boolean sendsEvents() {
 		return true;
+	}
+
+	public Object getCurrentValue() {
+		return Boolean.valueOf(model.getStatus());
 	}
 }

Modified: felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/TargetStateVariable.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/TargetStateVariable.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/TargetStateVariable.java (original)
+++ felix/trunk/upnp/samples/binarylight/src/main/java/org/apache/felix/upnp/sample/binaryLight/TargetStateVariable.java Mon Dec 31 04:26:14 2007
@@ -19,9 +19,6 @@
 
 package org.apache.felix.upnp.sample.binaryLight;
 import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class TargetStateVariable implements UPnPStateVariable{
 	

Modified: felix/trunk/upnp/samples/clock/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/pom.xml?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/pom.xml (original)
+++ felix/trunk/upnp/samples/clock/pom.xml Mon Dec 31 04:26:14 2007
@@ -1,54 +1,58 @@
-<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">
-  <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>felix</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-    <relativePath>../pom/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <packaging>bundle</packaging>
-  <groupId>org.apache.felix</groupId>
-  <name>Apache Felix UPnP Sample Clock</name>
-  <artifactId>org.apache.felix.upnp.sample.clock</artifactId>
-  <version>0.2.0-SNAPSHOT</version>
-  <!-- <url>http://maven.apache.org</url> -->
-  <dependencies>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>1.1.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${pom.name}</Bundle-Name>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-            <Bundle-Author><![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]></Bundle-Author>
-            <Bundle-Description>
-               	CyberLink Clock clone to test UPnPBase driver
-            </Bundle-Description>
-            <Bundle-SymbolicName>org.apache.felix.upnp.sample.clock</Bundle-SymbolicName>
-            <Bundle-Activator>org.apache.felix.upnp.sample.clock.Activator</Bundle-Activator>
-            <Private-Package>org.apache.felix.upnp.sample.clock.*</Private-Package>
-            <Import-Package>*</Import-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+  <parent>
+    <artifactId>felix</artifactId>
+    <groupId>org.apache.felix</groupId>
+    <version>1.1.0-SNAPSHOT</version>
+    <relativePath>../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.felix</groupId>
+  <artifactId>org.apache.felix.upnp.sample.clock</artifactId>
+  <packaging>bundle</packaging>
+  <name>Apache Felix UPnP Sample Clock</name>
+  <version>0.2.0-SNAPSHOT</version>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-Name>${pom.name}</Bundle-Name>
+            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
+            <Bundle-Author>Matteo Demuru &lt;demuru@apache.org&gt;,Francesco Furfari &lt;furfari@apache.org&gt;,Stefano "Kismet" Lenzi &lt;lenzi@apache.org&gt;</Bundle-Author>
+            <Bundle-Description>CyberLink Clock clone to test UPnPBase driver</Bundle-Description>
+            <Bundle-SymbolicName>org.apache.felix.upnp.sample.clock</Bundle-SymbolicName>
+            <Bundle-Activator>org.apache.felix.upnp.sample.clock.Activator</Bundle-Activator>
+            <Private-Package>org.apache.felix.upnp.sample.clock.*</Private-Package>
+            <Import-Package>*</Import-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.upnp.extra</artifactId>
+      <version>0.3.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>
+

Modified: felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/Clock.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/Clock.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/Clock.java (original)
+++ felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/Clock.java Mon Dec 31 04:26:14 2007
@@ -20,9 +20,6 @@
 package org.apache.felix.upnp.sample.clock;
 
 import java.util.Calendar;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class Clock
 {

Modified: felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockDevice.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockDevice.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockDevice.java (original)
+++ felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockDevice.java Mon Dec 31 04:26:14 2007
@@ -28,9 +28,8 @@
 import org.osgi.service.upnp.UPnPDevice;
 import org.osgi.service.upnp.UPnPIcon;
 import org.osgi.service.upnp.UPnPService;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
+
+import org.apache.felix.upnp.extra.util.UPnPEventNotifier;
 
 public class ClockDevice implements UPnPDevice {
 

Modified: felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java (original)
+++ felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java Mon Dec 31 04:26:14 2007
@@ -29,9 +29,6 @@
 
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class ClockFrame extends JFrame implements Runnable 
 {

Modified: felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockIcon.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockIcon.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockIcon.java (original)
+++ felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockIcon.java Mon Dec 31 04:26:14 2007
@@ -22,9 +22,6 @@
 import java.io.InputStream;
 
 import org.osgi.service.upnp.UPnPIcon;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class ClockIcon implements UPnPIcon {
 

Modified: felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ResultStateVariable.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ResultStateVariable.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ResultStateVariable.java (original)
+++ felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ResultStateVariable.java Mon Dec 31 04:26:14 2007
@@ -19,9 +19,6 @@
 
 package org.apache.felix.upnp.sample.clock;
 import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class ResultStateVariable implements UPnPStateVariable{
 	

Modified: felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/TimeStateVariable.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/TimeStateVariable.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/TimeStateVariable.java (original)
+++ felix/trunk/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/TimeStateVariable.java Mon Dec 31 04:26:14 2007
@@ -18,12 +18,9 @@
  */
 
 package org.apache.felix.upnp.sample.clock;
-import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
+import org.osgi.service.upnp.UPnPLocalStateVariable;
 
-public class TimeStateVariable implements UPnPStateVariable{
+public class TimeStateVariable implements UPnPLocalStateVariable{
 	
 	final private String NAME = "Time";
 	final private String DEFAULT_VALUE = "";
@@ -103,5 +100,9 @@
 	
 	public void setCurrentTime(long milliseconds){
 		clock.getCalendar().setTimeInMillis(milliseconds);
+	}
+
+	public Object getCurrentValue() {
+		return getCurrentTime();
 	}
 }

Modified: felix/trunk/upnp/samples/tv/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/pom.xml?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/pom.xml (original)
+++ felix/trunk/upnp/samples/tv/pom.xml Mon Dec 31 04:26:14 2007
@@ -1,54 +1,58 @@
-<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">
-  <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>felix</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-    <relativePath>../pom/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <packaging>bundle</packaging>
-  <groupId>org.apache.felix</groupId>
-  <name>Apache Felix UPnP Sample TV</name>
-  <artifactId>org.apache.felix.upnp.sample.tv</artifactId>
-  <version>0.2.0-SNAPSHOT</version>
-  <!-- <url>http://maven.apache.org</url> -->
-  <dependencies>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>1.1.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${pom.name}</Bundle-Name>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-            <Bundle-Author><![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]></Bundle-Author>
-            <Bundle-Description>
-               	CyberLink Tv clone to test UPnPBase driver
-            </Bundle-Description>
-            <Bundle-SymbolicName>org.apache.felix.upnp.sample.tv</Bundle-SymbolicName>
-            <Bundle-Activator>org.apache.felix.upnp.sample.tv.Activator</Bundle-Activator>
-            <Private-Package>org.apache.felix.upnp.sample.tv.*</Private-Package>
-            <Import-Package>*</Import-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+  <parent>
+    <artifactId>felix</artifactId>
+    <groupId>org.apache.felix</groupId>
+    <version>1.1.0-SNAPSHOT</version>
+    <relativePath>../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.felix</groupId>
+  <artifactId>org.apache.felix.upnp.sample.tv</artifactId>
+  <packaging>bundle</packaging>
+  <name>Apache Felix UPnP Sample TV</name>
+  <version>0.2.0-SNAPSHOT</version>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-Name>${pom.name}</Bundle-Name>
+            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
+            <Bundle-Author>Matteo Demuru &lt;demuru@apache.org&gt;,Francesco Furfari &lt;furfari@apache.org&gt;,Stefano "Kismet" Lenzi &lt;lenzi@apache.org&gt;</Bundle-Author>
+            <Bundle-Description>CyberLink Tv clone to test UPnPBase driver</Bundle-Description>
+            <Bundle-SymbolicName>org.apache.felix.upnp.sample.tv</Bundle-SymbolicName>
+            <Bundle-Activator>org.apache.felix.upnp.sample.tv.Activator</Bundle-Activator>
+            <Private-Package>org.apache.felix.upnp.sample.tv.*</Private-Package>
+            <Import-Package>*</Import-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.upnp.extra</artifactId>
+      <version>0.3.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>
+

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java Mon Dec 31 04:26:14 2007
@@ -24,9 +24,6 @@
 
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class GetPowerAction implements UPnPAction {
 

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java Mon Dec 31 04:26:14 2007
@@ -24,9 +24,6 @@
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPService;
 import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class PowerService implements UPnPService {
 	final private String SERVICE_ID = "urn:schemas-upnp-org:serviceId:power:1";

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java Mon Dec 31 04:26:14 2007
@@ -19,11 +19,12 @@
 
 package org.apache.felix.upnp.sample.tv;
 import java.beans.PropertyChangeEvent;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
-public class PowerStateVariable implements UPnPStateVariableDescriptor {
+import org.osgi.service.upnp.UPnPLocalStateVariable;
+
+import org.apache.felix.upnp.extra.util.UPnPEventNotifier;
+
+public class PowerStateVariable implements UPnPLocalStateVariable {
 	
 	final private String NAME = "Power";
 	final private Boolean DEFAULT_VALUE = Boolean.FALSE;
@@ -113,7 +114,7 @@
 		this.notifier = notifier;
 	}
 
-    public Object getValue() {
+    public Object getCurrentValue() {
          return power;
     }
 }

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java Mon Dec 31 04:26:14 2007
@@ -19,9 +19,6 @@
 
 package org.apache.felix.upnp.sample.tv;
 import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class ResultStateVariable implements UPnPStateVariable{
 	

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java Mon Dec 31 04:26:14 2007
@@ -24,9 +24,6 @@
 
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPStateVariable;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class SetPowerAction implements UPnPAction {
 

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java Mon Dec 31 04:26:14 2007
@@ -34,9 +34,8 @@
 import org.osgi.service.upnp.UPnPEventListener;
 import org.osgi.service.upnp.UPnPIcon;
 import org.osgi.service.upnp.UPnPService;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
+
+import org.apache.felix.upnp.extra.util.UPnPEventNotifier;
 
 public class TvDevice implements UPnPDevice,UPnPEventListener,ServiceListener  {
 	

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java Mon Dec 31 04:26:14 2007
@@ -28,9 +28,6 @@
 import javax.swing.JFrame;
 
 import org.osgi.framework.BundleException;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class TvFrame extends JFrame implements Runnable 
 {

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java Mon Dec 31 04:26:14 2007
@@ -22,9 +22,6 @@
 import java.io.InputStream;
 
 import org.osgi.service.upnp.UPnPIcon;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class TvIcon implements UPnPIcon {
 

Modified: felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java (original)
+++ felix/trunk/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java Mon Dec 31 04:26:14 2007
@@ -29,9 +29,6 @@
 
 import javax.imageio.ImageIO;
 import javax.swing.JPanel;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class TvPane extends JPanel  // MouseListener
 {

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java Mon Dec 31 04:26:14 2007
@@ -44,13 +44,14 @@
 import javax.swing.event.PopupMenuEvent;
 import javax.swing.event.PopupMenuListener;
 
+import org.osgi.framework.BundleException;
+
 import org.apache.felix.upnp.tester.discovery.DriverProxy;
 import org.apache.felix.upnp.tester.discovery.RootDeviceListener;
 import org.apache.felix.upnp.tester.gui.LogPanel;
 import org.apache.felix.upnp.tester.gui.PropertiesViewer;
 import org.apache.felix.upnp.tester.gui.TreeViewer;
 import org.apache.felix.upnp.tester.gui.Util;
-import org.osgi.framework.BundleException;
  
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/Mediator.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/Mediator.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/Mediator.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/Mediator.java Mon Dec 31 04:26:14 2007
@@ -20,10 +20,13 @@
 package org.apache.felix.upnp.tester;
 
 
-import javax.swing.*;
+import javax.swing.JFrame;
+import javax.swing.JTree;
 
-import org.apache.felix.upnp.tester.discovery.*;
-import org.apache.felix.upnp.tester.gui.*;
+import org.apache.felix.upnp.tester.discovery.DriverProxy;
+import org.apache.felix.upnp.tester.discovery.RootDeviceListener;
+import org.apache.felix.upnp.tester.gui.PropertiesViewer;
+import org.apache.felix.upnp.tester.gui.TreeViewer;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/UPnPSubscriber.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/UPnPSubscriber.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/UPnPSubscriber.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/UPnPSubscriber.java Mon Dec 31 04:26:14 2007
@@ -19,10 +19,16 @@
  
 package org.apache.felix.upnp.tester;
 
-import java.util.*;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Properties;
 
-import org.osgi.framework.*;
-import org.osgi.service.upnp.*;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.upnp.UPnPDevice;
+import org.osgi.service.upnp.UPnPEventListener;
+import org.osgi.service.upnp.UPnPService;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DeviceNode.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DeviceNode.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DeviceNode.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DeviceNode.java Mon Dec 31 04:26:14 2007
@@ -18,10 +18,14 @@
  */
 
 package org.apache.felix.upnp.tester.discovery;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Vector;
 
-import org.osgi.framework.*;
-import org.osgi.service.upnp.*;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.upnp.UPnPDevice;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DevicesList.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DevicesList.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DevicesList.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DevicesList.java Mon Dec 31 04:26:14 2007
@@ -19,7 +19,8 @@
 
 package org.apache.felix.upnp.tester.discovery;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java Mon Dec 31 04:26:14 2007
@@ -19,10 +19,15 @@
 
 package org.apache.felix.upnp.tester.discovery;
 
-import org.apache.felix.upnp.extra.controller.*;
-import org.apache.felix.upnp.tester.*;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
 
-import org.osgi.framework.*;
+import org.apache.felix.upnp.extra.controller.DevicesInfo;
+import org.apache.felix.upnp.extra.controller.DriverController;
+import org.apache.felix.upnp.tester.Activator;
+import org.apache.felix.upnp.tester.Mediator;
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
 */

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/RootDeviceListener.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/RootDeviceListener.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/RootDeviceListener.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/RootDeviceListener.java Mon Dec 31 04:26:14 2007
@@ -20,12 +20,19 @@
 package org.apache.felix.upnp.tester.discovery;
 
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.osgi.framework.Constants;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.upnp.UPnPDevice;
 
 import org.apache.felix.upnp.tester.Activator;
-import org.apache.felix.upnp.tester.gui.*;
-import org.osgi.framework.*;
-import org.osgi.service.upnp.*;
+import org.apache.felix.upnp.tester.gui.LogPanel;
+import org.apache.felix.upnp.tester.gui.Util;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java Mon Dec 31 04:26:14 2007
@@ -45,11 +45,12 @@
 import javax.swing.table.TableCellEditor;
 import javax.swing.table.TableModel;
 
-import org.apache.felix.upnp.extra.util.Converter;
-import org.osgi.service.upnp.UPnPException;
-import org.apache.felix.upnp.tester.Mediator;
 import org.osgi.service.upnp.UPnPAction;
+import org.osgi.service.upnp.UPnPException;
 import org.osgi.service.upnp.UPnPStateVariable;
+
+import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.tester.Mediator;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java Mon Dec 31 04:26:14 2007
@@ -38,10 +38,11 @@
 import javax.swing.table.AbstractTableModel;
 import javax.swing.table.DefaultTableCellRenderer;
 
-import org.apache.felix.upnp.tester.Mediator;
-import org.apache.felix.upnp.tester.discovery.DeviceNode;
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPDevice;
+
+import org.apache.felix.upnp.tester.Mediator;
+import org.apache.felix.upnp.tester.discovery.DeviceNode;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/SubscriptionPanel.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/SubscriptionPanel.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/SubscriptionPanel.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/SubscriptionPanel.java Mon Dec 31 04:26:14 2007
@@ -31,13 +31,14 @@
 import javax.swing.JTree;
 import javax.swing.SwingUtilities;
 
+import org.osgi.service.upnp.UPnPDevice;
+import org.osgi.service.upnp.UPnPEventListener;
+import org.osgi.service.upnp.UPnPService;
+
 import org.apache.felix.upnp.tester.Activator;
 import org.apache.felix.upnp.tester.Mediator;
 import org.apache.felix.upnp.tester.UPnPSubscriber;
 import org.apache.felix.upnp.tester.discovery.DeviceNode;
-import org.osgi.service.upnp.UPnPDevice;
-import org.osgi.service.upnp.UPnPEventListener;
-import org.osgi.service.upnp.UPnPService;
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
 */

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java Mon Dec 31 04:26:14 2007
@@ -43,14 +43,15 @@
 import javax.swing.tree.DefaultTreeModel;
 import javax.swing.tree.TreePath;
 
-import org.apache.felix.upnp.tester.Activator;
-import org.apache.felix.upnp.tester.Mediator;
-import org.apache.felix.upnp.tester.discovery.DeviceNode;
-import org.apache.felix.upnp.tester.discovery.DeviceNodeListener;
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPDevice;
 import org.osgi.service.upnp.UPnPService;
 import org.osgi.service.upnp.UPnPStateVariable;
+
+import org.apache.felix.upnp.tester.Activator;
+import org.apache.felix.upnp.tester.Mediator;
+import org.apache.felix.upnp.tester.discovery.DeviceNode;
+import org.apache.felix.upnp.tester.discovery.DeviceNodeListener;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/UPnPDeviceTreeNode.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/UPnPDeviceTreeNode.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/UPnPDeviceTreeNode.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/UPnPDeviceTreeNode.java Mon Dec 31 04:26:14 2007
@@ -34,12 +34,13 @@
 import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.DefaultTreeCellRenderer;
 
-import org.apache.felix.upnp.tester.discovery.DeviceNode;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPDevice;
 import org.osgi.service.upnp.UPnPService;
 import org.osgi.service.upnp.UPnPStateVariable;
+
+import org.apache.felix.upnp.tester.discovery.DeviceNode;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>

Modified: felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/test.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/test.java?rev=607731&r1=607730&r2=607731&view=diff
==============================================================================
--- felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/test.java (original)
+++ felix/trunk/upnp/tester/src/main/java/org/apache/felix/upnp/tester/test.java Mon Dec 31 04:26:14 2007
@@ -26,9 +26,6 @@
 import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
-/* 
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
 
 public class test extends JFrame {
 



Mime
View raw message