Hello Hartmut,

You must implement such method to use it in digester -

de.dhw.asim.components.benutzer.LoginObjekt.addGrp(de.dhw.asim.components.benutzer.BenutzerGruppe)

Wednesday, June 06, 2001, 11:05:06 PM, you wrote:

HB> Hello,


HB> it seems that the Digester Class of Struts is a strange thing.
HB> I take the following XML-Document (in a String):

HB> <?xml version="1.0" encoding="UTF-8"?>
HB> <login usr="Benutzername"
HB>        hilfe="true"
HB>        rn="Hartmut Bernecker"
HB>        mail="[EMAIL PROTECTED]"
HB>        txt="Persoenlicher Begruessungstext des Benutzers"
HB>        spr="de"
HB>        med="medium">
HB>   <grp name="Gruppe 1" txt="Begruessungstext 1"></grp>
HB>   <grp name="Gruppe 2" txt="Begruessungstext 2"></grp>
HB> </login>

HB> ------------------------------------------------------------------


HB> Then I want to parse it with a Digester object as follows:


HB> ------------------------------------------------------------------
HB> Digester digester = new Digester();
HB> digester.setDebug(1);
HB> digester.setValidating(false);

HB> digester.push(this);

HB> digester.addObjectCreate("login/grp",
HB> "de.dhw.asim.components.benutzer.BenutzerGruppe");
HB> digester.addSetProperties("login/grp");
HB> digester.addSetNext("login/grp", "addGrp",
HB> "de.dhw.asim.components.benutzer.BenutzerGruppe");

HB> digester.addObjectCreate("login",
HB> "de.dhw.asim.components.benutzer.LoginObjekt");
HB> digester.addSetProperties("login");
HB> digester.addSetNext("login", "setLoginObjekt",
HB> "de.dhw.asim.components.benutzer.LoginObjekt");

HB> try {
HB>  digester.parse(new InputSource(new StringReader(pXml)));
HB> }
HB> catch (IOException e){
HB>   e.printStackTrace();
HB> }
HB> catch (SAXException e)
HB> {
HB>   e.printStackTrace();
HB> }

HB> --------------------------------------------------------------------------


HB> Then I receive the following Message:
HB> It seems that the stack can not be controlled.
HB> Please give me an idea of what happens here and how to do it in the
HB> right way!!

HB> --------------------------------------------------------------------------

HB> New de.dhw.asim.components.benutzer.LoginObjekt

HB> Set de.dhw.asim.components.benutzer.LoginObjekt properties

HB> New de.dhw.asim.components.benutzer.BenutzerGruppe

HB> Set de.dhw.asim.components.benutzer.BenutzerGruppe properties

HB> Call
HB> 
de.dhw.asim.components.benutzer.LoginObjekt.addGrp(de.dhw.asim.components.benutzer.BenutzerGruppe@683912)

HB> End event threw exception

HB> java.lang.NoSuchMethodException

HB>         at java.lang.Class.getMethod0(Native Method)

HB>         at java.lang.Class.getMethod(Class.java:888)

HB>         at org.apache.struts.digester.SetNextRule.end(SetNextRule.java:156)

HB>         at org.apache.struts.digester.Digester.endElement(Digester.java:409)

HB>         at
HB> org.xml.sax.helpers.XMLReaderAdapter.endElement(XMLReaderAdapter.java:347)

HB>         at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)

HB>         at
HB> 
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1436)

HB>         at
HB> 
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1205)

HB>         at
HB> 
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

HB>         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)

HB>         at
HB> org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)

HB>         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)

HB>         at org.apache.struts.digester.Digester.parse(Digester.java:738)

HB>         at
HB> de.dhw.asim.components.benutzer.Xml2Object.getUserObjekt(Xml2Object.java:49)

HB>         at de.dhw.asim.components.benutzer.Test.main(Test.java:11)

HB> java.lang.NoSuchMethodException

HB>         at org.apache.struts.digester.Digester.endElement(Digester.java:412)

HB>         at
HB> org.xml.sax.helpers.XMLReaderAdapter.endElement(XMLReaderAdapter.java:347)

HB>         at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)

HB>         at
HB> 
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1436)

HB>         at
HB> 
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1205)

HB>         at
HB> 
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

HB>         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)

HB>         at
HB> org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)

HB> --------------------------------------------------------------------------


HB> Any help is very appreciated!

HB> Hartmut



-- 
Best regards,
 Oleg                            mailto:[EMAIL PROTECTED]


Reply via email to