Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterElement.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterElement.java199
1 files changed, 0 insertions, 199 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterElement.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterElement.java
deleted file mode 100644
index faf03dad6..000000000
--- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/adapter/AdapterElement.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 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.Iterator;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.j2ee.internal.webservice.command.CommandAddElement;
-import org.eclipse.jst.j2ee.internal.webservice.command.CommandRemoveElement;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-
-
-public class AdapterElement extends AdapterImpl implements ModifyListener {
- private ArtifactEdit artifactEdit;
- private EObject parent_;
- private EClass childEClass_;
- private EStructuralFeature childFeature_;
- private boolean childNillable_;
- private EStructuralFeature[] features_;
- private boolean[] featuresNillable_;
- private Text[] featuresTexts_;
- private AdapterText[] featuresAdapters_;
-
- public AdapterElement(ArtifactEdit anArtifactEdit, EClass childEClass, EStructuralFeature childFeature, boolean childNillable, EStructuralFeature[] features, boolean[] featuresNillable, Text[] featuresTexts) {
- super();
- artifactEdit = anArtifactEdit;
- parent_ = null;
- childEClass_ = childEClass;
- childFeature_ = childFeature;
- childNillable_ = childNillable;
- features_ = features;
- featuresNillable_ = featuresNillable;
- featuresTexts_ = featuresTexts;
- addModifyListener();
- featuresAdapters_ = new AdapterText[features_.length];
- newAdapters(null);
- }
-
- public AdapterElement(ArtifactEdit anArtifactEdit, EObject parent, EClass childEClass, EStructuralFeature childFeature, boolean childNillable, EStructuralFeature[] features, boolean[] featuresNillable, Text[] featuresTexts) {
- this(anArtifactEdit, childEClass, childFeature, childNillable, features, featuresNillable, featuresTexts);
- adapt(parent);
- }
-
- private void newAdapters(EObject eObject) {
- if (eObject == null)
- for (int i = 0; i < featuresAdapters_.length; i++)
- featuresAdapters_[i] = new AdapterText(artifactEdit, features_[i], featuresTexts_[i], featuresNillable_[i]);
- else
- for (int i = 0; i < featuresAdapters_.length; i++)
- featuresAdapters_[i] = new AdapterText(artifactEdit, eObject, features_[i], featuresTexts_[i], featuresNillable_[i]);
- }
-
- private void addModifyListener() {
- for (int i = 0; i < featuresTexts_.length; i++)
- featuresTexts_[i].addModifyListener(this);
- }
-
- public void notifyChanged(Notification msg) {
- int type = msg.getEventType();
- if ((type == Notification.SET || type == Notification.UNSET) && msg.getFeature() == childFeature_) {
- EObject child = (EObject) parent_.eGet(childFeature_);
- if (child == null && !childNillable_)
- child = setChild();
- for (int i = 0; i < featuresAdapters_.length; i++)
- featuresAdapters_[i].adapt(child);
- }
- }
-
- public void modifyText(ModifyEvent e) {
- boolean isTextsNull = isTextsNull();
- EObject child = (EObject) parent_.eGet(childFeature_);
- boolean childCanBeRemoved = true;
- if (child != null) {
- Iterator allfeatures = childEClass_.getEAllStructuralFeatures().iterator();
- while (allfeatures.hasNext()) {
- EStructuralFeature thisFeature = (EStructuralFeature) allfeatures.next();
- if (!adaptingFeature(thisFeature) && child.eIsSet(thisFeature)) {
- childCanBeRemoved = false;
- break;
- }
- }
- }
- if (isTextsNull && child != null && childNillable_ && childCanBeRemoved) {
- disposeAdapters();
- parent_.eAdapters().remove(this);
- CommandRemoveElement command = new CommandRemoveElement(null, null, parent_, childFeature_);
- artifactEdit.getContentModelRoot().eResource().setModified(true);
- artifactEdit.getCommandStack().execute(command);
- parent_.eAdapters().add(this);
- newAdapters(null);
- } else if (!isTextsNull && child == null) {
- disposeAdapters();
- parent_.eAdapters().remove(this);
- child = createChild();
- for (int i = 0; i < features_.length; i++) {
- String text = featuresTexts_[i].getText();
- if (text != null && text.length() > 0)
- child.eSet(features_[i], text);
- }
- CommandAddElement command = new CommandAddElement(null, null, parent_, childFeature_, child);
- artifactEdit.getContentModelRoot().eResource().setModified(true);
- artifactEdit.getCommandStack().execute(command);
- parent_.eAdapters().add(this);
- newAdapters(child);
- }
- }
-
- private boolean isTextsNull() {
- for (int i = 0; i < featuresTexts_.length; i++) {
- String text = featuresTexts_[i].getText();
- if (text != null && text.length() > 0)
- return false;
- }
- return true;
- }
-
- public void adapt(EObject eObject) {
- if (parent_ != null)
- parent_.eAdapters().remove(this);
- parent_ = eObject;
- EObject child = null;
- if (parent_ != null) {
- parent_.eAdapters().add(this);
- child = (EObject) parent_.eGet(childFeature_);
- if (child == null && !childNillable_)
- child = setChild();
- }
- removeModifyListener();
- for (int i = 0; i < featuresAdapters_.length; i++)
- featuresAdapters_[i].adapt(child);
- addModifyListener();
- }
-
- private EObject setChild() {
- EObject child = createChild();
- parent_.eAdapters().remove(this);
- parent_.eSet(childFeature_, child);
- parent_.eAdapters().add(this);
- return child;
- }
-
- private EObject createChild() {
- EFactory childFactory = childEClass_.getEPackage().getEFactoryInstance();
- EObject child = childFactory.create(childEClass_);
- for (int i = 0; i < features_.length; i++) {
- if (!featuresNillable_[i])
- child.eSet(features_[i], ""); //$NON-NLS-1$
- }
- return child;
- }
-
- public void dispose() {
- if (parent_ != null)
- parent_.eAdapters().remove(this);
- disposeAdapters();
- removeModifyListener();
- }
-
- private void disposeAdapters() {
- for (int i = 0; i < featuresAdapters_.length; i++)
- featuresAdapters_[i].dispose();
- }
-
- private void removeModifyListener() {
- for (int i = 0; i < featuresTexts_.length; i++)
- if (featuresTexts_[i] != null && !featuresTexts_[i].isDisposed())
- featuresTexts_[i].removeModifyListener(this);
- }
-
- private boolean adaptingFeature(EStructuralFeature feature) {
- if (features_ == null)
- return false;
-
- for (int i = 0; i < features_.length; i++) {
- if (feature == features_[i]) {
- return true;
- }
- }
-
- return false;
- }
-}

Back to the top