public ParcelRequest getParcelRequestLongDistance() { if (T.stopRequest()) return null; if (T.currentTimePoint % 60 == 0) { int x = R.nextInt() % probParcel; if (x == 0) { r_id++; Window w = WM.notEmptyWindows.get(WM.notEmptyWindows.size() - 1); Window wd = WM.farest.get(w); ArrayList<Integer> P = WM.lstPoints.get(w); ArrayList<Integer> PD = WM.lstPoints.get(wd); int pickupLocation = -1; // map.V.get(R.nextInt(map.V.size())); while (true) { pickupLocation = P.get(R.nextInt(P.size())); // map.V.get(R.nextInt(map.V.size())); // if(used.get(pickupLocation) == null) break; // System.out.println("EventGenerator::getParcelRequest repeat....."); } used.put(pickupLocation, true); int deliveryLocation = PD.get(R.nextInt(PD.size())); // map.V.get(R.nextInt(map.V.size())); while (true) { deliveryLocation = PD.get(R.nextInt(PD.size())); // map.V.get(R.nextInt(map.V.size())); // if(used.get(deliveryLocation) == null) break; // System.out.println("EventGenerator::getParcelRequest repeat....."); } used.put(deliveryLocation, true); ParcelRequest pr = new ParcelRequest(pickupLocation, deliveryLocation); pr.id = r_id; log.println( "EventGenerator::nextEvent --> At " + T.currentTimePointHMS() + "[" + T.currentTimePoint + "]" + " --> parcel request from " + pickupLocation + " to " + deliveryLocation + " arrive"); return pr; } } return null; }
public ParcelRequest getParcelRequest() { if (T.stopRequest()) return null; if (T.currentTimePoint % 60 == 0) { int x = R.nextInt() % probParcel; if (x == 0) { r_id++; int pickupLocation = -1; // map.V.get(R.nextInt(map.V.size())); while (true) { pickupLocation = map.V.get(R.nextInt(map.V.size())); if (used.get(pickupLocation) == null) break; System.out.println("EventGenerator::getParcelRequest repeat....."); } used.put(pickupLocation, true); int deliveryLocation = map.V.get(R.nextInt(map.V.size())); while (true) { deliveryLocation = map.V.get(R.nextInt(map.V.size())); if (used.get(deliveryLocation) == null) break; System.out.println("EventGenerator::getParcelRequest repeat....."); } used.put(deliveryLocation, true); ParcelRequest pr = new ParcelRequest(pickupLocation, deliveryLocation); pr.id = r_id; log.println( "EventGenerator::nextEvent --> At " + T.currentTimePointHMS() + "[" + T.currentTimePoint + "]" + " --> parcel request from " + pickupLocation + " to " + deliveryLocation + " arrive"); return pr; } } return null; }