Name things a bit more clearly to indicate that we're manipulating field

definitions, not necessarily field overrides.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@2428 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
samskivert
2008-09-15 18:42:12 +00:00
parent 58d2b7d2fe
commit 067e4ebdb6
@@ -500,13 +500,12 @@ public abstract class BuildVisitor implements ExpressionVisitor
"Unknown field on persistent record [record=" + type + ", field=" + field + "]"); "Unknown field on persistent record [record=" + type + ", field=" + field + "]");
} }
// first, see if there's a field definition
FieldMarshaller<?> fm = dm.getFieldMarshaller(field); FieldMarshaller<?> fm = dm.getFieldMarshaller(field);
Map<String, FieldDefinition> fieldOverrides = _definitions.get(type); Map<String, FieldDefinition> fieldDefs = _definitions.get(type);
if (fieldOverrides != null) { if (fieldDefs != null) {
// first, see if there's a field override FieldDefinition fieldDef = fieldDefs.get(field);
FieldDefinition override = fieldOverrides.get(field); if (fieldDef != null) {
if (override != null) {
boolean useOverride; boolean useOverride;
if (override instanceof FieldOverride) { if (override instanceof FieldOverride) {
if (fm.getComputed() != null && dm.getComputed() != null) { if (fm.getComputed() != null && dm.getComputed() != null) {
@@ -522,14 +521,13 @@ public abstract class BuildVisitor implements ExpressionVisitor
} }
if (useOverride) { if (useOverride) {
// If a FieldOverride's target is in turn another FieldOverride, the second // If a FieldOverride's target is in turn another FieldOverride, the second one
// one is ignored. As an example, when creating ItemRecords from CloneRecords, // is ignored. As an example, when creating ItemRecords from CloneRecords, we
// we make Item.itemId = Clone.itemId. We also make Item.parentId = Item.itemId // make Item.itemId = Clone.itemId. We also make Item.parentId = Item.itemId
// and would be dismayed to find Item.parentID = Item.itemId = Clone.itemId. // and would be dismayed to find Item.parentID = Item.itemId = Clone.itemId.
boolean saved = _enableOverrides; boolean saved = _enableOverrides;
_enableOverrides = false; _enableOverrides = false;
override.accept(this); fieldDef.accept(this);
_enableOverrides = saved; _enableOverrides = saved;
return; return;
} }
@@ -544,10 +542,8 @@ public abstract class BuildVisitor implements ExpressionVisitor
Class<? extends PersistentRecord> tableClass; Class<? extends PersistentRecord> tableClass;
if (entityComputed == null) { if (entityComputed == null) {
tableClass = type; tableClass = type;
} else if (!PersistentRecord.class.equals(entityComputed.shadowOf())) { } else if (!PersistentRecord.class.equals(entityComputed.shadowOf())) {
tableClass = entityComputed.shadowOf(); tableClass = entityComputed.shadowOf();
} else { } else {
tableClass = null; tableClass = null;
} }