[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r550 - in /projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui: AttributeActionPanel.java HADeviceTreeNode.java PropertiesViewer.java TreeViewer.java

scm-notify at zb4osgi.aaloa.org scm-notify at zb4osgi.aaloa.org
Mon Oct 22 13:39:57 CEST 2012


Author: stefano.lenzi
Date: Mon Oct 22 13:39:57 2012
New Revision: 550

Log:
Added data related to the HADevice owning the Attribute, it may help to ideintify the reporting issue ( refs #145 )

Modified:
    projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/AttributeActionPanel.java
    projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/HADeviceTreeNode.java
    projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/PropertiesViewer.java
    projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/TreeViewer.java

Modified: projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/AttributeActionPanel.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/AttributeActionPanel.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/AttributeActionPanel.java Mon Oct 22 13:39:57 2012
@@ -22,6 +22,9 @@
 
 package org.persona.zigbee.tester.gui;
 
+import it.cnr.isti.zigbee.api.ZigBeeDevice;
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
+import it.cnr.isti.zigbee.ha.driver.core.ZigBeeHAException;
 import it.cnr.isti.zigbee.zcl.library.api.core.AnalogSubscription;
 import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
 import it.cnr.isti.zigbee.zcl.library.api.core.ReportListener;
@@ -72,6 +75,28 @@
     private JTextField minText;
     private JTextField maxText;
     private JTextField changeText;
+	private HADevice device;
+	
+	class PanelLogReportListener implements ReportListener {
+		
+		final HADevice device;
+		
+		PanelLogReportListener(HADevice d){
+			device = d;
+		}
+		
+		public void receivedReport(Dictionary<Attribute, Object> reports) {
+			Enumeration<Attribute> attributes = reports.keys();
+			while (attributes.hasMoreElements()) {							
+				Attribute a = (Attribute) attributes.nextElement();
+				Object v = reports.get(a);
+				LogPanel.log(
+						"Received Event from device " + device.getName() + "[" + 
+						device.getZBDevice().getUniqueIdenfier() + "] for attribute "+a.getName()+" with value "+v
+				);
+			}
+		}
+	}
 	
 	/**
 	 * 
@@ -236,26 +261,12 @@
 			public void actionPerformed(ActionEvent e) {
 				ReportListener listener = subscription.get(attribute);
 				if ( listener == null ){
-					listener = createListener();
+					listener = new PanelLogReportListener(device);
 					doSubscribe( listener );
 				} else {
 				    doUnsubscribe( listener );
 				}
 			}
-
-			private ReportListener createListener() {
-				return new ReportListener() {
-					public void receivedReport(Dictionary<Attribute, Object> reports) {
-						Enumeration<Attribute> attributes = reports.keys();
-						while (attributes.hasMoreElements()) {
-							Attribute a = (Attribute) attributes.nextElement();
-							Object v = reports.get(a);
-							LogPanel.log("Received Event from "+a+" with value "+v);
-						}
-					}
-				};
-			}
-
 			private void updateCategory(String category) {
 				HADeviceTreeNode node = (HADeviceTreeNode) Mediator.getUPnPDeviceTree().getLastSelectedPathComponent();
 			    node.category = category;
@@ -305,7 +316,8 @@
     	buttonPanel.add( getSubscriptionPanel(), Util.setConstrains( 0, 1, 3, 1, 1, 1 ) );
 	}
 	
-	public void setAttribute(Attribute action){
+	public void setAttribute(HADevice device, Attribute action){
+		this.device = device;
 		this.attribute = action;
 		
 		getWriteButton().setVisible(attribute.isWritable());

Modified: projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/HADeviceTreeNode.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/HADeviceTreeNode.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/HADeviceTreeNode.java Mon Oct 22 13:39:57 2012
@@ -70,6 +70,7 @@
 	public final static String SUBSCRIBED_STATE = "ZCLSubcribedAttribute";
 	
 	protected String category;
+	private HADevice device;
 	
 	public HADeviceTreeNode(String obj) {
 		super(obj);
@@ -123,7 +124,7 @@
 			
 			for (int i=0; i<clusters.length; i++) {
 				if ( clusters[i] != null ) {
-					this.add(new HADeviceTreeNode(clusters[i]));
+					this.add(new HADeviceTreeNode(device, clusters[i]));
 				}
 			}
 		}
@@ -131,13 +132,18 @@
 		Activator.context.ungetService(node.getReference());
 	}
 	
-	public HADeviceTreeNode(Cluster obj) {
-		super(obj);
-		category = SERVICE;
+	public HADevice getHADevice() {
+		return device;
+	}
+	
+	public HADeviceTreeNode(HADevice device, Cluster obj) {
+		super(obj);
+		this.device = device;
+		category = SERVICE;		
 		Attribute[] variables = obj.getAttributes();
 		if (variables != null) {
 			for (int i=0;i<variables.length;i++)
-				this.add(new HADeviceTreeNode(variables[i]));
+				this.add(new HADeviceTreeNode(device,variables[i]));
 		}
 		Method[] methods = obj.getClass().getMethods();
 		for (int i = 0; i < methods.length; i++) {
@@ -193,7 +199,7 @@
 		return null;
 	}
 
-	public HADeviceTreeNode(Attribute obj) {
+	public HADeviceTreeNode(HADevice device, Attribute obj) {
 		super(obj);
 		if (obj.isReportable()) category = EVENTED_STATE;
 		else category = ZCL_ATTRIBUTE;

Modified: projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/PropertiesViewer.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/PropertiesViewer.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/PropertiesViewer.java Mon Oct 22 13:39:57 2012
@@ -24,6 +24,7 @@
 
 
 
+import it.cnr.isti.zigbee.ha.driver.core.HADevice;
 import it.cnr.isti.zigbee.zcl.library.api.core.Attribute;
 
 import java.awt.Component;
@@ -153,8 +154,8 @@
 		commandPanel.setCommand(action);
 	}
 	
-	public void setAttributeAction(Attribute action){
-		attributePanel.setAttribute(action);
+	public void setAttributeAction(HADevice device, Attribute action){
+		attributePanel.setAttribute(device, action);
 	}
 	
 	public void showAttrbutePanel(boolean show){

Modified: projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/TreeViewer.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/TreeViewer.java (original)
+++ projects/zb4osgi/trunk/zigbee.tester/src/main/java/org/persona/zigbee/tester/gui/TreeViewer.java Mon Oct 22 13:39:57 2012
@@ -201,7 +201,7 @@
 		        ||node.category.equals(HADeviceTreeNode.SUBSCRIBED_STATE)){
 			Attribute state = (Attribute) node.getUserObject();
 			makeProperties(state);
-			Mediator.getPropertiesViewer().setAttributeAction(state);
+			Mediator.getPropertiesViewer().setAttributeAction(node.getHADevice(), state);
 		}
 		
 	}




More information about the Commit mailing list