You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by fl...@apache.org on 2003/06/21 12:28:44 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/tools/mapping/reversedb DBFKRelation.java
florianbruckner 2003/06/21 03:28:44
Modified: src/java/org/apache/ojb/tools/mapping/reversedb
DBFKRelation.java
Log:
implement XML generation with PrintWriter; getXML() still works and uses writeXML(java.io.PrintWriter)
Ids are not used for XML generation.
Revision Changes Path
1.4 +38 -36 db-ojb/src/java/org/apache/ojb/tools/mapping/reversedb/DBFKRelation.java
Index: DBFKRelation.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/tools/mapping/reversedb/DBFKRelation.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DBFKRelation.java 28 Jan 2003 21:42:53 -0000 1.3
+++ DBFKRelation.java 21 Jun 2003 10:28:44 -0000 1.4
@@ -127,8 +127,6 @@
private String strFieldName = null;
- private int id;
-
/* The field type is only relevant, if the parent table is the pk table
* and this is a collection, then it is set to Vector as default. If
* this is a refenece it is of the type of the target class.
@@ -149,14 +147,10 @@
{
this.strFieldName = "coll" + fkTable.getClassName ();
this.strFieldType = "java.util.Vector";
- id = IdGeneratorSingleton.getId(getClass().getName(),
- pkTable.getFQTableName());
}
else
{
this.strFieldName = "a" + pkTable.getClassName ();
- id = IdGeneratorSingleton.getId(getClass().getName(),
- fkTable.getFQTableName());
}
}
@@ -308,56 +302,60 @@
return org.apache.ojb.tools.mapping.reversedb.gui.DBFKRelationPropertySheet.class;
}
- private String getXMLReference()
+ private void writeXMLReference(java.io.PrintWriter pw)
{
- String strReturn = "";
- strReturn += " <reference-descriptor" + System.getProperty("line.separator");
- strReturn += " name=\"" + this.getFieldName() + "\"" + System.getProperty("line.separator");
- strReturn += " class-ref=\"" + this.getPKTable().getFQClassName() + "\"" + System.getProperty("line.separator");
- strReturn += " auto-retrieve=\"" + this.getAutoRetrieve() + "\"" + System.getProperty("line.separator");
- strReturn += " auto-update=\"" + this.getAutoUpdate() + "\"" + System.getProperty("line.separator");
- strReturn += " auto-delete=\"" + this.getAutoDelete() + "\">" + System.getProperty("line.separator");
+ pw.println(" <reference-descriptor");
+ pw.println(" name=\"" + this.getFieldName()+ "\"" );
+ pw.println(" class-ref=\"" + this.getPKTable().getFQClassName() + "\"" );
+ pw.println(" auto-retrieve=\"" + this.getAutoRetrieve()+ "\"" );
+ pw.println(" auto-update=\"" + this.getAutoUpdate() + "\"");
+ pw.println(" auto-delete=\"" + this.getAutoDelete() + "\">");
- strReturn += "<foreignkey field-id-ref=\"";
+ pw.print(" <foreignkey field-ref=\"");
java.util.Iterator it = this.getColumnPairIterator();
// TODO: dtd dictate one refid
// while (it.hasNext()) strReturn += ((DBColumn)((Object[])it.next())[1]).getId() + " ";
- if (it.hasNext()) strReturn += ((DBColumn)((Object[])it.next())[1]).getId() ;
- strReturn += "\" />" + System.getProperty("line.separator");
+ if (it.hasNext()) pw.print(((DBColumn)((Object[])it.next())[1]).getJavaFieldName()) ;
+ pw.println("\" />");
- strReturn += " </reference-descriptor>" + System.getProperty("line.separator");
- return strReturn;
+ pw.println(" </reference-descriptor>");
}
- private String getXMLCollection()
+ private void writeXMLCollection(java.io.PrintWriter pw)
{
- String strReturn = "";
- strReturn += " <collection-descriptor" + System.getProperty("line.separator");
- strReturn += " name=\"" + this.getFieldName() + "\"" + System.getProperty("line.separator");
- strReturn += " element-class-ref=\"" + this.getFKTable().getFQClassName() + "\"" + System.getProperty("line.separator");
- strReturn += " auto-retrieve=\"" + this.getAutoRetrieve() + "\"" + System.getProperty("line.separator");
- strReturn += " auto-update=\"" + this.getAutoUpdate() + "\"" + System.getProperty("line.separator");
- strReturn += " auto-delete=\"" + this.getAutoDelete() + "\">" + System.getProperty("line.separator");
- strReturn += " <inverse-foreignkey field-id-ref=\"";
+ pw.println(" <collection-descriptor");
+ pw.println(" name=\"" + this.getFieldName() + "\"");
+ pw.println(" element-class-ref=\"" + this.getFKTable().getFQClassName() + "\"" );
+ pw.println(" auto-retrieve=\"" + this.getAutoRetrieve() + "\"" );
+ pw.println(" auto-update=\"" + this.getAutoUpdate() + "\"" );
+ pw.println(" auto-delete=\"" + this.getAutoDelete() + "\">");
+ pw.print(" <inverse-foreignkey field-ref=\"");
java.util.Iterator it = this.getColumnPairIterator();
- while (it.hasNext()) strReturn += ((DBColumn)((Object[])it.next())[1]).getId() + " ";
- strReturn += "\" />" + System.getProperty("line.separator");
- strReturn += " </collection-descriptor>" + System.getProperty("line.separator");
- return strReturn;
+ while (it.hasNext()) pw.print(((DBColumn)((Object[])it.next())[1]).getJavaFieldName() + " ");
+ pw.println("\" />");
+ pw.println(" </collection-descriptor>");
}
public String getXML()
{
+ java.io.StringWriter sw = new java.io.StringWriter();
+ writeXML(new java.io.PrintWriter(sw));
+ return sw.getBuffer().toString();
+ }
+
+ public void writeXML(java.io.PrintWriter pw)
+ {
if (this.isPkTableParent())
{
- return getXMLCollection();
+ writeXMLCollection(pw);
}
else
{
- return getXMLReference();
- }
+ writeXMLReference(pw);
+ }
}
+
public void generateJava (java.io.File aFile, String strHeader, String strFooter) throws java.io.IOException, java.io.FileNotFoundException
{
throw new UnsupportedOperationException("Generate Java on DBFKReference is not allowed");
@@ -408,10 +406,15 @@
else return "";
}
+
}
/***************************** Changelog *****************************
// $Log$
+// Revision 1.4 2003/06/21 10:28:44 florianbruckner
+// implement XML generation with PrintWriter; getXML() still works and uses writeXML(java.io.PrintWriter)
+// Ids are not used for XML generation.
+//
// Revision 1.3 2003/01/28 21:42:53 florianbruckner
// update XML generation
//