Hi. A feature that *might* be useful for other databases than oracle should be implemented as such. How about adding an attribute to the middlegen task:
useschemaprefix="true|false" If you set it to true: -> schema.table If you set it to false: -> table /Aslak > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On Behalf Of Matthias > Flor > Sent: 27. august 2002 18:55 > To: [EMAIL PROTECTED] > Subject: [Middlegen-user] Patch for Oracle Schema w/ middlegen > > > Hi, > this is for the oracle baseheads out there: > Whenever you set up a database-instance in Oracle it's a good practice > to create an own user for it. Let's say for the Airline-Sample you will > create the user airline. Like this: > > create user airline identified by airline; > grant resource, connect, create public synonym, drop public synonym to > airline; > grant create role, alter any role, drop any role, grant any role > to airline; > grant create user, alter user, drop user to airline; > grant create snapshot to airline; > > With sqlplus can query the existing tables without the schema-prefix. > > Run ant create-tables with the user airline. > Whether or not you have put schema=${database.schema} in the > sample-build file Middlegen tries to create Java-Files with the > Schema-Prefix (The table is named airline.persons instead of Persons for > example). The table columns won't be recognized either. You can work > around the former by editing the fields base-class-name in > src/airline.prefs. But you can't create useful Beans without the latter > case. > > Thus, I would propose the following patch. It prohibits the reporting of > the oracle schema whenever a oracle database is used. > > The drawback of this solution (workaround?) is that you must explicit > name the tables in the sample build-file. > > I just posted this topic here to get to know if this patch is reasonable > or if there is a better solution. If it's reasonable I will submit the > patch at sf. > > Cheers, > Matthias > > --- > middlegen-2002-08-26/src/java/middlegen/MiddlegenPopulator.java > Mon Aug 26 12:00:33 2002 > +++ > middlegen-2002-08-26-patched/src/java/middlegen/MiddlegenPopulat > or.java Tue Aug 27 13:27:52 2002 > @@ -96,6 +96,11 @@ > private final Collection EMPTY_COLLECTION = new ArrayList(0); > > /** > + > * This member gets true if a oracle database is used. > + > */ > + > private static boolean _oracleschema = false; > + > + > /** > * Get static reference to Log4J Logger > */ > private static org.apache.log4j.Category _log = > org.apache.log4j.Category.getInstance(MiddlegenPopulator.class.getName()); > @@ -684,6 +689,7 @@ > > // null will also retrieve objects for which only synonyms > exists, but > this objects will not > > // be successfully processed anyway - did not check why -probably > columns not retrieved > > _types = new String[]{"TABLE", "VIEW"}; > + > _oracleschema = true; > } > > // MSSQL TUNING > @@ -830,7 +836,7 @@ > boolean nullschema = schema == null; > boolean nonameschema = schema.trim().equals(""); > boolean alreadyschema = table.indexOf('.') != -1; > - > if (!nullschema && !nonameschema && !alreadyschema) { > + > if (!nullschema && !nonameschema && !alreadyschema && > !_oracleschema) { > > return schema + "." + table; > } > else { > > > > ------------------------------------------------------- > This sf.net email is sponsored by: OSDN - Tired of that same old > cell phone? Get a new here for FREE! > https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 > _______________________________________________ > middlegen-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/middlegen-user ------------------------------------------------------- This sf.net email is sponsored by: OSDN - Tired of that same old cell phone? Get a new here for FREE! https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 _______________________________________________ middlegen-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/middlegen-user
