Return-Path: Mailing-List: contact ojb-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list ojb-dev@jakarta.apache.org Received: (qmail 6013 invoked by uid 97); 28 Nov 2002 19:06:17 -0000 Received: (qmail 6002 invoked by uid 98); 28 Nov 2002 19:06:17 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Received: (qmail 5981 invoked from network); 28 Nov 2002 19:06:15 -0000 Received: from daedalus.apache.org (HELO apache.org) (63.251.56.142) by nagoya.betaversion.org with SMTP; 28 Nov 2002 19:06:15 -0000 Received: (qmail 92344 invoked by uid 500); 28 Nov 2002 19:05:07 -0000 Received: (qmail 92336 invoked from network); 28 Nov 2002 19:05:07 -0000 Received: from icarus.apache.org (63.251.56.143) by daedalus.apache.org with SMTP; 28 Nov 2002 19:05:07 -0000 Received: (qmail 68758 invoked by uid 1522); 28 Nov 2002 19:05:06 -0000 Date: 28 Nov 2002 19:05:06 -0000 Message-ID: <20021128190506.68757.qmail@icarus.apache.org> From: prophecy@apache.org To: jakarta-ojb-cvs@apache.org Subject: cvs commit: jakarta-ojb/src/java/org/apache/ojb/broker/metadata/auto AutoCreatorDb.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N prophecy 2002/11/28 11:05:06 Modified: src/java/org/apache/ojb/broker/metadata/auto AutoCreatorDb.java Log: fixed some bugs Revision Changes Path 1.5 +17 -10 jakarta-ojb/src/java/org/apache/ojb/broker/metadata/auto/AutoCreatorDb.java Index: AutoCreatorDb.java =================================================================== RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/metadata/auto/AutoCreatorDb.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- AutoCreatorDb.java 27 Nov 2002 05:48:15 -0000 1.4 +++ AutoCreatorDb.java 28 Nov 2002 19:05:06 -0000 1.5 @@ -33,6 +33,7 @@ /** * TODO: Don't know why the Pbroker is needed for the newConnection() method, but since it is * i've passed it in here. + * @deprecated */ public static void autoCreate(DescriptorRepository repos, PersistenceBrokerImpl pb) { @@ -181,6 +182,7 @@ while(enum.hasMoreElements()){ ClassDescriptor cld = (ClassDescriptor) enum.nextElement(); // check if table exists in db + // todo: should this be getFullTableName or just getTableName() String tname = cld.getFullTableName(); //System.out.println(tname); if(exists(tableNames, tname)){ @@ -204,12 +206,12 @@ for (int i = 0; i < fld.length; i++) { FieldDescriptor fieldDescriptor = fld[i]; - String colname = fieldDescriptor.getFullColumnName(); - if(exists(colsInDb, colname)){ + String colname = fieldDescriptor.getColumnName(); + if(!exists(colsInDb, colname)){ // alter table to add column logger.info("Altering table [" + tname + "] - adding column [" + colname + "]"); AlterTableQuery altq = factory.getAlterTableQuery(); - altq.setTable("tname"); + altq.setTable(tname); altq.addColumn(new Column(colname, fieldDescriptor.getColumnJdbcType())); altq.execute(st); @@ -222,13 +224,17 @@ CreateTableQuery ctq = factory.getCreateTableQuery(); ctq.setName(tname); FieldDescriptor fld[] = cld.getFieldDescriptions(); - for (int i = 0; i < fld.length; i++) - { - FieldDescriptor fieldDescriptor = fld[i]; - String colname = fieldDescriptor.getFullColumnName(); - ctq.addColumn(new Column(colname, fieldDescriptor.getColumnJdbcType())); + if(fld != null){ + for (int i = 0; i < fld.length; i++) + { + FieldDescriptor fieldDescriptor = fld[i]; + String colname = fieldDescriptor.getColumnName(); + ctq.addColumn(new Column(colname, fieldDescriptor.getColumnJdbcType())); + } + ctq.execute(st); + //System.out.println(ctq); + tableNames.add(tname); } - ctq.execute(st); } } @@ -257,6 +263,7 @@ { String s = (String) tableNames.get(i); if(s.equalsIgnoreCase(tname)){ + //System.out.println("table exists: " + tname + " - " + s); return true; }