Author: aadamchik
Date: Thu Aug 10 10:50:06 2006
New Revision: 430460

URL: http://svn.apache.org/viewvc?rev=430460&view=rev
Log:
CAY-625 - updating jpa provider

Modified:
    
incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java?rev=430460&r1=430459&r2=430460&view=diff
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jpa/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java
 Thu Aug 10 10:50:06 2006
@@ -210,13 +210,14 @@
             dbAttribute.setMandatory(!jpaColumn.isNullable());
             dbAttribute.setMaxLength(jpaColumn.getLength());
 
-            // TODO, andrus, 4/28/2006 - note that Cayenne DbAttribute's 
precision is
-            // really scale (and precision is not defined at all). Fix this in
-            // DbAttribute.
-            
             // DbAttribute "no scale" means -1, not 0 like in JPA.
             if (jpaColumn.getScale() > 0) {
-                dbAttribute.setPrecision(jpaColumn.getScale());
+                dbAttribute.setScale(jpaColumn.getScale());
+            }
+
+            // DbAttribute "no precision" means -1, not 0 like in JPA.
+            if (jpaColumn.getPrecision() > 0) {
+                dbAttribute.setAttributePrecision(jpaColumn.getPrecision());
             }
 
             if (jpaColumn.getTable() == null) {
@@ -255,10 +256,13 @@
             dbAttribute.setMandatory(true);
             dbAttribute.setPrimaryKey(true);
 
-            // TODO, andrus, 4/28/2006 - note that Cayenne DbAttribute's 
precision is
-            // really scale (and precision is not defined at all). Fix this in
-            // DbAttribute.
-            dbAttribute.setPrecision(jpaColumn.getScale());
+            if (jpaColumn.getScale() > 0) {
+                dbAttribute.setScale(jpaColumn.getScale());
+            }
+
+            if (jpaColumn.getPrecision() > 0) {
+                dbAttribute.setAttributePrecision(jpaColumn.getPrecision());
+            }
 
             if (jpaColumn.getTable() == null) {
                 recordConflict(path, "No table defined for JpaColumn '"


Reply via email to