package agg.parser; import java.util.Enumeration; import java.util.Iterator; import java.util.Vector; import agg.attribute.AttrInstance; import agg.xt_basis.Arc; import agg.xt_basis.Graph; import agg.xt_basis.GraphObject; import agg.xt_basis.Node; //****************************************************************************+ /** * This event is used if the parser has to handle any error. Typically an error * occurs if a graph cannot be parsed. * * @author $Author: olga $ Parser Group * @version $Id: ParserErrorEvent.java,v 1.6 2010/09/23 08:25:00 olga Exp $ */ @SuppressWarnings("serial") public class ParserErrorEvent extends ParserEvent { /** * The graph. * * @serial Events are serializable so this attribute. */ private Graph errorGraph; /** * This constructor is inherited from <CODE>ParserEvent</CODE>. * * @param source * The source of the event. */ public ParserErrorEvent(Object source) { this(source, ""); } /** * Creates a new event with a error message. * * @param source * The source of the event. * @param _message * The error message. */ public ParserErrorEvent(Object source, String _message) { super(source); setMessage(_message); if (source instanceof Graph) this.errorGraph = (Graph) source; else this.errorGraph = null; } /** * Returns the error text. * * @return The error message. */ public String getErrorString() { return getMessage(); } /** * If a graph is the source of this event this part of the graph is returned * which causes the error. * * @return A set of graph object. */ public Enumeration<Object> getErrorGraph() { // Da AGG zur Zeit noch nicht das Matchen von Variablen auf Variablen // unterstuetzt, gibt es noch keine Rückgabe. // Es war vereinbart eine ID zu verwenden. Vector<Object> graphElements = new Vector<Object>(); if (this.errorGraph != null) { for (Iterator<Node> elements = this.errorGraph.getNodesSet().iterator(); elements .hasNext();) { GraphObject grob = elements.next(); AttrInstance ai = grob.getAttribute(); graphElements.addElement(ai.getValueAt("id")); } for (Iterator<Arc> elements = this.errorGraph.getArcsSet().iterator(); elements .hasNext();) { GraphObject grob = elements.next(); AttrInstance ai = grob.getAttribute(); graphElements.addElement(ai.getValueAt("id")); } } return graphElements.elements(); } } /* * End of ParserErrorEvent.java * ---------------------------------------------------------------------- $Log: * ParserErrorEvent.java,v $ Revision 1.1 2005/08/25 11:56:57 enrico *** empty * log message *** * * Revision 1.1 2005/05/30 12:58:03 olga Version with Eclipse * * Revision 1.2 2003/03/05 18:24:08 komm sorted/optimized import statements * * Revision 1.1.1.1 2002/07/11 12:17:24 olga Imported sources * * Revision 1.2 2001/03/08 10:42:52 olga Die Parser Version aus parser branch * wurde in Head uebernommen. * * Revision 1.1.2.1 2001/01/28 13:14:57 shultzke API fertig * * Revision 1.1 2000/06/13 08:57:31 shultzke Initial version, very alpha * * Revision 1.8 1999/10/14 13:41:50 shultzke getErrorGraph implementiert * * Revision 1.7 1999/09/14 10:52:33 shultzke Kommentare hinzugefuegt * * Revision 1.6 1999/09/08 17:36:23 shultzke Check fuer 3a implementiert und * etwas getestet * * Revision 1.5 1999/07/20 19:29:47 shultzke es wurden nur fuer javadoc einige * tags hizugfuegt * * Revision 1.4 1999/07/20 10:04:53 shultzke diese klassen sind nicht mehr * abstrakt * * Revision 1.3 1999/07/11 09:22:42 shultzke *** empty log message *** * * Revision 1.2 1999/06/30 21:24:10 shultzke added rcs key and tried to check in * remote */