Author: curtisr7
Date: Wed Jan 26 18:54:54 2011
New Revision: 1063827

URL: http://svn.apache.org/viewvc?rev=1063827&view=rev
Log:
OPENJPA-1847: Fix NPE in SchemaGenerator and formatting.

Modified:
    
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
    openjpa/trunk/openjpa-persistence-jdbc/pom.xml
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/kernel/BaseJDBCTest.java
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerator.java

Modified: 
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java?rev=1063827&r1=1063826&r2=1063827&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
 (original)
+++ 
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaGenerator.java
 Wed Jan 26 18:54:54 2011
@@ -267,59 +267,52 @@ public class SchemaGenerator {
      * {@link #generatePrimaryKeys}, and {@link #generateForeignKeys}
      * automatically.
      */
-    public void generateSchemas(DBIdentifier[] schemasAndTables)
-        throws SQLException {
+    public void generateSchemas(DBIdentifier[] schemasAndTables) throws 
SQLException {
         fireGenerationEvent(_loc.get("generating-schemas"));
+        // generate all schemas and tables
+        try {
+            getConn();
+            Object[][] schemaMap;
+            if (schemasAndTables == null || schemasAndTables.length == 0)
+                schemaMap = _allowed;
+            else
+                schemaMap = parseSchemasList(schemasAndTables);
 
-        Object[][] schemaMap;
-        if (schemasAndTables == null || schemasAndTables.length == 0)
-            schemaMap = _allowed;
-        else
-            schemaMap = parseSchemasList(schemasAndTables);
-
-        if (schemaMap == null) {
-            generateSchema(DBIdentifier.NULL, (DBIdentifier[])null);
-
-            // estimate the number of schema objects we will need to visit
-            // in order to estimate progress total for any listeners
-            int numTables = getTables(null).size();
-            _schemaObjects += numTables
-                + (_pks ? numTables : 0)
-                + (_indexes ? numTables : 0)
-                + (_fks ? numTables : 0);
-
-            if (_pks)
-                generatePrimaryKeys(DBIdentifier.NULL, null);
-            if (_indexes)
-                generateIndexes(DBIdentifier.NULL, null);
-            if (_fks)
-                generateForeignKeys(DBIdentifier.NULL, null);
-            return;
-        }
+            if (schemaMap == null) {
+                generateSchema(DBIdentifier.NULL, (DBIdentifier[]) null);
+
+                // estimate the number of schema objects we will need to visit
+                // in order to estimate progress total for any listeners
+                int numTables = getTables(null).size();
+                _schemaObjects +=
+                    numTables + (_pks ? numTables : 0) + (_indexes ? numTables 
: 0) + (_fks ? numTables : 0);
+
+                if (_pks)
+                    generatePrimaryKeys(DBIdentifier.NULL, null);
+                if (_indexes)
+                    generateIndexes(DBIdentifier.NULL, null);
+                if (_fks)
+                    generateForeignKeys(DBIdentifier.NULL, null);
+                return;
+            }
 
-        // generate all schemas and tables
-        try{ 
-            getConn(); 
             for (int i = 0; i < schemaMap.length; i++) {
                 generateSchema((DBIdentifier) schemaMap[i][0], 
(DBIdentifier[]) schemaMap[i][1]);
             }
-        
+
             // generate pks, indexes, fks
             DBIdentifier schemaName = DBIdentifier.NULL;
             DBIdentifier[] tableNames;
             for (int i = 0; i < schemaMap.length; i++) {
                 schemaName = (DBIdentifier) schemaMap[i][0];
                 tableNames = (DBIdentifier[]) schemaMap[i][1];
-    
+
                 // estimate the number of schema objects we will need to visit
                 // in order to estimate progress total for any listeners
-                int numTables = (tableNames != null) ? tableNames.length
-                    : getTables(schemaName).size();
-                _schemaObjects += numTables
-                    + (_pks ? numTables : 0)
-                    + (_indexes ? numTables : 0)
-                    + (_fks ? numTables : 0);
-    
+                int numTables = (tableNames != null) ? tableNames.length : 
getTables(schemaName).size();
+                _schemaObjects +=
+                    numTables + (_pks ? numTables : 0) + (_indexes ? numTables 
: 0) + (_fks ? numTables : 0);
+
                 if (_pks) {
                     generatePrimaryKeys(schemaName, tableNames);
                 }
@@ -330,9 +323,8 @@ public class SchemaGenerator {
                     generateForeignKeys(schemaName, tableNames);
                 }
             }
-        }
-        finally  { 
-            closeConn(); 
+        } finally {
+            closeConn();
         }
     }
 

Modified: openjpa/trunk/openjpa-persistence-jdbc/pom.xml
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/pom.xml?rev=1063827&r1=1063826&r2=1063827&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/pom.xml (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/pom.xml Wed Jan 26 18:54:54 2011
@@ -926,7 +926,6 @@
                         
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestPerClassSequenceFactory.java</exclude>
                         
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestSchema.java</exclude>
                         
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestSchemaClone.java</exclude>
-                        
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerator.java</exclude>
                         
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestSequenceGeneratorEnsureCapacityCall.java</exclude>
                         
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestXMLSchemaParser.java</exclude>
                         
<exclude>org/apache/openjpa/persistence/jdbc/schema/TestXMLSchemaSerializer.java</exclude>

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/kernel/BaseJDBCTest.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/kernel/BaseJDBCTest.java?rev=1063827&r1=1063826&r2=1063827&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/kernel/BaseJDBCTest.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/kernel/BaseJDBCTest.java
 Wed Jan 26 18:54:54 2011
@@ -27,31 +27,17 @@
  */
 package org.apache.openjpa.persistence.jdbc.kernel;
 
-import java.beans.BeanInfo;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.*;
-import javax.management.IntrospectionException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
 import org.apache.openjpa.kernel.Broker;
-import org.apache.openjpa.kernel.OpenJPAStateManager;
 import org.apache.openjpa.kernel.jpql.JPQLParser;
 import org.apache.openjpa.lib.conf.ConfigurationProvider;
 import org.apache.openjpa.lib.conf.Configurations;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
-
-
-
-import java.lang.annotation.Annotation;
-import junit.framework.*;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAEntityManager;
 import org.apache.openjpa.persistence.JPAFacadeHelper;
+import org.apache.openjpa.persistence.OpenJPAEntityManager;
 
 
 public class BaseJDBCTest

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerator.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerator.java?rev=1063827&r1=1063826&r2=1063827&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerator.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/schema/TestSchemaGenerator.java
 Wed Jan 26 18:54:54 2011
@@ -42,7 +42,6 @@ import org.apache.openjpa.jdbc.sql.DBDic
 
 import org.apache.openjpa.persistence.jdbc.common.apps.*;
 
-
 import java.lang.annotation.Annotation;
 import junit.framework.*;
 import javax.persistence.EntityManager;
@@ -53,71 +52,26 @@ import org.apache.openjpa.persistence.Op
 import org.apache.openjpa.persistence.OpenJPAEntityManagerSPI;
 import org.apache.openjpa.persistence.OpenJPAPersistence;
 
+public class TestSchemaGenerator extends 
org.apache.openjpa.persistence.jdbc.kernel.BaseJDBCTest {
 
-public class TestSchemaGenerator
-        extends org.apache.openjpa.persistence.jdbc.kernel.BaseJDBCTest {
-        
-    /** Creates a new instance of TestSchemaGenerator */
-    public TestSchemaGenerator(String name) 
-    {
-       super(name);
+    @Override
+    protected String getPersistenceUnitName() {
+        // TODO Auto-generated method stub
+        return "TestConv";
     }
-    
-    public void DBMetadataTest()
-    throws Exception {
-        OpenJPAEntityManagerFactory pmf = (OpenJPAEntityManagerFactory)
-        getEmf();
-        //FIXME jthomas
-        
-        //ClassMapping cm = (ClassMapping) KodoJDOHelper.getMetaData
-        //    (pmf, RuntimeTest1.class);
-        ClassMapping cm =null;
-        JDBCConfiguration conf = (JDBCConfiguration) getConfiguration();
-        
-        DataSource ds = (DataSource) conf.getDataSource2(null);
-        Connection c = ds.getConnection();
-        DatabaseMetaData meta = c.getMetaData();
-        DBDictionary dict = conf.getDBDictionaryInstance();
-        
-        String schema = cm.getTable().getSchema().getName();
-        Table[] tables = dict.getTables(meta, c.getCatalog(), schema,
-                cm.getTable().getName(), c);
-        assertEquals(1, tables.length);
-        
-        Column[] columns = dict.getColumns(meta, c.getCatalog(), schema,
-                cm.getTable().getName(), null, c);
-        for (int i = 0; i < columns.length; i++)
-            System.out.println("### " + columns[i].getName());
+
+    /** Creates a new instance of TestSchemaGenerator */
+    public TestSchemaGenerator(String name) {
+        super(name);
     }
-    
-    public void testSchemaGen()
-    throws Exception {
-        OpenJPAEntityManagerFactory pmf = (OpenJPAEntityManagerFactory)
-        getEmf();
+
+    public void testSchemaGen() throws Exception {
+        OpenJPAEntityManagerFactory pmf = (OpenJPAEntityManagerFactory) 
getEmf();
         OpenJPAEntityManager pm = pmf.createEntityManager();
-        JDBCConfiguration con =
-            (JDBCConfiguration) ((OpenJPAEntityManagerSPI) pm)
-            .getConfiguration();
-        DBDictionary dict = con.getDBDictionaryInstance();
-        MappingRepository repos = con.getMappingRepositoryInstance();
-        ClassMapping cm = repos.getMapping(RuntimeTest1.class,
-                pm.getClassLoader(), true);
-        String schemas = cm.getTable().getSchema().getName();
-        if (schemas == null)
-            schemas = "";
-        schemas += "." + cm.getTable().getName();
-        
-        Map props=new HashMap();
-        props.put("openjpa.jdbc.Schemas", schemas);
-        
-        OpenJPAEntityManagerFactory kpmf =(OpenJPAEntityManagerFactory)
-                getEmf(props);
-        JDBCConfiguration conf =
-            (JDBCConfiguration) ((OpenJPAEntityManagerFactorySPI) kpmf)
-            .getConfiguration();
-        
+        JDBCConfiguration conf = (JDBCConfiguration) 
((OpenJPAEntityManagerFactorySPI) pmf).getConfiguration();
+
         StringWriter sw = new StringWriter();
-        
+
         SchemaTool.Flags flags = new SchemaTool.Flags();
         flags.writer = sw;
         flags.primaryKeys = true;
@@ -125,10 +79,9 @@ public class TestSchemaGenerator
         flags.indexes = true;
         flags.openjpaTables = true;
         flags.action = SchemaTool.ACTION_REFLECT;
-        
-        SchemaTool.run(conf, new String[0], flags,
-                getClass().getClassLoader());
-        
+
+        SchemaTool.run(conf, new String[0], flags, 
getClass().getClassLoader());
+
         sw.flush();
         String data = sw.toString();
         assertTrue(data.length() > 0);


Reply via email to