[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