public GenericEvent( String type, double time ) { super(time); this.type = type; this.attributes = super.getAttributes(); }
@Override public boolean equals(Object obj) { if (!(obj instanceof Event)) { return false; } else { Event other = (Event) obj; return time == other.getTime() && getEventType().equals(other.getEventType()) && getAttributes().equals(other.getAttributes()); } }
@Override public OTFQueryResult query() { result.newEventStrings.clear(); List<Event> newEvents = new ArrayList<>(); queue.drainTo(newEvents); for (Event personEvent : newEvents) { result.newEventStrings.add(personEvent.toString()); } return result; }
@Override protected Double featureValueOf(Event event) { return event.getTime(); } };
protected void checkAscendingTimeStamps() { // all events of one agent must have ascending time stamps double lastTimeStamp; for (List<Event> list : eventsByPerson.values()) { lastTimeStamp = Double.NEGATIVE_INFINITY; for (int i = 0; i < list.size(); i++) { if (lastTimeStamp > list.get(i).getTime()) { for (int j = 0; j < list.size(); j++) { System.out.println(list.get(j).toString()); } System.out.println(lastTimeStamp); System.out.println(list.get(i).getTime()); fail("Messages are not arriving in a consistent manner."); } assertTrue(lastTimeStamp <= list.get(i).getTime()); lastTimeStamp = list.get(i).getTime(); } } }
public Map<String, String> getAttributes() { Map<String, String> attr = new LinkedHashMap<String, String>(); attr.put(ATTRIBUTE_TIME, Double.toString(this.time)); attr.put(ATTRIBUTE_TYPE, getEventType()); return attr; }
@Override public void handleEvent(Event event) { if (this.time != event.getTime()) { try { doComparison.await(); } catch (InterruptedException e1) { throw new ComparatorInterruptedException(e1); } catch (BrokenBarrierException e1) { throw new ComparatorInterruptedException(e1); } this.events.clear(); this.time = event.getTime(); this.numEvents = 0; } addEvent(event); }
@Override public int hashCode() { return getAttributes().hashCode(); // Two equal events must at least have the same attributes, so they will get the same hashCode like this. }
.setTime(event.getTime()) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((LinkLeaveEvent) event).getLinkId().toString())) .setVehId(ProtobufEvents.VehicleId.newBuilder().setId(((LinkLeaveEvent) event).getVehicleId().toString())); if (event instanceof LinkEnterEvent) { ProtobufEvents.LinkEnterEvent.Builder ll = ProtobufEvents.LinkEnterEvent.newBuilder() .setTime(event.getTime()) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((LinkEnterEvent) event).getLinkId().toString())) .setVehId(ProtobufEvents.VehicleId.newBuilder().setId(((LinkEnterEvent) event).getVehicleId().toString())); if (event instanceof ActivityEndEvent) { ProtobufEvents.ActivityEndEvent.Builder ae = ProtobufEvents.ActivityEndEvent.newBuilder() .setTime(event.getTime()) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((ActivityEndEvent) event).getLinkId().toString())) .setPersId(ProtobufEvents.PersonId.newBuilder().setId(((ActivityEndEvent) event).getPersonId().toString())) if (event instanceof ActivityStartEvent) { ProtobufEvents.ActivityStartEvent.Builder as = ProtobufEvents.ActivityStartEvent.newBuilder() .setTime(event.getTime()) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((ActivityStartEvent) event).getLinkId().toString())) .setPersId(ProtobufEvents.PersonId.newBuilder().setId(((ActivityStartEvent) event).getPersonId().toString())) if (event instanceof PersonArrivalEvent) { ProtobufEvents.PersonArrivalEvent.Builder pa = ProtobufEvents.PersonArrivalEvent.newBuilder() .setTime(event.getTime()) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((PersonArrivalEvent) event).getLinkId().toString())) .setLegMode(((PersonArrivalEvent) event).getLegMode()) if (event instanceof PersonDepartureEvent) {
private static void printNotEqualEvents(final Event personEvent, final EventLog deqSimEvent) { System.out.println("POSSIBLE PROBLEM: EVENTS NOT EQUAL"); System.out.println(personEvent.toString()); deqSimEvent.print(); }
@Override public Map<String, String> getAttributes() { Map<String, String> attr = super.getAttributes(); attr.put(ATTRIBUTE_MODE, mode); attr.put(ATTRIBUTE_REQUEST, requestId + ""); attr.put(ATTRIBUTE_CAUSE, cause); return attr; } }
public void printEvents() { for (Event e : this.events) { log.info(e.toString()); } } }
@Override public Map<String, String> getAttributes() { Map<String, String> attr = super.getAttributes(); attr.put(ATTRIBUTE_PERSON, this.personId.toString()); attr.put(ATTRIBUTE_REPLANNERTYPE, this.replannerType); return attr; }
System.out.println(event.toString());
@Override public Map<String, String> getAttributes() { Map<String, String> attr = super.getAttributes(); attr.put(ATTRIBUTE_VEHICLE, this.vehicleId.toString()); attr.put(ATTRIBUTE_LINK, this.linkId.toString()); return attr; } }
@Override public void handleEvent(Event event) { if(event instanceof LinkEnterEvent){ CarrierVehicle carrierVehicle = getVehicle(((LinkEnterEvent) event).getVehicleId()); if(carrierVehicle == null) throw new IllegalStateException("carrier vehicle missing"); double toll = roadPricing.getTollAmount(carrierVehicle.getVehicleType().getId(),network.getLinks().get(((LinkEnterEvent) event).getLinkId()),event.getTime()); if(toll > 0.) System.out.println("bing: vehicle " + carrierVehicle.getVehicleId() + " paid toll " + toll + ""); score += (-1) * toll; } }
System.out.println(event.toString());