Skip to content

Commit cccd232

Browse files
authored
fix(shared_mobility): set initialSoc on EV-typed dummy routing vehicles (#4899)
1 parent dd2be26 commit cccd232

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

contribs/shared_mobility/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
<artifactId>common</artifactId>
2222
<version>${project.parent.version}</version>
2323
</dependency>
24+
<dependency>
25+
<groupId>org.matsim.contrib</groupId>
26+
<artifactId>ev</artifactId>
27+
<version>${project.parent.version}</version>
28+
</dependency>
2429
<dependency>
2530
<groupId>com.google.code.findbugs</groupId>
2631
<artifactId>jsr305</artifactId>

contribs/shared_mobility/src/main/java/org/matsim/contrib/shared_mobility/service/SharingUtils.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.apache.logging.log4j.Logger;
55
import org.matsim.api.core.v01.Id;
66
import org.matsim.api.core.v01.population.Activity;
7+
import org.matsim.contrib.ev.fleet.ElectricFleetUtils;
78
import org.matsim.contrib.shared_mobility.run.SharingConfigGroup;
89
import org.matsim.contrib.shared_mobility.run.SharingModes;
910
import org.matsim.contrib.shared_mobility.run.SharingServiceConfigGroup;
@@ -133,6 +134,11 @@ public static Vehicle getOrCreateAndAddDummyVehicle(SharingServiceConfigGroup se
133134
} else {
134135
VehicleType vehicleType = getOrCreateAndAddVehicleType(serviceConfig, vehicles);
135136
routingVehicle = vehicles.getFactory().createVehicle(routingVehicleId, vehicleType);
137+
// If the vehicle type is electric, set a default initialSoc so that
138+
// GlobalElectricFleet can process this dummy vehicle without NPE.
139+
if (ElectricFleetUtils.isElectricVehicleType(vehicleType)) {
140+
ElectricFleetUtils.setInitialSoc(routingVehicle, 1.0);
141+
}
136142
vehicles.addVehicle(routingVehicle);
137143
}
138144
return routingVehicle;

0 commit comments

Comments
 (0)