Skip to content

Commit 37a922d

Browse files
authored
Merge pull request #180 from m-oben/feature/client-uuid
Expose a client's session ID
2 parents 1ec6ecc + 1479cbe commit 37a922d

File tree

8 files changed

+44
-1
lines changed

8 files changed

+44
-1
lines changed

ocpp-common/src/main/java/eu/chargetime/ocpp/Client.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ of this software and associated documentation files (the "Software"), to deal
3030
import eu.chargetime.ocpp.model.Confirmation;
3131
import eu.chargetime.ocpp.model.Request;
3232
import java.util.Optional;
33+
import java.util.UUID;
3334
import java.util.concurrent.CompletableFuture;
3435
import org.slf4j.Logger;
3536
import org.slf4j.LoggerFactory;
@@ -89,7 +90,7 @@ public void handleConfirmation(String uniqueId, Confirmation confirmation) {
8990
public Confirmation handleRequest(Request request) throws UnsupportedFeatureException {
9091
Optional<Feature> featureOptional = featureRepository.findFeature(request);
9192
if (featureOptional.isPresent()) {
92-
return featureOptional.get().handleRequest(null, request);
93+
return featureOptional.get().handleRequest(getSessionId(), request);
9394
} else {
9495
throw new UnsupportedFeatureException();
9596
}
@@ -160,4 +161,8 @@ public CompletableFuture<Confirmation> send(Request request)
160161
session.sendRequest(featureOptional.get().getAction(), request, id);
161162
return promise;
162163
}
164+
165+
public UUID getSessionId() {
166+
return this.session.getSessionId();
167+
}
163168
}

ocpp-v1_6-test/src/main/java/eu/chargetime/ocpp/test/JSONTestClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import eu.chargetime.ocpp.model.Confirmation;
3232
import eu.chargetime.ocpp.model.Request;
3333
import java.util.Collections;
34+
import java.util.UUID;
3435
import java.util.concurrent.CompletionStage;
3536
import org.java_websocket.drafts.Draft;
3637
import org.java_websocket.drafts.Draft_6455;
@@ -88,4 +89,9 @@ public void disconnect() {
8889
public boolean isClosed() {
8990
return transmitter.isClosed();
9091
}
92+
93+
@Override
94+
public UUID getSessionId() {
95+
return client.getSessionId();
96+
}
9197
}

ocpp-v1_6-test/src/main/java/eu/chargetime/ocpp/test/SOAPTestClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ of this software and associated documentation files (the "Software"), to deal
3535
import java.io.IOException;
3636
import java.net.InetSocketAddress;
3737
import java.net.URL;
38+
import java.util.UUID;
3839
import java.util.concurrent.CompletionStage;
3940
import java.util.concurrent.ExecutionException;
4041
import java.util.concurrent.ExecutorService;
@@ -116,6 +117,11 @@ public boolean isClosed() {
116117
return transmitter.isClosed();
117118
}
118119

120+
@Override
121+
public UUID getSessionId() {
122+
return client.getSessionId();
123+
}
124+
119125
private int getPort() {
120126
return callback.getPort() == -1 ? 8000 : callback.getPort();
121127
}

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/IClientAPI.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ of this software and associated documentation files (the "Software"), to deal
2828
import eu.chargetime.ocpp.feature.profile.Profile;
2929
import eu.chargetime.ocpp.model.Confirmation;
3030
import eu.chargetime.ocpp.model.Request;
31+
32+
import java.util.UUID;
3133
import java.util.concurrent.CompletionStage;
3234

3335
public interface IClientAPI {
@@ -41,4 +43,6 @@ CompletionStage<Confirmation> send(Request request)
4143
void disconnect();
4244

4345
boolean isClosed();
46+
47+
UUID getSessionId();
4448
}

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/JSONClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import eu.chargetime.ocpp.wss.WssSocketBuilder;
99
import java.io.IOException;
1010
import java.util.Collections;
11+
import java.util.UUID;
1112
import java.util.concurrent.CompletionStage;
1213
import javax.net.ssl.SSLContext;
1314
import org.java_websocket.drafts.Draft;
@@ -171,4 +172,9 @@ public void disconnect() {
171172
public boolean isClosed() {
172173
return transmitter.isClosed();
173174
}
175+
176+
@Override
177+
public UUID getSessionId() {
178+
return client.getSessionId();
179+
}
174180
}

ocpp-v1_6/src/main/java/eu/chargetime/ocpp/SOAPClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ of this software and associated documentation files (the "Software"), to deal
3434
import java.io.IOException;
3535
import java.net.InetSocketAddress;
3636
import java.net.URL;
37+
import java.util.UUID;
3738
import java.util.concurrent.CompletionStage;
3839
import java.util.concurrent.ExecutionException;
3940
import java.util.concurrent.ExecutorService;
@@ -123,6 +124,11 @@ public boolean isClosed() {
123124
return transmitter.isClosed();
124125
}
125126

127+
@Override
128+
public UUID getSessionId() {
129+
return client.getSessionId();
130+
}
131+
126132
private int getPort() {
127133
return callback.getPort() == -1 ? 8000 : callback.getPort();
128134
}

ocpp-v2_0/src/main/java/eu/chargetime/ocpp/IClientAPI.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ of this software and associated documentation files (the "Software"), to deal
2828
import eu.chargetime.ocpp.feature.Feature;
2929
import eu.chargetime.ocpp.model.Confirmation;
3030
import eu.chargetime.ocpp.model.Request;
31+
32+
import java.util.UUID;
3133
import java.util.concurrent.CompletionStage;
3234

3335
public interface IClientAPI {
@@ -41,4 +43,6 @@ CompletionStage<Confirmation> send(Request request)
4143
void disconnect();
4244

4345
boolean isClosed();
46+
47+
UUID getSessionId();
4448
}

ocpp-v2_0/src/main/java/eu/chargetime/ocpp/JSONClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import eu.chargetime.ocpp.wss.WssSocketBuilder;
3333
import java.io.IOException;
3434
import java.util.Collections;
35+
import java.util.UUID;
3536
import java.util.concurrent.CompletionStage;
3637
import javax.net.ssl.SSLContext;
3738
import org.java_websocket.drafts.Draft;
@@ -155,4 +156,9 @@ public void disconnect() {
155156
public boolean isClosed() {
156157
return transmitter.isClosed();
157158
}
159+
160+
@Override
161+
public UUID getSessionId() {
162+
return client.getSessionId();
163+
}
158164
}

0 commit comments

Comments
 (0)