mpoeschl    02/04/11 10:10:40

  Modified:    src/conf build-torque.xml
  Added:       src/templates/ojb/repository Control.vm MainRepository.vm
                        Repository.vm
               src/templates/ojb/model Control.vm Object.vm
               src/ojbtest ojbcore-schema.xml ojbtest-schema.xml
  Log:
  added some generation stuff for ojb
  (not fully working)
  the torque generation stuff will be separated later, but i'll add the ojb stuuf here 
for now
  
  Revision  Changes    Path
  1.23      +66 -0     jakarta-turbine-torque/src/conf/build-torque.xml
  
  Index: build-torque.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-torque/src/conf/build-torque.xml,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- build-torque.xml  10 Apr 2002 22:24:46 -0000      1.22
  +++ build-torque.xml  11 Apr 2002 17:10:40 -0000      1.23
  @@ -676,5 +676,71 @@
       </javadoc>
     </target>
   
  +  <!-- =================================================================== -->
  +  <!-- =================================================================== -->
  +  <!-- O J B   S T U F F                                                   -->
  +  <!-- =================================================================== -->
  +  <!-- =================================================================== -->
  +  
  +  <target
  +    name="project-ojb-repository">
  +
  +    <echo message="+------------------------------------------+"/>
  +    <echo message="|                                          |"/>
  +    <echo message="| Generating OJB repository                |"/>
  +    <echo message="|                                          |"/>
  +    <echo message="+------------------------------------------+"/>
  +
  +    <taskdef
  +      name="ojb-repository"
  +      classname="org.apache.torque.task.TorqueObjectModelTask">
  +      <classpath refid="torque-classpath"/>
  +    </taskdef>
  +
  +    <ojb-repository
  +      contextProperties="${build.properties}"
  +      controlTemplate="ojb/repository/Control.vm"
  +      targetPackage="${targetPackage}.om"
  +      targetDatabase="${database}"
  +      outputDirectory="${torque.home}/${outputDirectory}/ojb"
  +      templatePath="${templatePath}"
  +      sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
  +      outputFile="report.${project}.ojb.generation">
  +      <fileset dir="${torque.home}/${schemaDirectory}">
  +        <include name="*-schema.xml"/>
  +      </fileset>
  +    </ojb-repository>
  +  </target>
  +  
  +  <target
  +    name="project-ojb-model">
  +
  +    <echo message="+------------------------------------------+"/>
  +    <echo message="|                                          |"/>
  +    <echo message="| Generating OJB model                     |"/>
  +    <echo message="|                                          |"/>
  +    <echo message="+------------------------------------------+"/>
  +
  +    <taskdef
  +      name="ojb-model"
  +      classname="org.apache.torque.task.TorqueObjectModelTask">
  +      <classpath refid="torque-classpath"/>
  +    </taskdef>
  +
  +    <ojb-model
  +      contextProperties="${build.properties}"
  +      controlTemplate="ojb/model/Control.vm"
  +      targetPackage="${targetPackage}.om"
  +      targetDatabase="${database}"
  +      outputDirectory="${torque.home}/${outputDirectory}/ojb"
  +      templatePath="${templatePath}"
  +      sqldbmap="${torque.home}/${outputDirectory}/sql/sqldb.map"
  +      outputFile="report.${project}.ojb.generation">
  +      <fileset dir="${torque.home}/${schemaDirectory}">
  +        <include name="*-schema.xml"/>
  +      </fileset>
  +    </ojb-model>
  +  </target>
  +  
   </project>
   
  
  
  
  1.1                  jakarta-turbine-torque/src/templates/ojb/repository/Control.vm
  
  Index: Control.vm
  ===================================================================
  #set ( $basepath = $generator.OutputPath)
  
  
$generator.parse("ojb/repository/MainRepository.vm","repository.xml","dataModels",$dataModels)
  
  #foreach ($dataModel in $dataModels)
  
    #set ( $outFile = "repository_${dataModel.name}.xml" )
  
    File to be created: $outFile
    $generator.parse("ojb/repository/Repository.vm",$outFile,"dataModel",$dataModel)
   
  #end
  
  
  
  1.1                  
jakarta-turbine-torque/src/templates/ojb/repository/MainRepository.vm
  
  Index: MainRepository.vm
  ===================================================================
  #set ( $database = $dataModel.database )
  
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!-- defining entities for include-files -->
  <!DOCTYPE MappingRepository SYSTEM "repository.dtd" [
  <!ENTITY user SYSTEM "repository_user.xml">
  <!ENTITY junit SYSTEM "repository_junit.xml">
  <!ENTITY internal SYSTEM "repository_internal.xml">
  ]>
  
  <MappingRepository>
  <!-- The Default JDBC Connection. If a Class does not specify its own JDBC 
