TrustGrapher
r52
A playabale simulator for modelling trust between agents
|
00001 00002 package cu.trustGrapher.graphs.edges; 00003 00004 import cu.repsystestbed.graphs.FeedbackHistoryGraphEdge; 00005 import cu.repsystestbed.data.Feedback; 00006 import cu.repsystestbed.entities.Agent; 00007 import aohara.utilities.ChatterBox; 00008 00014 public class SimFeedbackEdge extends FeedbackHistoryGraphEdge { 00015 00016 private StringBuffer label; //The String that is displayed in the GraphViewer next to the edge 00017 00019 00025 public SimFeedbackEdge(Agent src, Agent sink) throws Exception { 00026 super(src, sink); 00027 label = new StringBuffer(); 00028 } 00029 00031 00037 @Override 00038 public String toString() { 00039 if (label.length() == 0 && !feedbacks.isEmpty()) { 00040 label.append(feedbacks.get(0).value); 00041 for (int i = 1; i < feedbacks.size(); i++) { 00042 label.append(", "); 00043 label.append(feedbacks.get(i).value); 00044 } 00045 } 00046 return label.toString(); 00047 } 00049 00056 public void addFeedback(Agent assessor, Agent assessee, double feedback) { 00057 try { 00058 super.addFeedback(new Feedback(assessor, assessee, feedback)); 00059 label = new StringBuffer(); 00060 } catch (Exception ex) { 00061 ChatterBox.error(this, "addFeedback()", ex.getMessage()); 00062 ex.printStackTrace(); 00063 } 00064 } 00065 00071 public void removeFeedback(double feedback) { 00072 for (Feedback fb : feedbacks) { 00073 if (fb.value == feedback) { 00074 feedbacks.remove(fb); 00075 label = new StringBuffer(); 00076 break; 00077 } 00078 } 00079 } 00080 00081 @Override 00082 public boolean equals(Object o) { 00083 if (o instanceof SimFeedbackEdge) { 00084 SimFeedbackEdge other = (SimFeedbackEdge) o; 00085 return (src.equals(other.src)) && (sink.equals(other.sink)); 00086 } 00087 return false; 00088 00089 00090 } 00091 00092 @Override 00093 public int hashCode() { 00094 int hash = 3; 00095 return hash; 00096 00097 } 00098 } 00100