Commit 8f92ec46 authored by Dominique Marcadet's avatar Dominique Marcadet

add links between LDevices using GrRef

parent bd5036ea
Pipeline #4566 passed with stages
in 38 seconds
......@@ -1294,3 +1294,5 @@ _UI_IRiseClipseConsole_type = IRise Clipse Console
_UI_SclObject_explicitLinksBuilt_feature = Explicit Links Built
_UI_LNodeType_ReferredByLNode_feature = Referred By LNode
_UI_LNode_RefersToLNodeType_feature = Refers To LNode Type
_UI_LDevice_RefersToHigherLevelLDevice_feature = Refers To Higher Level LDevice
_UI_LDevice_RefersToLowerLevelLDevices_feature = Refers To Lower Level LDevices
......@@ -65,6 +65,8 @@ public class LDeviceItemProvider extends UnNamingItemProvider {
addInstPropertyDescriptor( object );
addLdNamePropertyDescriptor( object );
addReferredByIEDNamePropertyDescriptor( object );
addRefersToHigherLevelLDevicePropertyDescriptor( object );
addRefersToLowerLevelLDevicesPropertyDescriptor( object );
}
return itemPropertyDescriptors;
}
......@@ -135,6 +137,50 @@ public class LDeviceItemProvider extends UnNamingItemProvider {
null ) );
}
/**
* This adds a property descriptor for the Refers To Higher Level LDevice feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addRefersToHigherLevelLDevicePropertyDescriptor( Object object ) {
itemPropertyDescriptors.add(
createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
getResourceLocator(),
getString( "_UI_LDevice_RefersToHigherLevelLDevice_feature" ),
getString( "_UI_PropertyDescriptor_description",
"_UI_LDevice_RefersToHigherLevelLDevice_feature", "_UI_LDevice_type" ),
SclPackage.eINSTANCE.getLDevice_RefersToHigherLevelLDevice(),
true,
false,
true,
null,
null,
null ) );
}
/**
* This adds a property descriptor for the Refers To Lower Level LDevices feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addRefersToLowerLevelLDevicesPropertyDescriptor( Object object ) {
itemPropertyDescriptors.add(
createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
getResourceLocator(),
getString( "_UI_LDevice_RefersToLowerLevelLDevices_feature" ),
getString( "_UI_PropertyDescriptor_description",
"_UI_LDevice_RefersToLowerLevelLDevices_feature", "_UI_LDevice_type" ),
SclPackage.eINSTANCE.getLDevice_RefersToLowerLevelLDevices(),
true,
false,
true,
null,
null,
null ) );
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
......
......@@ -1184,6 +1184,12 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="ReferredByIEDName" ordered="false"
eType="#//IEDName" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//IEDName/RefersToLDevice"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="RefersToHigherLevelLDevice"
ordered="false" eType="#//LDevice" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//LDevice/RefersToLowerLevelLDevices"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="RefersToLowerLevelLDevices"
ordered="false" upperBound="-1" eType="#//LDevice" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//LDevice/RefersToHigherLevelLDevice"/>
</eClassifiers>
<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"
......
......@@ -635,6 +635,8 @@
<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"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/ReferredByIEDName"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/RefersToHigherLevelLDevice"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SCL.ecore#//LDevice/RefersToLowerLevelLDevices"/>
<genOperations ecoreOperation="SCL.ecore#//LDevice/getNamespace"/>
</genClasses>
<genClasses ecoreClass="SCL.ecore#//LN">
......
......@@ -42,6 +42,8 @@ import fr.centralesupelec.edf.riseclipse.iec61850.scl.IED;
* <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>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getReferredByIEDName <em>Referred By IED Name</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice <em>Refers To Higher Level LDevice</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices <em>Refers To Lower Level LDevices</em>}</li>
* </ul>
*
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice()
......@@ -340,6 +342,94 @@ public interface LDevice extends UnNaming {
*/
boolean isSetReferredByIEDName();
/**
* Returns the value of the '<em><b>Refers To Higher Level LDevice</b></em>' reference.
* It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices <em>Refers To Lower Level LDevices</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Refers To Higher Level LDevice</em>' reference.
* @see #isSetRefersToHigherLevelLDevice()
* @see #unsetRefersToHigherLevelLDevice()
* @see #setRefersToHigherLevelLDevice(LDevice)
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_RefersToHigherLevelLDevice()
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices
* @model opposite="RefersToLowerLevelLDevices" resolveProxies="false" unsettable="true" transient="true" ordered="false"
* @generated
*/
LDevice getRefersToHigherLevelLDevice();
/**
* Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice <em>Refers To Higher Level LDevice</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Refers To Higher Level LDevice</em>' reference.
* @see #isSetRefersToHigherLevelLDevice()
* @see #unsetRefersToHigherLevelLDevice()
* @see #getRefersToHigherLevelLDevice()
* @generated
*/
void setRefersToHigherLevelLDevice( LDevice value );
/**
* Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice <em>Refers To Higher Level LDevice</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetRefersToHigherLevelLDevice()
* @see #getRefersToHigherLevelLDevice()
* @see #setRefersToHigherLevelLDevice(LDevice)
* @generated
*/
void unsetRefersToHigherLevelLDevice();
/**
* Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice <em>Refers To Higher Level LDevice</em>}' reference is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Refers To Higher Level LDevice</em>' reference is set.
* @see #unsetRefersToHigherLevelLDevice()
* @see #getRefersToHigherLevelLDevice()
* @see #setRefersToHigherLevelLDevice(LDevice)
* @generated
*/
boolean isSetRefersToHigherLevelLDevice();
/**
* Returns the value of the '<em><b>Refers To Lower Level LDevices</b></em>' reference list.
* The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice}.
* It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice <em>Refers To Higher Level LDevice</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Refers To Lower Level LDevices</em>' reference list.
* @see #isSetRefersToLowerLevelLDevices()
* @see #unsetRefersToLowerLevelLDevices()
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.SclPackage#getLDevice_RefersToLowerLevelLDevices()
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice
* @model opposite="RefersToHigherLevelLDevice" resolveProxies="false" unsettable="true" transient="true" ordered="false"
* @generated
*/
EList< LDevice > getRefersToLowerLevelLDevices();
/**
* Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices <em>Refers To Lower Level LDevices</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetRefersToLowerLevelLDevices()
* @see #getRefersToLowerLevelLDevices()
* @generated
*/
void unsetRefersToLowerLevelLDevices();
/**
* Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices <em>Refers To Lower Level LDevices</em>}' reference list is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Refers To Lower Level LDevices</em>' reference list is set.
* @see #unsetRefersToLowerLevelLDevices()
* @see #getRefersToLowerLevelLDevices()
* @generated
*/
boolean isSetRefersToLowerLevelLDevices();
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......
......@@ -12460,6 +12460,24 @@ public interface SclPackage extends EPackage {
*/
int LDEVICE__REFERRED_BY_IED_NAME = UN_NAMING_FEATURE_COUNT + 7;
/**
* The feature id for the '<em><b>Refers To Higher Level LDevice</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int LDEVICE__REFERS_TO_HIGHER_LEVEL_LDEVICE = UN_NAMING_FEATURE_COUNT + 8;
/**
* The feature id for the '<em><b>Refers To Lower Level LDevices</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int LDEVICE__REFERS_TO_LOWER_LEVEL_LDEVICES = UN_NAMING_FEATURE_COUNT + 9;
/**
* The number of structural features of the '<em>LDevice</em>' class.
* <!-- begin-user-doc -->
......@@ -12467,7 +12485,7 @@ public interface SclPackage extends EPackage {
* @generated
* @ordered
*/
int LDEVICE_FEATURE_COUNT = UN_NAMING_FEATURE_COUNT + 8;
int LDEVICE_FEATURE_COUNT = UN_NAMING_FEATURE_COUNT + 10;
/**
* The operation id for the '<em>Build Explicit Links</em>' operation.
......@@ -27375,6 +27393,28 @@ public interface SclPackage extends EPackage {
*/
EReference getLDevice_ReferredByIEDName();
/**
* Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice <em>Refers To Higher Level LDevice</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the reference '<em>Refers To Higher Level LDevice</em>'.
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToHigherLevelLDevice()
* @see #getLDevice()
* @generated
*/
EReference getLDevice_RefersToHigherLevelLDevice();
/**
* Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices <em>Refers To Lower Level LDevices</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the reference list '<em>Refers To Lower Level LDevices</em>'.
* @see fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getRefersToLowerLevelLDevices()
* @see #getLDevice()
* @generated
*/
EReference getLDevice_RefersToLowerLevelLDevices();
/**
* Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.scl.LDevice#getNamespace() <em>Get Namespace</em>}' operation.
* <!-- begin-user-doc -->
......@@ -6890,6 +6890,26 @@ public class SclPackageImpl extends EPackageImpl implements SclPackage {
return ( EReference ) getLDevice().getEStructuralFeatures().get( 7 );
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLDevice_RefersToHigherLevelLDevice() {
return ( EReference ) getLDevice().getEStructuralFeatures().get( 8 );
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getLDevice_RefersToLowerLevelLDevices() {
return ( EReference ) getLDevice().getEStructuralFeatures().get( 9 );
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......
......@@ -1184,6 +1184,12 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="ReferredByIEDName" ordered="false"
eType="#//IEDName" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//IEDName/RefersToLDevice"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="RefersToHigherLevelLDevice"
ordered="false" eType="#//LDevice" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//LDevice/RefersToLowerLevelLDevices"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="RefersToLowerLevelLDevices"
ordered="false" upperBound="-1" eType="#//LDevice" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//LDevice/RefersToHigherLevelLDevice"/>
</eClassifiers>
<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"
......
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