dirkv       01/09/20 17:57:41

  Modified:    src/stores/slidestore/reference JDBCContentStore.java
                        JDBCDescriptorsStore.java
  Log:
  separate create statements from other code.
  start with autocommit true
  
  Revision  Changes    Path
  1.11      +27 -8     
jakarta-slide/src/stores/slidestore/reference/JDBCContentStore.java
  
  Index: JDBCContentStore.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/slidestore/reference/JDBCContentStore.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JDBCContentStore.java     2001/08/31 21:37:32     1.10
  +++ JDBCContentStore.java     2001/09/21 00:57:41     1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/stores/slidestore/reference/JDBCContentStore.java,v 1.10 
2001/08/31 21:37:32 dirkv Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/08/31 21:37:32 $
  + * $Header: 
/home/cvs/jakarta-slide/src/stores/slidestore/reference/JDBCContentStore.java,v 1.11 
2001/09/21 00:57:41 dirkv Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/09/21 00:57:41 $
    *
    * ====================================================================
    *
  @@ -90,7 +90,7 @@
    * JDBC 2.0 compliant implementation of ContentStore.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
  - * @version $Revision: 1.10 $
  + * @version $Revision: 1.11 $
    */
   public class JDBCContentStore extends AbstractSimpleService
       implements ContentStore {
  @@ -104,8 +104,8 @@
       protected static final int REVISION_URI = 1;
       protected static final int REVISION_NUMBER = 2;
       protected static final int REVISION_CONTENT = 3;
  +  
       
  -    
       // ----------------------------------------------------- Instance Variables
       
       
  @@ -141,6 +141,17 @@
       
       // -------------------------------------------------------- Service Methods
       
  +    /**
  +     * Returns the sql statements to create the database objects.
  +     */
  +    protected String[] getDatabaseCreateStatements()
  +    {
  +        String[] statements = {
  +           "create table revisioncontent(uri varchar(65536), " +
  +           "xnumber varchar(20), content LONGVARBINARY)"};
  +    
  +        return statements;
  +    }
       
       /**
        * Read parameters.
  @@ -198,12 +209,20 @@
               getLogger().log(e.toString(),LOG_CHANNEL,Logger.ERROR);
               throw new ServiceConnectionFailedException(this, e);
           }
  +        
  +        // Start with autocommit true (start of transaction will set it to false)
  +        try {
  +            connection.setAutoCommit(true);
  +        } catch (SQLException e) {
  +        }
  +        
           Statement statement = null;
           try {
               statement = connection.createStatement();
  -            String s = "create table revisioncontent(uri varchar(65536), "
  -                + "xnumber varchar(20), content LONGVARBINARY)";
  -            statement.execute(s);
  +            String[] statements = getDatabaseCreateStatements();
  +            for (int i=0; i<statements.length ; i++ ) {
  +                statement.execute(statements[i]);
  +            }
           } catch (SQLException e) {
           } finally {
               closeStatement(statement);
  
  
  
  1.26      +51 -43    
jakarta-slide/src/stores/slidestore/reference/JDBCDescriptorsStore.java
  
  Index: JDBCDescriptorsStore.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/slidestore/reference/JDBCDescriptorsStore.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- JDBCDescriptorsStore.java 2001/08/31 21:53:12     1.25
  +++ JDBCDescriptorsStore.java 2001/09/21 00:57:41     1.26
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/stores/slidestore/reference/JDBCDescriptorsStore.java,v 
1.25 2001/08/31 21:53:12 dirkv Exp $
  - * $Revision: 1.25 $
  - * $Date: 2001/08/31 21:53:12 $
  + * $Header: 
/home/cvs/jakarta-slide/src/stores/slidestore/reference/JDBCDescriptorsStore.java,v 
1.26 2001/09/21 00:57:41 dirkv Exp $
  + * $Revision: 1.26 $
  + * $Date: 2001/09/21 00:57:41 $
    *
    * ====================================================================
    *
  @@ -86,7 +86,7 @@
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Remy Maucherat</a>
    * @author Dirk Verbeeck
  - * @version $Revision: 1.25 $
  + * @version $Revision: 1.26 $
    */
   
   public class JDBCDescriptorsStore
  @@ -164,41 +164,6 @@
       protected static final int PROPERTY_TYPE = 6;
       protected static final int PROPERTY_PROTECTED = 7;
   
  -    /**
  -     * Statements to create the database objects.
  -     */
  -    protected static String[] DB_CREATE_STATEMENTS = {
  -        "create table objects(uri varchar(65536) primary key," +
  -        "    classname varchar(4096))",
  -        "create table children(uri varchar(65536), " +
  -        "    childuri varchar(65536))",
  -        "create table links(link varchar(65536), " +
  -        "    linkto varchar(65536))",
  -        "create table permissions(object varchar(65536)," +
  -        "    revisionnumber varchar(20), " +
  -        "    subject varchar(65536), action varchar(65536), " +
  -        "    inheritable int, negative int)",
  -        "create table locks(id varchar(65536), object varchar(4096)," +
  -        "    subject varchar(4096), type varchar(4096), " +
  -        "    expirationdate varchar(15), inheritable int, " +
  -        "    xexclusive int)",
  -        "create table revisions(uri varchar(65536) primary key, " +
  -        "    isversioned int, initialrevision varchar(10))",
  -        "create table workingrevision(uri varchar(65536), " +
  -        "    baserevision varchar(20), xnumber varchar(20))",
  -        "create table latestrevisions(uri varchar(65536), " +
  -        "    branchname varchar(4096), xnumber varchar(20))",
  -        "create table branches(uri varchar(65536), xnumber varchar(20)," +
  -        "    childnumber varchar(20))",
  -        "create table revision(uri varchar(65536), xnumber varchar(20)," +
  -        "    branchname varchar(4096))",
  -        "create table label(uri varchar(65536), xnumber varchar(20)," +
  -        "    label varchar(4096))",
  -        "create table property(uri varchar(65536), xnumber varchar(20)," +
  -        "    name varchar(4096), value varchar(65536), " +
  -        "    namespace varchar(4096), type varchar(100), protected int)"};
  -    
  -        
       
       // ----------------------------------------------------- Instance Variables
       
  @@ -241,6 +206,44 @@
       
       // -------------------------------------------------------- Service Methods
       
  +    /**
  +     * Returns the sql statements to create the database objects.
  +     */
  +    protected String[] getDatabaseCreateStatements()
  +    {
  +        String[] statements = {
  +            "create table objects(uri varchar(65536) primary key," +
  +            "    classname varchar(4096))",
  +            "create table children(uri varchar(65536), " +
  +            "    childuri varchar(65536))",
  +            "create table links(link varchar(65536), " +
  +            "    linkto varchar(65536))",
  +            "create table permissions(object varchar(65536)," +
  +            "    revisionnumber varchar(20), " +
  +            "    subject varchar(65536), action varchar(65536), " +
  +            "    inheritable int, negative int)",
  +            "create table locks(id varchar(65536), object varchar(4096)," +
  +            "    subject varchar(4096), type varchar(4096), " +
  +            "    expirationdate varchar(15), inheritable int, " +
  +            "    xexclusive int)",
  +            "create table revisions(uri varchar(65536) primary key, " +
  +            "    isversioned int, initialrevision varchar(10))",
  +            "create table workingrevision(uri varchar(65536), " +
  +            "    baserevision varchar(20), xnumber varchar(20))",
  +            "create table latestrevisions(uri varchar(65536), " +
  +            "    branchname varchar(4096), xnumber varchar(20))",
  +            "create table branches(uri varchar(65536), xnumber varchar(20)," +
  +            "    childnumber varchar(20))",
  +            "create table revision(uri varchar(65536), xnumber varchar(20)," +
  +            "    branchname varchar(4096))",
  +            "create table label(uri varchar(65536), xnumber varchar(20)," +
  +            "    label varchar(4096))",
  +            "create table property(uri varchar(65536), xnumber varchar(20)," +
  +            "    name varchar(4096), value varchar(65536), " +
  +            "    namespace varchar(4096), type varchar(100), protected int)"};
  +
  +        return statements;
  +    }
       
       /**
        * Initializes the data source with a set of parameters.
  @@ -306,15 +309,20 @@
               getLogger().log(e.toString(),LOG_CHANNEL,Logger.ERROR);
               throw new ServiceConnectionFailedException(this, e);
           }
  +
  +        // Start with autocommit true (start of transaction will set it to false)
  +        try {
  +            connection.setAutoCommit(false);
  +        } catch (SQLException e) {
  +        }
           
           Statement statement = null;
           try {
               statement = connection.createStatement();
  -            for (int i=0; i<DB_CREATE_STATEMENTS.length ; i++ ) {
  -                statement.execute(DB_CREATE_STATEMENTS[i]);
  +            String[] statements = getDatabaseCreateStatements();
  +            for (int i=0; i<statements.length ; i++ ) {
  +                statement.execute(statements[i]);
               }
  -            closeStatement(statement);
  -            
           } catch (SQLException e) {
           } finally {
               closeStatement(statement);
  
  
  

Reply via email to