[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