Skip to content

Commit

Permalink
add listener only once
Browse files Browse the repository at this point in the history
  • Loading branch information
StephanSST committed Jul 23, 2023
1 parent 6f39a01 commit 96a3fee
Showing 1 changed file with 27 additions and 27 deletions.
54 changes: 27 additions & 27 deletions src/main/java/ch/stephan/chickenfarm/scale/ScaleService.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package ch.stephan.chickenfarm.scale;

import java.io.IOException;
import java.util.Arrays;
import java.util.stream.Collectors;

import org.springframework.stereotype.Service;

Expand Down Expand Up @@ -41,27 +39,6 @@ public int measureWeight(int box) {

public void discovery() {
try {
ipConnection.addEnumerateListener(new IPConnection.EnumerateListener() {
@Override
public void enumerate(String uid, String connectedUid, char position, short[] hardwareVersion,
short[] firmwareVersion, int deviceIdentifier, short enumerationType) {
System.out.println("UID: " + uid);
System.out.println("Enumeration Type: " + enumerationType);

if (enumerationType == IPConnection.ENUMERATION_TYPE_DISCONNECTED) {
System.out.println("2 - IPConnection.ENUMERATION_TYPE_DISCONNECTED");
return;
}

System.out.println("Connected UID: " + connectedUid);
System.out.println("Position: " + position);
System.out.println("Hardware Version: " + asString(hardwareVersion));
System.out.println("Firmware Version: " + asString(firmwareVersion));
System.out.println("Device Identifier: " + deviceIdentifier);
System.out.println("");
}
});

ipConnection.enumerate();
System.out.println("Broadcast sent to all connected components");

Expand All @@ -70,15 +47,12 @@ public void enumerate(String uid, String connectedUid, char position, short[] ha
}
}

private String asString(short[] version) {
return Arrays.asList(version).stream().map(n -> n.toString()).collect(Collectors.joining("."));
}

@PostConstruct
public void initIPConnection() {
try {
ipConnection = new IPConnection();
ipConnection.connect(HOST, PORT);
ipConnection.addEnumerateListener(new EnumerateListenerImpl());
} catch (AlreadyConnectedException ex) {
ex.printStackTrace();
} catch (NetworkException ex) {
Expand All @@ -98,4 +72,30 @@ public void shutdownIPConnection() {
}
}

private final class EnumerateListenerImpl implements IPConnection.EnumerateListener {
@Override
public void enumerate(String uid, String connectedUid, char position, short[] hardwareVersion,
short[] firmwareVersion, int deviceIdentifier, short enumerationType) {
System.out.println("UID: " + uid);
System.out.println("Enumeration Type: " + enumerationType);

if (enumerationType == IPConnection.ENUMERATION_TYPE_DISCONNECTED) {
System.out.println("2 - IPConnection.ENUMERATION_TYPE_DISCONNECTED");
return;
}

System.out.println("Connected UID: " + connectedUid);
System.out.println("Position: " + position);
System.out.println("Hardware Version: " + asString(hardwareVersion));
System.out.println("Firmware Version: " + asString(firmwareVersion));
System.out.println("Device Identifier: " + deviceIdentifier);
System.out.println("");
}

private String asString(short[] version) {
return version[0] + "." + version[1] + "." + version[2];
}

}

}

0 comments on commit 96a3fee

Please sign in to comment.