Skip to content

Commit ff17fe9

Browse files
committed
remove the flag firstArrivingMeterValueIfMultiple and its usage (closes #1209)
1 parent c64d3bf commit ff17fe9

File tree

3 files changed

+4
-29
lines changed

3 files changed

+4
-29
lines changed

src/main/java/de/rwth/idsg/steve/repository/TransactionRepository.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,5 @@ public interface TransactionRepository {
3636

3737
List<Integer> getActiveTransactionIds(String chargeBoxId);
3838

39-
TransactionDetails getDetails(int transactionPk, boolean firstArrivingMeterValueIfMultiple);
40-
41-
default TransactionDetails getDetails(int transactionPk) {
42-
return getDetails(transactionPk, true);
43-
}
39+
TransactionDetails getDetails(int transactionPk);
4440
}

src/main/java/de/rwth/idsg/steve/repository/impl/TransactionRepositoryImpl.java

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public List<Integer> getActiveTransactionIds(String chargeBoxId) {
8989
}
9090

9191
@Override
92-
public TransactionDetails getDetails(int transactionPk, boolean firstArrivingMeterValueIfMultiple) {
92+
public TransactionDetails getDetails(int transactionPk) {
9393

9494
// -------------------------------------------------------------------------
9595
// Step 1: Collect general data about transaction
@@ -176,20 +176,7 @@ public TransactionDetails getDetails(int transactionPk, boolean firstArrivingMet
176176
//
177177
Table<ConnectorMeterValueRecord> t1 = transactionQuery.union(timestampQuery).asTable("t1");
178178

179-
// -------------------------------------------------------------------------
180-
// Step 3: Charging station might send meter vales at fixed intervals (e.g.
181-
// every 15 min) regardless of the fact that connector's meter value did not
182-
// change (e.g. vehicle is fully charged, but cable is still connected). This
183-
// yields multiple entries in db with the same value but different timestamp.
184-
// We are only interested in the first (or last) arriving entry.
185-
// -------------------------------------------------------------------------
186-
187-
Field<DateTime> dateTimeField;
188-
if (firstArrivingMeterValueIfMultiple) {
189-
dateTimeField = DSL.min(t1.field(2, DateTime.class)).as("min");
190-
} else {
191-
dateTimeField = DSL.max(t1.field(2, DateTime.class)).as("max");
192-
}
179+
Field<DateTime> dateTimeField = t1.field(2, DateTime.class);
193180

194181
List<TransactionDetails.MeterValues> values =
195182
ctx.select(
@@ -202,14 +189,6 @@ public TransactionDetails getDetails(int transactionPk, boolean firstArrivingMet
202189
t1.field(8, String.class),
203190
t1.field(9, String.class))
204191
.from(t1)
205-
.groupBy(
206-
t1.field(3),
207-
t1.field(4),
208-
t1.field(5),
209-
t1.field(6),
210-
t1.field(7),
211-
t1.field(8),
212-
t1.field(9))
213192
.orderBy(dateTimeField)
214193
.fetch()
215194
.map(r -> TransactionDetails.MeterValues.builder()

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void stop(List<Integer> transactionPkList) {
5757
}
5858

5959
public void stop(Integer transactionPk) {
60-
TransactionDetails thisTxDetails = transactionRepository.getDetails(transactionPk, false);
60+
TransactionDetails thisTxDetails = transactionRepository.getDetails(transactionPk);
6161
Transaction thisTx = thisTxDetails.getTransaction();
6262

6363
// early exit, if transaction is already stopped

0 commit comments

Comments
 (0)