Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.gmt.modisco.infra.browser/src/org/eclipse/gmt/modisco/infra/browser/queries/SelectedQueriesManager.java')
-rw-r--r--org.eclipse.gmt.modisco.infra.browser/src/org/eclipse/gmt/modisco/infra/browser/queries/SelectedQueriesManager.java104
1 files changed, 0 insertions, 104 deletions
diff --git a/org.eclipse.gmt.modisco.infra.browser/src/org/eclipse/gmt/modisco/infra/browser/queries/SelectedQueriesManager.java b/org.eclipse.gmt.modisco.infra.browser/src/org/eclipse/gmt/modisco/infra/browser/queries/SelectedQueriesManager.java
deleted file mode 100644
index 65a6ef5de..000000000
--- a/org.eclipse.gmt.modisco.infra.browser/src/org/eclipse/gmt/modisco/infra/browser/queries/SelectedQueriesManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 Mia-Software.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Nicolas Bros (Mia-Software)
- *******************************************************************************/
-package org.eclipse.gmt.modisco.infra.browser.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmt.modisco.infra.browser.uicore.ChangeListener;
-import org.eclipse.gmt.modisco.infra.query.ModelQuery;
-
-/**
- * Contains the information about queries that have been added to model
- * elements. Supports adding and removing selected queries, with notifications
- * to listeners.
- */
-public class SelectedQueriesManager {
- /** Associations between model elements and queries */
- private final Map<EObject, List<SelectedQuery>> selectedQueries = new HashMap<EObject, List<SelectedQuery>>();
-
- public void add(final EObject eObject, final ModelQuery modelQuery) {
- if (modelQuery == null) {
- throw new IllegalArgumentException("modelQuery is null"); //$NON-NLS-1$
- }
-
- List<SelectedQuery> list = this.selectedQueries.get(eObject);
- if (list == null) {
- list = new ArrayList<SelectedQuery>();
- this.selectedQueries.put(eObject, list);
- }
- for (SelectedQuery selectedQuery : list) {
- if (selectedQuery.getModelQuery() == modelQuery) {
- // don't duplicate the query
- return;
- }
- }
- SelectedQuery selectedQuery = new SelectedQuery(modelQuery, eObject, this);
- list.add(selectedQuery);
- fireChangeNotification();
- }
-
- public void remove(final SelectedQuery selectedQuery) {
- boolean changed = false;
- Collection<List<SelectedQuery>> values = this.selectedQueries.values();
- for (List<SelectedQuery> list : values) {
- ListIterator<SelectedQuery> listIterator = list.listIterator();
- while (listIterator.hasNext()) {
- if (listIterator.next() == selectedQuery) {
- changed = true;
- listIterator.remove();
- }
- }
- }
- if (changed) {
- fireChangeNotification();
- }
- }
-
- public void clear() {
- this.selectedQueries.clear();
- fireChangeNotification();
- }
-
- /**
- * Returns the queries selected for the given model element.
- *
- * @return a list of selected queries (which can be empty) or
- * <code>null</code>
- */
- public List<SelectedQuery> getSelectedQueriesFor(final EObject eObject) {
- return this.selectedQueries.get(eObject);
- }
-
- private final List<ChangeListener> changeListeners = new ArrayList<ChangeListener>();
-
- public void addChangeListener(final ChangeListener listener) {
- if (!this.changeListeners.contains(listener)) {
- this.changeListeners.add(listener);
- }
- }
-
- public void removeChangeListener(final ChangeListener listener) {
- this.changeListeners.remove(listener);
- }
-
- public void fireChangeNotification() {
- for (final ChangeListener changeListener : this.changeListeners) {
- changeListener.changed();
- }
- }
-
-}

Back to the top