diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewer.java')
-rw-r--r-- | plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewer.java | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewer.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewer.java deleted file mode 100644 index 20629a0ca..000000000 --- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterViewer.java +++ /dev/null @@ -1,147 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2003, 2004 IBM Corporation and others. 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: IBM Corporation - initial API and implementation - **************************************************************************************************/ - -package org.eclipse.jst.j2ee.internal.webservice.adapter; - -import java.util.ArrayList; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.jface.viewers.Viewer; - -public class AdapterViewer extends AdapterImpl { - private EObject eObject_; - private Viewer viewer_; - private ArrayList features_; - - public AdapterViewer(Viewer viewer) { - super(); - eObject_ = null; - viewer_ = viewer; - features_ = new ArrayList(); - } - - public AdapterViewer(EObject eObject, Viewer viewer) { - this(viewer); - adapt(eObject); - } - - public void notifyChanged(Notification msg) { - int type = msg.getEventType(); - if (type == Notification.SET || type == Notification.UNSET || type == Notification.ADD || type == Notification.REMOVE || type == Notification.ADD_MANY || type == Notification.REMOVE_MANY) { - Object notifier = msg.getNotifier(); - if (notifier == eObject_) { - if (type == Notification.SET || type == Notification.ADD || type == Notification.ADD_MANY) - internalAdaptFeature((EStructuralFeature) msg.getFeature()); - else if (type == Notification.UNSET || type == Notification.REMOVE || type == Notification.REMOVE_MANY) { - Object object = msg.getOldValue(); - if (object instanceof EObject) - ((EObject) object).eAdapters().remove(this); - else if (object instanceof EList) { - EList eList = (EList) object; - for (int i = 0; i < eList.size(); i++) { - Object item = eList.get(i); - if (item instanceof EObject) - ((EObject) item).eAdapters().remove(this); - } - } - } - } - viewer_.refresh(); - } - } - - public void adapt(EObject eObject) { - if (eObject_ != null) { - eObject_.eAdapters().remove(this); - unadaptAllCachedFeature(); - } - eObject_ = eObject; - if (eObject_ != null) { - eObject_.eAdapters().add(this); - readaptAllCachedFeature(); - } - viewer_.refresh(); - } - - public void adaptFeature(EStructuralFeature feature) { - if (!features_.contains(feature)) { - features_.add(feature); - internalAdaptFeature(feature); - } - } - - private void internalAdaptFeature(EStructuralFeature feature) { - if (eObject_ != null) { - Object featureObject = eObject_.eGet(feature); - if (featureObject instanceof EObject) { - EList eAdapters = ((EObject) featureObject).eAdapters(); - if (!eAdapters.contains(this)) - eAdapters.add(this); - } else if (featureObject instanceof EList) { - EList eList = (EList) featureObject; - for (int i = 0; i < eList.size(); i++) { - Object object = eList.get(i); - if (object instanceof EObject) { - EList eAdapters = ((EObject) object).eAdapters(); - if (!eAdapters.contains(this)) - eAdapters.add(this); - } - } - } - } - } - - private void readaptAllCachedFeature() { - EStructuralFeature[] features = new EStructuralFeature[features_.size()]; - for (int i = 0; i < features.length; i++) - features[i] = (EStructuralFeature) features_.get(i); - for (int i = 0; i < features.length; i++) - internalAdaptFeature(features[i]); - } - - public void unadaptFeature(EStructuralFeature feature) { - features_.remove(feature); - internalUnadaptFeature(feature); - } - - private void internalUnadaptFeature(EStructuralFeature feature) { - if (eObject_ != null) { - Object featureObject = eObject_.eGet(feature); - if (featureObject instanceof EObject) - ((EObject) featureObject).eAdapters().remove(this); - else if (featureObject instanceof EList) { - EList eList = (EList) featureObject; - for (int i = 0; i < eList.size(); i++) { - Object object = eList.get(i); - if (object instanceof EObject) - ((EObject) object).eAdapters().remove(this); - } - } - } - } - - private void unadaptAllCachedFeature() { - EStructuralFeature[] features = new EStructuralFeature[features_.size()]; - for (int i = 0; i < features.length; i++) - features[i] = (EStructuralFeature) features_.get(i); - for (int i = 0; i < features.length; i++) - internalUnadaptFeature(features[i]); - } - - public void dispose() { - if (eObject_ != null) - eObject_.eAdapters().remove(this); - unadaptAllCachedFeature(); - features_ = null; - } -}
\ No newline at end of file |