final Set<Parcel> swappableParcels = new LinkedHashSet<>(); for (final Parcel ap : assignedParcels) { if (!pdpModel.get().getParcelState(ap).isPickedUp() && !pdpModel.get().getParcelState(ap).isTransitionState() && !state.getVehicles().get(0).getDestination().asSet() .contains(ap)
if (state.isDelivered()) { } else if (state.isPickedUp()) {
final ParcelState state = getPDPModel().getParcelState(dp); checkArgument( !state.isDelivered(), "A parcel that is already delivered can not be part of a route. " + "Parcel %s in route %s.", dp, adjustedRoute); if (state.isTransitionState()) { if (state == ParcelState.PICKING_UP) { checkArgument( if (state.isPickedUp()) { checkArgument(getPDPModel().getContents(this).contains(dp), "A parcel that is in cargo state must be in cargo of this "
if (!ps.isDelivered()) { if (rotation == 0f) { gc.drawImage(image, offsetX, offsetY);
if (!ps.isDelivered()) { if (rotation == 0f) { gc.drawImage(image, offsetX, offsetY);
final ParcelState state = getPDPModel().getParcelState(dp); checkArgument( !state.isDelivered(), "A parcel that is already delivered can not be part of a route. " + "Parcel %s in route %s.", dp, adjustedRoute); if (state.isTransitionState()) { if (state == ParcelState.PICKING_UP) { checkArgument( if (state.isPickedUp()) { checkArgument(getPDPModel().getContents(this).contains(dp), "A parcel that is in cargo state must be in cargo of this "
|| event.trigger == DefaultEvent.NOGO) && !getPDPModel().getParcelState(gotoState.getPreviousDestination()) .isPickedUp()) { final Parcel prev = gotoState.getPreviousDestination(); if (communicator.getClaimedParcels().contains(prev)) { || event.trigger == DefaultEvent.REROUTE) { final Parcel cur = getRoute().iterator().next(); if (!getPDPModel().getParcelState(cur).isPickedUp()) { LOGGER.trace("{} claim:{}", this, cur);
&& !pdpModel.get().getParcelState(p).isPickedUp() && !pdpModel.get().getParcelState(p).isTransitionState()) { toRemove.add(p);
for (final Truck truck : trucks) { for (final Parcel dp : truck.getRoute()) { if (!pdpModel.get().getParcelState(dp).isPickedUp()) { availableParcels.add(dp);
if (!pdpModel.get().getParcelState(dp).isPickedUp()) { parcels.add(dp);
final ParcelState parcelState = getPDPModel().getParcelState(p); checkArgument( !parcelState.isTransitionState() && !parcelState.isDelivered(), "Parcel state may not be a transition state nor may it be delivered, " + "it is %s.", parcelState, parcelState.isTransitionState() ? getPDPModel() .getVehicleActionInfo(this).timeNeeded() : null); final boolean isPickup = !parcelState.isPickedUp();
if (destination != null && !pm.getParcelState(destination).isPickedUp()) { availableDestBuilder.add(destination);
if (state.isDelivered()) { } else if (state.isPickedUp()) {
final Collection<Parcel> allParcels = pm.getParcels(ParcelState.values()); final Collection<Parcel> deliveredParcels = pm.getParcels(ParcelState.DELIVERED);
final ParcelState parcelState = getPDPModel().getParcelState(p); checkArgument( !parcelState.isTransitionState() && !parcelState.isDelivered(), "Parcel state may not be a transition state nor may it be delivered, " + "it is %s.", parcelState, parcelState.isTransitionState() ? getPDPModel() .getVehicleActionInfo(this).timeNeeded() : null); final boolean isPickup = !parcelState.isPickedUp();
@Override public void renderDynamic(GC gc, ViewPort vp, long time) { final Set<RouteFollowingVehicle> vehicles = roadModel.getObjectsOfType( RouteFollowingVehicle.class); for (final RouteFollowingVehicle v : vehicles) { final Set<Parcel> seen = newHashSet(); final Point from = roadModel.getPosition(v); int prevX = vp.toCoordX(from.x); int prevY = vp.toCoordY(from.y); for (final Parcel parcel : ImmutableList.copyOf(v.getRoute())) { final Point to; if (pdpModel.getParcelState(parcel).isPickedUp() || seen.contains(parcel)) { to = parcel.getDto().getDeliveryLocation(); } else { to = parcel.getDto().getPickupLocation(); } seen.add(parcel); final int x = vp.toCoordX(to.x); final int y = vp.toCoordY(to.y); gc.drawLine(prevX, prevY, x, y); prevX = x; prevY = y; } } }
@Override public void renderDynamic(GC gc, ViewPort vp, long time) { uiSchema.initialize(gc.getDevice()); final Collection<Parcel> parcels = pdpModel.getParcels( ParcelState.values()); final Image image = uiSchema.getImage(Box.class); checkState(image != null); synchronized (pdpModel) { final Set<Vehicle> vehicles = pdpModel.getVehicles(); final Map<Parcel, Vehicle> mapping = new LinkedHashMap<>(); for (final Vehicle v : vehicles) { for (final Parcel p : pdpModel.getContents(v)) { mapping.put(p, v); } if (pdpModel.getVehicleState(v) != VehicleState.IDLE) { final PDPModel.VehicleParcelActionInfo vpai = pdpModel .getVehicleActionInfo(v); mapping.put(vpai.getParcel(), vpai.getVehicle()); } } for (final Parcel p : parcels) { drawBox(p, gc, vp, time, image, mapping); } } }
@Override public void renderDynamic(GC gc, ViewPort vp, long time) { uiSchema.initialize(gc.getDevice()); final Collection<Parcel> parcels = pdpModel.getParcels( ParcelState.values()); final Image image = uiSchema.getImage(Box.class); checkState(image != null); synchronized (pdpModel) { final Set<Vehicle> vehicles = pdpModel.getVehicles(); final Map<Parcel, Vehicle> mapping = new LinkedHashMap<>(); for (final Vehicle v : vehicles) { for (final Parcel p : pdpModel.getContents(v)) { mapping.put(p, v); } if (pdpModel.getVehicleState(v) != VehicleState.IDLE) { final PDPModel.VehicleParcelActionInfo vpai = pdpModel .getVehicleActionInfo(v); mapping.put(vpai.getParcel(), vpai.getVehicle()); } } for (final Parcel p : parcels) { drawBox(p, gc, vp, time, image, mapping); } } }
@Override public void renderDynamic(GC gc, ViewPort vp, long time) { final Set<RouteFollowingVehicle> vehicles = roadModel.getObjectsOfType( RouteFollowingVehicle.class); for (final RouteFollowingVehicle v : vehicles) { final Set<Parcel> seen = newHashSet(); final Point from = roadModel.getPosition(v); int prevX = vp.toCoordX(from.x); int prevY = vp.toCoordY(from.y); for (final Parcel parcel : ImmutableList.copyOf(v.getRoute())) { final Point to; if (pdpModel.getParcelState(parcel).isPickedUp() || seen.contains(parcel)) { to = parcel.getDto().getDeliveryLocation(); } else { to = parcel.getDto().getPickupLocation(); } seen.add(parcel); final int x = vp.toCoordX(to.x); final int y = vp.toCoordY(to.y); gc.drawLine(prevX, prevY, x, y); prevX = x; prevY = y; } } }