You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/08/29 10:24:13 UTC
svn commit: r690145 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src:
main/java/org/apache/cayenne/gen/ main/resources/dotemplates/v1_2/
test/java/org/apache/cayenne/gen/
Author: aadamchik
Date: Fri Aug 29 01:24:11 2008
New Revision: 690145
URL: http://svn.apache.org/viewvc?rev=690145&view=rev
Log:
CAY-1097 Attribute types are not generated for primitive ints (patches by Dima Loiko)
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/gen/ImportUtils.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/singleclass.vm
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/superclass.vm
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/gen/ImportUtils.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/gen/ImportUtils.java?rev=690145&r1=690144&r2=690145&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/gen/ImportUtils.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/gen/ImportUtils.java Fri Aug 29 01:24:11 2008
@@ -40,13 +40,13 @@
};
static final String primitives[] = new String[] {
- "long", "double", "byte", "boolean", "float", "short", "int"
+ "long", "double", "byte", "boolean", "float", "short", "int", "char"
};
static final String primitiveClasses[] = new String[] {
Long.class.getName(), Double.class.getName(), Byte.class.getName(),
Boolean.class.getName(), Float.class.getName(), Short.class.getName(),
- Integer.class.getName()
+ Integer.class.getName(), Character.class.getName()
};
static Map<String, String> classesForPrimitives = Util.toMap(
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/singleclass.vm
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/singleclass.vm?rev=690145&r1=690144&r2=690145&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/singleclass.vm (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/singleclass.vm Fri Aug 29 01:24:11 2008
@@ -70,11 +70,22 @@
writeProperty("${attr.Name}", $stringUtils.formatVariableName(${attr.Name}));
}
#end
+#if ( $importUtils.isBoolean(${attr.Type}) )
+ public boolean is${stringUtils.capitalized($attr.Name)}() {
+ Boolean value = (Boolean)readProperty("${attr.Name}");
+ return (value != null) ? value.booleanValue() : false;
+ }
+#elseif ( $importUtils.isNonBooleanPrimitive(${attr.Type}) )
+ public ${importUtils.formatJavaType($attr.Type)} get${stringUtils.capitalized($attr.Name)}() {
+ Object value = readProperty("${attr.Name}");
+ return (value != null) ? ($importUtils.formatJavaTypeAsNonBooleanPrimitive(${attr.Type})) value : 0;
+ }
+#else
public $importUtils.formatJavaType(${attr.Type}) get${stringUtils.capitalized($attr.Name)}() {
return ($importUtils.formatJavaType(${attr.Type}))readProperty("${attr.Name}");
}
-
-
+#end
+
#end
##
## Create list add/remove/get methods
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/superclass.vm
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/superclass.vm?rev=690145&r1=690144&r2=690145&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/superclass.vm (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/resources/dotemplates/v1_2/superclass.vm Fri Aug 29 01:24:11 2008
@@ -81,7 +81,7 @@
return (value != null) ? value.booleanValue() : false;
}
#elseif ( $importUtils.isNonBooleanPrimitive(${attr.Type}) )
- public $classGen.formatJavaType(${attr.Type}) get${stringUtils.capitalized($attr.Name)}() {
+ public ${importUtils.formatJavaType($attr.Type)} get${stringUtils.capitalized($attr.Name)}() {
Object value = readProperty("${attr.Name}");
return (value != null) ? ($importUtils.formatJavaTypeAsNonBooleanPrimitive(${attr.Type})) value : 0;
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java?rev=690145&r1=690144&r2=690145&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java Fri Aug 29 01:24:11 2008
@@ -24,7 +24,9 @@
import java.util.Collection;
import java.util.List;
+
import org.apache.cayenne.map.Entity;
+import org.apache.cayenne.map.ObjAttribute;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.map.ObjRelationship;
import org.apache.cayenne.unit.BasicCase;
@@ -112,6 +114,47 @@
String superclass = generated.get(0);
assertTrue(superclass, superclass.contains("import java.util.Map;"));
}
+
+
+ public void testExecuteArtifactPairsAttribute() throws Exception {
+
+ ObjEntity testEntity1 = new ObjEntity("TE1");
+ testEntity1.setClassName("org.example.TestClass1");
+
+ ObjAttribute attr = new ObjAttribute();
+ attr.setName("ID");
+ attr.setType("int");
+
+ ObjAttribute attr1 = new ObjAttribute();
+ attr1.setName("name");
+ attr1.setType("char");
+
+ testEntity1.addAttribute(attr);
+ testEntity1.addAttribute(attr1);
+
+ action.setMakePairs(true);
+
+ List<String> generated = execute(new EntityArtifact(testEntity1));
+ assertNotNull(generated);
+ assertEquals(2, generated.size());
+ String superclass = generated.get(0);
+
+ assertTrue(superclass, superclass.contains("public void setID(int ID)"));
+ assertTrue(superclass, superclass.contains("writeProperty(\"ID\", ID);"));
+
+ assertTrue(superclass, superclass.contains("public int getID()"));
+ assertTrue(superclass, superclass.contains("Object value = readProperty(\"ID\");"));
+ assertTrue(superclass, superclass.contains("return (value != null) ? (Integer) value : 0;"));
+
+ assertTrue(superclass, superclass.contains("public void setName(char name)"));
+ assertTrue(superclass, superclass.contains("writeProperty(\"name\", name);"));
+
+ assertTrue(superclass, superclass.contains("public char getName()"));
+ assertTrue(superclass, superclass.contains("Object value = readProperty(\"name\");"));
+ assertTrue(superclass, superclass.contains("return (value != null) ? (Character) value : 0;"));
+
+ }
+
protected List<String> execute(Artifact artifact) throws Exception {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java?rev=690145&r1=690144&r2=690145&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java Fri Aug 29 01:24:11 2008
@@ -191,6 +191,9 @@
assertEquals("int", importUtils.formatJavaType("int", true));
assertEquals("Integer", importUtils.formatJavaType("int", false));
+ assertEquals("char", importUtils.formatJavaType("char", true));
+ assertEquals("Character", importUtils.formatJavaType("java.lang.Character", false));
+
assertEquals("double", importUtils.formatJavaType("java.lang.Double", true));
assertEquals("Double", importUtils.formatJavaType("java.lang.Double", false));