Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortle2011-05-19 15:36:02 +0000
committertle2011-05-19 15:36:02 +0000
commit931c14d62bf4956cff068405632162cb9b2b8b56 (patch)
treef4909a8778196658b0a0a132d926736e9dc24cee
parenta66a6c5ac6c58f8403d161139d06836dcd49347b (diff)
downloadwebtools.dali-931c14d62bf4956cff068405632162cb9b2b8b56.tar.gz
webtools.dali-931c14d62bf4956cff068405632162cb9b2b8b56.tar.xz
webtools.dali-931c14d62bf4956cff068405632162cb9b2b8b56.zip
341811 - Generate Entities from Tables receive syntax error on attributes (patch from Les)
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm2
6 files changed, 38 insertions, 23 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java
index 0b56597cae..6fed0571d6 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenColumn.java
@@ -54,25 +54,25 @@ public class ORMGenColumn
}
protected String customized(String propName) {
- return getCustomizer().getProperty(propName, mTable.getName(), getName());
+ return getCustomizer().getProperty(propName, mTable.getName(), getDbName());
}
protected boolean customizedBoolean(String propName) {
- return getCustomizer().getBooleanProperty(propName, mTable.getName(), getName());
+ return getCustomizer().getBooleanProperty(propName, mTable.getName(), getDbName());
}
protected void setCustomized(String propName, String value) {
if (value != null && value.length() == 0) {
value = null;
}
- getCustomizer().setProperty(propName, value, mTable.getName(), getName());
+ getCustomizer().setProperty(propName, value, mTable.getName(), getDbName());
}
protected void setCustomizedBoolean(String propName, boolean value, boolean defaultValue) {
if (defaultValue == value) {
setCustomized(propName, null); //remove the property
} else {
- getCustomizer().setBooleanProperty(propName, value, mTable.getName(), getName());
+ getCustomizer().setBooleanProperty(propName, value, mTable.getName(), getDbName());
}
}
@@ -84,6 +84,10 @@ public class ORMGenColumn
buildColumnAnnotationName(mDbColumn.getName(), mDbColumn);
return annotationName != null ? annotationName : mDbColumn.getName();
}
+
+ public String getDbName() {
+ return mDbColumn.getName();
+ }
public String getJoinColumnName(){
String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().
@@ -103,7 +107,7 @@ public class ORMGenColumn
String name = customized(PROPERTY_NAME);
if (name == null) {
//name = StringUtil.columnNameToVarName(getName());
- name = EntityGenTools.convertToUniqueJavaStyleAttributeName(getName(), Collections.<String>emptySet());
+ name = EntityGenTools.convertToUniqueJavaStyleAttributeName(getDbName(), Collections.<String>emptySet());
}
return name;
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
index cba675e47c..55c53d45ea 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenCustomizer.java
@@ -25,6 +25,7 @@ import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.jpa.db.Column;
import org.eclipse.jpt.jpa.db.Schema;
import org.eclipse.jpt.jpa.db.Table;
@@ -529,6 +530,9 @@ public abstract class ORMGenCustomizer implements java.io.Serializable
public String quote(int i) {
return quote(String.valueOf(i));
}
+ public String convertToJavaStringLiteral(String s) {
+ return StringTools.convertToJavaStringLiteral(s);
+ }
/**
* Appends an annotation member name and value to an existing annotation.
*
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
index 8557b03832..bcca94d610 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/src/org/eclipse/jpt/jpa/gen/internal/ORMGenTable.java
@@ -65,18 +65,18 @@ public class ORMGenTable
}
protected String customized(String propName) {
- return getCustomizer().getProperty(propName, getName(), null);
+ return getCustomizer().getProperty(propName, getTableName(), null);
}
protected boolean customizedBoolean(String propName) {
- return getCustomizer().getBooleanProperty(propName, getName(), null);
+ return getCustomizer().getBooleanProperty(propName, getTableName(), null);
}
protected void setCustomized(String propName, String value) {
if (value != null && value.length() == 0) {
value = null;
}
- getCustomizer().setProperty(propName, value, getName(), null);
+ getCustomizer().setProperty(propName, value, getTableName(), null);
}
protected void setCustomizedBoolean(String propName, boolean value, boolean defaultValue) {
@@ -84,7 +84,7 @@ public class ORMGenTable
setCustomized(propName, null); // remove the property
}
else {
- getCustomizer().setBooleanProperty(propName, value, getName(), null);
+ getCustomizer().setBooleanProperty(propName, value, getTableName(), null);
}
}
@@ -95,10 +95,16 @@ public class ORMGenTable
/**
* Returns the table name.
*/
+ public String getTableName() {
+ return mDbTable != null ? mDbTable.getName() : ORMGenCustomizer.ANY_TABLE;
+ }
+
public String getName() {
- if (mDbTable == null)
- return ORMGenCustomizer.ANY_TABLE;
- return mDbTable.getName();
+ if (mDbTable == null)
+ return ORMGenCustomizer.ANY_TABLE;
+ String tableName = getTableName();
+ String annotationName = this.mCustomizer.getDatabaseAnnotationNameBuilder().buildTableAnnotationName(tableName, mDbTable);
+ return annotationName != null ? annotationName : tableName;
}
public String getJoinTableAnnotationName() {
@@ -239,7 +245,7 @@ public class ORMGenTable
if (name == null) {
// name = StringUtil.tableNameToVarName(getName());
// name = StringUtil.initUpper(name);
- name = EntityGenTools.convertToUniqueJavaStyleClassName(getName(), new ArrayList<String>());
+ name = EntityGenTools.convertToUniqueJavaStyleClassName(getTableName(), new ArrayList<String>());
name = StringUtil.singularise(name);
}
return name;
@@ -263,7 +269,7 @@ public class ORMGenTable
* Whether the name should be singular or plural.
*/
public String getVarName(boolean singular) {
- String name = StringUtil.tableNameToVarName(getName());
+ String name = StringUtil.tableNameToVarName(getTableName());
if (singular) {
name = StringUtil.singularise(name);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm
index 54b98b6442..b8b19a4e69 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/column.vm
@@ -20,7 +20,7 @@
#set ($members = "")
#if ( !$column.default || $customizer.generateDDLAnnotations )
#if ( !${column.defaultname} )
-#append($members "name=$customizer.quote($column.name)" )
+#append($members "name=$customizer.convertToJavaStringLiteral($column.name)" )
#end
#if (!$column.insertable)
#append(${members} "insertable=false")
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm
index fccd7f219c..a98f87381f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/join.vm
@@ -3,9 +3,9 @@
##
##macro joinColumn uses $column, $referencedColumn
#macro (joinColumn $column $referencedColumn)
-#set ($members = "name=$customizer.quote($column.joinColumnName)")
+#set ($members = "name=$customizer.convertToJavaStringLiteral($column.joinColumnName)")
#if( !$referencedColumn.primaryKey || $referencedColumn.partOfCompositePrimaryKey )
-#set ($members = "$members, referencedColumnName=$customizer.quote($referencedColumn.name)")
+#set ($members = "$members, referencedColumnName=$customizer.convertToJavaStringLiteral($referencedColumn.name)")
#end
#if( $customizer.generateDDLAnnotations )
#if ($column.unique && !$column.primaryKey)
@@ -25,7 +25,7 @@
#if ($role.association.joinTable)
#set ($joinTable = $role.association.joinTable)
@JoinTable(
- name="${joinTable.joinTableAnnotationName}"
+ name=$customizer.convertToJavaStringLiteral(${joinTable.joinTableAnnotationName})
, joinColumns={
#foreach ($column in $role.referrerColumns)
#set ($referencedColumn = $role.getReferencedColumn(${column.name}))
@@ -39,7 +39,8 @@
}
, inverseJoinColumns={
#foreach ($column in $role.referencedColumns)
-#set ($referencedColumn = $role.getReferrerColumn(${column.name}))
+#set ($referencedColumn = $role.getReferrerColumn(${column.name})
+)
##$referencedColumn is the column in the join table
#joinColumn($referencedColumn $column)
#if ($velocityCount < $role.referencedColumns.size() )
@@ -53,9 +54,9 @@
#if ($role.referrerColumns.size() == 1)
#set ($column = $role.referrerColumns.get(0))
#set ($referencedColumn = $role.getReferencedColumn(${column.name}))
-#set ($referencedTableName = $role.getReferencedTable().getName() )
-#set( $referencedTablePkName = $role.getReferencedTable().getPrimaryKeyColumn().name )
-#set( $computedJoinColumnName = "${role.propertyName}_${referencedTablePkName}" )
+#set ($referencedTableName = $customizer.convertToJavaStringLiteral($role.getReferencedTable().getName()) )
+#set( $referencedTablePkName = $customizer.convertToJavaStringLiteral($role.getReferencedTable().getPrimaryKeyColumn().name) )
+#set( $computedJoinColumnName = $customizer.convertToJavaStringLiteral("${role.propertyName}_${referencedTablePkName}") )
#set( $isDefaultJoinColumnName = $column.isDefaultJoinColumnName( ${role.propertyName}) )
#if( ! $isDefaultJoinColumnName )
#joinColumn($column $referencedColumn)
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
index 8c4d4d6811..1a4585792a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
+++ b/jpa/plugins/org.eclipse.jpt.jpa.gen/templates/entities/main.java.vm
@@ -12,7 +12,7 @@ ${table.importStatements}
*/
@Entity
#if( !${table.defaultname} || $customizer.generateDDLAnnotations)
-@Table(name="${table.name}")
+@Table(name=$customizer.convertToJavaStringLiteral(${table.name}))
#end
public class ${table.className} ${table.generateExtendsImplements()} {
private static final long serialVersionUID = 1L;

Back to the top