Author: jm
Date: 2011-07-19 14:00:43 -0700 (Tue, 19 Jul 2011)
New Revision: 26214
Modified:
core3/model-api/trunk/src/main/java/org/cytoscape/model/VirtualColumnInfo.java
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/VirtualColumnInfoImpl.java
Log:
Added isImmutable field to VIrtualColumnInfo to keep track of initial column
mutability
Modified:
core3/model-api/trunk/src/main/java/org/cytoscape/model/VirtualColumnInfo.java
===================================================================
---
core3/model-api/trunk/src/main/java/org/cytoscape/model/VirtualColumnInfo.java
2011-07-19 20:28:57 UTC (rev 26213)
+++
core3/model-api/trunk/src/main/java/org/cytoscape/model/VirtualColumnInfo.java
2011-07-19 21:00:43 UTC (rev 26214)
@@ -24,8 +24,13 @@
/**
* Returns the originating table for this column if this column is
virtual.
- * @return the actual table that this column originates at if it is
virtual, or null if the
- * column is not virtual
*/
CyTable getSourceTable();
+
+ /**
+ * Returns true if this virtual column was originally created
+ * immutable.
+ * @return
+ */
+ boolean isImmutable();
}
Modified:
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
===================================================================
---
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
2011-07-19 20:28:57 UTC (rev 26213)
+++
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/CyTableImpl.java
2011-07-19 21:00:43 UTC (rev 26214)
@@ -110,7 +110,7 @@
rows = new HashMap<Object, CyRow>();
types = new HashMap<String, CyColumn>();
- VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(false, null, null, null, null);
+ VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(false, null, null, null, null, true);
// Create the primary key column. Do this explicitly
// so that we don't fire an event.
types.put(primaryKey, new CyColumnImpl(this, primaryKey,
primaryKeyType,
@@ -288,7 +288,7 @@
checkClass(type);
- VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(false, null, null, null, null);
+ VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(false, null, null, null, null, isImmutable);
types.put(columnName, new CyColumnImpl(this,
columnName, type,
/*
listElementType = */ null,
virtualInfo ,
@@ -319,7 +319,7 @@
checkClass(listElementType);
- VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(false, null, null, null, null);
+ VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(false, null, null, null, null, isImmutable);
types.put(columnName, new CyColumnImpl(this,
columnName, List.class,
listElementType,
virtualInfo,
@@ -789,7 +789,7 @@
throw new
IllegalArgumentException("\"sourceJoinKey\" has a different type from
\"targetJoinKey\"!");
++((CyTableImpl)sourceTable).virtualColumnReferenceCount;
- VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(true, sourceTable, sourceColumnName, sourceJoinKeyName,
targetJoinKeyName);
+ VirtualColumnInfo virtualInfo = new
VirtualColumnInfoImpl(true, sourceTable, sourceColumnName, sourceJoinKeyName,
targetJoinKeyName, isImmutable);
final CyColumn targetColumn =
new CyColumnImpl(this, virtualColumnName,
sourceColumn.getType(),
sourceColumn.getListElementType(),
Modified:
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/VirtualColumnInfoImpl.java
===================================================================
---
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/VirtualColumnInfoImpl.java
2011-07-19 20:28:57 UTC (rev 26213)
+++
core3/model-impl/trunk/impl/src/main/java/org/cytoscape/model/internal/VirtualColumnInfoImpl.java
2011-07-19 21:00:43 UTC (rev 26214)
@@ -10,13 +10,15 @@
private final String sourceColumn;
private final String sourceJoinKey;
private final String targetJoinKey;
+ private final boolean isImmutable;
- public VirtualColumnInfoImpl(boolean isVirtual, CyTable sourceTable,
String sourceColumn, String sourceJoinKey, String targetJoinKey) {
+ public VirtualColumnInfoImpl(boolean isVirtual, CyTable sourceTable,
String sourceColumn, String sourceJoinKey, String targetJoinKey, boolean
isImmutable) {
this.isVirtual = isVirtual;
this.sourceTable = sourceTable;
this.sourceColumn = sourceColumn;
this.sourceJoinKey = sourceJoinKey;
this.targetJoinKey = targetJoinKey;
+ this.isImmutable = isImmutable;
}
@Override
@@ -44,4 +46,8 @@
return sourceTable;
}
+ @Override
+ public boolean isImmutable() {
+ return isImmutable;
+ }
}
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.