Skip to content

Commit f605a28

Browse files
committed
Remove unused imports being generated in code generator and add coverage
Signed-off-by: Chris Jackson <[email protected]>
1 parent febda0f commit f605a28

File tree

212 files changed

+1123
-2310
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

212 files changed

+1123
-2310
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
language: java
2-
script: mvn clean test jacoco:report coveralls:report install
2+
script: mvn clean install
33
notifications:
44
email:
55
secure: M2SYGSCzeUQWp4uvXw95tY27LaicqOENNuVQNFPaojw6pxoFYOgXwjsoMWgfkXHFa0URWippuqKZ2BzXndUtOWhG+k2+6v/VYKC9GBI9hs9DX/OQ6WaEXAtlN4zN+iOllFYK2aSGmD/XuT0u5o7BzQceqXHNXVMHwq2MD+Tb4PEfNHhtOcqLBjyQkJaXSl6R7BCuQA8W4viH/ubsWd+wOIDZHI/qhgwBQzuKXuvX7Yg2vMJWmd69HfnMKM+HL/CYkj+5JI+xumK2xQKovtUfNavQZeXWDKeHZWldxPu5w/F95GyTWDHyK9RLV/6Ztg1XV3HKWxFZNpqR/Ysj/ywMd90QJxbm1b8exCE3o2YOs+v+XQLkLk6aBuwHCHKx53kC0zmJmq1BrC0aiJ5e7FUFwYOwt+RWND5RMQo5XERqlJ9lM5i1+W48U4ujT14QCdh5yORFAtMGCU2XpLtsne2us4zQ2CAxFd19mMFB9cZKsSCtuHZhGmquZvBF9novvfHaN36/t/K0LTRti6XxoCl7zyeGaKB1NrHF3tK43zD3tFJ4+uwJhy3uNpldXnQpq0u3Ud7R5SKJApP24xe5xxfYHcWfWT7CbLeuvjXSJMxwZL6eSjHGM4FrQS35eFJVIiznla1hyK087yJ4/iRcnvsM6tDYywYJDjHbAzNUSkOH1S4=

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[![Build Status](https://travis-ci.org/zsmartsystems/com.zsmartsystems.zigbee.svg?branch=master)](https://travis-ci.org/zsmartsystems/com.zsmartsystems.zigbee) [![Coverage Status](https://coveralls.io/repos/github/zsmartsystems/com.zsmartsystems.zigbee/badge.svg?branch=master)](https://coveralls.io/github/zsmartsystems/com.zsmartsystems.zigbee?branch=master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/b3e149e7838947c9967f50ff3b2a01eb)](https://www.codacy.com/app/zsmartsystems/com-zsmartsystems-zigbee?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=zsmartsystems/com.zsmartsystems.zigbee&amp;utm_campaign=Badge_Grade)
1+
[![Travis Build Status](https://travis-ci.org/zsmartsystems/com.zsmartsystems.zigbee.svg?branch=master)](https://travis-ci.org/zsmartsystems/com.zsmartsystems.zigbee) [![Codacy Coverage Badge](https://api.codacy.com/project/badge/Coverage/b3e149e7838947c9967f50ff3b2a01eb)](https://www.codacy.com/app/zsmartsystems/com-zsmartsystems-zigbee?utm_source=github.com&utm_medium=referral&utm_content=zsmartsystems/com.zsmartsystems.zigbee&utm_campaign=Badge_Coverage) [![Codacy Static Analyses Badge](https://api.codacy.com/project/badge/Grade/b3e149e7838947c9967f50ff3b2a01eb)](https://www.codacy.com/app/zsmartsystems/com-zsmartsystems-zigbee?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=zsmartsystems/com.zsmartsystems.zigbee&amp;utm_campaign=Badge_Grade)
22

33
# Overview
44

com.zsmartsystems.zigbee.autocode/src/main/java/com/zsmartsystems/zigbee/autocode/ZclProtocolCodeGenerator.java

+17-20
Original file line numberDiff line numberDiff line change
@@ -655,8 +655,8 @@ private static void generateZclCommandClasses(Context context, String packageRoo
655655
if (fields.size() > 0) {
656656
out.println("import " + packageRootPrefix + packageZcl + ".ZclFieldSerializer;");
657657
out.println("import " + packageRootPrefix + packageZcl + ".ZclFieldDeserializer;");
658+
out.println("import " + packageRootPrefix + packageZclProtocol + ".ZclDataType;");
658659
}
659-
out.println("import " + packageRootPrefix + packageZclProtocol + ".ZclDataType;");
660660
// out.println("import " + packageRootPrefix + packageZclProtocol + ".ZclClusterType;");
661661
// out.println("import " + packageRootPrefix + packageZclProtocol + ".ZclCommandType;");
662662
// if (!fields.isEmpty()) {
@@ -671,8 +671,8 @@ private static void generateZclCommandClasses(Context context, String packageRoo
671671
out.println("import java.util.List;");
672672
}
673673

674-
out.println("import java.util.Map;");
675-
out.println("import java.util.HashMap;");
674+
// out.println("import java.util.Map;");
675+
// out.println("import java.util.HashMap;");
676676

677677
for (final Field field : fields) {
678678
switch (field.dataTypeClass) {
@@ -698,14 +698,12 @@ private static void generateZclCommandClasses(Context context, String packageRoo
698698
out.println("/**");
699699
out.println(" * <p>");
700700
out.println(" * " + command.commandLabel + " value object class.");
701-
out.println(" * </p>");
702701

703702
if (command.commandDescription != null && command.commandDescription.size() != 0) {
704703
out.println(" * <p>");
705704
for (String line : command.commandDescription) {
706705
out.println(" * " + line);
707706
}
708-
out.println(" * </p>");
709707
}
710708

711709
out.println(" * <p>");
@@ -715,19 +713,15 @@ private static void generateZclCommandClasses(Context context, String packageRoo
715713
? "a <b>generic</b> command used across the profile."
716714
: "a <b>specific</b> command used for the " + cluster.clusterName + " cluster."));
717715

718-
out.println(" * </p>");
719-
720716
if (cluster.clusterDescription.size() > 0) {
721717
out.println(" * <p>");
722718
for (String line : cluster.clusterDescription) {
723719
out.println(" * " + line);
724720
}
725-
out.println(" * </p>");
726721
}
727722

728723
out.println(" * <p>");
729724
out.println(" * Code is auto-generated. Modifications may be overwritten!");
730-
out.println(" * </p>");
731725

732726
out.println(" */");
733727
out.println("public class " + className + " extends ZclCommand {");
@@ -793,16 +787,13 @@ private static void generateZclCommandClasses(Context context, String packageRoo
793787
if (cluster.clusterType.equals("GENERAL")) {
794788
out.println();
795789
out.println(" /**");
796-
out.println(" * <p>");
797790
out.println(" * Sets the cluster ID for <i>generic</i> commands. {@link " + className
798791
+ "} is a <i>generic</i> command.");
799-
out.println(" * </p>");
800792
out.println(" * <p>");
801793
out.println(
802794
" * For commands that are not <i>generic</i>, this method will do nothing as the cluster ID is fixed.");
803795
out.println(
804796
" * To test if a command is <i>generic</i>, use the {@link #isGenericCommand} method.");
805-
out.println(" * </p>");
806797
out.println(" *");
807798
out.println(
808799
" * @param clusterId the cluster ID used for <i>generic</i> commands as an {@link Integer}");
@@ -1025,9 +1016,11 @@ private static void generateZclClusterClasses(Context context, String packageRoo
10251016

10261017
boolean addAttributeTypes = false;
10271018
boolean readAttributes = false;
1019+
boolean writeAttributes = false;
10281020
for (final Attribute attribute : cluster.attributes.values()) {
10291021
if (attribute.attributeAccess.toLowerCase().contains("write")) {
10301022
addAttributeTypes = true;
1023+
writeAttributes = true;
10311024
}
10321025
if (attribute.attributeAccess.toLowerCase().contains("read")) {
10331026
readAttributes = true;
@@ -1043,7 +1036,9 @@ private static void generateZclClusterClasses(Context context, String packageRoo
10431036
}
10441037

10451038
imports.add(packageRoot + packageZcl + ".ZclCluster");
1046-
imports.add(packageRoot + packageZclProtocol + ".ZclDataType");
1039+
if (cluster.attributes.size() != 0) {
1040+
imports.add(packageRoot + packageZclProtocol + ".ZclDataType");
1041+
}
10471042

10481043
if (!commands.isEmpty()) {
10491044
imports.add(packageRoot + packageZcl + ".ZclCommand");
@@ -1053,12 +1048,17 @@ private static void generateZclClusterClasses(Context context, String packageRoo
10531048
// imports.add(packageRoot + ".ZigBeeDestination");
10541049
imports.add(packageRoot + ".ZigBeeDeviceAddress");
10551050
imports.add(packageRoot + ".ZigBeeNetworkManager");
1056-
imports.add(packageRoot + ".CommandResult");
1051+
if (!cluster.attributes.isEmpty() | !commands.isEmpty()) {
1052+
imports.add(packageRoot + ".CommandResult");
1053+
}
10571054
// imports.add(packageRoot + ".ZigBeeDevice");
10581055
imports.add(packageRoot + packageZcl + ".ZclAttribute");
10591056
imports.add("java.util.Map");
10601057
imports.add("java.util.HashMap");
1061-
imports.add("java.util.concurrent.Future");
1058+
1059+
if (!cluster.attributes.isEmpty() | !commands.isEmpty()) {
1060+
imports.add("java.util.concurrent.Future");
1061+
}
10621062
// imports.add("com.zsmartsystems.zigbee.model.ZigBeeType");
10631063

10641064
for (final Command command : commands) {
@@ -1081,8 +1081,8 @@ private static void generateZclClusterClasses(Context context, String packageRoo
10811081
for (String line : cluster.clusterDescription) {
10821082
out.println(" * " + line);
10831083
}
1084-
out.println(" * </p>");
10851084
}
1085+
out.println(" * <p>");
10861086
out.println(" * Code is auto-generated. Modifications may be overwritten!");
10871087

10881088
out.println(" */");
@@ -1181,7 +1181,6 @@ private static void generateZclClusterClasses(Context context, String packageRoo
11811181
for (String line : command.commandDescription) {
11821182
out.println(" * " + line);
11831183
}
1184-
out.println(" * </p>");
11851184
}
11861185
out.println(" *");
11871186

@@ -1282,17 +1281,15 @@ private static void outputAttributeJavaDoc(PrintWriter out, String type, Attribu
12821281
out.println(" * " + line);
12831282
}
12841283
}
1285-
out.println(" * </p>");
1284+
out.println(" * <p>");
12861285
if ("Synchronously get".equals(type)) {
12871286
out.println(" * This method will block until the response is received or a timeout occurs.");
12881287
}
12891288
out.println(" * <p>");
12901289
out.println(" * The attribute is of type {@link " + attribute.dataTypeClass + "}.");
1291-
out.println(" * </p>");
12921290
out.println(" * <p>");
12931291
out.println(" * The implementation of this attribute by a device is "
12941292
+ attribute.attributeImplementation.toUpperCase());
1295-
out.println(" * </p>");
12961293
out.println(" *");
12971294
if ("Set".equals(type)) {
12981295
out.println(" * @param " + attribute.nameLowerCamelCase + " the {@link " + attribute.dataTypeClass

com.zsmartsystems.zigbee.dongle.cc2531/src/main/java/com/zsmartsystems/zigbee/dongle/cc2531/ZigBeeDongleTiCc2531.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_POWER_DESC_RSP;
4949
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_SIMPLE_DESC_REQ;
5050
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_SIMPLE_DESC_RSP;
51-
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_STATE_CHANGE_IND;
5251
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_UNBIND_REQ;
5352
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_UNBIND_RSP;
5453
import com.zsmartsystems.zigbee.dongle.cc2531.network.packet.zdo.ZDO_USER_DESC_CONF;
@@ -192,7 +191,7 @@ public void sendZclCommand(ZigBeeNwkHeader nwkHeader, ZigBeeApsHeader apsHeader,
192191

193192
// TODO: How to differentiate group and device addressing?????
194193
boolean groupCommand = false;
195-
if (groupCommand == false) {
194+
if (!groupCommand) {
196195
final AF_DATA_CONFIRM response = networkManager.sendAFDataRequest(new AF_DATA_REQUEST(
197196
nwkHeader.getDestinationAddress(), (short) apsHeader.getDestinationEndpoint(), sender,
198197
apsHeader.getCluster(), nwkHeader.getSequence(), (byte) 0, (byte) 0, payload));
@@ -433,11 +432,11 @@ public void receivedAsynchronousCommand(ZToolPacket packet) {
433432

434433
if (packet.getCMD().get16BitValue() == ZToolCMD.ZDO_POWER_DESC_RSP) {
435434
final ZDO_POWER_DESC_RSP message = (ZDO_POWER_DESC_RSP) packet;
436-
final PowerDescriptor powerDescriptor = new PowerDescriptor(message.CurrentMode, message.AvailableSources,
437-
message.CurrentSource, message.CurrentLevel);
435+
final PowerDescriptor powerDescriptor = new PowerDescriptor(message.getCurrentMode(),
436+
message.getAvailableSources(), message.getCurrentSource(), message.getCurrentLevel());
438437

439-
final PowerDescriptorResponse command = new PowerDescriptorResponse(message.Status,
440-
message.SrcAddress.get16BitValue(), powerDescriptor);
438+
final PowerDescriptorResponse command = new PowerDescriptorResponse(message.getStatus(),
439+
message.getSrcAddress().get16BitValue(), powerDescriptor);
441440

442441
zigbeeNetworkReceive.receiveZdoCommand(command);
443442
return;
@@ -517,9 +516,10 @@ public void receivedAsynchronousCommand(ZToolPacket packet) {
517516
return;
518517
}
519518

520-
if (packet.getCMD().get16BitValue() == ZToolCMD.ZDO_STATE_CHANGE_IND) {
521-
final ZDO_STATE_CHANGE_IND message = (ZDO_STATE_CHANGE_IND) packet;
522-
}
519+
// TODO: Implement state change handler
520+
// if (packet.getCMD().get16BitValue() == ZToolCMD.ZDO_STATE_CHANGE_IND) {
521+
// final ZDO_STATE_CHANGE_IND message = (ZDO_STATE_CHANGE_IND) packet;
522+
// }
523523
}
524524

525525
@Override

com.zsmartsystems.zigbee.dongle.cc2531/src/main/java/com/zsmartsystems/zigbee/dongle/cc2531/network/impl/ApplicationFrameworkLayer.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,15 @@ public class ApplicationFrameworkLayer {
6464
private final HashMap<SenderIdentifier, Short> sender2EndPoint = new HashMap<SenderIdentifier, Short>();
6565
private final HashMap<Integer, List<Integer>> profile2Cluster = new HashMap<Integer, List<Integer>>();
6666
private final HashMap<Short, Byte> endPoint2Transaction = new HashMap<Short, Byte>();
67+
private final HashMap<Integer, ArrayList<ZigBeeEndpoint>> profiles = new HashMap<Integer, ArrayList<ZigBeeEndpoint>>();
6768

6869
private final ZigBeeNetworkManager driver;
6970

7071
private byte firstFreeEndPoint;
7172

7273
class SenderIdentifier {
73-
int profileId;
74-
int clusterId;
74+
private int profileId;
75+
private int clusterId;
7576

7677
public SenderIdentifier(int profileId, int clusterId) {
7778
this.profileId = profileId;
@@ -316,8 +317,6 @@ private Set<Integer> collectClusterForProfile(int profileId) {
316317
return clusters;
317318
}
318319

319-
private final HashMap<Integer, ArrayList<ZigBeeEndpoint>> profiles = new HashMap<Integer, ArrayList<ZigBeeEndpoint>>();
320-
321320
public synchronized Collection<ZigBeeEndpoint> getEndpoints(int profileId) {
322321
final ArrayList<ZigBeeEndpoint> result = new ArrayList<ZigBeeEndpoint>();
323322
final ArrayList<ZigBeeEndpoint> values = profiles.get(profileId);

com.zsmartsystems.zigbee.dongle.cc2531/src/main/java/com/zsmartsystems/zigbee/dongle/cc2531/network/impl/CommandInterfaceImpl.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public class CommandInterfaceImpl implements ZToolPacketHandler, CommandInterfac
6363
/**
6464
* The port interface.
6565
*/
66-
final ZigBeePort port;
66+
private final ZigBeePort port;
6767
/**
6868
* The packet parser.
6969
*/
@@ -167,6 +167,7 @@ public void handlePacket(final ZToolPacket packet) {
167167

168168
default:
169169
LOGGER.error("Received unknown packet. {}", packet.getClass().getSimpleName());
170+
break;
170171
}
171172
}
172173

com.zsmartsystems.zigbee.dongle.cc2531/src/main/java/com/zsmartsystems/zigbee/dongle/cc2531/network/impl/ZigBeeEndpoint.java

+19-14
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
package com.zsmartsystems.zigbee.dongle.cc2531.network.impl;
2424

2525
import java.util.Arrays;
26-
import java.util.HashSet;
2726

2827
import org.codehaus.jackson.annotate.JsonIgnore;
2928
import org.slf4j.Logger;
@@ -69,6 +68,10 @@ public class ZigBeeEndpoint implements ApplicationFrameworkMessageProducer {
6968
* The profile ID.
7069
*/
7170
private int profileId;
71+
/**
72+
* The device version
73+
*/
74+
private int deviceVersion;
7275
/**
7376
* The end point.
7477
*/
@@ -87,18 +90,6 @@ public class ZigBeeEndpoint implements ApplicationFrameworkMessageProducer {
8790
*/
8891
private String endpointId = null;
8992

90-
/**
91-
* The bound clusters.
92-
*/
93-
@JsonIgnore
94-
private final HashSet<Integer> boundCluster = new HashSet<Integer>();
95-
96-
/**
97-
* The application framework message consumers.
98-
*/
99-
@JsonIgnore
100-
private final HashSet<ApplicationFrameworkMessageConsumer> consumers = new HashSet<ApplicationFrameworkMessageConsumer>();
101-
10293
/**
10394
* Constructor which sets Endpoint base information.
10495
*
@@ -115,6 +106,7 @@ public ZigBeeEndpoint(final ZigBeeNode node, int profileId, int deviceId, short
115106
this.node = node;
116107
this.deviceTypeId = deviceId;
117108
this.endPointAddress = endPoint;
109+
this.deviceVersion = deviceVersion;
118110
this.inputClusters = inputs;
119111
this.outputClusters = outputs;
120112
this.profileId = profileId;
@@ -133,7 +125,7 @@ public ZigBeeEndpoint(final ZigBeeNetworkManager zigBeeNetworkManager, final Zig
133125
if (zigBeeNetworkManager == null || n == null) {
134126
logger.error("Creating {} with some nulls parameters {}",
135127
new Object[] { ZigBeeEndpoint.class, zigBeeNetworkManager, n, ep });
136-
throw new NullPointerException(
128+
throw new IllegalArgumentException(
137129
"Cannot create a device with a null ZigBeeNetworkManager or a null ZigBeeNode");
138130
}
139131
networkManager = zigBeeNetworkManager;
@@ -214,7 +206,16 @@ public void setDeviceTypeId(int deviceTypeId) {
214206
this.deviceTypeId = deviceTypeId;
215207
}
216208

209+
public int getDeviceTypeId() {
210+
return deviceTypeId;
211+
}
212+
217213
public void setDeviceVersion(short deviceVersion) {
214+
this.deviceVersion = deviceVersion;
215+
}
216+
217+
public int getDeviceVersion() {
218+
return deviceVersion;
218219
}
219220

220221
public void setEndPointAddress(short endPointAddress) {
@@ -253,6 +254,10 @@ public void setProfileId(int profileId) {
253254
this.profileId = profileId;
254255
}
255256

257+
public int getProfileId() {
258+
return profileId;
259+
}
260+
256261
@Override
257262
public boolean addAFMessageConsumer(ApplicationFrameworkMessageConsumer consumer) {
258263
// TODO Auto-generated method stub

0 commit comments

Comments
 (0)