From: G?nther B. <br...@us...> - 2002-03-21 08:10:19
|
Update of /cvsroot/xpg-xml/edu/iicm/xpg/statemachine In directory usw-pr-cvs1:/tmp/cvs-serv24864/statemachine Modified Files: DataObject.java XMLElement.java XMLHandler.java Log Message: handling of xml stack modified Index: DataObject.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/DataObject.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** DataObject.java 18 Mar 2002 06:45:54 -0000 1.5 --- DataObject.java 21 Mar 2002 08:10:16 -0000 1.6 *************** *** 31,35 **** //---------------------------------------------------------------------- /** ! * @author Günther Brand * @version $revision$ */ --- 31,35 ---- //---------------------------------------------------------------------- /** ! * @author Guenther Brand * @version $revision$ */ *************** *** 37,46 **** public class DataObject { ! protected Stack element_stack_; protected HashMap data_map_; public DataObject() { ! element_stack_ = new Stack(); data_map_ = new HashMap(); } --- 37,46 ---- public class DataObject { ! protected Stack xml_element_stack_; protected HashMap data_map_; public DataObject() { ! xml_element_stack_ = new Stack(); data_map_ = new HashMap(); } *************** *** 48,71 **** //---------------------------------------------------------------------- /** ! * @param element_object the elementobject that should be pushed on the stack ! */ ! protected void pushXMLElement(XMLElement element_object) ! { ! element_stack_.push(element_object); ! } ! ! //---------------------------------------------------------------------- ! /** ! * @return the top element object */ ! public XMLElement topXMLElement() { try { ! return (XMLElement)element_stack_.peek(); } catch (EmptyStackException exc) { - System.err.println(exc); exc.printStackTrace(); } --- 48,61 ---- //---------------------------------------------------------------------- /** ! * @return the top xml element */ ! public XMLElement getXMLElement() { try { ! return (XMLElement)xml_element_stack_.peek(); } catch (EmptyStackException exc) { exc.printStackTrace(); } *************** *** 75,92 **** //---------------------------------------------------------------------- /** ! * @return the top element object and removes it */ ! protected XMLElement popXMLElement() { ! try ! { ! return (XMLElement)element_stack_.pop(); ! } ! catch (EmptyStackException exc) ! { ! System.err.println(exc); ! exc.printStackTrace(); ! } ! return null; } --- 65,73 ---- //---------------------------------------------------------------------- /** ! * @return the xml element stack */ ! protected Stack getXMLElementStack() { ! return xml_element_stack_; } *************** *** 98,101 **** --- 79,84 ---- public void putObject(String key, Object value) { + // FIXXME: there should be a possibility storing multiple data with + // the same key; possibly a stack for each data object will be used if ( data_map_.containsKey(key) ) { Index: XMLElement.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/XMLElement.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** XMLElement.java 18 Mar 2002 06:45:54 -0000 1.1 --- XMLElement.java 21 Mar 2002 08:10:16 -0000 1.2 *************** *** 24,35 **** import org.xml.sax.Attributes; import org.xml.sax.helpers.AttributesImpl; - import java.util.HashMap; - import java.util.Stack; - - import java.util.EmptyStackException; //---------------------------------------------------------------------- /** ! * @author Günther Brand * @version $revision$ */ --- 24,31 ---- import org.xml.sax.Attributes; import org.xml.sax.helpers.AttributesImpl; //---------------------------------------------------------------------- /** ! * @author Guenther Brand * @version $revision$ */ Index: XMLHandler.java =================================================================== RCS file: /cvsroot/xpg-xml/edu/iicm/xpg/statemachine/XMLHandler.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** XMLHandler.java 18 Mar 2002 06:45:54 -0000 1.5 --- XMLHandler.java 21 Mar 2002 08:10:16 -0000 1.6 *************** *** 104,108 **** try { ! data_.topXMLElement().setValue(new String(chars, start, length)); state_machine_.input(new XMLInput(Const.XML_CHARS,chars,start,length)); } --- 104,108 ---- try { ! data_.getXMLElement().setValue(new String(chars, start, length)); state_machine_.input(new XMLInput(Const.XML_CHARS,chars,start,length)); } *************** *** 128,135 **** try { ! XMLElement element_object = new XMLElement(); ! element_object.setName(name); ! element_object.setAttributes(attributes); ! data_.pushXMLElement(element_object); state_machine_.input(new XMLInput(Const.XML_START_TAG,name)); --- 128,135 ---- try { ! XMLElement xml_element = new XMLElement(); ! xml_element.setName(name); ! xml_element.setAttributes(attributes); ! data_.getXMLElementStack().push(xml_element); state_machine_.input(new XMLInput(Const.XML_START_TAG,name)); *************** *** 155,159 **** { state_machine_.input(new XMLInput(Const.XML_END_TAG,name)); ! data_.popXMLElement(); } catch(Exception exc) --- 155,159 ---- { state_machine_.input(new XMLInput(Const.XML_END_TAG,name)); ! data_.getXMLElementStack().pop(); } catch(Exception exc) |