Skip to content

Commit 58022f4

Browse files
committed
ST6RI-860 Added handling for being a subpart to appropriate adapters.
- ConnectorUsageAdapter - ViewUsageAdapter - RenderingUsageAdapter
1 parent 5575e1a commit 58022f4

5 files changed

Lines changed: 41 additions & 1 deletion

File tree

org.omg.sysml/src/org/omg/sysml/adapter/ConnectionUsageAdapter.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*******************************************************************************
22
* SysML 2 Pilot Implementation
3-
* Copyright (c) 2021 Model Driven Solutions, Inc.
3+
* Copyright (c) 2021, 2025 Model Driven Solutions, Inc.
44
*
55
* This program is free software: you can redistribute it and/or modify
66
* it under the terms of the GNU Lesser General Public License as published by
@@ -36,6 +36,17 @@ public ConnectionUsage getTarget() {
3636
return (ConnectionUsage)super.getTarget();
3737
}
3838

39+
/**
40+
* @satisfies checkPartUsageSubpartSpecialization
41+
*/
42+
@Override
43+
public void addDefaultGeneralType() {
44+
super.addDefaultGeneralType();
45+
if (isSubitem()) {
46+
addDefaultGeneralType("subpart");
47+
}
48+
}
49+
3950
/**
4051
* @satisfies checkConnectionUsageSpecialization
4152
* @satisfies checkAllocationUsageSpecialization

org.omg.sysml/src/org/omg/sysml/adapter/RenderingUsageAdapter.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@ public RenderingUsageAdapter(RenderingUsage element) {
3535
super(element);
3636
}
3737

38+
/**
39+
* @satisfies checkPartUsageSubpartSpecialization
40+
*/
41+
@Override
42+
public void addDefaultGeneralType() {
43+
super.addDefaultGeneralType();
44+
if (isSubitem()) {
45+
addDefaultGeneralType("subpart");
46+
}
47+
}
48+
3849
@Override
3950
public RenderingUsage getTarget() {
4051
return (RenderingUsage)super.getTarget();

org.omg.sysml/src/org/omg/sysml/adapter/ViewUsageAdapter.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ public ViewUsage getTarget() {
3636
return (ViewUsage)super.getTarget();
3737
}
3838

39+
/**
40+
* @satisfies checkPartUsageSubpartSpecialization
41+
*/
42+
@Override
43+
public void addDefaultGeneralType() {
44+
super.addDefaultGeneralType();
45+
if (isSubitem()) {
46+
addDefaultGeneralType("subpart");
47+
}
48+
}
49+
3950
/**
4051
* @satisfies checkViewUsageSubviewSpecialization
4152
* @satisfies checkViewpointUsageSpecialization

org.omg.sysml/src/org/omg/sysml/util/ImplicitGeneralizationMap.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,8 @@ protected ImplicitGeneralizationMap() {
317317
put(ConnectionUsageImpl.class, "base", "Connections::connections");
318318
//checkConnectionUsageBinarySpecialization
319319
put(ConnectionUsageImpl.class, "binary", "Connections::binaryConnections");
320+
//checkPartUsageSubpartSpecialization (a ConnectionUsage is a PartUsage)
321+
put(ConnectionUsageImpl.class, "subpart", "Items::Item::subparts");
320322

321323
//checkConstraintDefinitionSpecialization
322324
put(ConstraintDefinitionImpl.class, "base", "Constraints::ConstraintCheck");
@@ -474,6 +476,8 @@ protected ImplicitGeneralizationMap() {
474476
put(RenderingUsageImpl.class, "subrendering", "Views::Rendering::subrenderings");
475477
//checkRenderingUsageRedefinition
476478
put(RenderingUsageImpl.class, "viewRendering", "Views::View::viewRendering");
479+
//checkPartUsageSubpartSpecialization (a RenderingUsage is a PartUsage)
480+
put(RenderingUsageImpl.class, "subpart", "Items::Item::subparts");
477481

478482
//checkRequirementDefinitionSpecialization
479483
put(RequirementDefinitionImpl.class, "base", "Requirements::RequirementCheck");
@@ -555,6 +559,8 @@ protected ImplicitGeneralizationMap() {
555559
put(ViewUsageImpl.class, "base", "Views::views");
556560
//checkViewUsageSubviewSpecialization
557561
put(ViewUsageImpl.class, "subview", "Views::View::subviews");
562+
//checkPartUsageSubpartSpecialization (a ViewUsage is a PartUsage)
563+
put(ViewUsageImpl.class, "subpart", "Items::Item::subparts");
558564

559565
//checkViewpointDefinitionSpecialization
560566
put(ViewpointDefinitionImpl.class, "base", "Views::ViewpointCheck");

sysml/src/examples/Simple Tests/AllocationTest.sysml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ package AllocationTest {
1616
part :>> assembly {
1717
part :>> element;
1818
}
19+
allocate l.component to assembly.element;
1920
}
2021

2122
allocation def A;

0 commit comments

Comments
 (0)