Connection,
       the Connection specified here will be used. -->
  
     <JdbcConnectionDescriptor id="default">
        <dbms.name>Hsqldb</dbms.name>
        <driver.name>org.hsqldb.jdbcDriver</driver.name>
        <url.protocol>jdbc</url.protocol>
        <url.subprotocol>hsqldb</url.subprotocol>
        <url.dbalias>../OJB</url.dbalias>
        <!--url.dbalias>ojb-1-0/build/test/OJB</url.dbalias-->
        <user.name>sa</user.name>
        <user.passwd></user.passwd>
     </JdbcConnectionDescriptor>
  
      <!-- include user defined mappings here -->
      &user;
  
      <!-- include mappings for JUnit tests and sample apps here -->
      &junit;
  
      <!-- include ojb internal mappings here -->
      &internal;
  
  </MappingRepository>
  
  
  
  1.1                  
jakarta-turbine-torque/src/templates/ojb/repository/Repository.vm
  
  Index: Repository.vm
  ===================================================================
  #set ( $database = $dataModel.database )
  
  #foreach ($table in $database.tables)
    <ClassDescriptor id="$velocityCount">
      <class.name>${table.getDatabase().getPackage()}${table.JavaName}</class.name>
      <class.proxy>dynamic</class.proxy>
      <class.extent>test.ojb.broker.BookArticle</class.extent>
      <class.extent>test.ojb.broker.CdArticle</class.extent>
      <table.name>$table.Name</table.name>
      
<conversionStrategy>test.ojb.broker.ArticleConversionStrategy</conversionStrategy>
    #foreach ($col in $table.Columns)
      <FieldDescriptor id="$velocityCount">
         <field.name>$col.JavaName</field.name>
         <column.name>$col.Name</column.name>
         <jdbc_type>INTEGER</jdbc_type>
         <PrimaryKey>$col.isPrimaryKey()</PrimaryKey>
         <autoincrement>true</autoincrement>
      </FieldDescriptor>
    #end
    </ClassDescriptor>
  #end
  
  
  
  
  
  1.1                  jakarta-turbine-torque/src/templates/ojb/model/Control.vm
  
  Index: Control.vm
  ===================================================================
  #set ( $basepath = $generator.OutputPath)
  
  #foreach ($dataModel in $dataModels)
    #foreach ($database in $dataModel.Databases)
    
      #if ($database.Package)
        #set ($package = $database.Package)   
      #else   
        #set ($package = $targetPackage)
      #end
    
      #set ( $path = $strings.getPackageAsPath($package) )
      $files.mkdir("$outputDirectory/$path")
    
      #foreach ($tbl in $database.Tables)
        $tbl.Name
        #set ( $firstcap=$tbl.JavaName )
        #set ( $fname = "${firstcap}.java" )
        #set ( $path = "${strings.getPackageAsPath($package)}$fname" )
        $generator.parse("ojb/model/Object.vm",$path,"table",$tbl)
      #end
    #end
  
  #end
  
  
  
  1.1                  jakarta-turbine-torque/src/templates/ojb/model/Object.vm
  
  Index: Object.vm
  ===================================================================
  #set ($db = $table.Database)
  #if ($db.Package)
      #set ($package = $db.Package)
  #else
      #set ($package = $targetPackage)
  #end
  package ${package};
  
  #if ($table.BaseClass == "")
      #set ($extendsBaseClass = "" )
  #else
      #set ($extendsBaseClass = "extends $table.BaseClass" )
  #end
  
  import java.io.Serializable;
  
  /**
   * $table.Name
   *
   * [$now]
   */
  public class $table.JavaName $extendsBaseClass 
          implements Serializable
  {
  
      #foreach ($col in $table.Columns)
      private $col.JavaNative $col.Name.toLowerCase() = null; 
      #end
  
      #foreach ($col in $table.Columns)
          #set ( $cfc=$col.JavaName )
          #set ( $clo=$col.Name.toLowerCase() )
          #set ( $cjtype = $col.JavaNative )
  
      /**
       * Get the $cfc
       * @return $cjtype
       */
      public $cjtype get${cfc}()
      {
          return $clo;
      }
  
      /**
       * Set the value of $cfc
       */
      public void set${cfc}($cjtype v )
      {
          this.$clo = v;
      }
      
      #end
  }
  
  
  
  1.1                  jakarta-turbine-torque/src/ojbtest/ojbcore-schema.xml
  
  Index: ojbcore-schema.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
  <!DOCTYPE database SYSTEM "http://jakarta.apache.org/turbine/dtd/database.dtd";>
  
  <database 
    name="@DATABASE_DEFAULT@" 
    defaultIdMethod="@DATABASE_ID_METHOD@">
  
    <table name="OJB_SEQ" description="OJB SequenceManager table">
      <column name="CLASSNAME" required="true" primaryKey="true" type="VARCHAR" 
