chore: remove xinda ingestion modules
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package com.lingniu.ingest.identity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
public final class InMemoryVehicleIdentityService implements VehicleIdentityResolver, VehicleIdentityRegistry {
|
||||
|
||||
private final List<VehicleIdentityBinding> bindings = new CopyOnWriteArrayList<>();
|
||||
|
||||
@Override
|
||||
public VehicleIdentity resolve(VehicleIdentityLookup lookup) {
|
||||
if (lookup == null) {
|
||||
return new VehicleIdentity("unknown", false, VehicleIdentitySource.UNKNOWN);
|
||||
}
|
||||
if (!lookup.vin().isBlank() && !"unknown".equalsIgnoreCase(lookup.vin())) {
|
||||
return new VehicleIdentity(lookup.vin(), true, VehicleIdentitySource.EXPLICIT_VIN);
|
||||
}
|
||||
for (VehicleIdentityBinding binding : bindings) {
|
||||
if (binding.protocol() != lookup.protocol()) {
|
||||
continue;
|
||||
}
|
||||
if (!lookup.phone().isBlank() && lookup.phone().equals(binding.phone())) {
|
||||
return new VehicleIdentity(binding.vin(), true, VehicleIdentitySource.BOUND_PHONE);
|
||||
}
|
||||
if (!lookup.deviceId().isBlank() && lookup.deviceId().equals(binding.deviceId())) {
|
||||
return new VehicleIdentity(binding.vin(), true, VehicleIdentitySource.BOUND_DEVICE_ID);
|
||||
}
|
||||
if (!lookup.plate().isBlank() && lookup.plate().equals(binding.plate())) {
|
||||
return new VehicleIdentity(binding.vin(), true, VehicleIdentitySource.BOUND_PLATE);
|
||||
}
|
||||
}
|
||||
if (!lookup.phone().isBlank()) {
|
||||
return new VehicleIdentity("unknown", false, VehicleIdentitySource.FALLBACK_PHONE);
|
||||
}
|
||||
if (!lookup.deviceId().isBlank()) {
|
||||
return new VehicleIdentity("unknown", false, VehicleIdentitySource.FALLBACK_DEVICE_ID);
|
||||
}
|
||||
if (!lookup.plate().isBlank()) {
|
||||
return new VehicleIdentity("unknown", false, VehicleIdentitySource.FALLBACK_PLATE);
|
||||
}
|
||||
return new VehicleIdentity("unknown", false, VehicleIdentitySource.UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind(VehicleIdentityBinding binding) {
|
||||
bindings.add(binding);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user