Commit 8845f263 authored by Dominique Marcadet's avatar Dominique Marcadet

move LDevice <--> LN0 and LDevice <--> LN to LDevice <--> AnyLN

FeatureMap are used to keep LDevice --> LN0 and LDevice --> LN
parent 87695a9c
...@@ -170,8 +170,8 @@ public class LDeviceItemProvider extends UnNamingItemProvider { ...@@ -170,8 +170,8 @@ public class LDeviceItemProvider extends UnNamingItemProvider {
if (childrenFeatures == null) { if (childrenFeatures == null) {
super.getChildrenFeatures(object); super.getChildrenFeatures(object);
childrenFeatures.add(SclPackage.eINSTANCE.getLDevice_AccessControl()); childrenFeatures.add(SclPackage.eINSTANCE.getLDevice_AccessControl());
childrenFeatures.add(SclPackage.eINSTANCE.getLDevice_LN());
childrenFeatures.add(SclPackage.eINSTANCE.getLDevice_LN0()); childrenFeatures.add(SclPackage.eINSTANCE.getLDevice_LN0());
childrenFeatures.add(SclPackage.eINSTANCE.getLDevice_LN());
} }
return childrenFeatures; return childrenFeatures;
} }
...@@ -232,8 +232,8 @@ public class LDeviceItemProvider extends UnNamingItemProvider { ...@@ -232,8 +232,8 @@ public class LDeviceItemProvider extends UnNamingItemProvider {
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return; return;
case SclPackage.LDEVICE__ACCESS_CONTROL: case SclPackage.LDEVICE__ACCESS_CONTROL:
case SclPackage.LDEVICE__LN:
case SclPackage.LDEVICE__LN0: case SclPackage.LDEVICE__LN0:
case SclPackage.LDEVICE__LN:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return; return;
} }
...@@ -258,13 +258,13 @@ public class LDeviceItemProvider extends UnNamingItemProvider { ...@@ -258,13 +258,13 @@ public class LDeviceItemProvider extends UnNamingItemProvider {
newChildDescriptors.add newChildDescriptors.add
(createChildParameter (createChildParameter
(SclPackage.eINSTANCE.getLDevice_LN(), (SclPackage.eINSTANCE.getLDevice_LN0(),
SclFactory.eINSTANCE.createLN())); SclFactory.eINSTANCE.createLN0()));
newChildDescriptors.add newChildDescriptors.add
(createChildParameter (createChildParameter
(SclPackage.eINSTANCE.getLDevice_LN0(), (SclPackage.eINSTANCE.getLDevice_LN(),
SclFactory.eINSTANCE.createLN0())); SclFactory.eINSTANCE.createLN()));
} }
} }
...@@ -1153,11 +1153,25 @@ ...@@ -1153,11 +1153,25 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="LNode" ordered="false" <eStructuralFeatures xsi:type="ecore:EReference" name="LNode" ordered="false"
upperBound="-1" eType="#//LNode" transient="true" unsettable="true" resolveProxies="false" upperBound="-1" eType="#//LNode" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//LNode/LDevice"/> eOpposite="#//LNode/LDevice"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="LN" ordered="false" upperBound="-1" <eStructuralFeatures xsi:type="ecore:EAttribute" name="AnyLN" ordered="false"
eType="#//LN" unsettable="true" containment="true" resolveProxies="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
eOpposite="#//LN/LDevice"/> transient="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="LN0" ordered="false" eType="#//LN0" <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
unsettable="true" containment="true" resolveProxies="false" eOpposite="#//LN0/LDevice"/> <details key="kind" value="group"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="LN0" eType="#//LN0" volatile="true"
unsettable="true" containment="true" eOpposite="#//LN0/LDevice">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#AnyLN"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="LN" upperBound="-1" eType="#//LN"
volatile="true" unsettable="true" containment="true" eOpposite="#//LN/LDevice">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#AnyLN"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers> </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LN" eSuperTypes="#//AnyLN"> <eClassifiers xsi:type="ecore:EClass" name="LN" eSuperTypes="#//AnyLN">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" <eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
......
...@@ -640,8 +640,9 @@ ...@@ -640,8 +640,9 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/AccessControl"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/AccessControl"/>
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/Server"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/Server"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/LNode"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/LNode"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/LN"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute SCL.ecore#//LDevice/AnyLN"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/LN0"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/LN0"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/LN"/>
</genClasses> </genClasses>
<genClasses ecoreClass="SCL.ecore#//LN"> <genClasses ecoreClass="SCL.ecore#//LN">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SCL.ecore#//LN/prefix"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SCL.ecore#//LN/prefix"/>
......
...@@ -20,6 +20,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.scl; ...@@ -20,6 +20,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.scl;
import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.util.FeatureMap;
import fr.centralesupelec.edf.riseclipse.iec61850.scl.IED; import fr.centralesupelec.edf.riseclipse.iec61850.scl.IED;
/** /**
...@@ -37,8 +38,9 @@ import fr.centralesupelec.edf.riseclipse.iec61850.scl.IED; ...@@ -37,8 +38,9 @@ import fr.centralesupelec.edf.riseclipse.iec61850.scl.IED;
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getAccessControl <em>Access Control</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getAccessControl <em>Access Control</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getServer <em>Server</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getServer <em>Server</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLNode <em>LNode</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLNode <em>LNode</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLN <em>LN</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getAnyLN <em>Any LN</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLN0 <em>LN0</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLN0 <em>LN0</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLN <em>LN</em>}</li>
* </ul> * </ul>
* *
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice() * @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice()
...@@ -317,6 +319,19 @@ public interface LDevice extends UnNaming { ...@@ -317,6 +319,19 @@ public interface LDevice extends UnNaming {
*/ */
boolean isSetLNode(); boolean isSetLNode();
/**
* Returns the value of the '<em><b>Any LN</b></em>' attribute list.
* The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Any LN</em>' attribute list.
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_AnyLN()
* @model dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true" transient="true" ordered="false"
* extendedMetaData="kind='group'"
* @generated
*/
FeatureMap getAnyLN();
/** /**
* Returns the value of the '<em><b>LN</b></em>' containment reference list. * Returns the value of the '<em><b>LN</b></em>' containment reference list.
* The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LN}. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LN}.
...@@ -332,7 +347,8 @@ public interface LDevice extends UnNaming { ...@@ -332,7 +347,8 @@ public interface LDevice extends UnNaming {
* @see #unsetLN() * @see #unsetLN()
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_LN() * @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_LN()
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LN#getLDevice * @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LN#getLDevice
* @model opposite="LDevice" containment="true" unsettable="true" ordered="false" * @model opposite="LDevice" containment="true" unsettable="true" volatile="true"
* extendedMetaData="group='#AnyLN'"
* @generated * @generated
*/ */
EList<LN> getLN(); EList<LN> getLN();
...@@ -373,7 +389,8 @@ public interface LDevice extends UnNaming { ...@@ -373,7 +389,8 @@ public interface LDevice extends UnNaming {
* @see #setLN0(LN0) * @see #setLN0(LN0)
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_LN0() * @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_LN0()
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LN0#getLDevice * @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LN0#getLDevice
* @model opposite="LDevice" containment="true" unsettable="true" ordered="false" * @model opposite="LDevice" containment="true" unsettable="true" volatile="true"
* extendedMetaData="group='#AnyLN'"
* @generated * @generated
*/ */
LN0 getLN0(); LN0 getLN0();
......
...@@ -10669,13 +10669,13 @@ public interface SclPackage extends EPackage { ...@@ -10669,13 +10669,13 @@ public interface SclPackage extends EPackage {
int LDEVICE__LNODE = UN_NAMING_FEATURE_COUNT + 5; int LDEVICE__LNODE = UN_NAMING_FEATURE_COUNT + 5;
/** /**
* The feature id for the '<em><b>LN</b></em>' containment reference list. * The feature id for the '<em><b>Any LN</b></em>' attribute list.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @generated * @generated
* @ordered * @ordered
*/ */
int LDEVICE__LN = UN_NAMING_FEATURE_COUNT + 6; int LDEVICE__ANY_LN = UN_NAMING_FEATURE_COUNT + 6;
/** /**
* The feature id for the '<em><b>LN0</b></em>' containment reference. * The feature id for the '<em><b>LN0</b></em>' containment reference.
...@@ -10686,6 +10686,15 @@ public interface SclPackage extends EPackage { ...@@ -10686,6 +10686,15 @@ public interface SclPackage extends EPackage {
*/ */
int LDEVICE__LN0 = UN_NAMING_FEATURE_COUNT + 7; int LDEVICE__LN0 = UN_NAMING_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>LN</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int LDEVICE__LN = UN_NAMING_FEATURE_COUNT + 8;
/** /**
* The number of structural features of the '<em>LDevice</em>' class. * The number of structural features of the '<em>LDevice</em>' class.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
...@@ -10693,7 +10702,7 @@ public interface SclPackage extends EPackage { ...@@ -10693,7 +10702,7 @@ public interface SclPackage extends EPackage {
* @generated * @generated
* @ordered * @ordered
*/ */
int LDEVICE_FEATURE_COUNT = UN_NAMING_FEATURE_COUNT + 8; int LDEVICE_FEATURE_COUNT = UN_NAMING_FEATURE_COUNT + 9;
/** /**
* The number of operations of the '<em>LDevice</em>' class. * The number of operations of the '<em>LDevice</em>' class.
...@@ -23261,6 +23270,17 @@ public interface SclPackage extends EPackage { ...@@ -23261,6 +23270,17 @@ public interface SclPackage extends EPackage {
*/ */
EReference getLDevice_LNode(); EReference getLDevice_LNode();
/**
* Returns the meta object for the attribute list '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getAnyLN <em>Any LN</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute list '<em>Any LN</em>'.
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getAnyLN()
* @see #getLDevice()
* @generated
*/
EAttribute getLDevice_AnyLN();
/** /**
* Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLN <em>LN</em>}'. * Returns the meta object for the containment reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getLN <em>LN</em>}'.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
......
...@@ -157,10 +157,10 @@ public class LN0Impl extends AnyLNImpl implements LN0 { ...@@ -157,10 +157,10 @@ public class LN0Impl extends AnyLNImpl implements LN0 {
/** /**
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @generated * @generated
*/ */
public NotificationChain basicSetLDevice( LDevice newLDevice, NotificationChain msgs ) { public NotificationChain basicSetLDevice(LDevice newLDevice, NotificationChain msgs) {
msgs = eBasicSetContainer((InternalEObject)newLDevice, SclPackage.LN0__LDEVICE, msgs); msgs = eBasicSetContainer((InternalEObject)newLDevice, SclPackage.LN0__LDEVICE, msgs);
return msgs; return msgs;
} }
...@@ -370,7 +370,7 @@ public class LN0Impl extends AnyLNImpl implements LN0 { ...@@ -370,7 +370,7 @@ public class LN0Impl extends AnyLNImpl implements LN0 {
* @generated * @generated
*/ */
@Override @Override
public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
switch (eContainerFeatureID()) { switch (eContainerFeatureID()) {
case SclPackage.LN0__LDEVICE: case SclPackage.LN0__LDEVICE:
return eInternalContainer().eInverseRemove(this, SclPackage.LDEVICE__LN0, LDevice.class, msgs); return eInternalContainer().eInverseRemove(this, SclPackage.LDEVICE__LN0, LDevice.class, msgs);
......
...@@ -6330,6 +6330,16 @@ public class SclPackageImpl extends EPackageImpl implements SclPackage { ...@@ -6330,6 +6330,16 @@ public class SclPackageImpl extends EPackageImpl implements SclPackage {
return (EReference)getLDevice().getEStructuralFeatures().get(5); return (EReference)getLDevice().getEStructuralFeatures().get(5);
} }
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getLDevice_AnyLN() {
return (EAttribute)getLDevice().getEStructuralFeatures().get(6);
}
/** /**
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
...@@ -6337,7 +6347,7 @@ public class SclPackageImpl extends EPackageImpl implements SclPackage { ...@@ -6337,7 +6347,7 @@ public class SclPackageImpl extends EPackageImpl implements SclPackage {
*/ */
@Override @Override
public EReference getLDevice_LN() { public EReference getLDevice_LN() {
return (EReference)getLDevice().getEStructuralFeatures().get(6); return (EReference)getLDevice().getEStructuralFeatures().get(8);
} }
/** /**
......
...@@ -1153,11 +1153,25 @@ ...@@ -1153,11 +1153,25 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="LNode" ordered="false" <eStructuralFeatures xsi:type="ecore:EReference" name="LNode" ordered="false"
upperBound="-1" eType="#//LNode" transient="true" unsettable="true" resolveProxies="false" upperBound="-1" eType="#//LNode" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//LNode/LDevice"/> eOpposite="#//LNode/LDevice"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="LN" ordered="false" upperBound="-1" <eStructuralFeatures xsi:type="ecore:EAttribute" name="AnyLN" ordered="false"
eType="#//LN" unsettable="true" containment="true" resolveProxies="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
eOpposite="#//LN/LDevice"/> transient="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="LN0" ordered="false" eType="#//LN0" <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
unsettable="true" containment="true" resolveProxies="false" eOpposite="#//LN0/LDevice"/> <details key="kind" value="group"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="LN0" eType="#//LN0" volatile="true"
unsettable="true" containment="true" eOpposite="#//LN0/LDevice">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#AnyLN"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="LN" upperBound="-1" eType="#//LN"
volatile="true" unsettable="true" containment="true" eOpposite="#//LN/LDevice">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="group" value="#AnyLN"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers> </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LN" eSuperTypes="#//AnyLN"> <eClassifiers xsi:type="ecore:EClass" name="LN" eSuperTypes="#//AnyLN">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" <eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment