Skip to content

Commit 8e2fb67

Browse files
committed
refactor: "commonize" web dtos
1 parent ccf719f commit 8e2fb67

19 files changed

Lines changed: 167 additions & 205 deletions

src/main/java/de/rwth/idsg/steve/service/ChargePointService12_Client.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,26 @@
1515
import de.rwth.idsg.steve.ocpp.ws.ocpp12.ChargePointService12_WsInvoker;
1616
import de.rwth.idsg.steve.repository.RequestTaskStore;
1717
import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
18+
import de.rwth.idsg.steve.web.dto.common.ChangeAvailabilityParams;
19+
import de.rwth.idsg.steve.web.dto.common.ChangeConfigurationParams;
1820
import de.rwth.idsg.steve.web.dto.common.GetDiagnosticsParams;
1921
import de.rwth.idsg.steve.web.dto.common.MultipleChargePointSelect;
2022
import de.rwth.idsg.steve.web.dto.common.RemoteStartTransactionParams;
2123
import de.rwth.idsg.steve.web.dto.common.RemoteStopTransactionParams;
24+
import de.rwth.idsg.steve.web.dto.common.ResetParams;
2225
import de.rwth.idsg.steve.web.dto.common.UnlockConnectorParams;
2326
import de.rwth.idsg.steve.web.dto.common.UpdateFirmwareParams;
24-
import de.rwth.idsg.steve.web.dto.ocpp12.ChangeAvailabilityParams;
25-
import de.rwth.idsg.steve.web.dto.ocpp12.ChangeConfigurationParams;
26-
import de.rwth.idsg.steve.web.dto.ocpp12.ResetParams;
2727
import de.rwth.idsg.steve.web.dto.task.RequestTask;
2828
import lombok.extern.slf4j.Slf4j;
29+
import ocpp.cp._2010._08.AvailabilityType;
2930
import ocpp.cp._2010._08.ChangeAvailabilityRequest;
3031
import ocpp.cp._2010._08.ChangeConfigurationRequest;
3132
import ocpp.cp._2010._08.ClearCacheRequest;
3233
import ocpp.cp._2010._08.GetDiagnosticsRequest;
3334
import ocpp.cp._2010._08.RemoteStartTransactionRequest;
3435
import ocpp.cp._2010._08.RemoteStopTransactionRequest;
3536
import ocpp.cp._2010._08.ResetRequest;
37+
import ocpp.cp._2010._08.ResetType;
3638
import ocpp.cp._2010._08.UnlockConnectorRequest;
3739
import ocpp.cp._2010._08.UpdateFirmwareRequest;
3840
import org.springframework.beans.factory.annotation.Autowired;
@@ -64,7 +66,7 @@ public class ChargePointService12_Client {
6466
private static ChangeAvailabilityRequest prepareChangeAvailability(ChangeAvailabilityParams params) {
6567
return new ChangeAvailabilityRequest()
6668
.withConnectorId(params.getConnectorId())
67-
.withType(params.getAvailType());
69+
.withType(AvailabilityType.fromValue(params.getAvailType().value()));
6870
}
6971

7072
private static ChangeConfigurationRequest prepareChangeConfiguration(ChangeConfigurationParams params) {
@@ -99,7 +101,7 @@ private static RemoteStopTransactionRequest prepareRemoteStopTransaction(RemoteS
99101

100102
private static ResetRequest prepareReset(ResetParams params) {
101103
return new ResetRequest()
102-
.withType(params.getResetType());
104+
.withType(ResetType.fromValue(params.getResetType().value()));
103105
}
104106

105107
private static UnlockConnectorRequest prepareUnlockConnector(UnlockConnectorParams params) {

src/main/java/de/rwth/idsg/steve/service/ChargePointService15_Client.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,24 @@
2424
import de.rwth.idsg.steve.repository.ReservationRepository;
2525
import de.rwth.idsg.steve.repository.dto.ChargePointSelect;
2626
import de.rwth.idsg.steve.repository.dto.InsertReservationParams;
27+
import de.rwth.idsg.steve.web.dto.common.ChangeAvailabilityParams;
28+
import de.rwth.idsg.steve.web.dto.common.ChangeConfigurationParams;
2729
import de.rwth.idsg.steve.web.dto.common.GetDiagnosticsParams;
2830
import de.rwth.idsg.steve.web.dto.common.MultipleChargePointSelect;
2931
import de.rwth.idsg.steve.web.dto.common.RemoteStartTransactionParams;
3032
import de.rwth.idsg.steve.web.dto.common.RemoteStopTransactionParams;
33+
import de.rwth.idsg.steve.web.dto.common.ResetParams;
3134
import de.rwth.idsg.steve.web.dto.common.UnlockConnectorParams;
3235
import de.rwth.idsg.steve.web.dto.common.UpdateFirmwareParams;
3336
import de.rwth.idsg.steve.web.dto.ocpp15.CancelReservationParams;
34-
import de.rwth.idsg.steve.web.dto.ocpp15.ChangeAvailabilityParams;
35-
import de.rwth.idsg.steve.web.dto.ocpp15.ChangeConfigurationParams;
36-
import de.rwth.idsg.steve.web.dto.ocpp15.ConfigurationKeyEnum;
3737
import de.rwth.idsg.steve.web.dto.ocpp15.DataTransferParams;
3838
import de.rwth.idsg.steve.web.dto.ocpp15.GetConfigurationParams;
3939
import de.rwth.idsg.steve.web.dto.ocpp15.ReserveNowParams;
40-
import de.rwth.idsg.steve.web.dto.ocpp15.ResetParams;
4140
import de.rwth.idsg.steve.web.dto.ocpp15.SendLocalListParams;
4241
import de.rwth.idsg.steve.web.dto.task.RequestTask;
4342
import lombok.extern.slf4j.Slf4j;
4443
import ocpp.cp._2012._06.AuthorisationData;
44+
import ocpp.cp._2012._06.AvailabilityType;
4545
import ocpp.cp._2012._06.CancelReservationRequest;
4646
import ocpp.cp._2012._06.ChangeAvailabilityRequest;
4747
import ocpp.cp._2012._06.ChangeConfigurationRequest;
@@ -54,6 +54,7 @@
5454
import ocpp.cp._2012._06.RemoteStopTransactionRequest;
5555
import ocpp.cp._2012._06.ReserveNowRequest;
5656
import ocpp.cp._2012._06.ResetRequest;
57+
import ocpp.cp._2012._06.ResetType;
5758
import ocpp.cp._2012._06.SendLocalListRequest;
5859
import ocpp.cp._2012._06.UnlockConnectorRequest;
5960
import ocpp.cp._2012._06.UpdateFirmwareRequest;
@@ -65,7 +66,6 @@
6566
import java.util.ArrayList;
6667
import java.util.List;
6768
import java.util.concurrent.ScheduledExecutorService;
68-
import java.util.stream.Collectors;
6969

7070
import static de.rwth.idsg.steve.utils.DateTimeUtils.toDateTime;
7171

@@ -93,7 +93,7 @@ public class ChargePointService15_Client {
9393
private static ChangeAvailabilityRequest prepareChangeAvailability(ChangeAvailabilityParams params) {
9494
return new ChangeAvailabilityRequest()
9595
.withConnectorId(params.getConnectorId())
96-
.withType(params.getAvailType());
96+
.withType(AvailabilityType.fromValue(params.getAvailType().value()));
9797
}
9898

9999
private static ChangeConfigurationRequest prepareChangeConfiguration(ChangeConfigurationParams params) {
@@ -128,7 +128,7 @@ private static RemoteStopTransactionRequest prepareRemoteStopTransaction(RemoteS
128128

129129
private static ResetRequest prepareReset(ResetParams params) {
130130
return new ResetRequest()
131-
.withType(params.getResetType());
131+
.withType(ResetType.fromValue(params.getResetType().value()));
132132
}
133133

134134
private static UnlockConnectorRequest prepareUnlockConnector(UnlockConnectorParams params) {
@@ -156,12 +156,7 @@ private static DataTransferRequest prepareDataTransfer(DataTransferParams params
156156

157157
private static GetConfigurationRequest prepareGetConfiguration(GetConfigurationParams params) {
158158
if (params.isSetConfKeyList()) {
159-
List<String> stringList = params.getConfKeyList()
160-
.stream()
161-
.map(ConfigurationKeyEnum::value)
162-
.collect(Collectors.toList());
163-
164-
return new GetConfigurationRequest().withKey(stringList);
159+
return new GetConfigurationRequest().withKey(params.getConfKeyList());
165160
} else {
166161
return new GetConfigurationRequest();
167162
}

src/main/java/de/rwth/idsg/steve/web/controller/Ocpp12Controller.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33
import de.rwth.idsg.steve.repository.OcppTagRepository;
44
import de.rwth.idsg.steve.service.ChargePointHelperService;
55
import de.rwth.idsg.steve.service.ChargePointService12_Client;
6+
import de.rwth.idsg.steve.web.dto.common.ChangeAvailabilityParams;
7+
import de.rwth.idsg.steve.web.dto.common.ChangeConfigurationParams;
8+
import de.rwth.idsg.steve.web.dto.common.ConfigurationKeyEnum;
69
import de.rwth.idsg.steve.web.dto.common.GetDiagnosticsParams;
710
import de.rwth.idsg.steve.web.dto.common.MultipleChargePointSelect;
811
import de.rwth.idsg.steve.web.dto.common.RemoteStartTransactionParams;
912
import de.rwth.idsg.steve.web.dto.common.RemoteStopTransactionParams;
13+
import de.rwth.idsg.steve.web.dto.common.ResetParams;
1014
import de.rwth.idsg.steve.web.dto.common.UnlockConnectorParams;
1115
import de.rwth.idsg.steve.web.dto.common.UpdateFirmwareParams;
12-
import de.rwth.idsg.steve.web.dto.ocpp12.ChangeAvailabilityParams;
13-
import de.rwth.idsg.steve.web.dto.ocpp12.ChangeConfigurationParams;
14-
import de.rwth.idsg.steve.web.dto.ocpp12.ResetParams;
1516
import org.springframework.beans.factory.annotation.Autowired;
1617
import org.springframework.stereotype.Controller;
1718
import org.springframework.ui.Model;
@@ -85,6 +86,7 @@ public String getChangeAvail(Model model) {
8586
public String getChangeConf(Model model) {
8687
setChargePointList(model);
8788
model.addAttribute(PARAMS, new ChangeConfigurationParams());
89+
model.addAttribute("ocpp12ConfKeys", ConfigurationKeyEnum.OCPP_12_MAP);
8890
return PREFIX + CHANGE_CONF_PATH;
8991
}
9092

src/main/java/de/rwth/idsg/steve/web/controller/Ocpp15Controller.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@
33
import de.rwth.idsg.steve.repository.OcppTagRepository;
44
import de.rwth.idsg.steve.service.ChargePointHelperService;
55
import de.rwth.idsg.steve.service.ChargePointService15_Client;
6+
import de.rwth.idsg.steve.web.dto.common.ChangeAvailabilityParams;
7+
import de.rwth.idsg.steve.web.dto.common.ChangeConfigurationParams;
8+
import de.rwth.idsg.steve.web.dto.common.ConfigurationKeyEnum;
69
import de.rwth.idsg.steve.web.dto.common.GetDiagnosticsParams;
710
import de.rwth.idsg.steve.web.dto.common.MultipleChargePointSelect;
811
import de.rwth.idsg.steve.web.dto.common.RemoteStartTransactionParams;
912
import de.rwth.idsg.steve.web.dto.common.RemoteStopTransactionParams;
13+
import de.rwth.idsg.steve.web.dto.common.ResetParams;
1014
import de.rwth.idsg.steve.web.dto.common.UnlockConnectorParams;
1115
import de.rwth.idsg.steve.web.dto.common.UpdateFirmwareParams;
1216
import de.rwth.idsg.steve.web.dto.ocpp15.CancelReservationParams;
13-
import de.rwth.idsg.steve.web.dto.ocpp15.ChangeAvailabilityParams;
14-
import de.rwth.idsg.steve.web.dto.ocpp15.ChangeConfigurationParams;
15-
import de.rwth.idsg.steve.web.dto.ocpp15.ConfigurationKeyEnum;
1617
import de.rwth.idsg.steve.web.dto.ocpp15.DataTransferParams;
1718
import de.rwth.idsg.steve.web.dto.ocpp15.GetConfigurationParams;
1819
import de.rwth.idsg.steve.web.dto.ocpp15.ReserveNowParams;
19-
import de.rwth.idsg.steve.web.dto.ocpp15.ResetParams;
2020
import de.rwth.idsg.steve.web.dto.ocpp15.SendLocalListParams;
2121
import org.springframework.beans.factory.annotation.Autowired;
2222
import org.springframework.stereotype.Controller;
@@ -106,6 +106,7 @@ public String getChangeAvail(Model model) {
106106
public String getChangeConf(Model model) {
107107
setChargePointList(model);
108108
model.addAttribute(PARAMS, new ChangeConfigurationParams());
109+
model.addAttribute("ocpp15ConfKeys", ConfigurationKeyEnum.OCPP_15_MAP);
109110
return PREFIX + CHANGE_CONF_PATH;
110111
}
111112

@@ -186,6 +187,7 @@ public String getGetConf(Model model) {
186187
setChargePointList(model);
187188
setConfKeys(model);
188189
model.addAttribute(PARAMS, new GetConfigurationParams());
190+
model.addAttribute("ocpp15ConfKeys", ConfigurationKeyEnum.OCPP_15_MAP);
189191
return PREFIX + GET_CONF_PATH;
190192
}
191193

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package de.rwth.idsg.steve.web.dto.common;
2+
3+
/**
4+
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
5+
* @since 08.03.2018
6+
*/
7+
public enum AvailabilityType {
8+
INOPERATIVE("Inoperative"),
9+
OPERATIVE("Operative");
10+
11+
private final String value;
12+
13+
AvailabilityType(String v) {
14+
value = v;
15+
}
16+
17+
public String value() {
18+
return value;
19+
}
20+
21+
public static AvailabilityType fromValue(String v) {
22+
for (AvailabilityType c : AvailabilityType.values()) {
23+
if (c.value.equals(v)) {
24+
return c;
25+
}
26+
}
27+
throw new IllegalArgumentException(v);
28+
}
29+
}

src/main/java/de/rwth/idsg/steve/web/dto/ocpp12/ChangeAvailabilityParams.java renamed to src/main/java/de/rwth/idsg/steve/web/dto/common/ChangeAvailabilityParams.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
package de.rwth.idsg.steve.web.dto.ocpp12;
1+
package de.rwth.idsg.steve.web.dto.common;
22

3-
import de.rwth.idsg.steve.web.dto.common.MultipleChargePointSelect;
43
import lombok.Getter;
54
import lombok.Setter;
6-
import ocpp.cp._2010._08.AvailabilityType;
75

86
import javax.validation.constraints.Min;
97
import javax.validation.constraints.NotNull;
108

119
/**
1210
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
13-
* @since 15.08.2014
11+
* @since 08.03.2018
1412
*/
1513
@Getter
1614
public class ChangeAvailabilityParams extends MultipleChargePointSelect {

src/main/java/de/rwth/idsg/steve/web/dto/ocpp15/ChangeConfigurationParams.java renamed to src/main/java/de/rwth/idsg/steve/web/dto/common/ChangeConfigurationParams.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
package de.rwth.idsg.steve.web.dto.ocpp15;
1+
package de.rwth.idsg.steve.web.dto.common;
22

3-
import de.rwth.idsg.steve.web.dto.common.AbstractChangeConfigurationParams;
43
import lombok.Getter;
54
import lombok.Setter;
65

76
/**
87
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
9-
* @since 30.12.2014
8+
* @since 08.03.2018
109
*/
1110
@Getter
1211
@Setter
1312
public class ChangeConfigurationParams extends AbstractChangeConfigurationParams {
1413

15-
private ConfigurationKeyEnum confKey;
14+
private String confKey;
1615

1716
@Override
1817
protected String getPredefinedKey() {
19-
return confKey.value();
18+
return confKey;
2019
}
2120
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package de.rwth.idsg.steve.web.dto.common;
2+
3+
import de.rwth.idsg.steve.ocpp.OcppVersion;
4+
5+
import java.util.LinkedHashMap;
6+
import java.util.Map;
7+
import java.util.Set;
8+
9+
import static com.google.common.collect.Sets.newHashSet;
10+
import static de.rwth.idsg.steve.ocpp.OcppVersion.V_12;
11+
import static de.rwth.idsg.steve.ocpp.OcppVersion.V_15;
12+
13+
/**
14+
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
15+
* @since 02.01.2015
16+
*/
17+
public enum ConfigurationKeyEnum {
18+
// From Ocpp 1.2
19+
HeartBeatInterval("HeartBeatInterval", "in seconds", newHashSet(V_12, V_15)),
20+
ConnectionTimeOut("ConnectionTimeOut", "in seconds", newHashSet(V_12, V_15)),
21+
ProximityContactRetries("ProximityContactRetries", "in times", newHashSet(V_12, V_15)),
22+
ProximityLockRetries("ProximityLockRetries", "in times", newHashSet(V_12, V_15)),
23+
ResetRetries("ResetRetries", "in times", newHashSet(V_12, V_15)),
24+
BlinkRepeat("BlinkRepeat", "in times", newHashSet(V_12, V_15)),
25+
LightIntensity("LightIntensity", "in %", newHashSet(V_12, V_15)),
26+
ChargePointId("ChargePointId", "string", newHashSet(V_12, V_15)),
27+
MeterValueSampleInterval("MeterValueSampleInterval", "in seconds", newHashSet(V_12, V_15)),
28+
29+
// New in Ocpp 1.5
30+
ClockAlignedDataInterval("ClockAlignedDataInterval", "in seconds", newHashSet(V_15)),
31+
MeterValuesSampledData("MeterValuesSampledData", "comma seperated list", newHashSet(V_15)),
32+
MeterValuesAlignedData("MeterValuesAlignedData", "comma seperated list", newHashSet(V_15)),
33+
StopTxnSampledData("StopTxnSampledData", "comma seperated list", newHashSet(V_15)),
34+
StopTxnAlignedData("StopTxnAlignedData", "comma seperated list", newHashSet(V_15));
35+
36+
private final String value;
37+
private final String text;
38+
private final Set<OcppVersion> versions;
39+
40+
public static final Map<String, String> OCPP_12_MAP = asMap(OcppVersion.V_12);
41+
public static final Map<String, String> OCPP_15_MAP = asMap(OcppVersion.V_15);
42+
43+
ConfigurationKeyEnum(String value, String comment, Set<OcppVersion> versions) {
44+
this.value = value;
45+
this.text = String.format("%s (%s)", value, comment);
46+
this.versions = versions;
47+
}
48+
49+
public String value() {
50+
return value;
51+
}
52+
53+
public static ConfigurationKeyEnum fromValue(String v) {
54+
for (ConfigurationKeyEnum c : ConfigurationKeyEnum.values()) {
55+
if (c.value.equals(v)) {
56+
return c;
57+
}
58+
}
59+
throw new IllegalArgumentException(v);
60+
}
61+
62+
private static Map<String, String> asMap(OcppVersion version) {
63+
Map<String, String> map = new LinkedHashMap<>();
64+
for (ConfigurationKeyEnum c : ConfigurationKeyEnum.values()) {
65+
if (c.versions.contains(version)) {
66+
map.put(c.value, c.text);
67+
}
68+
}
69+
return map;
70+
}
71+
}

src/main/java/de/rwth/idsg/steve/web/dto/ocpp15/ResetParams.java renamed to src/main/java/de/rwth/idsg/steve/web/dto/common/ResetParams.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
package de.rwth.idsg.steve.web.dto.ocpp15;
1+
package de.rwth.idsg.steve.web.dto.common;
22

3-
import de.rwth.idsg.steve.web.dto.common.MultipleChargePointSelect;
43
import lombok.Getter;
54
import lombok.Setter;
6-
import ocpp.cp._2012._06.ResetType;
75

86
import javax.validation.constraints.NotNull;
97

108
/**
119
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
12-
* @since 01.01.2015
10+
* @since 08.03.2018
1311
*/
1412
@Getter
1513
@Setter
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package de.rwth.idsg.steve.web.dto.common;
2+
3+
/**
4+
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
5+
* @since 08.03.2018
6+
*/
7+
public enum ResetType {
8+
HARD("Hard"),
9+
SOFT("Soft");
10+
11+
private final String value;
12+
13+
ResetType(String v) {
14+
value = v;
15+
}
16+
17+
public String value() {
18+
return value;
19+
}
20+
21+
public static ResetType fromValue(String v) {
22+
for (ResetType c : ResetType.values()) {
23+
if (c.value.equals(v)) {
24+
return c;
25+
}
26+
}
27+
throw new IllegalArgumentException(v);
28+
}
29+
}

0 commit comments

Comments
 (0)