[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r549 - in /projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl: core/ general/alarms/ general/groups/ general/scenes/
scm-notify at zb4osgi.aaloa.org
scm-notify at zb4osgi.aaloa.org
Mon Oct 22 11:10:24 CEST 2012
Author: stefano.lenzi
Date: Mon Oct 22 11:10:24 2012
New Revision: 549
Log:
Checking for specific command response rather then cluster wide response ( refs #147 )
Modified:
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/core/ResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/alarms/AlarmResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/AddGroupResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/GetGroupMembershipResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/RemoveGroupResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/ViewGroupResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/AddSceneResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/GetSceneMembershipResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveAllScenesResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveSceneResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/StoreSceneResponseImpl.java
projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/ViewSceneResponseImpl.java
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/core/ResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/core/ResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/core/ResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -85,11 +85,29 @@
return payload;
}
+ public static void checkSpecificCommandFrame(Response response, byte expectedCommandId) throws ZigBeeClusterException{
+ byte commandId = response.getHeaderCommandId();
+ if (commandId != expectedCommandId) {
+ if (commandId == DefaultResponse.ID){
+ DefaultResponse defaultResponse = new DefaultResponseImpl(response);
+ throw new ZigBeeClusterException(
+ "Expected SpecificCommandFrame ("+ expectedCommandId +") but received a DefaultResponse"
+ + "\nSTATUS:" +defaultResponse.getStatus() +" CMD:"+ defaultResponse.getCommandId()
+ ,response);
+ }
+ throw new ZigBeeClusterException(
+ "Expected SpecificCommandFrame ("+ expectedCommandId +") but received:" +commandId
+ ,response);
+ }
+
+ }
+
public static void checkGeneralCommandFrame(Response response, byte expectedCommandId) throws ZigBeeClusterException{
if (response.getZCLHeader().getFramecontrol().isClusterSpecificCommand()){
throw new ZigBeeClusterException(
"Received response is not a General Command Frame !");
}
+
byte commandId = response.getHeaderCommandId();
if (commandId != expectedCommandId) {
if (commandId == DefaultResponse.ID){
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/alarms/AlarmResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/alarms/AlarmResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/alarms/AlarmResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -42,7 +42,7 @@
public AlarmResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, ID);
+ ResponseImpl.checkSpecificCommandFrame(response, ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
alarmCode = deserializer.read_byte();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/AddGroupResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/AddGroupResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/AddGroupResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -45,7 +45,7 @@
public AddGroupResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, AddGroupResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, AddGroupResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/GetGroupMembershipResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/GetGroupMembershipResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/GetGroupMembershipResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -44,7 +44,7 @@
public GetGroupMembershipResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, GetGroupMembershipResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, GetGroupMembershipResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
capacity = deserializer.read_short();
int count = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/RemoveGroupResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/RemoveGroupResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/RemoveGroupResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -45,7 +45,7 @@
public RemoveGroupResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, RemoveGroupResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, RemoveGroupResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/ViewGroupResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/ViewGroupResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/groups/ViewGroupResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -46,7 +46,7 @@
public ViewGroupResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, ViewGroupResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, ViewGroupResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/AddSceneResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/AddSceneResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/AddSceneResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -45,7 +45,7 @@
public AddSceneResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, AddSceneResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, AddSceneResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/GetSceneMembershipResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/GetSceneMembershipResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/GetSceneMembershipResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -47,7 +47,7 @@
public GetSceneMembershipResponseImpl(Response response) throws ZigBeeClusterException {
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, GetSceneMembershipResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, GetSceneMembershipResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
capacity = deserializer.read_byte();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveAllScenesResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveAllScenesResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveAllScenesResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -44,7 +44,7 @@
public RemoveAllScenesResponseImpl(Response response)throws ZigBeeClusterException{
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, RemoveAllScenesResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, RemoveAllScenesResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveSceneResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveSceneResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/RemoveSceneResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -45,7 +45,7 @@
public RemoveSceneResponseImpl(Response response)throws ZigBeeClusterException{
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, RemoveSceneResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, RemoveSceneResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/StoreSceneResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/StoreSceneResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/StoreSceneResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -46,7 +46,7 @@
public StoreSceneResponseImpl(Response response)throws ZigBeeClusterException{
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, RemoveSceneResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, RemoveSceneResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
Modified: projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/ViewSceneResponseImpl.java
==============================================================================
--- projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/ViewSceneResponseImpl.java (original)
+++ projects/zb4osgi/trunk/zigbee.zcl.library/src/main/java/it/cnr/isti/zigbee/zcl/library/impl/general/scenes/ViewSceneResponseImpl.java Mon Oct 22 11:10:24 2012
@@ -51,7 +51,7 @@
public ViewSceneResponseImpl(Response response)throws ZigBeeClusterException{
super(response);
- ResponseImpl.checkGeneralCommandFrame(response, RemoveSceneResponse.ID);
+ ResponseImpl.checkSpecificCommandFrame(response, RemoveSceneResponse.ID);
ZBDeserializer deserializer = new DefaultDeserializer(getPayload(),0);
status = deserializer.read_byte();
groupId = deserializer.read_short();
More information about the Commit
mailing list