Author: scooter
Date: 2012-04-12 16:08:22 -0700 (Thu, 12 Apr 2012)
New Revision: 28816
Added:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTask.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTaskFactoryImpl.java
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/GroupNodesTask.java
core3/impl/trunk/group-data-impl/pom.xml
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyActivator.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupAggregationSettings.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupNodeSettingsTaskFactory.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsImpl.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTask.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTaskFactory.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupViewSettings.java
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/GroupDataCollapseHandler.java
core3/impl/trunk/group-impl/src/main/java/org/cytoscape/group/internal/CyGroupManagerImpl.java
core3/impl/trunk/group-view-impl/pom.xml
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/CyActivator.java
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewCollapseHandler.java
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewDoubleClickListener.java
Log:
Add "Ungroup" and remove CyGroupSettings API. This creates a dependency
between group.view.internal and group.data.internal for now, but that will
go away when I figure out the right way to do the settings stuff.
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -76,6 +76,7 @@
import org.cytoscape.task.internal.export.vizmap.ExportVizmapTaskFactoryImpl;
import org.cytoscape.task.internal.group.GroupNodeContextTaskFactoryImpl;
import org.cytoscape.task.internal.group.GroupNodesTaskFactoryImpl;
+import org.cytoscape.task.internal.group.UnGroupNodesTaskFactoryImpl;
import org.cytoscape.task.internal.hide.HideSelectedEdgesTaskFactoryImpl;
import org.cytoscape.task.internal.hide.HideSelectedNodesTaskFactoryImpl;
import org.cytoscape.task.internal.hide.HideSelectedTaskFactoryImpl;
@@ -275,10 +276,6 @@
BioGridPreprocessor bioGridPreprocessor = new
BioGridPreprocessor(cyPropertyServiceRef,cyApplicationConfigurationServiceRef);
ConnectSelectedNodesTaskFactoryImpl
connectSelectedNodesTaskFactory = new
ConnectSelectedNodesTaskFactoryImpl(undoSupportServiceRef,cyApplicationManagerServiceRef,cyEventHelperRef);
-
- GroupNodesTaskFactoryImpl groupNodesTaskFactory = new
GroupNodesTaskFactoryImpl(cyGroupManager, cyGroupFactory);
- GroupNodeContextTaskFactoryImpl collapseGroupTaskFactory = new
GroupNodeContextTaskFactoryImpl(cyGroupManager, true);
- GroupNodeContextTaskFactoryImpl expandGroupTaskFactory = new
GroupNodeContextTaskFactoryImpl(cyGroupManager, false);
MapGlobalToLocalTableTaskFactoryImpl mapGlobal = new
MapGlobalToLocalTableTaskFactoryImpl(cyTableManagerServiceRef,
cyNetworkManagerServiceRef, tunableSetterServiceRef);
@@ -918,7 +915,8 @@
registerServiceListener(bc,subnetworkBuilderUtil,"addProcessor","removeProcessor",InteractionFilePreprocessor.class);
registerServiceListener(bc,subnetworkBuilderUtil,"addFactory","removeFactory",VisualMappingFunctionFactory.class);
-
+ GroupNodesTaskFactoryImpl groupNodesTaskFactory =
+ new GroupNodesTaskFactoryImpl(cyGroupManager,
cyGroupFactory);
Properties groupNodesTaskFactoryProps = new Properties();
groupNodesTaskFactoryProps.setProperty("preferredMenu","Groups");
groupNodesTaskFactoryProps.setProperty("title","Group Nodes");
@@ -929,7 +927,19 @@
registerService(bc,groupNodesTaskFactory,NetworkViewTaskFactory.class,
groupNodesTaskFactoryProps);
registerService(bc,groupNodesTaskFactory,GroupNodesTaskFactory.class,
groupNodesTaskFactoryProps);
+ UnGroupNodesTaskFactoryImpl unGroupTaskFactory =
+ new UnGroupNodesTaskFactoryImpl(cyGroupManager);
+ Properties unGroupNodesTaskFactoryProps = new Properties();
+
unGroupNodesTaskFactoryProps.setProperty("preferredMenu","Groups");
+ unGroupNodesTaskFactoryProps.setProperty("title","Ungroup
Nodes");
+ unGroupNodesTaskFactoryProps.setProperty("tooltip","Un group
Selected Nodes");
+ unGroupNodesTaskFactoryProps.setProperty("preferredAction",
"NEW");
+ unGroupNodesTaskFactoryProps.setProperty("command",
"ungroup-selected-nodes");
+ groupNodesTaskFactoryProps.setProperty("commandNamespace",
"network-view");
+
registerService(bc,unGroupTaskFactory,NetworkViewTaskFactory.class,
unGroupNodesTaskFactoryProps);
+ GroupNodeContextTaskFactoryImpl collapseGroupTaskFactory =
+ new GroupNodeContextTaskFactoryImpl(cyGroupManager,
true);
Properties collapseGroupTaskFactoryProps = new Properties();
collapseGroupTaskFactoryProps.setProperty("preferredMenu","Groups");
collapseGroupTaskFactoryProps.setProperty("title","Collapse
Group");
@@ -939,6 +949,8 @@
collapseGroupTaskFactoryProps.setProperty("commandNamespace",
"network-view"); // TODO right namespace?
registerService(bc,collapseGroupTaskFactory,NodeViewTaskFactory.class,
collapseGroupTaskFactoryProps);
+ GroupNodeContextTaskFactoryImpl expandGroupTaskFactory =
+ new GroupNodeContextTaskFactoryImpl(cyGroupManager,
false);
Properties expandGroupTaskFactoryProps = new Properties();
expandGroupTaskFactoryProps.setProperty("preferredMenu","Groups");
expandGroupTaskFactoryProps.setProperty("title","Expand Group");
@@ -948,6 +960,17 @@
expandGroupTaskFactoryProps.setProperty("commandNamespace",
"network-view"); // TODO right namespace
registerService(bc,expandGroupTaskFactory,NodeViewTaskFactory.class,
expandGroupTaskFactoryProps);
+ UnGroupNodesTaskFactoryImpl unGroupNodesTaskFactory =
+ new UnGroupNodesTaskFactoryImpl(cyGroupManager);
+ Properties unGroupTaskFactoryProps = new Properties();
+ unGroupTaskFactoryProps.setProperty("preferredMenu","Groups");
+ unGroupTaskFactoryProps.setProperty("title","Ungroup Nodes");
+ unGroupTaskFactoryProps.setProperty("tooltip","Ungroup Nodes");
+ unGroupTaskFactoryProps.setProperty("preferredAction", "NEW");
+ unGroupTaskFactoryProps.setProperty("command", "ungroup");
+ unGroupTaskFactoryProps.setProperty("commandNamespace",
"network-view"); // TODO right namespace
+
registerService(bc,unGroupNodesTaskFactory,NodeViewTaskFactory.class,
unGroupTaskFactoryProps);
+
}
}
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/GroupNodesTask.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/GroupNodesTask.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/GroupNodesTask.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -63,8 +63,8 @@
// Get all of the selected nodes
final List<CyNode> selNodes = CyTableUtil.getNodesInState(net,
CyNetwork.SELECTED, true);
- // At some point, we'll want to seriously think about only
adding those edges that are also
- // selected, but for now....
+ // At some point, we'll want to seriously think about only
adding
+ // those edges that are also selected, but for now....
CyGroup group = factory.createGroup(net, selNodes, null, true);
// mgr.addGroup(group);
tm.setProgress(1.0d);
Added:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTask.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTask.java
(rev 0)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTask.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -0,0 +1,66 @@
+/*
+ File: SelectFirstNeighborsNodeViewTask.java
+
+ Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ any later version.
+
+ This library is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and
+ documentation provided hereunder is on an "as is" basis, and the
+ Institute for Systems Biology and the Whitehead Institute
+ have no obligations to provide maintenance, support,
+ updates, enhancements or modifications. In no event shall the
+ Institute for Systems Biology and the Whitehead Institute
+ be liable to any party for direct, indirect, special,
+ incidental or consequential damages, including lost profits, arising
+ out of the use of this software and its documentation, even if the
+ Institute for Systems Biology and the Whitehead Institute
+ have been advised of the possibility of such damage. See
+ the GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+package org.cytoscape.task.internal.group;
+
+import java.util.List;
+import java.util.Set;
+
+import org.cytoscape.group.CyGroup;
+import org.cytoscape.group.CyGroupManager;
+
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.TaskMonitor;
+
+public class UnGroupNodesTask extends AbstractTask {
+ private CyNetwork net;
+ private CyGroupManager mgr;
+ private Set<CyGroup>groupSet = null;
+
+ public UnGroupNodesTask(CyNetwork net, Set<CyGroup>groups,
CyGroupManager mgr) {
+ if (net == null)
+ throw new NullPointerException("network is null");
+ this.net = net;
+ this.mgr = mgr;
+ this.groupSet = groups;
+ }
+
+ public void run(TaskMonitor tm) throws Exception {
+ tm.setProgress(0.0);
+
+ for (CyGroup group: groupSet) {
+ mgr.destroyGroup(group);
+ tm.setProgress(1.0d/(double)groupSet.size());
+ }
+ tm.setProgress(1.0d);
+ }
+}
Added:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTaskFactoryImpl.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTaskFactoryImpl.java
(rev 0)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/group/UnGroupNodesTaskFactoryImpl.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -0,0 +1,106 @@
+/*
+ File: SelectFirstNeighborsNodeViewTaskFactory.java
+
+ Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ any later version.
+
+ This library is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and
+ documentation provided hereunder is on an "as is" basis, and the
+ Institute for Systems Biology and the Whitehead Institute
+ have no obligations to provide maintenance, support,
+ updates, enhancements or modifications. In no event shall the
+ Institute for Systems Biology and the Whitehead Institute
+ be liable to any party for direct, indirect, special,
+ incidental or consequential damages, including lost profits, arising
+ out of the use of this software and its documentation, even if the
+ Institute for Systems Biology and the Whitehead Institute
+ have been advised of the possibility of such damage. See
+ the GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+package org.cytoscape.task.internal.group;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.cytoscape.group.CyGroup;
+import org.cytoscape.group.CyGroupManager;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTableUtil;
+import org.cytoscape.task.NetworkViewTaskFactory;
+import org.cytoscape.task.NodeViewTaskFactory;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.View;
+import org.cytoscape.work.TaskIterator;
+
+public class UnGroupNodesTaskFactoryImpl implements NodeViewTaskFactory,
+ NetworkViewTaskFactory {
+ private CyGroupManager mgr;
+
+ public UnGroupNodesTaskFactoryImpl(CyGroupManager mgr) {
+ this.mgr = mgr;
+ }
+
+ public boolean isReady(View<CyNode> nodeView, CyNetworkView netView) {
+ List<CyNode> nodeList = new ArrayList<CyNode>();
+ nodeList.add(nodeView.getModel());
+
+ CyNetwork net = netView.getModel();
+ if (getGroups(net, nodeList).size() > 0)
+ return true;
+ return false;
+ }
+
+ public boolean isReady(CyNetworkView netView) {
+ // Get all of the selected nodes
+ CyNetwork net = netView.getModel();
+ final List<CyNode> selNodes = CyTableUtil.getNodesInState(net,
CyNetwork.SELECTED, true);
+ if (getGroups(net, selNodes).size() > 0)
+ return true;
+ return false;
+ }
+
+
+ public TaskIterator createTaskIterator(View<CyNode> nodeView,
+ CyNetworkView netView) {
+ List<CyNode> nodeList = new ArrayList<CyNode>();
+ nodeList.add(nodeView.getModel());
+ CyNetwork net = netView.getModel();
+ Set<CyGroup> groups = getGroups(net, nodeList);
+
+ return new TaskIterator(new UnGroupNodesTask(net, groups, mgr));
+ }
+
+ public TaskIterator createTaskIterator(CyNetworkView netView) {
+ CyNetwork net = netView.getModel();
+ final List<CyNode> selNodes = CyTableUtil.getNodesInState(net,
CyNetwork.SELECTED, true);
+ Set<CyGroup> groups = getGroups(net, selNodes);
+ return new TaskIterator(new
UnGroupNodesTask(netView.getModel(), groups, mgr));
+ }
+
+ private Set<CyGroup>getGroups(CyNetwork net, List<CyNode>nodeList) {
+
+ Set<CyGroup> groupList = new HashSet<CyGroup>();
+
+ // For each node that is in a group, or is a group, add it to
our list
+ for (CyNode node: nodeList) {
+ if (mgr.isGroup(node, net))
+ groupList.add(mgr.getGroup(node, net));
+ else if (mgr.getGroupsForNode(node, net) != null)
+ groupList.addAll(mgr.getGroupsForNode(node,
net));
+ }
+ return groupList;
+ }
+}
Modified: core3/impl/trunk/group-data-impl/pom.xml
===================================================================
--- core3/impl/trunk/group-data-impl/pom.xml 2012-04-12 23:04:10 UTC (rev
28815)
+++ core3/impl/trunk/group-data-impl/pom.xml 2012-04-12 23:08:22 UTC (rev
28816)
@@ -14,7 +14,7 @@
<groupId>org.cytoscape</groupId>
<artifactId>group-data-impl</artifactId>
- <name>${bundle.symbolicName} [${bundle.namespace}]</name>
+ <name>${bundle.symbolicName}</name>
<packaging>bundle</packaging>
@@ -29,7 +29,7 @@
<instructions>
<Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
- <Export-Package>!${bundle.namespace}.*</Export-Package>
+ <Export-Package>${bundle.namespace}.*</Export-Package>
<Private-Package>${bundle.namespace}.*</Private-Package>
<Bundle-Activator>${bundle.namespace}.CyActivator</Bundle-Activator>
</instructions>
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyActivator.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyActivator.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -5,7 +5,6 @@
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.group.CyGroupManager;
import org.cytoscape.group.data.CyGroupAggregationManager;
-import org.cytoscape.group.data.CyGroupSettings;
import org.cytoscape.group.events.GroupAboutToCollapseListener;
import org.cytoscape.group.events.GroupAddedListener;
import org.cytoscape.model.CyNetworkManager;
@@ -70,10 +69,10 @@
NodeViewTaskFactory.class, settingsProps);
// Make the settings available to consumers
- registerService(bc,cyGroupSettings,
- CyGroupSettings.class, new Properties());
registerService(bc,cyGroupSettings,
GroupAddedListener.class, new Properties());
+ registerService(bc,cyGroupSettings,
+ CyGroupSettingsImpl.class, new Properties());
GroupDataCollapseHandler gdcHandler =
new GroupDataCollapseHandler(cyGroupManager, cyGroupSettings);
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupAggregationSettings.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupAggregationSettings.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupAggregationSettings.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -17,7 +17,6 @@
import org.cytoscape.group.data.Aggregator;
import org.cytoscape.group.data.AttributeHandlingType;
import org.cytoscape.group.data.CyGroupAggregationManager;
-import org.cytoscape.group.data.CyGroupSettings;
import org.cytoscape.group.data.internal.aggregators.*;
import java.util.ArrayList;
@@ -29,7 +28,7 @@
public class CyGroupAggregationSettings {
CyApplicationManager cyApplicationManager;
CyGroupAggregationManager cyAggManager;
- CyGroupSettings settings;
+ CyGroupSettingsImpl settings;
CyNetwork currentNetwork = null;
Map<CyColumn, Aggregator> overrides;
@@ -167,7 +166,7 @@
public CyGroupAggregationSettings(CyApplicationManager appManager,
CyGroupAggregationManager
cyAggManager,
- CyGroupSettings settings) {
+ CyGroupSettingsImpl settings) {
this.cyApplicationManager = appManager;
this.cyAggManager = cyAggManager;
this.settings = settings;
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupNodeSettingsTaskFactory.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupNodeSettingsTaskFactory.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupNodeSettingsTaskFactory.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -1,11 +1,11 @@
package org.cytoscape.group.data.internal;
import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.cytoscape.group.CyGroup;
import org.cytoscape.group.CyGroupManager;
import org.cytoscape.group.data.CyGroupAggregationManager;
-import org.cytoscape.group.data.CyGroupSettings;
import org.cytoscape.task.AbstractNodeViewTaskFactory;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.View;
@@ -15,12 +15,12 @@
CyGroupAggregationManager cyAggManager;
CyGroupManager cyGroupManager;
CyApplicationManager cyApplicationManager;
- CyGroupSettings settings;
+ CyGroupSettingsImpl settings;
public CyGroupNodeSettingsTaskFactory(CyGroupManager groupManager,
CyGroupAggregationManager aggMgr,
CyApplicationManager appManager,
- CyGroupSettings settings) {
+ CyGroupSettingsImpl settings) {
this.settings = settings;
this.cyAggManager = aggMgr;
this.cyGroupManager = groupManager;
@@ -29,12 +29,16 @@
@Override
public boolean isReady(View<CyNode> nodeView, CyNetworkView netView) {
- if (cyGroupManager.isGroup(nodeView.getModel(),
netView.getModel()))
+ CyNode node = nodeView.getModel();
+ CyNetwork network = netView.getModel();
+ if (cyGroupManager.isGroup(node, network))
return true;
+ else if (cyGroupManager.getGroupsForNode(node, network) != null)
+ return true;
return false;
}
- public CyGroupSettings getSettings() { return settings; }
+ public CyGroupSettingsImpl getSettings() { return settings; }
@Override
public TaskIterator createTaskIterator(View<CyNode> nodeView,
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsImpl.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsImpl.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsImpl.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -14,7 +14,6 @@
import org.cytoscape.group.data.Aggregator;
import org.cytoscape.group.data.AttributeHandlingType;
import org.cytoscape.group.data.CyGroupAggregationManager;
-import org.cytoscape.group.data.CyGroupSettings;
import org.cytoscape.group.events.GroupAddedEvent;
import org.cytoscape.group.events.GroupAddedListener;
@@ -25,7 +24,17 @@
* This class provides the context for both the global group settings and the
* group-specific group settings.
*/
-public class CyGroupSettingsImpl implements CyGroupSettings,
GroupAddedListener {
+public class CyGroupSettingsImpl implements GroupAddedListener {
+ public enum DoubleClickAction {
+ None("None"),
+ ExpandContract("Expand/Contract"),
+ Select("Select");
+
+ private final String name;
+ DoubleClickAction(String n) {this.name = n;}
+ public String toString() {return name;}
+ }
+
CyGroupManager cyGroupManager;
CyGroupAggregationManager cyAggManager;
CyApplicationManager cyApplicationManager;
@@ -65,24 +74,20 @@
* View settings
*
**************************************************************************/
- @Override
public DoubleClickAction getDoubleClickAction() {
return action;
}
- @Override
public DoubleClickAction getDoubleClickAction(CyGroup group) {
if (groupActionMap.containsKey(group))
return groupActionMap.get(group);
return action;
}
- @Override
public void setDoubleClickAction(DoubleClickAction action) {
this.action = action;
}
- @Override
public void setDoubleClickAction(CyGroup group, DoubleClickAction
action) {
if (group != null)
groupActionMap.put(group, action);
@@ -90,22 +95,18 @@
this.action = action;
}
- @Override
public boolean getUseNestedNetworks() { return useNestedNetworks; }
- @Override
public boolean getUseNestedNetworks(CyGroup group) {
if (nestedNetworkMap.containsKey(group))
return nestedNetworkMap.get(group);
return useNestedNetworks;
}
- @Override
public void setUseNestedNetworks(boolean useNN) {
useNestedNetworks = useNN;
}
- @Override
public void setUseNestedNetworks(CyGroup group, boolean useNN) {
if (group != null)
nestedNetworkMap.put(group, useNN);
@@ -113,22 +114,18 @@
this.useNestedNetworks = useNN;
}
- @Override
public boolean getHideGroupNode() { return hideGroupNode; }
- @Override
public boolean getHideGroupNode(CyGroup group) {
if (hideGroupMap.containsKey(group))
return hideGroupMap.get(group);
return hideGroupNode;
}
- @Override
public void setHideGroupNode(boolean hideGroup) {
hideGroupNode = hideGroup;
}
- @Override
public void setHideGroupNode(CyGroup group, boolean hideGroup) {
if (group != null)
hideGroupMap.put(group, hideGroup);
@@ -136,22 +133,18 @@
this.hideGroupNode = hideGroup;
}
- @Override
public double getGroupNodeOpacity() { return groupNodeOpacity; }
- @Override
public double getGroupNodeOpacity(CyGroup group) {
if (opacityMap.containsKey(group))
return opacityMap.get(group);
return groupNodeOpacity;
}
- @Override
public void setGroupNodeOpacity(double opacity) {
groupNodeOpacity = opacity;
}
- @Override
public void setGroupNodeOpacity(CyGroup group, double opacity) {
if (group != null)
opacityMap.put(group, opacity);
@@ -165,24 +158,20 @@
* Aggregation settings
*
**************************************************************************/
- @Override
public boolean getEnableAttributeAggregation() {
return enableAttributeAggregation;
}
- @Override
public boolean getEnableAttributeAggregation(CyGroup group) {
if (enableMap.containsKey(group))
return enableMap.get(group);
return enableAttributeAggregation;
}
- @Override
public void setEnableAttributeAggregation(boolean aggregate) {
this.enableAttributeAggregation = aggregate;
}
- @Override
public void setEnableAttributeAggregation(CyGroup group,
boolean aggregate) {
if (group != null)
@@ -191,7 +180,6 @@
this.enableAttributeAggregation = aggregate;
}
- @Override
public Aggregator getAggregator(CyGroup group, CyColumn column) {
Class type = column.getType();
Map<Class, Aggregator> defaultMap = allGroupDefaultMap;
@@ -205,7 +193,6 @@
return defaultMap.get(column.getType());
}
- @Override
public void setDefaultAggregation(CyGroup group,
Class ovClass, Aggregator agg) {
if (!groupMap.containsKey(group)) {
@@ -213,26 +200,22 @@
}
groupMap.get(group).setDefault(ovClass, agg);
}
- @Override
public Aggregator getDefaultAggregation(CyGroup group, Class ovClass) {
if (groupMap.containsKey(group))
return groupMap.get(group).getDefault(ovClass);
return null;
}
- @Override
public void setDefaultAggregation(Class ovClass, Aggregator agg) {
allGroupDefaultMap.put(ovClass, agg);
}
- @Override
public Aggregator getDefaultAggregation(Class ovClass) {
if (allGroupDefaultMap.containsKey(ovClass))
return allGroupDefaultMap.get(ovClass);
return null;
}
- @Override
public void setOverrideAggregation(CyGroup group,
CyColumn column, Aggregator agg) {
if (!groupMap.containsKey(group)) {
@@ -240,18 +223,15 @@
}
groupMap.get(group).setOverride(column, agg);
}
- @Override
public Aggregator getOverrideAggregation(CyGroup group, CyColumn
column) {
if (groupMap.containsKey(group))
return groupMap.get(group).getOverride(column);
return null;
}
- @Override
public void setOverrideAggregation(CyColumn column, Aggregator agg) {
allGroupOverrideMap.put(column, agg);
}
- @Override
public Aggregator getOverrideAggregation(CyColumn column) {
if (allGroupOverrideMap.containsKey(column))
return allGroupOverrideMap.get(column);
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTask.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTask.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTask.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -11,7 +11,6 @@
import org.cytoscape.group.CyGroupManager;
import org.cytoscape.group.data.Aggregator;
import org.cytoscape.group.data.CyGroupAggregationManager;
-import org.cytoscape.group.data.CyGroupSettings;
import org.cytoscape.model.CyColumn;
@@ -20,7 +19,7 @@
public class CyGroupSettingsTask extends AbstractTask {
CyGroupAggregationManager cyAggManager;
CyApplicationManager cyApplicationManager;
- CyGroupSettings settings;
+ CyGroupSettingsImpl settings;
CyGroup group = null;
@ContainsTunables
@@ -31,7 +30,7 @@
public CyGroupSettingsTask(CyGroupAggregationManager aggMgr,
CyApplicationManager appManager,
- CyGroupSettings settings,
+ CyGroupSettingsImpl settings,
CyGroup group) {
this.cyAggManager = aggMgr;
this.cyApplicationManager = appManager;
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTaskFactory.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTaskFactory.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupSettingsTaskFactory.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -4,22 +4,21 @@
import org.cytoscape.work.AbstractTaskFactory;
import org.cytoscape.work.TaskIterator;
import org.cytoscape.group.data.CyGroupAggregationManager;
-import org.cytoscape.group.data.CyGroupSettings;
class CyGroupSettingsTaskFactory extends AbstractTaskFactory {
CyGroupAggregationManager cyAggManager;
CyApplicationManager cyApplicationManager;
- CyGroupSettings settings;
+ CyGroupSettingsImpl settings;
public CyGroupSettingsTaskFactory(CyGroupAggregationManager aggMgr,
CyApplicationManager appManager,
- CyGroupSettings settings) {
+ CyGroupSettingsImpl settings) {
this.settings = settings;
this.cyAggManager = aggMgr;
this.cyApplicationManager = appManager;
}
- public CyGroupSettings getSettings() { return settings; }
+ public CyGroupSettingsImpl getSettings() { return settings; }
public TaskIterator createTaskIterator() {
CyGroupSettingsTask task = new
CyGroupSettingsTask(cyAggManager,
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupViewSettings.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupViewSettings.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/CyGroupViewSettings.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -13,8 +13,7 @@
import org.cytoscape.group.CyGroupManager;
import org.cytoscape.group.data.Aggregator;
import org.cytoscape.group.data.AttributeHandlingType;
-import org.cytoscape.group.data.CyGroupSettings;
-import org.cytoscape.group.data.CyGroupSettings.DoubleClickAction;
+import org.cytoscape.group.data.internal.CyGroupSettingsImpl.DoubleClickAction;
import org.cytoscape.group.data.internal.aggregators.*;
import org.cytoscape.group.events.GroupAddedEvent;
import org.cytoscape.group.events.GroupAddedListener;
@@ -26,7 +25,7 @@
import java.util.Map;
public class CyGroupViewSettings {
- CyGroupSettings settings = null;
+ CyGroupSettingsImpl settings = null;
public ListSingleSelection<DoubleClickAction> doubleClickAction =
new
ListSingleSelection<DoubleClickAction>(DoubleClickAction.None,
@@ -55,7 +54,7 @@
groups={"Group View Settings"})
public BoundedDouble groupNodeOpacity = new BoundedDouble(0.0, 100.0,
100.0, false, false);
- public CyGroupViewSettings(CyGroupSettings settings) {
+ public CyGroupViewSettings(CyGroupSettingsImpl settings) {
this.settings = settings;
if (settings.getDoubleClickAction() == null) {
Modified:
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/GroupDataCollapseHandler.java
===================================================================
---
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/GroupDataCollapseHandler.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-data-impl/src/main/java/org/cytoscape/group/data/internal/GroupDataCollapseHandler.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -31,7 +31,6 @@
import org.cytoscape.group.CyGroup;
import org.cytoscape.group.CyGroupManager;
-import org.cytoscape.group.data.CyGroupSettings;
import org.cytoscape.group.data.Aggregator;
import org.cytoscape.group.events.GroupAboutToCollapseEvent;
import org.cytoscape.group.events.GroupAboutToCollapseListener;
@@ -52,7 +51,7 @@
{
private final CyGroupManager cyGroupManager;
- private final CyGroupSettings cyGroupSettings;
+ private final CyGroupSettingsImpl cyGroupSettings;
private static final Logger logger =
LoggerFactory.getLogger(GroupDataCollapseHandler.class);
Modified:
core3/impl/trunk/group-impl/src/main/java/org/cytoscape/group/internal/CyGroupManagerImpl.java
===================================================================
---
core3/impl/trunk/group-impl/src/main/java/org/cytoscape/group/internal/CyGroupManagerImpl.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-impl/src/main/java/org/cytoscape/group/internal/CyGroupManagerImpl.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -104,6 +104,17 @@
}
@Override
+ public synchronized List<CyGroup> getGroupsForNode(CyNode node,
CyNetwork network) {
+ List<CyGroup> returnList = new ArrayList<CyGroup>();
+ for (CyGroup group: groupSet) {
+ if (group.isInNetwork(network) &&
+ group.getGroupNetwork().containsNode(node))
+ returnList.add(group);
+ }
+ return returnList;
+ }
+
+ @Override
public synchronized CyGroup getGroup(CyNode node, CyNetwork network) {
for (CyGroup group: groupSet) {
if (group.isInNetwork(network) &&
group.getGroupNode().equals(node))
Modified: core3/impl/trunk/group-view-impl/pom.xml
===================================================================
--- core3/impl/trunk/group-view-impl/pom.xml 2012-04-12 23:04:10 UTC (rev
28815)
+++ core3/impl/trunk/group-view-impl/pom.xml 2012-04-12 23:08:22 UTC (rev
28816)
@@ -70,7 +70,8 @@
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
- <artifactId>group-data-api</artifactId>
+ <artifactId>group-data-impl</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
Modified:
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/CyActivator.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/CyActivator.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -6,7 +6,7 @@
import org.osgi.framework.BundleContext;
import org.cytoscape.group.CyGroupManager;
-import org.cytoscape.group.data.CyGroupSettings;
+import org.cytoscape.group.data.internal.CyGroupSettingsImpl;
import org.cytoscape.group.events.GroupAboutToCollapseListener;
import org.cytoscape.group.events.GroupCollapsedListener;
import org.cytoscape.model.CyNetworkManager;
@@ -32,7 +32,7 @@
CyNetworkViewManager cyNetworkViewManager =
getService(bc,CyNetworkViewManager.class);
CyNetworkViewFactory cyNetworkViewFactory =
getService(bc,CyNetworkViewFactory.class);
CyNetworkManager cyNetworkManager =
getService(bc,CyNetworkManager.class);
- CyGroupSettings groupSettings =
getService(bc,CyGroupSettings.class);
+ CyGroupSettingsImpl groupSettings =
getService(bc,CyGroupSettingsImpl.class);
VisualMappingManager styleManager = getService(bc,
VisualMappingManager.class);
GroupViewCollapseHandler gvcHandler =
Modified:
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewCollapseHandler.java
===================================================================
---
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewCollapseHandler.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewCollapseHandler.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -35,7 +35,7 @@
import org.cytoscape.group.CyGroup;
import org.cytoscape.group.CyGroupManager;
-import org.cytoscape.group.data.CyGroupSettings;
+import org.cytoscape.group.data.internal.CyGroupSettingsImpl;
import org.cytoscape.group.events.GroupAboutToCollapseEvent;
import org.cytoscape.group.events.GroupAboutToCollapseListener;
import org.cytoscape.group.events.GroupCollapsedEvent;
@@ -72,7 +72,7 @@
private final CyNetworkViewManager cyNetworkViewManager;
private final CyNetworkViewFactory cyNetworkViewFactory;
private final VisualMappingManager cyStyleManager;
- private final CyGroupSettings cyGroupSettings;
+ private final CyGroupSettingsImpl cyGroupSettings;
private static final Logger logger =
LoggerFactory.getLogger(GroupViewCollapseHandler.class);
private static final VisualProperty<Double> xLoc =
BasicVisualLexicon.NODE_X_LOCATION;
private static final VisualProperty<Double> yLoc =
BasicVisualLexicon.NODE_Y_LOCATION;
@@ -87,7 +87,7 @@
* @param cyEventHelper
*/
public GroupViewCollapseHandler(final CyGroupManager groupManager,
- final CyGroupSettings groupSettings,
+ final CyGroupSettingsImpl groupSettings,
final CyNetworkManager netManager,
final CyNetworkViewManager viewManager,
final CyNetworkViewFactory viewFactory,
Modified:
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewDoubleClickListener.java
===================================================================
---
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewDoubleClickListener.java
2012-04-12 23:04:10 UTC (rev 28815)
+++
core3/impl/trunk/group-view-impl/src/main/java/org/cytoscape/group/view/internal/GroupViewDoubleClickListener.java
2012-04-12 23:08:22 UTC (rev 28816)
@@ -33,8 +33,8 @@
import org.cytoscape.group.CyGroup;
import org.cytoscape.group.CyGroupManager;
-import org.cytoscape.group.data.CyGroupSettings;
-import org.cytoscape.group.data.CyGroupSettings.DoubleClickAction;
+import org.cytoscape.group.data.internal.CyGroupSettingsImpl;
+import org.cytoscape.group.data.internal.CyGroupSettingsImpl.DoubleClickAction;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyTable;
@@ -52,13 +52,14 @@
public class GroupViewDoubleClickListener extends AbstractNodeViewTaskFactory
{
CyGroupManager cyGroupManager;
- CyGroupSettings cyGroupSettings;
+ CyGroupSettingsImpl cyGroupSettings;
/**
*
*
*/
- public GroupViewDoubleClickListener(final CyGroupManager groupManager,
final CyGroupSettings groupSettings) {
+ public GroupViewDoubleClickListener(final CyGroupManager groupManager,
+ final CyGroupSettingsImpl
groupSettings) {
this.cyGroupManager = groupManager;
this.cyGroupSettings = groupSettings;
}
--
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.