From 0275587ad91641ec436925072166fdb6c2ed8046 Mon Sep 17 00:00:00 2001 From: Ed Seidewitz Date: Fri, 7 Jun 2024 23:07:48 -0400 Subject: [PATCH] ST6RI-760 Revised derivation of actorParameter and stakeholderParameter. - For CaseDefinition, CaseUsage, RequirementDefinition and RequirementUsage. --- .../CaseDefinition_actorParameter_SettingDelegate.java | 2 +- .../setting/CaseUsage_actorParameter_SettingDelegate.java | 2 +- ...quirementDefinition_actorParameter_SettingDelegate.java | 2 +- ...entDefinition_stakeholderParameter_SettingDelegate.java | 2 +- .../RequirementUsage_actorParameter_SettingDelegate.java | 2 +- ...uirementUsage_stakeholderParameter_SettingDelegate.java | 2 +- org.omg.sysml/src/org/omg/sysml/util/TypeUtil.java | 7 ++++++- 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseDefinition_actorParameter_SettingDelegate.java b/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseDefinition_actorParameter_SettingDelegate.java index 0943f2f2b..53d81462c 100644 --- a/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseDefinition_actorParameter_SettingDelegate.java +++ b/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseDefinition_actorParameter_SettingDelegate.java @@ -40,7 +40,7 @@ public CaseDefinition_actorParameter_SettingDelegate(EStructuralFeature eStructu @Override protected EList basicGet(InternalEObject owner) { EList actorParameters = new NonNotifyingEObjectEList<>(PartUsage.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.addOwnedFeaturesByMembership((CaseDefinition)owner, ActorMembership.class, PartUsage.class, actorParameters); + TypeUtil.addFeaturesByMembership((CaseDefinition)owner, ActorMembership.class, PartUsage.class, actorParameters); return actorParameters; } diff --git a/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseUsage_actorParameter_SettingDelegate.java b/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseUsage_actorParameter_SettingDelegate.java index 562a8958f..d169a6600 100644 --- a/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseUsage_actorParameter_SettingDelegate.java +++ b/org.omg.sysml/src/org/omg/sysml/delegate/setting/CaseUsage_actorParameter_SettingDelegate.java @@ -40,7 +40,7 @@ public CaseUsage_actorParameter_SettingDelegate(EStructuralFeature eStructuralFe @Override protected EList basicGet(InternalEObject owner) { EList actorParameters = new NonNotifyingEObjectEList<>(PartUsage.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.addOwnedFeaturesByMembership((CaseUsage)owner, ActorMembership.class, PartUsage.class, actorParameters); + TypeUtil.addFeaturesByMembership((CaseUsage)owner, ActorMembership.class, PartUsage.class, actorParameters); return actorParameters; } diff --git a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_actorParameter_SettingDelegate.java b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_actorParameter_SettingDelegate.java index adde315da..441e31773 100644 --- a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_actorParameter_SettingDelegate.java +++ b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_actorParameter_SettingDelegate.java @@ -40,7 +40,7 @@ public RequirementDefinition_actorParameter_SettingDelegate(EStructuralFeature e @Override protected EList basicGet(InternalEObject owner) { EList actorParameters = new NonNotifyingEObjectEList<>(PartUsage.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.addOwnedFeaturesByMembership((RequirementDefinition)owner, ActorMembership.class, PartUsage.class, actorParameters); + TypeUtil.addFeaturesByMembership((RequirementDefinition)owner, ActorMembership.class, PartUsage.class, actorParameters); return actorParameters; } diff --git a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_stakeholderParameter_SettingDelegate.java b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_stakeholderParameter_SettingDelegate.java index 17b3e4b2b..3e72f554f 100644 --- a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_stakeholderParameter_SettingDelegate.java +++ b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementDefinition_stakeholderParameter_SettingDelegate.java @@ -40,7 +40,7 @@ public RequirementDefinition_stakeholderParameter_SettingDelegate(EStructuralFea @Override protected EList basicGet(InternalEObject owner) { EList stakeholderParameters = new NonNotifyingEObjectEList<>(PartUsage.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.addOwnedFeaturesByMembership((RequirementDefinition)owner, StakeholderMembership.class, PartUsage.class, stakeholderParameters); + TypeUtil.addFeaturesByMembership((RequirementDefinition)owner, StakeholderMembership.class, PartUsage.class, stakeholderParameters); return stakeholderParameters; } diff --git a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_actorParameter_SettingDelegate.java b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_actorParameter_SettingDelegate.java index 3d1fc595d..03f83f0ed 100644 --- a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_actorParameter_SettingDelegate.java +++ b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_actorParameter_SettingDelegate.java @@ -40,7 +40,7 @@ public RequirementUsage_actorParameter_SettingDelegate(EStructuralFeature eStruc @Override protected EList basicGet(InternalEObject owner) { EList actorParameters = new NonNotifyingEObjectEList<>(PartUsage.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.addOwnedFeaturesByMembership((RequirementUsage)owner, ActorMembership.class, PartUsage.class, actorParameters); + TypeUtil.addFeaturesByMembership((RequirementUsage)owner, ActorMembership.class, PartUsage.class, actorParameters); return actorParameters; } diff --git a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_stakeholderParameter_SettingDelegate.java b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_stakeholderParameter_SettingDelegate.java index 9ab8cd17c..4f284fcee 100644 --- a/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_stakeholderParameter_SettingDelegate.java +++ b/org.omg.sysml/src/org/omg/sysml/delegate/setting/RequirementUsage_stakeholderParameter_SettingDelegate.java @@ -40,7 +40,7 @@ public RequirementUsage_stakeholderParameter_SettingDelegate(EStructuralFeature @Override protected EList basicGet(InternalEObject owner) { EList stakeholderParameters = new NonNotifyingEObjectEList<>(PartUsage.class, owner, eStructuralFeature.getFeatureID()); - TypeUtil.addOwnedFeaturesByMembership((RequirementUsage)owner, StakeholderMembership.class, PartUsage.class, stakeholderParameters); + TypeUtil.addFeaturesByMembership((RequirementUsage)owner, StakeholderMembership.class, PartUsage.class, stakeholderParameters); return stakeholderParameters; } diff --git a/org.omg.sysml/src/org/omg/sysml/util/TypeUtil.java b/org.omg.sysml/src/org/omg/sysml/util/TypeUtil.java index 8ada1f06c..3dbba5218 100644 --- a/org.omg.sysml/src/org/omg/sysml/util/TypeUtil.java +++ b/org.omg.sysml/src/org/omg/sysml/util/TypeUtil.java @@ -1,6 +1,6 @@ /******************************************************************************* * SysML 2 Pilot Implementation - * Copyright (c) 2021-2022 Model Driven Solutions, Inc. + * Copyright (c) 2021-2022, 2024 Model Driven Solutions, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -298,6 +298,11 @@ public static Feature getFeatureByMembershipIn(Type type, return getFeaturesByMembershipIn(type, kind).findFirst().orElse(null); } + public static void addFeaturesByMembership(Type type, + Class kind, Class elementKind, List list) { + getFeaturesByMembershipIn(type, kind).map(elementKind::cast).forEachOrdered(list::add); + } + public static Stream getOwnedFeaturesByMembershipIn(Type type, Class kind) { return type.getOwnedFeatureMembership().stream(). filter(kind::isInstance).