You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2008/01/23 15:31:04 UTC
svn commit: r614546 -
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/
Author: torehalset
Date: Wed Jan 23 06:31:01 2008
New Revision: 614546
URL: http://svn.apache.org/viewvc?rev=614546&view=rev
Log:
CAY-978: Add getEntity/getColumn to AddColumnToDb
added for all relevant tokens
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToDbToken.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToModelToken.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToModel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToDb.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToModel.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToDbToken.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToDbToken.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToDbToken.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToDbToken.java Wed Jan 23 06:31:01 2008
@@ -21,6 +21,8 @@
import java.util.List;
import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.map.DbEntity;
/**
* Common abstract superclass for all {@link MergerToken}s going from the model to the
@@ -29,7 +31,7 @@
* @author halset
*/
public abstract class AbstractToDbToken implements MergerToken {
-
+
public final MergeDirection getDirection() {
return MergeDirection.TO_DB;
}
@@ -52,5 +54,42 @@
}
public abstract List<String> createSql(DbAdapter adapter);
+
+ abstract static class Entity extends AbstractToDbToken {
+
+ private DbEntity entity;
+
+ public Entity(DbEntity entity) {
+ this.entity = entity;
+ }
+
+ public DbEntity getEntity() {
+ return entity;
+ }
+
+ public String getTokenValue() {
+ return getEntity().getName();
+ }
+ }
+
+ abstract static class EntityAndColumn extends Entity {
+
+ private DbAttribute column;
+
+ public EntityAndColumn(DbEntity entity, DbAttribute column) {
+ super(entity);
+ this.column = column;
+ }
+
+ public DbAttribute getColumn() {
+ return column;
+ }
+
+ @Override
+ public String getTokenValue() {
+ return getEntity().getName() + "." + getColumn().getName();
+ }
+
+ }
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToModelToken.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToModelToken.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToModelToken.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AbstractToModelToken.java Wed Jan 23 06:31:01 2008
@@ -22,6 +22,7 @@
import java.util.HashSet;
import java.util.Set;
+import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.MappingNamespace;
@@ -36,7 +37,7 @@
* @author halset
*/
public abstract class AbstractToModelToken implements MergerToken {
-
+
public final MergeDirection getDirection() {
return MergeDirection.TO_MODEL;
}
@@ -95,5 +96,44 @@
ts.append(getDirection());
return ts.toString();
}
+
+ abstract static class Entity extends AbstractToModelToken {
+
+ private DbEntity entity;
+
+ public Entity(DbEntity entity) {
+ this.entity = entity;
+ }
+
+ public DbEntity getEntity() {
+ return entity;
+ }
+
+ public String getTokenValue() {
+ return getEntity().getName();
+ }
+
+ }
+
+ abstract static class EntityAndColumn extends Entity {
+
+ private DbAttribute column;
+
+ public EntityAndColumn(DbEntity entity, DbAttribute column) {
+ super(entity);
+ this.column = column;
+ }
+
+ public DbAttribute getColumn() {
+ return column;
+ }
+
+ @Override
+ public String getTokenValue() {
+ return getEntity().getName() + "." + getColumn().getName();
+ }
+
+ }
+
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToDb.java Wed Jan 23 06:31:01 2008
@@ -27,24 +27,20 @@
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
-public class AddColumnToDb extends AbstractToDbToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class AddColumnToDb extends AbstractToDbToken.EntityAndColumn {
public AddColumnToDb(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
-
+
/**
* append the part of the token before the actual column data type
*/
protected void appendPrefix(StringBuffer sqlBuffer) {
sqlBuffer.append("ALTER TABLE ");
- sqlBuffer.append(entity.getFullyQualifiedName());
+ sqlBuffer.append(getEntity().getFullyQualifiedName());
sqlBuffer.append(" ADD COLUMN ");
- sqlBuffer.append(column.getName());
+ sqlBuffer.append(getColumn().getName());
sqlBuffer.append(" ");
}
@@ -55,25 +51,25 @@
appendPrefix(sqlBuffer);
// copied from JdbcAdapter.createTableAppendColumn
- String[] types = adapter.externalTypesForJdbcType(column.getType());
+ String[] types = adapter.externalTypesForJdbcType(getColumn().getType());
if (types == null || types.length == 0) {
- String entityName = column.getEntity() != null ? ((DbEntity) column
+ String entityName = getColumn().getEntity() != null ? ((DbEntity) getColumn()
.getEntity()).getFullyQualifiedName() : "<null>";
throw new CayenneRuntimeException("Undefined type for attribute '"
+ entityName
+ "."
- + column.getName()
+ + getColumn().getName()
+ "': "
- + column.getType());
+ + getColumn().getType());
}
String type = types[0];
sqlBuffer.append(type);
// append size and precision (if applicable)
- if (TypesMapping.supportsLength(column.getType())) {
- int len = column.getMaxLength();
- int scale = TypesMapping.isDecimal(column.getType()) ? column.getScale() : -1;
+ if (TypesMapping.supportsLength(getColumn().getType())) {
+ int len = getColumn().getMaxLength();
+ int scale = TypesMapping.isDecimal(getColumn().getType()) ? getColumn().getScale() : -1;
// sanity check
if (scale > len) {
@@ -101,12 +97,8 @@
return "Add Column";
}
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createDropColumToModel(entity, column);
+ return factory.createDropColumToModel(getEntity(), getColumn());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddColumnToModel.java Wed Jan 23 06:31:01 2008
@@ -29,31 +29,23 @@
*
* @author halset
*/
-public class AddColumnToModel extends AbstractToModelToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class AddColumnToModel extends AbstractToModelToken.EntityAndColumn {
public AddColumnToModel(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createDropColumToDb(entity, column);
+ return factory.createDropColumToDb(getEntity(), getColumn());
}
public void execute(MergerContext mergerContext) {
- entity.addAttribute(column);
- synchronizeWithObjEntity(entity);
+ getEntity().addAttribute(getColumn());
+ synchronizeWithObjEntity(getEntity());
}
public String getTokenName() {
return "Add Column";
- }
-
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToDb.java Wed Jan 23 06:31:01 2008
@@ -26,13 +26,12 @@
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
-public class AddRelationshipToDb extends AbstractToDbToken {
+public class AddRelationshipToDb extends AbstractToDbToken.Entity {
- private DbEntity entity;
private DbRelationship rel;
public AddRelationshipToDb(DbEntity entity, DbRelationship rel) {
- this.entity = entity;
+ super(entity);
this.rel = rel;
}
@@ -53,13 +52,14 @@
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createDropRelationshipToModel(entity, rel);
+ return factory.createDropRelationshipToModel(getEntity(), rel);
}
public String getTokenName() {
return "Add Relationship";
}
+ @Override
public String getTokenValue() {
StringBuilder s = new StringBuilder();
s.append(rel.getSourceEntity().getName());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/AddRelationshipToModel.java Wed Jan 23 06:31:01 2008
@@ -21,30 +21,30 @@
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
-public class AddRelationshipToModel extends AbstractToModelToken {
+public class AddRelationshipToModel extends AbstractToModelToken.Entity {
- private DbEntity entity;
private DbRelationship rel;
public AddRelationshipToModel(DbEntity entity, DbRelationship rel) {
- this.entity = entity;
+ super(entity);
this.rel = rel;
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createDropRelationshipToDb(entity, rel);
+ return factory.createDropRelationshipToDb(getEntity(), rel);
}
public void execute(MergerContext mergerContext) {
- entity.addRelationship(rel);
+ getEntity().addRelationship(rel);
// TODO: add reverse relationship as well if it does not exist
- synchronizeWithObjEntity(entity);
+ synchronizeWithObjEntity(getEntity());
}
public String getTokenName() {
return "Add Relationship";
}
+ @Override
public String getTokenValue() {
StringBuilder s = new StringBuilder();
s.append(rel.getSourceEntity().getName());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToDb.java Wed Jan 23 06:31:01 2008
@@ -25,20 +25,18 @@
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.map.DbEntity;
-public class CreateTableToDb extends AbstractToDbToken {
-
- private DbEntity entity;
+public class CreateTableToDb extends AbstractToDbToken.Entity {
public CreateTableToDb(DbEntity entity) {
- this.entity = entity;
+ super(entity);
}
@Override
public List<String> createSql(DbAdapter adapter) {
List<String> sqls = new ArrayList<String>();
sqls.addAll(adapter.getPkGenerator().createAutoPkStatements(
- Collections.singletonList(entity)));
- sqls.add(adapter.createTable(entity));
+ Collections.singletonList(getEntity())));
+ sqls.add(adapter.createTable(getEntity()));
return sqls;
}
@@ -46,12 +44,8 @@
return "Create Table";
}
- public String getTokenValue() {
- return entity.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createDropTableToModel(entity);
+ return factory.createDropTableToModel(getEntity());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/CreateTableToModel.java Wed Jan 23 06:31:01 2008
@@ -30,14 +30,12 @@
*
* @author halset
*/
-public class CreateTableToModel extends AbstractToModelToken {
-
- private DbEntity entity;
+public class CreateTableToModel extends AbstractToModelToken.Entity {
private String objEntityClassName = CayenneDataObject.class.getName();
public CreateTableToModel(DbEntity entity) {
- this.entity = entity;
+ super(entity);
}
/**
@@ -53,10 +51,10 @@
public void execute(MergerContext mergerContext) {
DataMap map = mergerContext.getDataMap();
- map.addDbEntity(entity);
+ map.addDbEntity(getEntity());
// create a ObjEntity
- String objEntityName = NameConverter.underscoredToJava(entity.getName(), true);
+ String objEntityName = NameConverter.underscoredToJava(getEntity().getName(), true);
// this loop will terminate even if no valid name is found
// to prevent loader from looping forever (though such case is very unlikely)
String baseName = objEntityName;
@@ -65,7 +63,7 @@
}
ObjEntity objEntity = new ObjEntity(objEntityName);
- objEntity.setDbEntity(entity);
+ objEntity.setDbEntity(getEntity());
// try to find a class name for the ObjEntity
String className = objEntityClassName;
@@ -84,19 +82,15 @@
objEntity.setClassName(className);
map.addObjEntity(objEntity);
- synchronizeWithObjEntity(entity);
+ synchronizeWithObjEntity(getEntity());
}
public String getTokenName() {
return "Create Table";
}
- public String getTokenValue() {
- return entity.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createDropTableToDb(entity);
+ return factory.createDropTableToDb(getEntity());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToDb.java Wed Jan 23 06:31:01 2008
@@ -25,14 +25,10 @@
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
-public class DropColumnToDb extends AbstractToDbToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class DropColumnToDb extends AbstractToDbToken.EntityAndColumn {
public DropColumnToDb(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
@Override
@@ -40,9 +36,9 @@
StringBuffer sqlBuffer = new StringBuffer();
sqlBuffer.append("ALTER TABLE ");
- sqlBuffer.append(entity.getFullyQualifiedName());
+ sqlBuffer.append(getEntity().getFullyQualifiedName());
sqlBuffer.append(" DROP COLUMN ");
- sqlBuffer.append(column.getName());
+ sqlBuffer.append(getColumn().getName());
return Collections.singletonList(sqlBuffer.toString());
}
@@ -51,12 +47,8 @@
return "Drop Column";
}
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createAddColumnToModel(entity, column);
+ return factory.createAddColumnToModel(getEntity(), getColumn());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropColumnToModel.java Wed Jan 23 06:31:01 2008
@@ -33,37 +33,33 @@
*
* @author halset
*/
-public class DropColumnToModel extends AbstractToModelToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class DropColumnToModel extends AbstractToModelToken.EntityAndColumn {
public DropColumnToModel(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createAddColumnToDb(entity, column);
+ return factory.createAddColumnToDb(getEntity(), getColumn());
}
public void execute(MergerContext mergerContext) {
// remove relationships mapped to column. duplicate List to prevent
// ConcurrentModificationException
- List<DbRelationship> dbRelationships = new ArrayList<DbRelationship>(entity
+ List<DbRelationship> dbRelationships = new ArrayList<DbRelationship>(getEntity()
.getRelationships());
for (DbRelationship dbRelationship : dbRelationships) {
for (DbJoin join : dbRelationship.getJoins()) {
- if (join.getSource() == column || join.getTarget() == column) {
+ if (join.getSource() == getColumn() || join.getTarget() == getColumn()) {
remove(dbRelationship, true);
}
}
}
// remove ObjAttribute mapped to same column
- for (ObjEntity objEntity : objEntitiesMappedToDbEntity(entity)) {
- ObjAttribute objAttribute = objEntity.getAttributeForDbAttribute(column);
+ for (ObjEntity objEntity : objEntitiesMappedToDbEntity(getEntity())) {
+ ObjAttribute objAttribute = objEntity.getAttributeForDbAttribute(getColumn());
if (objAttribute != null) {
objEntity.removeAttribute(objAttribute.getName());
}
@@ -71,15 +67,11 @@
}
// remove DbAttribute
- entity.removeAttribute(column.getName());
+ getEntity().removeAttribute(getColumn().getName());
}
public String getTokenName() {
return "Drop Column";
- }
-
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToDb.java Wed Jan 23 06:31:01 2008
@@ -26,13 +26,12 @@
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.DbRelationshipDetected;
-public class DropRelationshipToDb extends AbstractToDbToken {
+public class DropRelationshipToDb extends AbstractToDbToken.Entity {
- private DbEntity entity;
private DbRelationship rel;
public DropRelationshipToDb(DbEntity entity, DbRelationship rel) {
- this.entity = entity;
+ super(entity);
this.rel = rel;
}
@@ -53,7 +52,7 @@
StringBuilder buf = new StringBuilder();
buf.append("ALTER TABLE ");
- buf.append(entity.getFullyQualifiedName());
+ buf.append(getEntity().getFullyQualifiedName());
buf.append(" DROP CONSTRAINT ");
buf.append(fkName);
@@ -61,13 +60,14 @@
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createAddRelationshipToModel(entity, rel);
+ return factory.createAddRelationshipToModel(getEntity(), rel);
}
public String getTokenName() {
return "Drop Relationship";
}
+ @Override
public String getTokenValue() {
StringBuilder s = new StringBuilder();
s.append(rel.getSourceEntity().getName());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropRelationshipToModel.java Wed Jan 23 06:31:01 2008
@@ -21,18 +21,17 @@
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
-public class DropRelationshipToModel extends AbstractToModelToken {
+public class DropRelationshipToModel extends AbstractToModelToken.Entity {
- private DbEntity entity;
private DbRelationship rel;
public DropRelationshipToModel(DbEntity entity, DbRelationship rel) {
- this.entity = entity;
+ super(entity);
this.rel = rel;
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createAddRelationshipToDb(entity, rel);
+ return factory.createAddRelationshipToDb(getEntity(), rel);
}
public void execute(MergerContext mergerContext) {
@@ -43,6 +42,7 @@
return "Drop Relationship";
}
+ @Override
public String getTokenValue() {
StringBuilder s = new StringBuilder();
s.append(rel.getSourceEntity().getName());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToDb.java Wed Jan 23 06:31:01 2008
@@ -24,12 +24,10 @@
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.map.DbEntity;
-public class DropTableToDb extends AbstractToDbToken {
-
- private DbEntity entity;
+public class DropTableToDb extends AbstractToDbToken.Entity {
public DropTableToDb(DbEntity entity) {
- this.entity = entity;
+ super(entity);
}
@Override
@@ -40,7 +38,7 @@
sqls.addAll(adapter.getPkGenerator().dropAutoPkStatements(
Collections.singletonList(entity)));
*/
- sqls.addAll(adapter.dropTableStatements(entity));
+ sqls.addAll(adapter.dropTableStatements(getEntity()));
return sqls;
}
@@ -48,12 +46,8 @@
return "Drop Table";
}
- public String getTokenValue() {
- return entity.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createCreateTableToModel(entity);
+ return factory.createCreateTableToModel(getEntity());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DropTableToModel.java Wed Jan 23 06:31:01 2008
@@ -28,31 +28,25 @@
*
* @author halset
*/
-public class DropTableToModel extends AbstractToModelToken {
-
- private DbEntity entity;
+public class DropTableToModel extends AbstractToModelToken.Entity {
public DropTableToModel(DbEntity entity) {
- this.entity = entity;
+ super(entity);
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createCreateTableToDb(entity);
+ return factory.createCreateTableToDb(getEntity());
}
public void execute(MergerContext mergerContext) {
- for (ObjEntity objEntity : objEntitiesMappedToDbEntity(entity)) {
+ for (ObjEntity objEntity : objEntitiesMappedToDbEntity(getEntity())) {
objEntity.getDataMap().removeObjEntity(objEntity.getName(), true);
}
- entity.getDataMap().removeDbEntity(entity.getName(), true);
+ getEntity().getDataMap().removeDbEntity(getEntity().getName(), true);
}
public String getTokenName() {
return "Drop Table";
- }
-
- public String getTokenValue() {
- return entity.getName();
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToDb.java Wed Jan 23 06:31:01 2008
@@ -30,14 +30,10 @@
*
* @author halset
*/
-public class SetAllowNullToDb extends AbstractToDbToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class SetAllowNullToDb extends AbstractToDbToken.EntityAndColumn {
public SetAllowNullToDb(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
@Override
@@ -45,9 +41,9 @@
StringBuffer sqlBuffer = new StringBuffer();
sqlBuffer.append("ALTER TABLE ");
- sqlBuffer.append(entity.getFullyQualifiedName());
+ sqlBuffer.append(getEntity().getFullyQualifiedName());
sqlBuffer.append(" ALTER COLUMN ");
- sqlBuffer.append(column.getName());
+ sqlBuffer.append(getColumn().getName());
sqlBuffer.append(" DROP NOT NULL");
return Collections.singletonList(sqlBuffer.toString());
@@ -57,12 +53,8 @@
return "Set Allow Null";
}
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createSetNotNullToModel(entity, column);
+ return factory.createSetNotNullToModel(getEntity(), getColumn());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetAllowNullToModel.java Wed Jan 23 06:31:01 2008
@@ -26,30 +26,22 @@
*
* @author halset
*/
-public class SetAllowNullToModel extends AbstractToModelToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class SetAllowNullToModel extends AbstractToModelToken.EntityAndColumn {
public SetAllowNullToModel(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createSetNotNullToDb(entity, column);
+ return factory.createSetNotNullToDb(getEntity(), getColumn());
}
public void execute(MergerContext mergerContext) {
- column.setMandatory(false);
+ getColumn().setMandatory(false);
}
public String getTokenName() {
return "Set Allow Null";
- }
-
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToDb.java Wed Jan 23 06:31:01 2008
@@ -30,14 +30,13 @@
/**
* An {@link MergerToken} to use to set type, length and precision.
*/
-public class SetColumnTypeToDb extends AbstractToDbToken {
+public class SetColumnTypeToDb extends AbstractToDbToken.Entity {
- private DbEntity entity;
private DbAttribute columnOriginal;
private DbAttribute columnNew;
public SetColumnTypeToDb(DbEntity entity, DbAttribute columnOriginal, DbAttribute columnNew) {
- this.entity = entity;
+ super(entity);
this.columnOriginal = columnOriginal;
this.columnNew = columnNew;
}
@@ -47,7 +46,7 @@
*/
protected void appendPrefix(StringBuffer sqlBuffer) {
sqlBuffer.append("ALTER TABLE ");
- sqlBuffer.append(entity.getFullyQualifiedName());
+ sqlBuffer.append(getEntity().getFullyQualifiedName());
sqlBuffer.append(" ALTER ");
sqlBuffer.append(columnNew.getName());
sqlBuffer.append(" TYPE ");
@@ -103,9 +102,10 @@
return "Set Column Type";
}
+ @Override
public String getTokenValue() {
StringBuffer sb = new StringBuffer();
- sb.append(entity.getName());
+ sb.append(getEntity().getName());
sb.append(".");
sb.append(columnNew.getName());
@@ -141,7 +141,7 @@
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createSetColumnTypeToModel(entity, columnNew, columnOriginal);
+ return factory.createSetColumnTypeToModel(getEntity(), columnNew, columnOriginal);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetColumnTypeToModel.java Wed Jan 23 06:31:01 2008
@@ -29,21 +29,20 @@
*
* @author halset
*/
-public class SetColumnTypeToModel extends AbstractToModelToken {
+public class SetColumnTypeToModel extends AbstractToModelToken.Entity {
- private DbEntity entity;
private DbAttribute columnOriginal;
private DbAttribute columnNew;
public SetColumnTypeToModel(DbEntity entity, DbAttribute columnOriginal,
DbAttribute columnNew) {
- this.entity = entity;
+ super(entity);
this.columnOriginal = columnOriginal;
this.columnNew = columnNew;
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createSetColumnTypeToDb(entity, columnNew, columnOriginal);
+ return factory.createSetColumnTypeToDb(getEntity(), columnNew, columnOriginal);
}
public void execute(MergerContext mergerContext) {
@@ -57,9 +56,10 @@
return "Set Column Type";
}
+ @Override
public String getTokenValue() {
StringBuffer sb = new StringBuffer();
- sb.append(entity.getName());
+ sb.append(getEntity().getName());
sb.append(".");
sb.append(columnNew.getName());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToDb.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToDb.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToDb.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToDb.java Wed Jan 23 06:31:01 2008
@@ -30,14 +30,10 @@
*
* @author halset
*/
-public class SetNotNullToDb extends AbstractToDbToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class SetNotNullToDb extends AbstractToDbToken.EntityAndColumn {
public SetNotNullToDb(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
@Override
@@ -45,9 +41,9 @@
StringBuffer sqlBuffer = new StringBuffer();
sqlBuffer.append("ALTER TABLE ");
- sqlBuffer.append(entity.getFullyQualifiedName());
+ sqlBuffer.append(getEntity().getFullyQualifiedName());
sqlBuffer.append(" ALTER COLUMN ");
- sqlBuffer.append(column.getName());
+ sqlBuffer.append(getColumn().getName());
sqlBuffer.append(" SET NOT NULL");
return Collections.singletonList(sqlBuffer.toString());
@@ -57,12 +53,8 @@
return "Set Not Null";
}
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
- }
-
public MergerToken createReverse(MergerFactory factory) {
- return factory.createSetAllowNullToModel(entity, column);
+ return factory.createSetAllowNullToModel(getEntity(), getColumn());
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToModel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToModel.java?rev=614546&r1=614545&r2=614546&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToModel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/SetNotNullToModel.java Wed Jan 23 06:31:01 2008
@@ -26,30 +26,22 @@
*
* @author halset
*/
-public class SetNotNullToModel extends AbstractToModelToken {
-
- private DbEntity entity;
- private DbAttribute column;
+public class SetNotNullToModel extends AbstractToModelToken.EntityAndColumn {
public SetNotNullToModel(DbEntity entity, DbAttribute column) {
- this.entity = entity;
- this.column = column;
+ super(entity, column);
}
public MergerToken createReverse(MergerFactory factory) {
- return factory.createSetAllowNullToDb(entity, column);
+ return factory.createSetAllowNullToDb(getEntity(), getColumn());
}
public void execute(MergerContext mergerContext) {
- column.setMandatory(true);
+ getColumn().setMandatory(true);
}
public String getTokenName() {
return "Set Not Null";
- }
-
- public String getTokenValue() {
- return entity.getName() + "." + column.getName();
}
}