Skip to content

Commit bb92d2c

Browse files
committed
ST6RI-67 Fixed end feature redefinition.
1 parent 9ea40d9 commit bb92d2c

4 files changed

Lines changed: 12 additions & 209 deletions

File tree

org.omg.sysml.ui/src/org/omg/sysml/ui/outline/AlfOutlineTreeProvider.xtend

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import org.omg.sysml.lang.sysml.Generalization
1111
import org.omg.sysml.lang.sysml.Membership
1212
import org.omg.sysml.lang.sysml.Redefinition
1313
import org.omg.sysml.lang.sysml.Import
14-
import org.omg.sysml.lang.sysml.ConnectorEnd
1514
import org.omg.sysml.lang.sysml.Subsetting
1615
import org.omg.sysml.lang.sysml.OperatorExpression
1716
import org.omg.sysml.lang.sysml.Relationship
@@ -158,7 +157,7 @@ class AlfOutlineTreeProvider extends DefaultOutlineTreeProvider {
158157

159158
def boolean _isLeaf(Feature feature) {
160159
// Ensure default redefinition/subsetting
161-
feature.ownedRedefinition
160+
feature.ownedSubsetting
162161
// Ensure valuation connector
163162
feature.feature
164163
super._isLeaf(feature)
@@ -203,25 +202,6 @@ class AlfOutlineTreeProvider extends DefaultOutlineTreeProvider {
203202
}
204203
}
205204

206-
def boolean _isLeaf(ConnectorEnd connectorEnd) {
207-
connectorEnd.end === null && connectorEnd.feature === null;
208-
}
209-
210-
def void _createChildren(IOutlineNode parentNode, ConnectorEnd connectorEnd) {
211-
if (connectorEnd.end !== null) {
212-
createEObjectNode(parentNode, connectorEnd.end,
213-
_image(connectorEnd.end), "end " + connectorEnd.end._text,
214-
true
215-
)
216-
}
217-
if (connectorEnd.feature !== null) {
218-
createEObjectNode(parentNode, connectorEnd.feature,
219-
_image(connectorEnd.feature), "feature " + connectorEnd.feature._text,
220-
true
221-
)
222-
}
223-
}
224-
225205
def boolean _isLeaf(Expression expression) {
226206
// Ensure derivation of inputs and outputs
227207
expression.input

org.omg.sysml/syntax-gen/org/omg/sysml/lang/sysml/ConnectorEnd.java

Lines changed: 0 additions & 175 deletions
This file was deleted.

org.omg.sysml/syntax-gen/org/omg/sysml/lang/sysml/impl/FeatureImpl.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@
1919
import org.eclipse.emf.ecore.impl.ENotificationImpl;
2020
import org.eclipse.emf.ecore.util.EObjectEList;
2121
import org.eclipse.emf.ecore.util.InternalEList;
22-
import org.omg.sysml.lang.sysml.Association;
2322
import org.omg.sysml.lang.sysml.BindingConnector;
2423
import org.omg.sysml.lang.sysml.Category;
25-
import org.omg.sysml.lang.sysml.Connector;
2624
import org.omg.sysml.lang.sysml.EndFeatureMembership;
2725
import org.omg.sysml.lang.sysml.Expression;
2826
import org.omg.sysml.lang.sysml.Feature;
@@ -328,14 +326,18 @@ public boolean hasValueType() {
328326
}
329327

330328
public EList<Subsetting> getOwnedSubsettingWithComputedRedefinitions(String subsettingDefault) {
331-
EList<Subsetting> redefinitions = getComputedRedefinitions();
332-
return redefinitions.isEmpty()? getOwnedSubsettingWithDefault(subsettingDefault): redefinitions;
329+
getComputedRedefinitions();
330+
return getOwnedSubsettingWithDefault(subsettingDefault);
333331
}
334332

335333
public EList<Subsetting> getOwnedSubsettingWithDefault(String subsettingDefault) {
336334
return getOwnedGeneralizationWithDefault(Subsetting.class, SysMLPackage.FEATURE__OWNED_SUBSETTING, SysMLPackage.eINSTANCE.getSubsetting(), subsettingDefault);
337335
}
338336

337+
public EList<Subsetting> getOwnedSubsettingWithoutDefault() {
338+
return getOwnedGeneralizationWithoutDefault(Subsetting.class, SysMLPackage.FEATURE__OWNED_SUBSETTING);
339+
}
340+
339341
public EList<Redefinition> getOwnedRedefinitionsWithoutDefault() {
340342
return getOwnedGeneralizationWithoutDefault(Redefinition.class, SysMLPackage.FEATURE__OWNED_REDEFINITION);
341343
}
@@ -387,16 +389,13 @@ protected void addRedefinitions(EList<Subsetting> redefinitions, List<Redefiniti
387389

388390
/**
389391
* Get the relevant Features that may be redefined from the given Category.
390-
* (By default, these are the end Features if the Category is a Association or a Connector.)
392+
* (By default, these are the end Features of the Category.)
391393
*/
392394
protected List<? extends Feature> getRelevantFeatures(Category category) {
393395
return getOwningFeatureMembership() instanceof EndFeatureMembership?
394-
category instanceof Association?
395-
((Association)category).getOwnedEndFeatureMembership().stream().
396-
map(m->m.getMemberFeature()).collect(Collectors.toList()):
397-
category instanceof Connector?
398-
((Connector)category).getConnectorEnd():
399-
Collections.emptyList():
396+
category.getFeature().stream().
397+
filter(f->f.getOwningFeatureMembership() instanceof EndFeatureMembership).
398+
collect(Collectors.toList()):
400399

401400
// NOTE: This is a temporary measure until connecting to inherited features
402401
// is handled generally.

org.omg.sysml/syntax-gen/org/omg/sysml/lang/sysml/impl/ParameterImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ public boolean isResultParameter() {
5858
* @generated NOT
5959
*/
6060
public EList<Subsetting> getOwnedSubsetting() {
61-
EList<Subsetting> redefinitions = getComputedRedefinitions();
62-
return redefinitions.isEmpty()? super.getOwnedSubsetting(): redefinitions;
61+
return super.getOwnedSubsetting();
6362
}
6463

6564
/**

0 commit comments

Comments
 (0)