/************************************************************************************ * Copyright (C) 2008 by Politehnica University of Bucharest and Rutgers University * All rights reserved. * Refer to LICENSE for terms and conditions of use. ***********************************************************************************/ package vnsim.applications.vitp.utils; import java.util.*; import vnsim.map.object.Cross; import vnsim.map.object.Globals; import vnsim.map.object.Point; import vnsim.map.object.Road; public class VITPReply extends VITPMessage { /** serialVersionUID */ private static final long serialVersionUID = -5883719321862303634L; private String status; //can be "OK", "ERROR" private int ttl; //used in the caching mechanism public VITPReply( short roadIdx1Dst, short fromDst, short toDst, short roadIdx1Src, short fromSrc, short toSrc, Date initialTime, Date expirationTime, String cacheControl, int msgId, String msgBody, int ttl, String status) { super(roadIdx1Dst, fromDst, toDst, roadIdx1Src, fromSrc, toSrc, initialTime, expirationTime, cacheControl, msgId, msgBody); this.ttl=ttl; this.status=status; this.type=VITP_REP; } public String toString(){ String ret=super.toString(); ret=ret+";STATUS="+status+"--"; return ret; } public void setStatus(String status){ this.status=status; } public String getUserFriendlyText() { String ret=""; ret+="Status:"+status+"\n"; ret+="Message came from:\n"; Road r=(Road)Globals.map.roads.get(this.source.roadIndex); ret+="Road : "+r.getName(); Point ptmid=(Point)r.points.get((this.source.pt1+this.source.pt2)/2); Point pt1=(Point)r.points.get(this.source.pt1); Point pt2=(Point)r.points.get(this.source.pt2); // ret+="\nSegment length: "+Math.abs(pt1.getDistance()-pt2.getDistance()); for(int i=0;i