size="175"/>
      <column name="FIELDNAME" required="true" primaryKey="true" type="VARCHAR" 
size="70"/>
      <column name="LAST_NUM" type="INTEGER"/>
    </table>
    
    <table name="OJB_HL_SEQ" description="HIGH/LOW SequenceManager table">
      <column name="CLASSNAME" required="true" primaryKey="true" type="VARCHAR" 
size="175"/>
      <column name="FIELDNAME" required="true" primaryKey="true" type="VARCHAR" 
size="70"/>
      <column name="MAX_KEY" type="INTEGER"/>
      <column name="GRAB_SIZE" type="INTEGER"/>
    </table>
  
    <table name="OJB_LOCKENTRY" description="OJB Lock table">
      <column name="OID_" required="true" primaryKey="true" type="VARCHAR" size="250"/>
      <column name="TX_ID" required="true" primaryKey="true" type="VARCHAR" size="50"/>
      <column name="TIMESTAMP_" type="DECIMAL"/>
      <column name="ISOLATIONLEVEL" type="INTEGER"/>
      <column name="LOCKTYPE" type="INTEGER"/>
    </table>
  
    <table name="OJB_NRM" description="OJB NAMED ROOTS Table">
      <column name="NAME" required="true" primaryKey="true" type="VARCHAR" size="250"/>
      <column name="OID_" type="VARCHAR" size="1024"/>
    </table>
  
    <table name="OJB_DLIST" description="DLIST IMPLEMENTATION">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="SIZE_" type="INTEGER"/>
    </table>
  
    <table name="OJB_DLIST_ENTRIES" description="DList entry table">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="DLIST_ID" required="true" type="INTEGER"/>
      <column name="POSITION_" type="INTEGER"/>
      <column name="OID_" type="VARCHAR" size="1024"/>
    </table>
  
    <table name="OJB_DSET" description="DSET IMPLEMENTATION">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="SIZE_" type="INTEGER"/>
    </table>
  
    <table name="OJB_DSET_ENTRIES" description="DSet entry table">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="DLIST_ID" required="true" type="INTEGER"/>
      <column name="POSITION_" type="INTEGER"/>
      <column name="OID_" type="VARCHAR" size="1024"/>
    </table>
  
    <table name="OJB_DMAP" description="DMap table">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="SIZE_" type="INTEGER"/>
    </table>
  
    <table name="OJB_DMAP_ENTRIES" description="DMap entry table">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="DMAP_ID" required="true" type="INTEGER"/>
      <column name="KEY_OID" type="VARCHAR" size="1024"/>
      <column name="VALUE_OID" type="VARCHAR" size="1024"/>
    </table>
    
  </database>
  
  
  
  1.1                  jakarta-turbine-torque/src/ojbtest/ojbtest-schema.xml
  
  Index: ojbtest-schema.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
  <!DOCTYPE database SYSTEM "http://jakarta.apache.org/turbine/dtd/database.dtd";>
  
  
  <database 
    name="@DATABASE_DEFAULT@" 
    defaultIdMethod="@DATABASE_ID_METHOD@">
  
    <!-- =================================================== -->
    <!-- B O O K  T A B L E                                  -->
    <!-- =================================================== -->
  
    <!--
    <table name="">
      <column name="" required="true" primaryKey="true" type="INTEGER"/>
      <column name="" required="true" type=""/>
      <foreign-key foreignTable="">
        <reference local="" foreign=""/>
      </foreign-key>
    </table>
    -->
  
    <table name="Artikel">
      <column name="Artikel_Nr" required="true" primaryKey="true" type="INTEGER"/>
      <column name="Artikelname" type="VARCHAR" size="60"/>
      <column name="Lieferanten_Nr" type="INTEGER"/>
      <column name="Kategorie_Nr" type="INTEGER"/>
      <column name="Liefereinheit" type="VARCHAR" size="30"/>
      <column name="Einzelpreis" type="FLOAT"/>
      <column name="Lagerbestand" type="INTEGER"/>
      <column name="BestellteEinheiten" type="INTEGER"/>
      <column name="MindestBestand" type="INTEGER"/>
      <column name="Auslaufartikel" type="INTEGER"/>
    </table>
    
    <table name="BOOKS">
      <column name="Artikel_Nr" required="true" primaryKey="true" type="INTEGER"/>
      <column name="Artikelname" type="VARCHAR" size="60"/>
      <column name="Lieferanten_Nr" type="INTEGER"/>
      <column name="Kategorie_Nr" type="INTEGER"/>
      <column name="Liefereinheit" type="VARCHAR" size="30"/>
      <column name="Einzelpreis" type="FLOAT"/>
      <column name="Lagerbestand" type="INTEGER"/>
      <column name="BestellteEinheiten" type="INTEGER"/>
      <column name="MindestBestand" type="INTEGER"/>
      <column name="Auslaufartikel" type="INTEGER"/>
      <column name="ISBN" type="CHAR" size="10"/>
      <column name="AUHOR" type="VARCHAR" size="50"/>
    </table>
  
    <table name="CDS">
      <column name="Artikel_Nr" required="true" primaryKey="true" type="INTEGER"/>
      <column name="Artikelname" type="VARCHAR" size="60"/>
      <column name="Lieferanten_Nr" type="INTEGER"/>
      <column name="Kategorie_Nr" type="INTEGER"/>
      <column name="Liefereinheit" type="VARCHAR" size="30"/>
      <column name="Einzelpreis" type="FLOAT"/>
      <column name="Lagerbestand" type="INTEGER"/>
      <column name="BestellteEinheiten" type="INTEGER"/>
      <column name="MindestBestand" type="INTEGER"/>
      <column name="Auslaufartikel" type="INTEGER"/>
      <column name="LABEL" type="VARCHAR" size="50"/>
      <column name="MUSICIANS" type="VARCHAR" size="250"/>
    </table>
  
    <table name="Kategorien">
      <column name="Kategorie_Nr" required="true" primaryKey="true" type="INTEGER"/>
      <column name="KategorieName" type="VARCHAR" size="20"/>
      <column name="Beschreibung" type="VARCHAR" size="60"/>
    </table>
  
    <table name="ORDER_POSITION">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="ORDER_ID" type="INTEGER"/>
      <column name="ARTICLE_ID" type="INTEGER"/>
    </table>
  
    <table name="TREE">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="DATA" type="VARCHAR" size="50"/>
      <column name="PARENT_ID" type="INTEGER"/>
    </table>
  
    <table name="TREEGROUP">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="DATA" type="VARCHAR" size="50"/>
      <column name="PARENT_ID" type="INTEGER"/>
      <column name="GROUP_ID" type="INTEGER"/>
    </table>
  
    <table name="AB_TABLE">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="CLASS_NAME" type="VARCHAR" size="60"/>
      <column name="VALUE_" type="INTEGER"/>
    </table>
  
    <!-- Product Table for Tutorial 1 & 2 -->
    <table name="PRODUCT">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="NAME" type="VARCHAR" size="100"/>
      <column name="PRICE" type="FLOAT"/>
      <column name="STOCK" type="INTEGER"/>
    </table>
  
    <table name="PERSON">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="FIRSTNAME" type="VARCHAR" size="50"/>
      <column name="LASTNAME" type="VARCHAR" size="50"/>
    </table>
  
    <table name="PROJECT">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="TITLE" type="VARCHAR" size="50"/>
      <column name="DESCRIPTION" type="VARCHAR" size="250"/>
    </table>
  
    <table name="PERSON_PROJECT">
      <column name="PERSON_ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="PROJECT_ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="ROLENAME" type="VARCHAR" size="20"/>
    </table>
    
    <table name="FAMILY_MEMBER">
      <column name="ID" required="true" primaryKey="true" type="INTEGER"/>
      <column name="FIRSTNAME" type="VARCHAR" size="50"/>
      <column name="LASTNAME" type="VARCHAR" size="50"/>
      <column name="MOTHER_ID" type="INTEGER"/>
      <column name="FATHER_ID" type="INTEGER"/>
    </table>
  
  <!--
  e CREATE TABLE LOCKED_BY_VERSION (
      ID          INT NOT NULL PRIMARY KEY,
      VALUE_      VARCHAR(60),
      VERSION_    INT
    );
  
  e CREATE TABLE LOCKED_BY_TIMESTAMP (
      ID          INT NOT NULL PRIMARY KEY,
      VALUE_      VARCHAR(60),
      TIMESTAMP_ TIMESTAMP
    );
  
  e CREATE TABLE BLOB_TEST (
      ID          INT NOT NULL PRIMARY KEY,
      BLOB_VALUE_ LONGVARBINARY,
      CLOB_VALUE_ LONGVARCHAR
  );
  
  e CREATE TABLE MDTEST_MASTER (
      MASTERID    INT NOT NULL PRIMARY KEY,
      MASTER_TEXT VARCHAR(255)
    );
  ;    
  
  e CREATE TABLE MDTEST_DETAIL_FKINPK (
      MASTERID    INT NOT NULL,
      DETAILID    INT NOT NULL,
      DETAIL_TEXT VARCHAR(255),
      PRIMARY KEY (MASTERID, DETAILID),
      FOREIGN KEY (MASTERID) REFERENCES MDTEST_MASTER(MASTERID)
    );
  ;   
  
  e CREATE TABLE MDTEST_DETAIL_FKNOPK (
      DETAILID    INT NOT NULL PRIMARY KEY,
      MASTERID    INT NOT NULL,
      DETAIL_TEXT VARCHAR(255),
      FOREIGN KEY (MASTERID) REFERENCES MDTEST_MASTER(MASTERID)
    );
  
  ;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;;;;;;;;;;;;;;;;;;;;;;
  ; OJB internal tables, do not modify !!!
  
  ; create the OJB SequenceManager table
  e CREATE TABLE OJB_SEQ (
      CLASSNAME    VARCHAR(175) NOT NULL,
      FIELDNAME    VARCHAR(70) NOT NULL,
      LAST_NUM     INT,
      PRIMARY KEY (CLASSNAME, FIELDNAME)
  );
  
  ; create the HIGH/LOW SequenceManager table
  e CREATE TABLE OJB_HL_SEQ (
      CLASSNAME    VARCHAR(175) NOT NULL,
      FIELDNAME    VARCHAR(70) NOT NULL,
      MAX_KEY      INT,
      GRAB_SIZE    INT,
      PRIMARY KEY (CLASSNAME, FIELDNAME)
  );
  
  
  ; create the OJB Lock table
  e CREATE TABLE OJB_LOCKENTRY (
      OID_           VARCHAR(250) NOT NULL,
      TX_ID          VARCHAR(50) NOT NULL,
  
      TIMESTAMP_     DECIMAL,
      ISOLATIONLEVEL INT,
      LOCKTYPE       INT,
  
      PRIMARY KEY (OID_, TX_ID)
  );
  
  
  ; create the OJB NAMED ROOTS Table
  e CREATE TABLE OJB_NRM (
      NAME         VARCHAR(250) NOT NULL PRIMARY KEY,
  
      OID_         VARCHAR(1024)
  );
  
  
  ;;;; THE DLIST IMPLEMENTATION
  ;;;;
  ; create DList table
  e CREATE TABLE OJB_DLIST (
      ID          INT NOT NULL PRIMARY KEY,
      SIZE_        INT
  );
  
  ; create DList entry table
  e CREATE TABLE OJB_DLIST_ENTRIES (
      ID          INT NOT NULL PRIMARY KEY,
      DLIST_ID    INT NOT NULL,
      POSITION_   INT,
      OID_         VARCHAR(1024)
  
  );
  
  ;;;; THE DSET IMPLEMENTATION
  ;;;;
  ; create DSet table
  e CREATE TABLE OJB_DSET (
      ID          INT NOT NULL PRIMARY KEY,
      SIZE_        INT
  );
  
  ; create DSet entry table
  e CREATE TABLE OJB_DSET_ENTRIES (
      ID          INT NOT NULL PRIMARY KEY,
      DLIST_ID    INT NOT NULL,
      POSITION_   INT,
      OID_         VARCHAR(1024)
  );
  
  ;;;; THE DMAP IMPLEMENTATION
  ;;;;
  ; create DMap table
  e CREATE TABLE OJB_DMAP (
      ID          INT NOT NULL PRIMARY KEY,
      SIZE_        INT
  );
  
  ; create DMap entry table
  e CREATE TABLE OJB_DMAP_ENTRIES (
      ID          INT NOT NULL PRIMARY KEY,
      DMAP_ID     INT NOT NULL,
  
      KEY_OID     VARCHAR(1024),
      VALUE_OID   VARCHAR(1024)
  );
  
  -->
  </database>
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to