Skip to content

Commit e9a18ad

Browse files
authored
Merge pull request #2041 from steve-community/2040-preparation-introduce-evse
2040 preparation introduce evse
2 parents 2fd9482 + 54bcd45 commit e9a18ad

25 files changed

Lines changed: 1061 additions & 266 deletions
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
3+
* Copyright (C) 2013-2026 SteVe Community Team
4+
* All Rights Reserved.
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, either version 3 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18+
*/
19+
package de.rwth.idsg.steve.ocpp.model;
20+
21+
import lombok.AccessLevel;
22+
import lombok.Getter;
23+
import lombok.RequiredArgsConstructor;
24+
import org.apache.commons.lang3.StringUtils;
25+
26+
/**
27+
* @author Sevket Goekay <sevketgokay@gmail.com>
28+
* @since 13.05.2026
29+
*/
30+
@Getter
31+
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
32+
public enum ConnectorFormat {
33+
34+
SOCKET("Socket"),
35+
CABLE("Cable");
36+
37+
private final String text;
38+
39+
public static ConnectorFormat fromNullable(String enumName) {
40+
return StringUtils.isEmpty(enumName) ? null : ConnectorFormat.valueOf(enumName);
41+
}
42+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/*
2+
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
3+
* Copyright (C) 2013-2026 SteVe Community Team
4+
* All Rights Reserved.
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, either version 3 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18+
*/
19+
package de.rwth.idsg.steve.ocpp.model;
20+
21+
import lombok.AccessLevel;
22+
import lombok.Getter;
23+
import lombok.RequiredArgsConstructor;
24+
import org.apache.commons.lang3.StringUtils;
25+
26+
/**
27+
* @author Sevket Goekay <sevketgokay@gmail.com>
28+
* @since 13.05.2026
29+
*/
30+
@Getter
31+
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
32+
public enum ConnectorType {
33+
34+
CHADEMO("CHAdeMO"),
35+
CHAOJI("ChaoJi"),
36+
DOMESTIC_A("Domestic A"),
37+
DOMESTIC_B("Domestic B"),
38+
DOMESTIC_C("Domestic C"),
39+
DOMESTIC_D("Domestic D"),
40+
DOMESTIC_E("Domestic E"),
41+
DOMESTIC_F("Domestic F"),
42+
DOMESTIC_G("Domestic G"),
43+
DOMESTIC_H("Domestic H"),
44+
DOMESTIC_I("Domestic I"),
45+
DOMESTIC_J("Domestic J"),
46+
DOMESTIC_K("Domestic K"),
47+
DOMESTIC_L("Domestic L"),
48+
DOMESTIC_M("Domestic M"),
49+
DOMESTIC_N("Domestic N"),
50+
DOMESTIC_O("Domestic O"),
51+
GBT_AC("Guobiao AC"),
52+
GBT_DC("Guobiao DC"),
53+
IEC_60309_2_single_16("IEC 60309-2 1-Single 16A"),
54+
IEC_60309_2_three_16("IEC 60309-2 3-Phase 16A"),
55+
IEC_60309_2_three_32("IEC 60309-2 3-Phase 32A"),
56+
IEC_60309_2_three_64("IEC 60309-2 3-Phase 64A"),
57+
IEC_62196_T1("IEC 62196 Type 1"),
58+
IEC_62196_T1_COMBO("IEC 62196 Type 1 Combo DC"),
59+
IEC_62196_T2("IEC 62196 Type 2"),
60+
IEC_62196_T2_COMBO("IEC 62196 Type 2 Combo DC"),
61+
IEC_62196_T3A("IEC 62196 Type 3A"),
62+
IEC_62196_T3C("IEC 62196 Type 3C"),
63+
NEMA_5_20("NEMA 5-20"),
64+
NEMA_6_30("NEMA 6-30"),
65+
NEMA_6_50("NEMA 6-50"),
66+
NEMA_10_30("NEMA 10-30"),
67+
NEMA_10_50("NEMA 10-50"),
68+
NEMA_14_30("NEMA 14-30"),
69+
NEMA_14_50("NEMA 14-50"),
70+
PANTOGRAPH_BOTTOM_UP("Pantograph Bottom-Up"),
71+
PANTOGRAPH_TOP_DOWN("Pantograph Top-Down"),
72+
TESLA_R("Tesla Roadster"),
73+
TESLA_S("Tesla Model S");
74+
75+
private final String text;
76+
77+
public static ConnectorType fromNullable(String enumName) {
78+
return StringUtils.isEmpty(enumName) ? null : ConnectorType.valueOf(enumName);
79+
}
80+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* SteVe - SteckdosenVerwaltung - https://github.com/steve-community/steve
3+
* Copyright (C) 2013-2026 SteVe Community Team
4+
* All Rights Reserved.
5+
*
6+
* This program is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, either version 3 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18+
*/
19+
package de.rwth.idsg.steve.ocpp.model;
20+
21+
import lombok.AccessLevel;
22+
import lombok.Getter;
23+
import lombok.RequiredArgsConstructor;
24+
import org.apache.commons.lang3.StringUtils;
25+
26+
/**
27+
* @author Sevket Goekay <sevketgokay@gmail.com>
28+
* @since 13.05.2026
29+
*/
30+
@Getter
31+
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
32+
public enum PowerType {
33+
34+
AC_1_PHASE("AC 1-Phase"),
35+
AC_2_PHASE("AC 2-Phase"),
36+
AC_2_PHASE_SPLIT("AC 2-Phase Split"),
37+
AC_3_PHASE("AC 3-Phase"),
38+
DC("DC");
39+
40+
private final String text;
41+
42+
public static PowerType fromNullable(String enumName) {
43+
return StringUtils.isEmpty(enumName) ? null : PowerType.valueOf(enumName);
44+
}
45+
}

src/main/java/de/rwth/idsg/steve/repository/dto/ChargePoint.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,16 @@
2222
import de.rwth.idsg.steve.web.dto.ocpp.ConfigurationKeyEnum;
2323
import jooq.steve.db.tables.records.AddressRecord;
2424
import jooq.steve.db.tables.records.ChargeBoxRecord;
25+
import jooq.steve.db.tables.records.EvseConnectorRecord;
26+
import jooq.steve.db.tables.records.EvseRecord;
2527
import lombok.Builder;
2628
import lombok.Getter;
2729
import lombok.RequiredArgsConstructor;
2830
import org.joda.time.DateTime;
31+
import org.jooq.Result;
32+
33+
import java.util.List;
34+
import java.util.Map;
2935

3036
/**
3137
*
@@ -47,6 +53,8 @@ public static final class Overview {
4753
public static final class Details {
4854
private final ChargeBoxRecord chargeBox;
4955
private final AddressRecord address;
56+
private final List<EvseRecord> evses;
57+
private final Map<Integer, Result<EvseConnectorRecord>> evseConnectorsByEvsePk;
5058

5159
public String getCpoName() {
5260
return JsonUtils.getPropertyValueAsString(chargeBox.getOcppConfiguration(), ConfigurationKeyEnum.CpoName.name());

0 commit comments

Comments
 (0)