Skip to content

Commit 2a5ede1

Browse files
committed
fix: populate dropdown menu on post change conf validation pages (PR steve-community#65)
1 parent a13f920 commit 2a5ede1

3 files changed

Lines changed: 30 additions & 16 deletions

File tree

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import de.rwth.idsg.steve.web.dto.ocpp.ChangeAvailabilityParams;
77
import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
88
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyEnum;
9+
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum;
910
import de.rwth.idsg.steve.web.dto.ocpp.GetDiagnosticsParams;
1011
import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
1112
import de.rwth.idsg.steve.web.dto.ocpp.RemoteStartTransactionParams;
@@ -25,6 +26,8 @@
2526
import javax.validation.Valid;
2627
import java.util.Map;
2728

29+
import static de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum.RW;
30+
2831
/**
2932
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
3033
* @since 15.08.2014
@@ -71,7 +74,8 @@ protected void setCommonAttributes(Model model) {
7174
model.addAttribute("opVersion", "v1.2");
7275
}
7376

74-
protected Map<String, String> getConfigurationKeys() {
77+
protected Map<String, String> getConfigurationKeys(ConfigurationKeyReadWriteEnum confEnum) {
78+
// this conf enum is only relevant for versions >= occp 1.6
7579
return ConfigurationKeyEnum.OCPP_12_MAP;
7680
}
7781

@@ -107,7 +111,7 @@ public String getChangeAvail(Model model) {
107111
public String getChangeConf(Model model) {
108112
setCommonAttributes(model);
109113
model.addAttribute(PARAMS, new ChangeConfigurationParams());
110-
model.addAttribute("ocppConfKeys", getConfigurationKeys());
114+
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
111115
return getPrefix() + CHANGE_CONF_PATH;
112116
}
113117

@@ -180,6 +184,7 @@ public String postChangeConf(@Valid @ModelAttribute(PARAMS) ChangeConfigurationP
180184
BindingResult result, Model model) {
181185
if (result.hasErrors()) {
182186
setCommonAttributes(model);
187+
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
183188
return getPrefix() + CHANGE_CONF_PATH;
184189
}
185190
return REDIRECT_TASKS_PATH + getClient12().changeConfiguration(params);

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import de.rwth.idsg.steve.service.ChargePointService15_Client;
55
import de.rwth.idsg.steve.web.dto.ocpp.CancelReservationParams;
66
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyEnum;
7+
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum;
78
import de.rwth.idsg.steve.web.dto.ocpp.DataTransferParams;
89
import de.rwth.idsg.steve.web.dto.ocpp.GetConfigurationParams;
910
import de.rwth.idsg.steve.web.dto.ocpp.MultipleChargePointSelect;
@@ -21,6 +22,8 @@
2122
import javax.validation.Valid;
2223
import java.util.Map;
2324

25+
import static de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum.RW;
26+
2427
/**
2528
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
2629
* @since 07.11.2014
@@ -64,7 +67,8 @@ protected void setCommonAttributes(Model model) {
6467
}
6568

6669
@Override
67-
protected Map<String, String> getConfigurationKeys() {
70+
protected Map<String, String> getConfigurationKeys(ConfigurationKeyReadWriteEnum confEnum) {
71+
// this conf enum is only relevant for versions >= occp 1.6
6872
return ConfigurationKeyEnum.OCPP_15_MAP;
6973
}
7074

@@ -112,7 +116,7 @@ public String getDataTransfer(Model model) {
112116
public String getGetConf(Model model) {
113117
setCommonAttributes(model);
114118
model.addAttribute(PARAMS, new GetConfigurationParams());
115-
model.addAttribute("ocppConfKeys", getConfigurationKeys());
119+
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
116120
return getPrefix() + GET_CONF_PATH;
117121
}
118122

@@ -171,7 +175,7 @@ public String postGetConf(@Valid @ModelAttribute(PARAMS) GetConfigurationParams
171175
BindingResult result, Model model) {
172176
if (result.hasErrors()) {
173177
setCommonAttributes(model);
174-
model.addAttribute("ocppConfKeys", getConfigurationKeys());
178+
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
175179
return getPrefix() + GET_CONF_PATH;
176180
}
177181
return REDIRECT_TASKS_PATH + getClient15().getConfiguration(params);

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

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import de.rwth.idsg.steve.service.ChargePointService16_Client;
66
import de.rwth.idsg.steve.web.dto.ocpp.ChangeConfigurationParams;
77
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyEnum;
8+
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum;
89
import de.rwth.idsg.steve.web.dto.ocpp.GetConfigurationParams;
910
import de.rwth.idsg.steve.web.dto.ocpp.TriggerMessageParams;
1011
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +21,9 @@
2021
import java.util.Collections;
2122
import java.util.Map;
2223

24+
import static de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum.R;
25+
import static de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyReadWriteEnum.RW;
26+
2327
/**
2428
* @author Sevket Goekay <goekay@dbis.rwth-aachen.de>
2529
* @since 15.03.2018
@@ -65,15 +69,16 @@ protected void setCommonAttributes(Model model) {
6569
model.addAttribute("opVersion", "v1.6");
6670
}
6771

68-
/**
69-
* Starting with OCPP 1.6 the configuration keys can be read-only or read-write. This method was returning all
70-
* read-write keys, which was the case with older OCPP versions. So, it does not meet the needs anymore and should
71-
* not be used.
72-
*/
73-
@Deprecated
7472
@Override
75-
protected Map<String, String> getConfigurationKeys() {
76-
return Collections.emptyMap();
73+
protected Map<String, String> getConfigurationKeys(ConfigurationKeyReadWriteEnum confEnum) {
74+
switch (confEnum) {
75+
case R:
76+
return ConfigurationKeyEnum.OCPP_16_MAP_R;
77+
case RW:
78+
return ConfigurationKeyEnum.OCPP_16_MAP_RW;
79+
default:
80+
return Collections.emptyMap();
81+
}
7782
}
7883

7984
@Override
@@ -94,15 +99,15 @@ protected String getPrefix() {
9499
public String getGetConf(Model model) {
95100
setCommonAttributes(model);
96101
model.addAttribute(PARAMS, new GetConfigurationParams());
97-
model.addAttribute("ocppConfKeys", ConfigurationKeyEnum.OCPP_16_MAP_R);
102+
model.addAttribute("ocppConfKeys", getConfigurationKeys(R));
98103
return getPrefix() + GET_CONF_PATH;
99104
}
100105

101106
@RequestMapping(value = CHANGE_CONF_PATH, method = RequestMethod.GET)
102107
public String getChangeConf(Model model) {
103108
setCommonAttributes(model);
104109
model.addAttribute(PARAMS, new ChangeConfigurationParams());
105-
model.addAttribute("ocppConfKeys", ConfigurationKeyEnum.OCPP_16_MAP_RW);
110+
model.addAttribute("ocppConfKeys", getConfigurationKeys(RW));
106111
return getPrefix() + CHANGE_CONF_PATH;
107112
}
108113

@@ -111,7 +116,7 @@ public String postGetConf(@Valid @ModelAttribute(PARAMS) GetConfigurationParams
111116
BindingResult result, Model model) {
112117
if (result.hasErrors()) {
113118
setCommonAttributes(model);
114-
model.addAttribute("ocppConfKeys", ConfigurationKeyEnum.OCPP_16_MAP_R);
119+
model.addAttribute("ocppConfKeys", getConfigurationKeys(R));
115120
return getPrefix() + GET_CONF_PATH;
116121
}
117122
return REDIRECT_TASKS_PATH + getClient15().getConfiguration(params);

0 commit comments

Comments
 (0)