Author: clopes
Date: 2012-01-23 14:04:00 -0800 (Mon, 23 Jan 2012)
New Revision: 28075
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/AtomicFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/CompositeFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/EdgeInteractionFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/InteractionFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/NodeInteractionFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/TopologyFilter.java
Log:
Fixes #624 : [Filters] Wrong combo-box labels
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/AtomicFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/AtomicFilter.java
2012-01-23 18:35:06 UTC (rev 28074)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/AtomicFilter.java
2012-01-23 22:04:00 UTC (rev 28075)
@@ -74,7 +74,6 @@
return network;
}
-
public GenericIndex getIndex() {
return quickFind_index;
}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/CompositeFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/CompositeFilter.java
2012-01-23 18:35:06 UTC (rev 28074)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/CompositeFilter.java
2012-01-23 22:04:00 UTC (rev 28075)
@@ -55,20 +55,19 @@
protected boolean negation;
//Relation relation;
protected String name;
- protected BitSet node_bits, edge_bits;
+ protected BitSet nodeBits, edgeBits;
protected boolean childChanged = true;// so we calculate the first time
through
protected CyFilter parent;
protected String description;
protected AdvancedSetting advancedSetting = null;
//private int indexType = -1; //QuickFind.INDEX_NODES
//QuickFind.INDEX_EDGES
protected CyNetwork network;
- private Logger logger = null;
-
protected Hashtable<CompositeFilter, Boolean> compositeNotTab = new
Hashtable<CompositeFilter, Boolean>();
protected CyApplicationManager applicationManager;
+ private static Logger logger = LoggerFactory.getLogger(FilterApp.class);
+
public CompositeFilter(CyApplicationManager applicationManager) {
- logger = LoggerFactory.getLogger(FilterPlugin.class);
advancedSetting = new AdvancedSetting();
children = new LinkedList<CyFilter>();
this.applicationManager = applicationManager;
@@ -76,7 +75,6 @@
public CompositeFilter(String pName) {
name = pName;
- logger = LoggerFactory.getLogger(FilterPlugin.class);
advancedSetting = new AdvancedSetting();
children = new LinkedList<CyFilter>();
}
@@ -85,15 +83,19 @@
if (network != null && network == pNetwork) {
return;
}
+
network = pNetwork;
+
// Set network for all the children
if (children == null || children.size() == 0){
return;
}
+
for (int i=0; i< children.size(); i++) {
children.get(i).setNetwork(pNetwork);
children.get(i).childChanged();
}
+
childChanged();
}
@@ -111,7 +113,6 @@
}
public boolean passesFilter(Object obj) {
-
List<CyNode> nodes_list = null;
List<CyEdge> edges_list=null;
@@ -119,13 +120,13 @@
if (obj instanceof CyNode) {
nodes_list = network.getNodeList();
index = nodes_list.lastIndexOf(obj);
- return node_bits.get(index);
+ return nodeBits.get(index);
}
if (obj instanceof CyEdge) {
edges_list = network.getEdgeList();
index = edges_list.lastIndexOf(obj);
- return edge_bits.get(index);
+ return edgeBits.get(index);
}
return false;
@@ -134,113 +135,104 @@
public void setNegation(boolean pNegation) {
negation = pNegation;
}
+
public boolean getNegation() {
return negation;
}
private void calculateNodeBitSet() {
- //System.out.println("Entering
CompositeFilter.calculatNodeBits() ... ");
-
// set the initial bits to a clone of the first child
if (children.get(0).getNodeBits() == null) {
- node_bits = new BitSet(network.getNodeCount());
+ nodeBits = new BitSet(network.getNodeCount());
+ } else {
+ nodeBits = (BitSet)
children.get(0).getNodeBits().clone();
}
- else {
- node_bits = (BitSet)
children.get(0).getNodeBits().clone();
- }
// now perform the requested relation with each subsequent child
for ( int i = 1; i < children.size(); i++ ) {
CyFilter n = children.get(i);
+
if ( advancedSetting.getRelation() == Relation.AND ) {
if (n.getNodeBits() == null) {
- node_bits = new BitSet();//all set to
false
+ nodeBits = new BitSet();//all set to
false
return;
}
+
if ((n instanceof
CompositeFilter)&&(compositeNotTab.get(n).booleanValue()==true)) {
BitSet tmpBitSet = (BitSet)
n.getNodeBits().clone();
tmpBitSet.flip(0,
network.getNodeCount());
- node_bits.and(tmpBitSet);
+ nodeBits.and(tmpBitSet);
+ } else {
+ nodeBits.and(n.getNodeBits());
}
- else {
- node_bits.and(n.getNodeBits());
- }
-
} else if ( advancedSetting.getRelation() ==
Relation.OR ) {
if (n.getNodeBits() != null) {
- if ((n instanceof
CompositeFilter)&&(compositeNotTab.get(n).booleanValue()==true)) {
+ if ((n instanceof CompositeFilter) &&
(compositeNotTab.get(n).booleanValue() == true)) {
BitSet tmpBitSet = (BitSet)
n.getNodeBits().clone();
tmpBitSet.flip(0,
network.getNodeCount());
- node_bits.or(tmpBitSet);
+ nodeBits.or(tmpBitSet);
+ } else {
+ nodeBits.or(n.getNodeBits());
}
- else {
- node_bits.or(n.getNodeBits());
- }
}
- }
- else { //advancedSetting.getRelation() ==
Relation.XOR|NOR
+ } else { //advancedSetting.getRelation() ==
Relation.XOR|NOR
logger.warn("CompositeFilter: Relation.XOR|NOR:
not implemented yet");
}
}
if (negation) {
- node_bits.flip(0, network.getNodeCount());
+ nodeBits.flip(0, network.getNodeCount());
}
}
-
private void calculateEdgeBitSet() {
- //System.out.println("Entering
CompositeFilter.calculatEdgeBits() ... ");
-
// if there are no children, just return an empty bitset
if ( children.size() <= 0 ) {
- edge_bits = new BitSet();
+ edgeBits = new BitSet();
return;
}
// set the initial bits to a clone of the first child
if (children.get(0).getEdgeBits() == null) {
- edge_bits = new BitSet();
+ edgeBits = new BitSet();
+ } else {
+ edgeBits = (BitSet)
children.get(0).getEdgeBits().clone();
}
- else {
- edge_bits = (BitSet)
children.get(0).getEdgeBits().clone();
- }
// now perform the requested relation with each subsequent child
for ( int i = 1; i < children.size(); i++ ) {
CyFilter n = children.get(i);
+
if ( advancedSetting.getRelation() == Relation.AND ) {
if (n.getEdgeBits() == null) {
- edge_bits = new BitSet();
+ edgeBits = new BitSet();
return;//all set to false
}
+
if ((n instanceof
CompositeFilter)&&(compositeNotTab.get(n).booleanValue()==true)) {
BitSet tmpBitSet = (BitSet)
n.getEdgeBits().clone();
tmpBitSet.flip(0,
network.getEdgeCount());
- edge_bits.and(tmpBitSet);
- }
- else {
- edge_bits.and(n.getEdgeBits());
+ edgeBits.and(tmpBitSet);
+ } else {
+ edgeBits.and(n.getEdgeBits());
}
} else if ( advancedSetting.getRelation() ==
Relation.OR ) {
if (n.getEdgeBits() != null) {
if ((n instanceof
CompositeFilter)&&(compositeNotTab.get(n).booleanValue()==true)) {
BitSet tmpBitSet = (BitSet)
n.getEdgeBits().clone();
tmpBitSet.flip(0,
network.getEdgeCount());
- edge_bits.or(tmpBitSet);
+ edgeBits.or(tmpBitSet);
+ } else {
+ edgeBits.or(n.getEdgeBits());
}
- else {
- edge_bits.or(n.getEdgeBits());
- }
}
- }
- else { //advancedSetting.getRelation() ==
Relation.XOR|NOR
+ } else { //advancedSetting.getRelation() ==
Relation.XOR|NOR
logger.warn("CompositeFilter: Relation.XOR|NOR:
not implemented yet");
}
}
if (negation) {
- edge_bits.flip(0, network.getEdgeCount());
+ edgeBits.flip(0, network.getEdgeCount());
}
}
@@ -258,8 +250,8 @@
// if there are no children, just create empty bitSet
if ( children.size() <= 0 ) {
- node_bits = new BitSet(network.getNodeCount());
- edge_bits = new BitSet(network.getEdgeCount());
+ nodeBits = new BitSet(network.getNodeCount());
+ edgeBits = new BitSet(network.getEdgeCount());
return;
}
@@ -276,7 +268,6 @@
childChanged = false;
}
-
private void updateSelectionType() {
boolean selectNode = false;
boolean selectEdge = false;
@@ -309,15 +300,14 @@
public BitSet getEdgeBits() {
apply();
- return edge_bits;
+ return edgeBits;
}
public BitSet getNodeBits() {
apply();
- return node_bits;
+ return nodeBits;
}
-
public void removeChild( CyFilter pChild ) {
if (pChild instanceof CompositeFilter) {
compositeNotTab.remove(pChild);
@@ -360,7 +350,6 @@
// notify parents
childChanged();
}
-
// called by any children
public void childChanged() {
@@ -390,7 +379,6 @@
name = pName;
}
-
public String getDescription() {
return description;
}
@@ -425,6 +413,7 @@
public String getLabel() {
AdvancedSetting as = getAdvancedSetting();
String prefix = "";
+
if (as.isGlobalChecked()) {
prefix = "global: ";
}
@@ -435,13 +424,6 @@
return prefix + getName();
}
- /**
- * @return the string represention of this Filter.
- */
- public String toString() {
- return getLabel();
- }
-
public String toSerializedForm() {
String retStr = "<Composite>\n";
@@ -450,42 +432,50 @@
retStr = retStr + "Negation=" + negation + "\n";
for (int i=0; i< children.size(); i++) {
-
if (children.get(i) instanceof AtomicFilter) {
AtomicFilter atomicFilter =
(AtomicFilter)children.get(i);
retStr = retStr + atomicFilter.toString()+"\n";
- }
- else {// it is a CompositeFilter
+ } else {// it is a CompositeFilter
CompositeFilter tmpFilter =
(CompositeFilter)children.get(i);
retStr = retStr + "CompositeFilter=" +
tmpFilter.getName()+ ":" + compositeNotTab.get(tmpFilter)+"\n";
}
}
+
retStr += "</Composite>";
return retStr;
}
- /**
- */
+ @Override
public boolean equals(Object other_object) {
if (!(other_object instanceof CompositeFilter)) {
return false;
}
+
CompositeFilter theOtherFilter = (CompositeFilter) other_object;
if
(theOtherFilter.toSerializedForm().equalsIgnoreCase(this.toSerializedForm())) {
return true;
}
+
return false;
}
/**
* CompositeFilter may be cloned.
*/
+ @Override
public Object clone() {
logger.warn("CompositeFilter.clone() not implemented yet");
return null;
- }
-
+ }
+
+ /**
+ * @return the string represention of this Filter.
+ */
+ @Override
+ public String toString() {
+ return getLabel();
+ }
}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/EdgeInteractionFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/EdgeInteractionFilter.java
2012-01-23 18:35:06 UTC (rev 28074)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/EdgeInteractionFilter.java
2012-01-23 22:04:00 UTC (rev 28075)
@@ -92,18 +92,18 @@
// EdgeInteractionFilter will select edge only
edges_list = network.getEdgeList();
int objectCount = edges_list.size();
- edge_bits = new BitSet(objectCount); // all the bits are false
at very beginning
+ edgeBits = new BitSet(objectCount); // all the bits are false
at very beginning
if (nodeType != NODE_UNDEFINED) {
for (int i=0; i<objectCount; i++) {
if (isHit(edges_list.get(i),
passFilter_nodeBits)) {
- edge_bits.set(i);
+ edgeBits.set(i);
}
}
}
if (negation) {
- edge_bits.flip(0, objectCount);
+ edgeBits.flip(0, objectCount);
}
childChanged = false;
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/InteractionFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/InteractionFilter.java
2012-01-23 18:35:06 UTC (rev 28074)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/InteractionFilter.java
2012-01-23 22:04:00 UTC (rev 28075)
@@ -57,7 +57,6 @@
super(applicationManager);
}
-
public InteractionFilter(String pName, CyApplicationManager
applicationManager) {
super(applicationManager);
name = pName;
@@ -80,19 +79,20 @@
if (nodeType == pNodeType) {
return;
}
+
nodeType = pNodeType;
+
if (nodeType == NODE_SOURCE) {
isSourceChecked = true;
isTargetChecked = false;
- }
- else if (nodeType == NODE_TARGET) {
+ } else if (nodeType == NODE_TARGET) {
isSourceChecked = false;
- isTargetChecked = true;
- }
- else if (nodeType == NODE_SOURCE_TARGET) {
+ isTargetChecked = true;
+ } else if (nodeType == NODE_SOURCE_TARGET) {
isSourceChecked = true;
- isTargetChecked = true;
+ isTargetChecked = true;
}
+
childChanged = true;
}
@@ -114,23 +114,7 @@
updateNodeType();
}
- private void updateNodeType() {
- //update nodeType
- if (isSourceChecked && isTargetChecked) {
- nodeType = NODE_SOURCE_TARGET;
- }
- else if (isSourceChecked) {
- nodeType = NODE_SOURCE;
- }
- else if (isTargetChecked) {
- nodeType = NODE_TARGET;
- }
- else {
- nodeType = NODE_UNDEFINED;
- }
- }
-
-
+ @Override
public void setNetwork(CyNetwork pNetwork) {
if (network != null && network == pNetwork) {
return;
@@ -143,8 +127,8 @@
childChanged();
}
-
- public String toString() {
+ @Override
+ public String toSerializedForm() {
String retStr = "<InteractionFilter>\n";
retStr = retStr + "name=" + name + "\n";
@@ -154,8 +138,7 @@
if (passFilter == null) {
retStr += "passFilter=null\n";
- }
- else {
+ } else {
retStr += "passFilter=" + passFilter.getName()+"\n";
}
@@ -163,4 +146,17 @@
return retStr;
}
+
+ private void updateNodeType() {
+ //update nodeType
+ if (isSourceChecked && isTargetChecked) {
+ nodeType = NODE_SOURCE_TARGET;
+ } else if (isSourceChecked) {
+ nodeType = NODE_SOURCE;
+ } else if (isTargetChecked) {
+ nodeType = NODE_TARGET;
+ } else {
+ nodeType = NODE_UNDEFINED;
+ }
+ }
}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/NodeInteractionFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/NodeInteractionFilter.java
2012-01-23 18:35:06 UTC (rev 28074)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/NodeInteractionFilter.java
2012-01-23 22:04:00 UTC (rev 28075)
@@ -90,18 +90,18 @@
// NodeInteractionFilter will select node only
nodes_list = network.getNodeList();
int objectCount = nodes_list.size();
- node_bits = new BitSet(objectCount); // all the bits are false
at very beginning
+ nodeBits = new BitSet(objectCount); // all the bits are false
at very beginning
if ((nodeType !=
NODE_UNDEFINED)&&(!passFilter.getName().equalsIgnoreCase("None"))) {
for (int i=0; i<objectCount; i++) {
if (isHit(nodes_list.get(i))) {
- node_bits.set(i);
+ nodeBits.set(i);
}
}
}
if (negation) {
- node_bits.flip(0, objectCount);
+ nodeBits.flip(0, objectCount);
}
childChanged = false;
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/TopologyFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/TopologyFilter.java
2012-01-23 18:35:06 UTC (rev 28074)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/TopologyFilter.java
2012-01-23 22:04:00 UTC (rev 28075)
@@ -93,17 +93,19 @@
return withinDistance;
}
+ @Override
public BitSet getNodeBits() {
apply();
- return node_bits;
+ return nodeBits;
}
+ @Override
public BitSet getEdgeBits(){
apply();
- return edge_bits;
+ return edgeBits;
}
-
+ @Override
public void apply() {
if ( !childChanged )
return;
@@ -140,29 +142,71 @@
}
//
- node_bits = new BitSet(objectCount); // all the bits
are false at very beginning
+ nodeBits = new BitSet(objectCount); // all the bits are
false at very beginning
for (int i=0; i<objectCount; i++) {
if (isHit(nodes_list.get(i), indexMap)) {
- node_bits.set(i);
+ nodeBits.set(i);
}
}
- }
- else {
+ } else {
LoggerFactory.getLogger(TopologyFilter.class).error("objectType is undefined.");
return;
}
if (negation) {
if (advancedSetting.isNodeChecked()) {
- node_bits.flip(0, objectCount);
+ nodeBits.flip(0, objectCount);
}
}
childChanged = false;
}
+ public void setNodeBits(BitSet b) {
+ nodeBits = b;
+ //parent.childChanged();
+ }
+
+ public void setEdgeBits(BitSet b) {
+ edgeBits = b;
+ //parent.childChanged();
+ }
+
+ @Override
+ public void setNetwork(CyNetwork pNetwork) {
+ if (network != null && network == pNetwork) {
+ return;
+ }
+ network = pNetwork;
+ if (passFilter != null) {
+ passFilter.setNetwork(network);
+ }
+
+ childChanged();
+ }
+ @Override
+ public String toSerializedForm() {
+ String retStr = "<TopologyFilter>\n";
+
+ retStr = retStr + "name=" + name + "\n";
+ retStr = retStr + advancedSetting.toString() + "\n";
+ retStr = retStr + "Negation=" + negation + "\n";
+ retStr = retStr + "minNeighbors=" + minNeighbors + "\n";
+ retStr = retStr + "withinDistance=" + withinDistance + "\n";
+
+ if (passFilter == null) {
+ retStr += "passFilter=null\n";
+ } else {
+ retStr += "passFilter=" + passFilter.getName()+"\n";
+ }
+
+ retStr += "</TopologyFiler>";
+
+ return retStr;
+ }
+
private boolean isHit(CyNode pObj, HashMap<Integer, Integer> pIndexMap)
{
// Get all the neighbors for pNode that pass the given filter
Set<CyNode> neighborSet = new HashSet<CyNode>();
@@ -216,70 +260,4 @@
}
}
-
- public String toString() {
- String retStr = "<TopologyFilter>\n";
-
- retStr = retStr + "name=" + name + "\n";
- retStr = retStr + advancedSetting.toString() + "\n";
- retStr = retStr + "Negation=" + negation + "\n";
- retStr = retStr + "minNeighbors=" + minNeighbors + "\n";
- retStr = retStr + "withinDistance=" + withinDistance + "\n";
-
- if (passFilter == null) {
- retStr += "passFilter=null\n";
- }
- else {
- retStr += "passFilter=" + passFilter.getName()+"\n";
- }
-
- retStr += "</TopologyFiler>";
-
- return retStr;
-
- }
-
- public void setNodeBits(BitSet b) {
- node_bits = b;
- //parent.childChanged();
- }
-
- public void setEdgeBits(BitSet b) {
- edge_bits = b;
- //parent.childChanged();
- }
-
- public void setParent(CyFilter p) {
- parent = p;
- }
- public CyFilter getParent() {
- return parent;
- }
-
- public void setNegation(boolean pNot) {
- negation = pNot;
- //getParent().childChanged();
- }
- public boolean getNegation() {
- return negation;
- }
-
- public String getName(){
- return name;
- }
- public void setName(String pName){
- name = pName;
- }
-
- public void setNetwork(CyNetwork pNetwork) {
- if (network != null && network == pNetwork) {
- return;
- }
- network = pNetwork;
- if (passFilter != null) {
- passFilter.setNetwork(network);
- }
-
- childChanged();
- }
}
--
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.