Author: kono
Date: 2012-03-02 11:06:33 -0800 (Fri, 02 Mar 2012)
New Revision: 28413
Removed:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindFactory.java
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/CyActivator.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NumericFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/StringFilter.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/FilterUtil.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTask.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTaskFactory.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterSettingPanel.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/app/QuickFindApp.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindImpl.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/view/QuickFindConfigDialog.java
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
Log:
Singleton instance of QuickFind is now injected through CyActivator.
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/CyActivator.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/CyActivator.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -16,6 +16,8 @@
import org.cytoscape.filter.internal.filters.view.FilterMainPanel;
import org.cytoscape.filter.internal.gui.FilterCytoPanelComponent;
import org.cytoscape.filter.internal.quickfind.app.QuickFindApp;
+import org.cytoscape.filter.internal.quickfind.util.QuickFind;
+import org.cytoscape.filter.internal.quickfind.util.QuickFindImpl;
import org.cytoscape.filter.internal.read.filter.FilterReader;
import org.cytoscape.filter.internal.write.filter.FilterWriter;
import org.cytoscape.model.CyNetworkManager;
@@ -38,6 +40,9 @@
TaskManager taskManagerServiceRef =
getService(bc,TaskManager.class);
CyApplicationConfiguration cyApplicationConfigurationServiceRef
= getService(bc,CyApplicationConfiguration.class);
CyVersion cytoscapeVersionService =
getService(bc,CyVersion.class);
+
+ // Singleton of QuickFind
+ final QuickFind quickFind = new QuickFindImpl();
ServicesUtil.cySwingApplicationServiceRef =
cySwingApplicationServiceRef;
ServicesUtil.cyApplicationManagerServiceRef =
cyApplicationManagerServiceRef;
@@ -49,14 +54,14 @@
ServicesUtil.cytoscapeVersionService = cytoscapeVersionService;
ServicesUtil.cyApplicationConfigurationServiceRef =
cyApplicationConfigurationServiceRef;
- final FilterReader filterReader = new FilterReader();
+ final FilterReader filterReader = new FilterReader(quickFind);
final FilterWriter filterWriter = new FilterWriter();
FilterModelLocator filtersModelLocator = new
FilterModelLocator();
FilterApp filterApp = new FilterApp(filterReader, filterWriter,
filtersModelLocator);
- QuickFindApp quickFindApp = new
QuickFindApp(cyApplicationManagerServiceRef,cyNetworkViewManagerServiceRef,cySwingApplicationServiceRef,cyNetworkManagerServiceRef);
+ QuickFindApp quickFindApp = new QuickFindApp(quickFind,
cyApplicationManagerServiceRef, cyNetworkManagerServiceRef);
- FilterMainPanel filterMainPanel = new
FilterMainPanel(filtersModelLocator,cyApplicationManagerServiceRef,cyNetworkManagerServiceRef,cyEventHelperServiceRef,taskManagerServiceRef);
+ FilterMainPanel filterMainPanel = new
FilterMainPanel(quickFind,
filtersModelLocator,cyApplicationManagerServiceRef,cyNetworkManagerServiceRef,cyEventHelperServiceRef,taskManagerServiceRef);
FilterCytoPanelComponent filterCytoPanelComponent = new
FilterCytoPanelComponent(filterMainPanel);
FilterMenuItemAction filterAction = new
FilterMenuItemAction(cySwingApplicationServiceRef,filterMainPanel);
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NumericFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NumericFilter.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/NumericFilter.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -52,16 +52,12 @@
public class NumericFilter<T extends Number> extends AtomicFilter {
private T lowBound, highBound;
+ private final QuickFind quickFind;
- public NumericFilter() {
+ public NumericFilter(final QuickFind quickFind) {
+ this.quickFind = quickFind;
}
- public NumericFilter(String pCtrlAttri, int pIndexType, NumberIndex
pIndex) {
- controllingAttribute = pCtrlAttri;
- index_type = pIndexType;
- quickFind_index = pIndex;
- }
-
public boolean passesFilter(Object obj) {
return false;
}
@@ -111,7 +107,7 @@
//If quickFind_index does not exist, build the Index
//if (quickFind_index == null) {
- quickFind_index =
FilterUtil.getQuickFindIndex(controllingAttribute, network, index_type);
+ quickFind_index = FilterUtil.getQuickFindIndex(quickFind,
controllingAttribute, network, index_type);
//}
//System.out.println(" NumberFilter.apply(): objectCount = " +
objectCount);
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/StringFilter.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/StringFilter.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/model/StringFilter.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -53,26 +53,19 @@
public class StringFilter extends AtomicFilter {
private String searchStr = null;
+ private final QuickFind quickFind;
- //---------------------------------------//
- // Constructor
- //----------------------------------------//
-
/**
* Creates a new StringPatternFilter object.
*
* @param desc DOCUMENT ME!
*/
- public StringFilter() {
+ public StringFilter(final QuickFind quickFind) {
super();
+ this.quickFind = quickFind;
}
- public StringFilter(String pCtrlAttri, int pIndexType, TextIndex
pIndex) {
- controllingAttribute = pCtrlAttri;
- index_type = pIndexType;
- quickFind_index = pIndex;
- }
public String getSearchStr() {
return searchStr;
@@ -121,7 +114,7 @@
//If quickFind_index does not exist, build the Index
//if (quickFind_index == null) {
- quickFind_index =
FilterUtil.getQuickFindIndex(controllingAttribute, network, index_type);
+ quickFind_index = FilterUtil.getQuickFindIndex(quickFind,
controllingAttribute, network, index_type);
//}
TextIndex theIndex = (TextIndex) quickFind_index;
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/FilterUtil.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/FilterUtil.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/util/FilterUtil.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -6,7 +6,6 @@
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.filter.internal.filters.model.CompositeFilter;
import org.cytoscape.filter.internal.quickfind.util.QuickFind;
-import org.cytoscape.filter.internal.quickfind.util.QuickFindFactory;
import org.cytoscape.filter.internal.quickfind.util.TaskMonitorBase;
import org.cytoscape.filter.internal.widgets.autocomplete.index.GenericIndex;
import org.cytoscape.model.CyEdge;
@@ -105,8 +104,7 @@
}
- public static GenericIndex getQuickFindIndex(String pCtrlAttribute,
CyNetwork pNetwork, int pIndexType) {
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
+ public static GenericIndex getQuickFindIndex(final QuickFind quickFind,
String pCtrlAttribute, CyNetwork pNetwork, int pIndexType) {
quickFind.reindexNetwork(pNetwork, pIndexType, pCtrlAttribute,
new TaskMonitorBase());
return quickFind.getIndex(pNetwork);
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTask.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTask.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTask.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -24,31 +24,29 @@
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.filter.internal.filters.view;
-
import org.cytoscape.filter.internal.quickfind.util.QuickFind;
-import org.cytoscape.filter.internal.quickfind.util.QuickFindFactory;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
-
final class FilterIndexingTask extends AbstractTask {
private final CyNetwork network;
+ private final QuickFind quickFind;
- FilterIndexingTask(final CyNetwork network) {
+ FilterIndexingTask(final QuickFind quickFind, final CyNetwork network) {
this.network = network;
+ this.quickFind = quickFind;
}
@Override
public void run(final TaskMonitor taskMonitor) throws Exception {
taskMonitor.setTitle("Indexing Network Data");
-long start = System.currentTimeMillis();
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
+ long start = System.currentTimeMillis();
quickFind.addNetwork(network, taskMonitor);
-long end = System.currentTimeMillis();
-System.err.println("+++++++++++++++ addNetwork() took " + (end-start) + "ms");
+ long end = System.currentTimeMillis();
+ System.err.println("+++++++++++++++ addNetwork() took " + (end
- start) + "ms");
}
}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTaskFactory.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTaskFactory.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterIndexingTaskFactory.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -28,6 +28,7 @@
package org.cytoscape.filter.internal.filters.view;
+import org.cytoscape.filter.internal.quickfind.util.QuickFind;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.work.TaskFactory;
import org.cytoscape.work.TaskIterator;
@@ -35,9 +36,11 @@
final class FilterIndexingTaskFactory implements TaskFactory {
private final CyNetwork network;
+ private final QuickFind quickFind;
- FilterIndexingTaskFactory(final CyNetwork network) {
+ FilterIndexingTaskFactory(final QuickFind quickFind, final CyNetwork
network) {
this.network = network;
+ this.quickFind = quickFind;
}
/** @return an iterator returning a sequence of <code>Task</code>s.
@@ -46,6 +49,6 @@
*/
@Override
public TaskIterator createTaskIterator() {
- return new TaskIterator(new FilterIndexingTask(network));
+ return new TaskIterator(new FilterIndexingTask(quickFind,
network));
}
}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterMainPanel.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -83,6 +83,7 @@
import
org.cytoscape.filter.internal.filters.util.WidestStringComboBoxPopupMenuListener;
import org.cytoscape.filter.internal.filters.util.WidestStringProvider;
import org.cytoscape.filter.internal.quickfind.util.CyAttributesUtil;
+import org.cytoscape.filter.internal.quickfind.util.QuickFind;
import org.cytoscape.model.CyColumn;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkManager;
@@ -115,6 +116,8 @@
// String constants used for separator entries in the attribute combobox
private static final String filtersSeparator = "-- Filters --";
private static final String attributesSeperator = "-- Attributes --";
+
+ private final QuickFind quickFind;
private static JPopupMenu optionMenu;
@@ -149,7 +152,7 @@
private final CyEventHelper eventHelper;
private final TaskManager taskManager;
- public FilterMainPanel(final FilterModelLocator modelLocator,
+ public FilterMainPanel(final QuickFind quickFind, final
FilterModelLocator modelLocator,
final CyApplicationManager
applicationManager,
final CyNetworkManager networkManager,
final CyEventHelper eventHelper,
@@ -159,6 +162,7 @@
this.networkManager = networkManager;
this.eventHelper = eventHelper;
this.taskManager = taskManager;
+ this.quickFind = quickFind;
modelLocator.addListener(this);
@@ -452,7 +456,7 @@
currentFilterSettingPanel = next;
if (currentFilterSettingPanel == null ||
currentFilterSettingPanel.hasNullIndexChildFilter()) {
- currentFilterSettingPanel = new
FilterSettingPanel(this, pNewFilter, modelLocator, applicationManager,
+ currentFilterSettingPanel = new
FilterSettingPanel(quickFind, this, pNewFilter, modelLocator,
applicationManager,
eventHelper);
//Update the HashMap
filter2SettingPanelMap.put(pNewFilter,
currentFilterSettingPanel);
@@ -547,7 +551,7 @@
return;
final CyNetwork network = currentView.getModel();
- taskManager.execute(new FilterIndexingTaskFactory(network));
+ taskManager.execute(new FilterIndexingTaskFactory(quickFind,
network));
updateCMBAttributes();
}
@@ -1179,7 +1183,7 @@
Vector<CompositeFilter> allFilters = modelLocator.getFilters();
allFilters.add(newFilter);
- FilterSettingPanel newFilterSettingPanel = new
FilterSettingPanel(this, newFilter, modelLocator,
+ FilterSettingPanel newFilterSettingPanel = new
FilterSettingPanel(quickFind, this, newFilter, modelLocator,
applicationManager, eventHelper);
filter2SettingPanelMap.put(newFilter, newFilterSettingPanel);
@@ -1258,7 +1262,7 @@
newFilter.setNetwork(applicationManager.getCurrentNetwork());
modelLocator.addFilter(newFilter);
- FilterSettingPanel newFilterSettingPanel = new
FilterSettingPanel(this, newFilter, modelLocator,
+ FilterSettingPanel newFilterSettingPanel = new
FilterSettingPanel(quickFind, this, newFilter, modelLocator,
applicationManager, eventHelper);
filter2SettingPanelMap.put(newFilter, newFilterSettingPanel);
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterSettingPanel.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterSettingPanel.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/filters/view/FilterSettingPanel.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -77,7 +77,6 @@
import org.cytoscape.filter.internal.prefuse.data.query.NumberRangeModel;
import org.cytoscape.filter.internal.prefuse.util.ui.JRangeSlider;
import org.cytoscape.filter.internal.quickfind.util.QuickFind;
-import org.cytoscape.filter.internal.quickfind.util.QuickFindFactory;
import org.cytoscape.filter.internal.quickfind.util.TaskMonitorBase;
import org.cytoscape.filter.internal.widgets.autocomplete.index.GenericIndex;
import org.cytoscape.filter.internal.widgets.autocomplete.index.Hit;
@@ -112,15 +111,18 @@
private final CyApplicationManager applicationManager;
private final CyEventHelper eventHelper;
+ private final QuickFind quickFind;
+
private static final Logger logger =
LoggerFactory.getLogger(FilterSettingPanel.class);
- public FilterSettingPanel(final FilterMainPanel pParent,
+ public FilterSettingPanel(final QuickFind quickFind, final
FilterMainPanel pParent,
final Object
pFilterObj,
final
FilterModelLocator modelLocator,
final
CyApplicationManager applicationManager,
final CyEventHelper
eventHelper) {
this.applicationManager = applicationManager;
this.eventHelper = eventHelper;
+ this.quickFind = quickFind;
theFilter = (CompositeFilter) pFilterObj;
setName(theFilter.getName());
@@ -499,7 +501,6 @@
private AtomicFilter getAtomicFilterFromStr(String pCtrlAttribute, int
pIndexType) {
AtomicFilter retFilter = null;
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
//quickFind.addNetwork(cyNetwork, new TaskMonitorBase());
//index_by_UniqueIdentification = (TextIndex)
quickFind.getIndex(cyNetwork);
@@ -520,7 +521,7 @@
if ((attributeType == Integer.class)
||(attributeType == Double.class)) {
- retFilter = new NumericFilter();
+ retFilter = new NumericFilter(quickFind);
retFilter.setControllingAttribute(pCtrlAttribute);
retFilter.setIndexType(pIndexType);
@@ -529,7 +530,7 @@
retFilter.setIndex(quickFind.getIndex(cyNetwork));
} else if ((attributeType == String.class||(attributeType ==
List.class||(attributeType == Boolean.class)))) {
- retFilter = new StringFilter();
+ retFilter = new StringFilter(quickFind);
retFilter.setControllingAttribute(pCtrlAttribute);
retFilter.setIndexType(pIndexType);
@@ -943,7 +944,6 @@
private TextIndex createTextIndex(StringFilter pFilter) {
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
CyNetwork cyNetwork = applicationManager.getCurrentNetwork();
quickFind.reindexNetwork(cyNetwork, pFilter.getIndexType(),
pFilter.getControllingAttribute(), new
TaskMonitorBase());
@@ -952,7 +952,6 @@
private NumberIndex createNumberIndex(NumericFilter pNumericFilter) {
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
currentNetwork = applicationManager.getCurrentNetwork();
if (currentNetwork == null)
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/app/QuickFindApp.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/app/QuickFindApp.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/app/QuickFindApp.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -39,12 +39,10 @@
import javax.swing.event.ChangeListener;
import org.cytoscape.application.CyApplicationManager;
-import org.cytoscape.application.swing.CySwingApplication;
import org.cytoscape.filter.internal.filters.util.SelectUtil;
import org.cytoscape.filter.internal.filters.util.VisualPropertyUtil;
import org.cytoscape.filter.internal.prefuse.data.query.NumberRangeModel;
import org.cytoscape.filter.internal.quickfind.util.QuickFind;
-import org.cytoscape.filter.internal.quickfind.util.QuickFindFactory;
import org.cytoscape.filter.internal.quickfind.util.QuickFindListener;
import org.cytoscape.filter.internal.quickfind.util.TaskMonitorBase;
import org.cytoscape.filter.internal.widgets.autocomplete.index.GenericIndex;
@@ -69,7 +67,6 @@
import org.cytoscape.model.events.RemovedNodesEvent;
import org.cytoscape.model.events.RemovedNodesListener;
import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.View;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedEvent;
@@ -90,25 +87,20 @@
NetworkAboutToBeDestroyedListener,
NetworkViewAboutToBeDestroyedListener
{
- static final int REINDEX_THRESHOLD = 1000;
+ private static final int REINDEX_THRESHOLD = 1000;
+
+ private final QuickFind quickFind;
+
private final CyApplicationManager applicationManager;
- private final CyNetworkViewManager viewManager;
- private final CySwingApplication application;
private final CyNetworkManager networkManager;
private static final int NODE_SIZE_MULTIPLER = 10;
- /**
- * Constructor.
- */
- public QuickFindApp(final CyApplicationManager applicationManager,
- final CyNetworkViewManager viewManager,
- final CySwingApplication application,
- final CyNetworkManager networkManager)
- {
+
+ public QuickFindApp(final QuickFind quickFind, final
CyApplicationManager applicationManager, final CyNetworkManager networkManager)
{
this.applicationManager = applicationManager;
- this.viewManager = viewManager;
- this.application = application;
this.networkManager = networkManager;
+ this.quickFind = quickFind;
+
initListeners();
}
@@ -116,7 +108,6 @@
* Initializes All Cytoscape Listeners.
*/
private void initListeners() {
- QuickFind quickFind = QuickFindFactory.getGlobalQuickFindInstance();
quickFind.addQuickFindListener(this);
}
@@ -126,7 +117,6 @@
* line, and the network is already loaded prior to any apps being
loaded
*/
private void initIndex() {
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
// If a network already exists within Cytoscape, index it
final CyNetwork cyNetwork =
applicationManager.getCurrentNetwork();
@@ -144,9 +134,8 @@
@Override
public void handleEvent(NetworkViewAboutToBeDestroyedEvent e) {
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
- CyNetworkView networkView = e.getNetworkView();
- CyNetwork cyNetwork = networkView.getModel();
+ final CyNetworkView networkView = e.getNetworkView();
+ final CyNetwork cyNetwork = networkView.getModel();
quickFind.removeNetwork(cyNetwork);
}
@@ -200,7 +189,6 @@
// Fit Selected Content
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
final CyNetwork cyNetwork =
applicationManager.getCurrentNetwork();
CyNetworkView networkView =
applicationManager.getCurrentNetworkView();
GenericIndex index =
quickFind.getIndex(cyNetwork);
@@ -268,7 +256,6 @@
*/
public void onUserRangeSelection(CyNetwork network, Number lowValue,
Number highValue) {
try {
- QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
GenericIndex index = quickFind.getIndex(network);
NumberIndex numberIndex = (NumberIndex) index;
final List rangeList = numberIndex.getRange(lowValue,
highValue);
@@ -377,11 +364,9 @@
}
private void handleNetworkModified(final CyNetwork cyNetwork) {
- if (!networkManager.networkExists(cyNetwork.getSUID())) {
+ if (!networkManager.networkExists(cyNetwork.getSUID()))
return;
- }
- final QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
if (cyNetwork.getNodeList() != null) {
// this network may not have been added to quick find -
// this can happen if an empty network was added
@@ -418,7 +403,10 @@
*
* @author Ethan Cerami.
*/
-class UserSelectionListener implements ActionListener {
+final class UserSelectionListener implements ActionListener {
+
+ private final QuickFind quickFind;
+
private final TextIndexComboBox comboBox;
private final CyApplicationManager applicationManager;
@@ -427,9 +415,10 @@
*
* @param comboBox TextIndexComboBox.
*/
- public UserSelectionListener(TextIndexComboBox comboBox,
CyApplicationManager applicationManager) {
+ public UserSelectionListener(final QuickFind quickFind,
TextIndexComboBox comboBox, CyApplicationManager applicationManager) {
this.comboBox = comboBox;
this.applicationManager = applicationManager;
+ this.quickFind = quickFind;
}
/**
@@ -445,7 +434,6 @@
Object o = comboBox.getSelectedItem();
if ((o != null) && o instanceof Hit) {
- QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
Hit hit = (Hit) comboBox.getSelectedItem();
quickFind.selectHit(currentNetwork, hit);
}
@@ -459,6 +447,8 @@
* @author Ethan Cerami.
*/
class RangeSelectionListener implements ChangeListener {
+
+ private final QuickFind quickFind;
private final JRangeSliderExtended slider;
private final CyApplicationManager applicationManager;
@@ -467,9 +457,10 @@
*
* @param slider JRangeSliderExtended Object.
*/
- public RangeSelectionListener(JRangeSliderExtended slider,
CyApplicationManager applicationManager) {
+ public RangeSelectionListener(final QuickFind quickFind,
JRangeSliderExtended slider, CyApplicationManager applicationManager) {
this.slider = slider;
this.applicationManager = applicationManager;
+ this.quickFind = quickFind;
}
/**
@@ -478,7 +469,6 @@
* @param e ChangeEvent Object.
*/
public void stateChanged(ChangeEvent e) {
- QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
final CyNetwork cyNetwork =
applicationManager.getCurrentNetwork();
GenericIndex index = quickFind.getIndex(cyNetwork);
NumberRangeModel model = (NumberRangeModel) slider.getModel();
Deleted:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindFactory.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindFactory.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindFactory.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -1,61 +0,0 @@
-
-/*
- Copyright (c) 2006, 2007, The Cytoscape Consortium (www.cytoscape.org)
-
- The Cytoscape Consortium is:
- - Institute for Systems Biology
- - University of California San Diego
- - Memorial Sloan-Kettering Cancer Center
- - Institut Pasteur
- - Agilent Technologies
-
- 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.filter.internal.quickfind.util;
-
-
-
-/**
- * Factory for Creating QuickFind Classes.
- *
- * @author Ethan Cerami.
- */
-public class QuickFindFactory {
- private static QuickFind quickFind;
-
- /**
- * Gets instance of Global QuickFind Singleton.
- *
- * @return Global QuickFind Class.
- */
- public static QuickFind getGlobalQuickFindInstance() {
- if (quickFind == null) {
- quickFind = new QuickFindImpl();
- }
-
- return quickFind;
- }
-}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindImpl.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindImpl.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/util/QuickFindImpl.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -30,9 +30,9 @@
import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.Iterator;
-import java.util.Map.Entry;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.cytoscape.filter.internal.widgets.autocomplete.index.GenericIndex;
import org.cytoscape.filter.internal.widgets.autocomplete.index.Hit;
@@ -53,21 +53,13 @@
*
* @author Ethan Cerami.
*/
-class QuickFindImpl implements QuickFind {
+public class QuickFindImpl implements QuickFind {
private ArrayList listenerList = new ArrayList();
- private HashMap networkMap = new HashMap();
+ private Map<CyNetwork, GenericIndex> networkMap = new
ConcurrentHashMap<CyNetwork, GenericIndex>();
private int maxProgress;
private int currentProgress;
private static final boolean OUTPUT_PERFORMANCE_STATS = false;
- /**
- * Creates a new QuickFindImpl object.
- *
- * @param nodeAttributes DOCUMENT ME!
- * @param edgeAttributes DOCUMENT ME!
- */
- public QuickFindImpl() {
- }
/**
* DOCUMENT ME!
@@ -156,11 +148,7 @@
return true;
}
- /**
- * DOCUMENT ME!
- *
- * @param network DOCUMENT ME!
- */
+
public synchronized void removeNetwork(CyNetwork network) {
networkMap.remove(networkMap);
@@ -171,31 +159,15 @@
}
}
- /**
- * DOCUMENT ME!
- *
- * @param network DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public synchronized GenericIndex getIndex(CyNetwork network) {
- return (GenericIndex) networkMap.get(network);
+ @Override
+ public GenericIndex getIndex(final CyNetwork network) {
+ return networkMap.get(network);
}
- /**
- * DOCUMENT ME!
- *
- * @param cyNetwork DOCUMENT ME!
- * @param indexType DOCUMENT ME!
- * @param controllingAttribute DOCUMENT ME!
- * @param taskMonitor DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public synchronized GenericIndex reindexNetwork(CyNetwork cyNetwork,
int indexType,
- String
controllingAttribute,
- TaskMonitor taskMonitor)
- {
+
+ @Override
+ public synchronized GenericIndex reindexNetwork(CyNetwork cyNetwork,
int indexType, String controllingAttribute,
+ TaskMonitor taskMonitor) {
// If all the values for the controllingAttribute are NULL,
return null
CyTable table;
if (indexType == QuickFind.INDEX_NODES) {
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/view/QuickFindConfigDialog.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/view/QuickFindConfigDialog.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/quickfind/view/QuickFindConfigDialog.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -67,7 +67,6 @@
import org.cytoscape.filter.internal.filters.util.VisualPropertyUtil;
import org.cytoscape.filter.internal.quickfind.util.CyAttributesUtil;
import org.cytoscape.filter.internal.quickfind.util.QuickFind;
-import org.cytoscape.filter.internal.quickfind.util.QuickFindFactory;
import org.cytoscape.filter.internal.widgets.autocomplete.index.GenericIndex;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyTableEntry;
@@ -138,19 +137,18 @@
private final CyApplicationManager applicationManager;
- private final CySwingApplication application;
-
+ private final QuickFind quickFind;
+
/**
* Constructor.
*/
- public QuickFindConfigDialog(CyApplicationManager applicationManager,
CySwingApplication application) {
+ public QuickFindConfigDialog(final QuickFind quickFind,
CyApplicationManager applicationManager, CySwingApplication application) {
this.applicationManager = applicationManager;
- this.application = application;
+ this.quickFind = quickFind;
// Initialize, based on currently selected network
currentNetwork = applicationManager.getCurrentNetwork();
- QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
currentIndex = quickFind.getIndex(currentNetwork);
indexType = currentIndex.getIndexType();
@@ -253,7 +251,7 @@
QuickFindConfigDialog.this.dispose();
String newAttribute = (String)
attributeComboBox.getSelectedItem();
- ReindexQuickFind task = new
ReindexQuickFind(currentNetwork, indexType,
+ ReindexQuickFind task = new
ReindexQuickFind(quickFind, currentNetwork, indexType,
newAttribute);
// // TODO: Port this later
@@ -586,6 +584,9 @@
* @author Ethan Cerami.
*/
class ReindexQuickFind implements Task {
+
+ private final QuickFind quickFind;
+
private String newAttributeKey;
private CyNetwork cyNetwork;
private int indexType;
@@ -596,17 +597,17 @@
* @param indexType Index Type.
* @param newAttributeKey New Attribute Key for Indexing.
*/
- ReindexQuickFind(CyNetwork cyNetwork, int indexType, String
newAttributeKey) {
+ ReindexQuickFind(final QuickFind quickFind, CyNetwork cyNetwork, int
indexType, String newAttributeKey) {
this.cyNetwork = cyNetwork;
this.indexType = indexType;
this.newAttributeKey = newAttributeKey;
+ this.quickFind = quickFind;
}
/**
* Executes Task: Reindex.
*/
public void run(TaskMonitor taskMonitor) {
- QuickFind quickFind =
QuickFindFactory.getGlobalQuickFindInstance();
quickFind.reindexNetwork(cyNetwork, indexType, newAttributeKey,
taskMonitor);
}
Modified:
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
===================================================================
---
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
2012-03-02 18:04:24 UTC (rev 28412)
+++
core3/impl/trunk/filter-impl/src/main/java/org/cytoscape/filter/internal/read/filter/FilterReader.java
2012-03-02 19:06:33 UTC (rev 28413)
@@ -24,6 +24,7 @@
import org.cytoscape.filter.internal.filters.model.TopologyFilter;
import org.cytoscape.filter.internal.filters.util.FilterUtil;
import org.cytoscape.filter.internal.filters.util.ServicesUtil;
+import org.cytoscape.filter.internal.quickfind.util.QuickFind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,7 +32,12 @@
public final class FilterReader {
private static final Logger logger =
LoggerFactory.getLogger(FilterReader.class);
+ private final QuickFind quickFind;
+ public FilterReader(final QuickFind quickFind) {
+ this.quickFind = quickFind;
+ }
+
public Collection<CompositeFilter> read(final File file) {
Collection<CompositeFilter> filters = null;
InputStream is = null;
@@ -198,7 +204,7 @@
String _stringFilterValue = line.substring(13);
String[] _values =
_stringFilterValue.split(":");
// controllingAttribute+":" + negation+
":"+searchStr+":"+index_type;
- StringFilter _strFilter = new StringFilter();
+ StringFilter _strFilter = new
StringFilter(quickFind);
_strFilter.setParent(retFilter);
_strFilter.setControllingAttribute(_values[0]);
_strFilter.setNegation((new
Boolean(_values[1])).booleanValue());
@@ -225,7 +231,7 @@
}
if (dataType.equalsIgnoreCase("double")) {
- NumericFilter<Double> _numFilter = new
NumericFilter<Double>();
+ NumericFilter<Double> _numFilter = new
NumericFilter<Double>(quickFind);
_numFilter.setParent(retFilter);
_numFilter.setControllingAttribute(_values[0]);
_numFilter.setNegation((new
Boolean(_values[1])).booleanValue());
@@ -234,7 +240,7 @@
_numFilter.setIndexType((new
Integer(_values[4])).intValue());
retFilter.addChild(_numFilter);
} else { // dataType = "int"
- NumericFilter<Integer> _numFilter = new
NumericFilter<Integer>();
+ NumericFilter<Integer> _numFilter = new
NumericFilter<Integer>(quickFind);
_numFilter.setParent(retFilter);
_numFilter.setControllingAttribute(_values[0]);
_numFilter.setNegation((new
Boolean(_values[1])).booleanValue());
--
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.