You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2005/12/14 17:31:25 UTC

svn commit: r356798 - in /db/ddlutils/trunk/src/java/org/apache/ddlutils: ./ io/ platform/ task/

Author: tomdz
Date: Wed Dec 14 08:31:21 2005
New Revision: 356798

URL: http://svn.apache.org/viewcvs?rev=356798&view=rev
Log:
Some javadoc fixes
Added ability to turn off XML validation for the DatabaseIO class
Some exception handling fixes in the Ant tasks

Modified:
    db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/io/DatabaseIO.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java Wed Dec 14 08:31:21 2005
@@ -622,7 +622,7 @@
      * 
      * @param connection The database connection
      * @param model      The database model to use
-     * @param dynaBean   The bean
+     * @param dynaBeans  The beans
      */
     public void insert(Connection connection, Database model, Collection dynaBeans) throws DynaSqlException;
 

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/io/DatabaseIO.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/io/DatabaseIO.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/io/DatabaseIO.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/io/DatabaseIO.java Wed Dec 14 08:31:21 2005
@@ -44,10 +44,32 @@
  */
 public class DatabaseIO
 {
+    /** Whether to validate the XML. */
+    private boolean _validateXml = true;
     /** Whether to use the internal dtd that comes with DdlUtils. */
     private boolean _useInternalDtd = true;
 
     /**
+     * Returns whether XML is validated upon reading it.
+     * 
+     * @return <code>true</code> if read XML is validated
+     */
+    public boolean isValidateXml()
+    {
+        return _validateXml;
+    }
+
+    /**
+     * Specifies whether XML shall be validated upon reading it.
+     * 
+     * @param validateXml <code>true</code> if read XML shall be validated
+     */
+    public void setValidateXml(boolean validateXml)
+    {
+        _validateXml = validateXml;
+    }
+
+    /**
      * Returns whether the internal dtd that comes with DdlUtils is used.
      * 
      * @return <code>true</code> if parsing uses the internal dtd
@@ -79,6 +101,7 @@
         reader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(true);
         reader.getXMLIntrospector().getConfiguration().setWrapCollectionsInElement(false);
         reader.getXMLIntrospector().getConfiguration().setElementNameMapper(new HyphenatedNameMapper());
+        reader.setValidating(isValidateXml());
         if (isUseInternalDtd())
         {
             reader.setEntityResolver(new LocalEntityResolver());

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java Wed Dec 14 08:31:21 2005
@@ -38,8 +38,6 @@
     public AxionBuilder(PlatformInfo info)
     {
         super(info);
-        info.setUseDelimitedIdentifiers(false);
-        info.setCommentsSupported(false);
     }
 
     /**

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java Wed Dec 14 08:31:21 2005
@@ -42,12 +42,15 @@
     {
         PlatformInfo info = new PlatformInfo();
 
+        info.setUseDelimitedIdentifiers(false);
+        info.setCommentsSupported(false);
         info.setRequiringNullAsDefaultValue(false);
         info.setPrimaryKeyEmbedded(true);
         info.setForeignKeysEmbedded(false);
         info.setIndicesEmbedded(false);
         info.addNativeTypeMapping(Types.ARRAY,         "BLOB");
         info.addNativeTypeMapping(Types.BINARY,        "VARBINARY");
+        info.addNativeTypeMapping(Types.BIGINT,        "LONG");
         info.addNativeTypeMapping(Types.BIT,           "BOOLEAN");
         info.addNativeTypeMapping(Types.DECIMAL,       "NUMBER");
         info.addNativeTypeMapping(Types.DISTINCT,      "VARBINARY");
@@ -62,7 +65,6 @@
         info.addNativeTypeMapping(Types.SMALLINT,      "SHORT");
         info.addNativeTypeMapping(Types.STRUCT,        "VARBINARY");
         info.addNativeTypeMapping(Types.TINYINT,       "SHORT");
-        info.addNativeTypeMapping(Types.BIGINT,        "LONG");
         info.addNativeTypeMapping("DATALINK", "VARBINARY");
 
         setSqlBuilder(new AxionBuilder(info));

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/CreateDatabaseCommand.java Wed Dec 14 08:31:21 2005
@@ -82,7 +82,7 @@
         }
         catch (UnsupportedOperationException ex)
         {
-            task.log("Database platform "+getPlatform().getName()+" does not support database creation via JDBC", Project.MSG_ERR);
+            task.log("Database platform "+getPlatform().getName()+" does not support database creation via JDBC or there was an error while creating it: "+ex.getMessage(), Project.MSG_ERR);
         }
         catch (Exception ex)
         {

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java Wed Dec 14 08:31:21 2005
@@ -121,6 +121,16 @@
     }
 
     /**
+     * Returns the commands.
+     * 
+     * @return The commands
+     */
+    protected Iterator getCommands()
+    {
+        return _commands.iterator();
+    }
+    
+    /**
      * Creates the platform for the configured database.
      * 
      * @return The platform
@@ -144,7 +154,7 @@
      */
     protected void executeCommands(Database model) throws BuildException
     {
-        for (Iterator it = _commands.iterator(); it.hasNext();)
+        for (Iterator it = getCommands(); it.hasNext();)
         {
             Command cmd = (Command)it.next();
 

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DdlToDatabaseTask.java Wed Dec 14 08:31:21 2005
@@ -45,7 +45,7 @@
     /**
      * Specifies whether XML input files are validated against the internal or an external DTD.
      *
-     * @param isValidating <code>true</code> if input files are to be validated against the internal DTD
+     * @param useInternalDtd <code>true</code> if input files are to be validated against the internal DTD
      */
     public void setUseInternalDtd(boolean useInternalDtd)
     {

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java?rev=356798&r1=356797&r2=356798&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java Wed Dec 14 08:31:21 2005
@@ -136,41 +136,55 @@
         }
         catch (Exception ex)
         {
-            throw new BuildException(ex);
+            if (ex instanceof BuildException)
+            {
+                throw (BuildException)ex;
+            }
+            else
+            {
+                throw new BuildException(ex);
+            }
         }
     }
 
     /**
      * Reads a single data file.
      * 
-     * @param task       The parent task
-     * @param reader     The data reader
-     * @param schemaFile The schema file
+     * @param task     The parent task
+     * @param reader   The data reader
+     * @param dataFile The schema file
      */
-    private void readSingleDataFile(Task task, DataReader reader, File schemaFile)
+    private void readSingleDataFile(Task task, DataReader reader, File dataFile)
     {
-        if (!schemaFile.exists())
+        if (!dataFile.exists())
         {
-            task.log("Could not find data file "+schemaFile.getAbsolutePath(), Project.MSG_ERR);
+            task.log("Could not find data file "+dataFile.getAbsolutePath(), Project.MSG_ERR);
         }
-        else if (!schemaFile.isFile())
+        else if (!dataFile.isFile())
         {
-            task.log("Path "+schemaFile.getAbsolutePath()+" does not denote a data file", Project.MSG_ERR);
+            task.log("Path "+dataFile.getAbsolutePath()+" does not denote a data file", Project.MSG_ERR);
         }
-        else if (!schemaFile.canRead())
+        else if (!dataFile.canRead())
         {
-            task.log("Could not read data file "+schemaFile.getAbsolutePath(), Project.MSG_ERR);
+            task.log("Could not read data file "+dataFile.getAbsolutePath(), Project.MSG_ERR);
         }
         else
         {
             try
             {
-                reader.parse(schemaFile);
-                task.log("Read data file "+schemaFile.getAbsolutePath(), Project.MSG_INFO);
+                reader.parse(dataFile);
+                task.log("Read data file "+dataFile.getAbsolutePath(), Project.MSG_INFO);
             }
             catch (Exception ex)
             {
-                throw new BuildException("Could not read data file "+schemaFile.getAbsolutePath(), ex);
+                if (isFailOnError())
+                {
+                    throw new BuildException("Could not read data file "+dataFile.getAbsolutePath(), ex);
+                }
+                else
+                {
+                    task.log("Could not read data file "+dataFile.getAbsolutePath(), Project.MSG_ERR);
+                }
             }
         }
     }