From: <th...@us...> - 2003-12-08 09:55:04
|
Update of /cvsroot/jaxme/JaxMe/src/generator/de/ispsoft/jaxme/generator/parselets In directory sc8-pr-cvs1:/tmp/cvs-serv1748/src/generator/de/ispsoft/jaxme/generator/parselets Modified Files: ParseletWriter.java Log Message: inserted from a patched jaxme project (joe you know what it is) Index: ParseletWriter.java =================================================================== RCS file: /cvsroot/jaxme/JaxMe/src/generator/de/ispsoft/jaxme/generator/parselets/ParseletWriter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- ParseletWriter.java 25 Apr 2003 19:57:50 -0000 1.7 +++ ParseletWriter.java 8 Dec 2003 09:54:57 -0000 1.8 @@ -1,5 +1,9 @@ package de.ispsoft.jaxme.generator.parselets; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + import org.apache.log4j.Category; import de.ispsoft.jaxme.generator.SchemaAttribute; import de.ispsoft.jaxme.generator.SchemaComplexElement; @@ -214,7 +218,49 @@ JavaComment jc = new JavaComment(); jc.addLine("A Parselet for class " + pElement.getQClassName() + "."); - + // inserted from patched (tcnew-)jaxme + Iterator iter = pElement.getAttributes(); + Set parseletNames = new HashSet(); + while(iter.hasNext()) { + Object o = iter.next(); + SchemaAttribute attr = (SchemaAttribute)o; + ParseletDecorator pd2 = (ParseletDecorator) attr.getElementDecorator(pdf); + + if (pd2 == null) { + continue; + } + String newParselet = pd2.getNewParseletForParse(); + String parseletClass = pd2.getParseletPackageName()+"."+pd2.getParseletClassName(); + if( !parseletNames.contains(parseletClass) ) { + parseletNames.add(parseletClass); + JavaField jf = new JavaField("m_"+pd2.getParseletClassName(), + parseletClass, "private"); + jf.setValue(newParselet); + jf.setStatic(false); + jf.setFinal(false); + js.addField(jf); + } + } + for (iter = pElement.getChilds(); iter.hasNext(); ) { + SchemaElement child = (SchemaElement) iter.next(); + ParseletDecorator pd3 = (ParseletDecorator) child.getElementDecorator(pdf); + if (pd3 == null) { + continue; + } + String newParselet = pd3.getNewParseletForParse(); + String parseletClass = pd3.getParseletPackageName()+"."+ + pd3.getParseletClassName(); + if(!parseletNames.contains(parseletClass)) { + parseletNames.add(parseletClass); + JavaField jf = new JavaField("m_"+pd3.getParseletClassName(), + parseletClass, "private"); + jf.setValue(newParselet); + jf.setStatic(false); + jf.setFinal(false); + js.addField(jf); + } + } + // end of insert JavaConstructor jcon = getDefaultConstructor(js, pElement, pd); if (jcon != null) { js.addConstructor(jcon); |