From: <th...@us...> - 2003-12-08 09:59:06
|
Update of /cvsroot/jaxme/JaxMe/src/generator/de/ispsoft/jaxme/generator In directory sc8-pr-cvs1:/tmp/cvs-serv2263/src/generator/de/ispsoft/jaxme/generator Modified Files: JavaSourceWriter.java Log Message: fixes a bug if a non-jdbc aware element references a jdbc-view-aware element, the jdbc manager class was not generated Index: JavaSourceWriter.java =================================================================== RCS file: /cvsroot/jaxme/JaxMe/src/generator/de/ispsoft/jaxme/generator/JavaSourceWriter.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- JavaSourceWriter.java 25 Apr 2003 19:57:54 -0000 1.8 +++ JavaSourceWriter.java 8 Dec 2003 09:59:02 -0000 1.9 @@ -1,6 +1,7 @@ package de.ispsoft.jaxme.generator; import java.util.HashSet; +import java.util.Iterator; import java.util.Set; import org.apache.log4j.Category; @@ -17,6 +18,7 @@ public class JavaSourceWriter extends SourceWriterImpl { private static final Category cat = Category.getInstance(JavaSourceWriter.class.getName()); private static final Set writtenElements = new HashSet(); + private static final Set writtenJdbcElements = new HashSet(); /** Creates a new instance of JavaSourceGenerator. */ public JavaSourceWriter() {} @@ -38,35 +40,38 @@ JavaClassWriter jcw = getJavaClassWriter(pElement); JavaSource js = jcw.getXmlClass(); + String qName = null; if (js != null) { - String qName = js.getPackage(); + qName = js.getPackage(); if (qName == null || qName.length() == 0) { qName = js.getName(); } else { qName += "." + js.getQName(); } - if (writtenElements.contains(qName)) { - return; + if (!writtenElements.contains(qName)) { + writtenElements.add(qName); + writeJavaSourceFile(getDirectory(), js); + + js = jcw.getHandlerClass(); + if (js != null) { + writeJavaSourceFile(getDirectory(), js); + } } - writtenElements.add(qName); - - writeJavaSourceFile(getDirectory(), js); } - js = jcw.getHandlerClass(); - if (js != null) { - writeJavaSourceFile(getDirectory(), js); - } - - js = jcw.getManagerClass(); - if (js != null) { - writeJavaSourceFile(getDirectory(), js); - } + js = jcw.getManagerClass(); + if(qName != null && js != null && !writtenJdbcElements.contains(qName)) { + writtenJdbcElements.add(qName); + if (js != null) { + writeJavaSourceFile(getDirectory(), js); + } + } - for (java.util.Iterator iter = ((SchemaComplexElement) pElement).getChilds(); + SchemaElement child = null; + for (Iterator iter = ((SchemaComplexElement) pElement).getChilds(); iter.hasNext(); ) { - SchemaElement child = (SchemaElement) iter.next(); + child = (SchemaElement) iter.next(); cat.debug("Processing child " + child.getName() + " of " + pElement.getName()); if (child.isComplex()) { |