| /** |
| * <copyright> |
| * Copyright (c) 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 |
| * </copyright> |
| * |
| * $Id: ActivityImpl.java,v 1.11 2011/03/30 18:54:25 rbrodt Exp $ |
| */ |
| package org.eclipse.bpel.model.impl; |
| |
| import org.eclipse.bpel.model.Activity; |
| import org.eclipse.bpel.model.BPELPackage; |
| import org.eclipse.bpel.model.Sources; |
| import org.eclipse.bpel.model.Targets; |
| import org.eclipse.bpel.model.util.BPELConstants; |
| import org.eclipse.bpel.model.util.BPELUtils; |
| import org.eclipse.bpel.model.util.ReconciliationHelper; |
| import org.eclipse.emf.common.notify.Notification; |
| import org.eclipse.emf.common.notify.NotificationChain; |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.InternalEObject; |
| import org.eclipse.emf.ecore.impl.ENotificationImpl; |
| import org.w3c.dom.Node; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model object '<em><b>Activity</b></em>'. |
| * <!-- end-user-doc --> |
| * <p> |
| * The following features are implemented: |
| * <ul> |
| * <li>{@link org.eclipse.bpel.model.impl.ActivityImpl#getName <em>Name</em>}</li> |
| * <li>{@link org.eclipse.bpel.model.impl.ActivityImpl#getSuppressJoinFailure <em>Suppress Join Failure</em>}</li> |
| * <li>{@link org.eclipse.bpel.model.impl.ActivityImpl#getTargets <em>Targets</em>}</li> |
| * <li>{@link org.eclipse.bpel.model.impl.ActivityImpl#getSources <em>Sources</em>}</li> |
| * </ul> |
| * </p> |
| * |
| * @generated |
| */ |
| public class ActivityImpl extends BPELExtensibleElementImpl implements Activity { |
| /** |
| * The default value of the '{@link #getName() <em>Name</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getName() |
| * @generated |
| * @ordered |
| */ |
| protected static final String NAME_EDEFAULT = null; |
| |
| /** |
| * The cached value of the '{@link #getName() <em>Name</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getName() |
| * @generated |
| * @ordered |
| */ |
| protected String name = NAME_EDEFAULT; |
| |
| /** |
| * The default value of the '{@link #getSuppressJoinFailure() <em>Suppress Join Failure</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSuppressJoinFailure() |
| * @generated |
| * @ordered |
| */ |
| protected static final Boolean SUPPRESS_JOIN_FAILURE_EDEFAULT = null; |
| |
| /** |
| * The cached value of the '{@link #getSuppressJoinFailure() <em>Suppress Join Failure</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSuppressJoinFailure() |
| * @generated |
| * @ordered |
| */ |
| protected Boolean suppressJoinFailure = SUPPRESS_JOIN_FAILURE_EDEFAULT; |
| |
| /** |
| * This is true if the Suppress Join Failure attribute has been set. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| * @ordered |
| */ |
| protected boolean suppressJoinFailureESet; |
| |
| /** |
| * The cached value of the '{@link #getTargets() <em>Targets</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getTargets() |
| * @generated |
| * @ordered |
| */ |
| protected Targets targets; |
| |
| /** |
| * The cached value of the '{@link #getSources() <em>Sources</em>}' containment reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #getSources() |
| * @generated |
| * @ordered |
| */ |
| protected Sources sources; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected ActivityImpl() { |
| super(); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| protected EClass eStaticClass() { |
| return BPELPackage.Literals.ACTIVITY; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public String getName() { |
| return name; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| */ |
| public void setName(String newName) { |
| String oldName = name; |
| name = newName; |
| if (!isReconciling) { |
| ReconciliationHelper.replaceAttribute(this, BPELConstants.AT_NAME, |
| newName); |
| } |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, |
| BPELPackage.ACTIVITY__NAME, oldName, name)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Boolean getSuppressJoinFailure() { |
| return suppressJoinFailure; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| */ |
| public void setSuppressJoinFailure(Boolean newSuppressJoinFailure) { |
| Boolean oldSuppressJoinFailure = suppressJoinFailure; |
| if (!isReconciling) { |
| ReconciliationHelper.replaceAttribute(this, |
| BPELConstants.AT_SUPPRESS_JOIN_FAILURE, |
| BPELUtils.boolean2XML(newSuppressJoinFailure)); |
| } |
| suppressJoinFailure = newSuppressJoinFailure; |
| boolean oldSuppressJoinFailureESet = suppressJoinFailureESet; |
| suppressJoinFailureESet = true; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, |
| BPELPackage.ACTIVITY__SUPPRESS_JOIN_FAILURE, |
| oldSuppressJoinFailure, suppressJoinFailure, |
| !oldSuppressJoinFailureESet)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| */ |
| public void unsetSuppressJoinFailure() { |
| Boolean oldSuppressJoinFailure = suppressJoinFailure; |
| if (!isReconciling) { |
| ReconciliationHelper.replaceAttribute(this, |
| BPELConstants.AT_SUPPRESS_JOIN_FAILURE, (String) null); |
| } |
| boolean oldSuppressJoinFailureESet = suppressJoinFailureESet; |
| suppressJoinFailure = SUPPRESS_JOIN_FAILURE_EDEFAULT; |
| suppressJoinFailureESet = false; |
| if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.UNSET, |
| BPELPackage.ACTIVITY__SUPPRESS_JOIN_FAILURE, |
| oldSuppressJoinFailure, SUPPRESS_JOIN_FAILURE_EDEFAULT, |
| oldSuppressJoinFailureESet)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public boolean isSetSuppressJoinFailure() { |
| return suppressJoinFailureESet; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Targets getTargets() { |
| return targets; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| */ |
| public NotificationChain basicSetTargets(Targets newTargets, |
| NotificationChain msgs) { |
| Targets oldTargets = targets; |
| if (!isReconciling) { |
| ReconciliationHelper.replaceChild(this, oldTargets, newTargets); |
| } |
| targets = newTargets; |
| if (eNotificationRequired()) { |
| ENotificationImpl notification = new ENotificationImpl(this, |
| Notification.SET, BPELPackage.ACTIVITY__TARGETS, |
| oldTargets, newTargets); |
| if (msgs == null) |
| msgs = notification; |
| else |
| msgs.add(notification); |
| } |
| return msgs; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setTargets(Targets newTargets) { |
| if (newTargets != targets) { |
| NotificationChain msgs = null; |
| if (targets != null) |
| msgs = ((InternalEObject) targets).eInverseRemove(this, |
| EOPPOSITE_FEATURE_BASE - BPELPackage.ACTIVITY__TARGETS, |
| null, msgs); |
| if (newTargets != null) |
| msgs = ((InternalEObject) newTargets).eInverseAdd(this, |
| EOPPOSITE_FEATURE_BASE - BPELPackage.ACTIVITY__TARGETS, |
| null, msgs); |
| msgs = basicSetTargets(newTargets, msgs); |
| if (msgs != null) |
| msgs.dispatch(); |
| } else if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, |
| BPELPackage.ACTIVITY__TARGETS, newTargets, newTargets)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public Sources getSources() { |
| return sources; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| */ |
| public NotificationChain basicSetSources(Sources newSources, |
| NotificationChain msgs) { |
| Sources oldSources = sources; |
| if (!isReconciling) { |
| ReconciliationHelper.replaceChild(this, oldSources, newSources); |
| } |
| sources = newSources; |
| if (eNotificationRequired()) { |
| ENotificationImpl notification = new ENotificationImpl(this, |
| Notification.SET, BPELPackage.ACTIVITY__SOURCES, |
| oldSources, newSources); |
| if (msgs == null) |
| msgs = notification; |
| else |
| msgs.add(notification); |
| } |
| return msgs; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public void setSources(Sources newSources) { |
| if (newSources != sources) { |
| NotificationChain msgs = null; |
| if (sources != null) |
| msgs = ((InternalEObject) sources).eInverseRemove(this, |
| EOPPOSITE_FEATURE_BASE - BPELPackage.ACTIVITY__SOURCES, |
| null, msgs); |
| if (newSources != null) |
| msgs = ((InternalEObject) newSources).eInverseAdd(this, |
| EOPPOSITE_FEATURE_BASE - BPELPackage.ACTIVITY__SOURCES, |
| null, msgs); |
| msgs = basicSetSources(newSources, msgs); |
| if (msgs != null) |
| msgs.dispatch(); |
| } else if (eNotificationRequired()) |
| eNotify(new ENotificationImpl(this, Notification.SET, |
| BPELPackage.ACTIVITY__SOURCES, newSources, newSources)); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public NotificationChain eInverseRemove(InternalEObject otherEnd, |
| int featureID, NotificationChain msgs) { |
| switch (featureID) { |
| case BPELPackage.ACTIVITY__TARGETS: |
| return basicSetTargets(null, msgs); |
| case BPELPackage.ACTIVITY__SOURCES: |
| return basicSetSources(null, msgs); |
| } |
| return super.eInverseRemove(otherEnd, featureID, msgs); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public Object eGet(int featureID, boolean resolve, boolean coreType) { |
| switch (featureID) { |
| case BPELPackage.ACTIVITY__NAME: |
| return getName(); |
| case BPELPackage.ACTIVITY__SUPPRESS_JOIN_FAILURE: |
| return getSuppressJoinFailure(); |
| case BPELPackage.ACTIVITY__TARGETS: |
| return getTargets(); |
| case BPELPackage.ACTIVITY__SOURCES: |
| return getSources(); |
| } |
| return super.eGet(featureID, resolve, coreType); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public void eSet(int featureID, Object newValue) { |
| switch (featureID) { |
| case BPELPackage.ACTIVITY__NAME: |
| setName((String) newValue); |
| return; |
| case BPELPackage.ACTIVITY__SUPPRESS_JOIN_FAILURE: |
| setSuppressJoinFailure((Boolean) newValue); |
| return; |
| case BPELPackage.ACTIVITY__TARGETS: |
| setTargets((Targets) newValue); |
| return; |
| case BPELPackage.ACTIVITY__SOURCES: |
| setSources((Sources) newValue); |
| return; |
| } |
| super.eSet(featureID, newValue); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public void eUnset(int featureID) { |
| switch (featureID) { |
| case BPELPackage.ACTIVITY__NAME: |
| setName(NAME_EDEFAULT); |
| return; |
| case BPELPackage.ACTIVITY__SUPPRESS_JOIN_FAILURE: |
| unsetSuppressJoinFailure(); |
| return; |
| case BPELPackage.ACTIVITY__TARGETS: |
| setTargets((Targets) null); |
| return; |
| case BPELPackage.ACTIVITY__SOURCES: |
| setSources((Sources) null); |
| return; |
| } |
| super.eUnset(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public boolean eIsSet(int featureID) { |
| switch (featureID) { |
| case BPELPackage.ACTIVITY__NAME: |
| return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT |
| .equals(name); |
| case BPELPackage.ACTIVITY__SUPPRESS_JOIN_FAILURE: |
| return isSetSuppressJoinFailure(); |
| case BPELPackage.ACTIVITY__TARGETS: |
| return targets != null; |
| case BPELPackage.ACTIVITY__SOURCES: |
| return sources != null; |
| } |
| return super.eIsSet(featureID); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| @Override |
| public String toString() { |
| if (eIsProxy()) |
| return super.toString(); |
| |
| StringBuffer result = new StringBuffer(super.toString()); |
| result.append(" (name: "); //$NON-NLS-1$ |
| result.append(name); |
| result.append(", suppressJoinFailure: "); //$NON-NLS-1$ |
| if (suppressJoinFailureESet) |
| result.append(suppressJoinFailure); |
| else |
| result.append("<unset>"); //$NON-NLS-1$ |
| result.append(')'); |
| return result.toString(); |
| } |
| |
| public int getActivityNodeIndex(Node activityNode) { |
| Node parent = activityNode.getParentNode(); |
| if (parent == null) { |
| return -1; //error |
| } |
| |
| int index = 0; |
| for (Node child = parent.getFirstChild(); child != null; child = child |
| .getNextSibling()) { |
| if (child == activityNode) { |
| return index; |
| } |
| if (child.getNodeType() == Node.ELEMENT_NODE) { |
| index++; |
| } |
| } |
| |
| return -1; // error |
| } |
| /*protected void handleReconciliation(Collection remainingModelObjects) { |
| for (Iterator i = remainingModelObjects.iterator(); i.hasNext();){ |
| remove(this, i.next()); |
| } |
| }*/ |
| |
| } //ActivityImpl |