You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by an...@apache.org on 2008/12/04 21:29:02 UTC

svn commit: r723425 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/map/ClientObjAttribute.java main/java/org/apache/cayenne/map/ObjAttribute.java test/java/org/apache/cayenne/map/ObjEntityTest.java

Author: andrey
Date: Thu Dec  4 12:29:02 2008
New Revision: 723425

URL: http://svn.apache.org/viewvc?rev=723425&view=rev
Log:
CAY-991 isMandatory() and getMaxLength() should be members of ObjAttributeб not only ClientObjAttribute

ObjAttribute API Change

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientObjAttribute.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjAttribute.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/ObjEntityTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientObjAttribute.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientObjAttribute.java?rev=723425&r1=723424&r2=723425&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientObjAttribute.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientObjAttribute.java Thu Dec  4 12:29:02 2008
@@ -42,6 +42,7 @@
     /**
      * @see DbAttribute#isMandatory()
      */
+    @Override
     public boolean isMandatory() {
         return mandatory;
     }
@@ -53,6 +54,7 @@
     /**
      * @see DbAttribute#getMaxLength()
      */
+    @Override
     public int getMaxLength() {
         return maxLength;
     }

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjAttribute.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjAttribute.java?rev=723425&r1=723424&r2=723425&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjAttribute.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjAttribute.java Thu Dec  4 12:29:02 2008
@@ -250,6 +250,7 @@
      * @deprecated since 3.0 - this method only works for non-flattened attributes.
      *             'setDbAttributePath' should be used instead.
      */
+    @Deprecated
     public void setDbAttribute(DbAttribute dbAttribute) {
         if (dbAttribute == null) {
             setDbAttributePath(null);
@@ -282,6 +283,7 @@
      * 
      * @deprecated since 3.0 use {@link #setDbAttributePath(String)}.
      */
+    @Deprecated
     public void setDbAttributeName(String name) {
         setDbAttributePath(name);
     }
@@ -306,6 +308,7 @@
     /**
      * @deprecated since 3.0 use 'isFlattened'.
      */
+    @Deprecated
     public boolean isCompound() {
         return isFlattened();
     }
@@ -319,6 +322,24 @@
     public boolean isFlattened() {
         return dbAttributePath != null && dbAttributePath.indexOf('.') >= 0;
     }
+    
+    /**
+     * Returns whether this attribute is mandatory
+     * @see DbAttribute#isMandatory()
+     */
+    public boolean isMandatory() {
+        DbAttribute dbAttribute = getDbAttribute();
+        return dbAttribute == null ? false : dbAttribute.isMandatory();
+    }
+    
+    /**
+     * Returns this attribute's maximum allowed length
+     * @see DbAttribute#getMaxLength()
+     */
+    public int getMaxLength() {
+        DbAttribute dbAttribute = getDbAttribute();
+        return dbAttribute == null ? -1 : dbAttribute.getMaxLength();
+    }
 
     /**
      * Returns an ObjAttribute stripped of any server-side information, such as
@@ -339,8 +360,8 @@
                 attribute.setPrimaryKey(true);
             }
 
-            attribute.setMandatory(dbAttribute.isMandatory());
-            attribute.setMaxLength(dbAttribute.getMaxLength());
+            attribute.setMandatory(isMandatory());
+            attribute.setMaxLength(getMaxLength());
         }
 
         // TODO: will likely need "userForLocking" property as well.

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/ObjEntityTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/ObjEntityTest.java?rev=723425&r1=723424&r2=723425&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/ObjEntityTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/ObjEntityTest.java Thu Dec  4 12:29:02 2008
@@ -103,10 +103,19 @@
         assertEquals("java.lang.Integer", clientmpk.getType());
         assertTrue(clientMeaningfulPKE.getAttributes().contains(clientmpk));
     }
+    
+    public void testAttributes() {
+        ObjEntity artistE = getObjEntity("Artist");
+        ObjAttribute attr = (ObjAttribute) artistE.getAttribute("artistName");
+        
+        assertEquals(attr.getMaxLength(), attr.getDbAttribute().getMaxLength());
+        assertEquals(attr.isMandatory(), attr.getDbAttribute().isMandatory());
+    }
 
     /**
      * @deprecated since 3.0 as the method being tested is deprecated.
      */
+    @Deprecated
     public void testLastPathComponentLegacy() {
         ObjEntity artistE = getObjEntity("Artist");