Skip to content

Commit 6e4c327

Browse files
committed
refactor: Renaming and remove redundancies
1 parent 0714273 commit 6e4c327

File tree

5 files changed

+23
-29
lines changed

5 files changed

+23
-29
lines changed

capellambse/model/common/accessors.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"ReferenceSearchingAccessor",
2323
"ElementListCouplingMixin",
2424
"RoleTagAccessor",
25-
"InvalidChangeRequest",
25+
"InvalidModificationError",
2626
]
2727

2828
import abc
@@ -47,8 +47,8 @@
4747
_C = t.TypeVar("_C", bound="ElementListCouplingMixin")
4848

4949

50-
class InvalidChangeRequest(Exception):
51-
"""Raised when a change request is invalid."""
50+
class InvalidModificationError(Exception):
51+
"""Raised when a modification would result in an invalid model."""
5252

5353

5454
class NonUniqueMemberError(ValueError):
@@ -1260,9 +1260,9 @@ class RoleTagAccessor(DirectProxyAccessor[T]):
12601260
def __init__(
12611261
self,
12621262
role_tag: str,
1263-
class_: type[T] | type[element.GenericElement] | None = None,
1263+
class_: type[T] | None = None,
12641264
*,
1265-
aslist: type[element.ElementList[T]] | None = None,
1265+
aslist: type[element.ElementList] | None = None,
12661266
list_extra_args: dict[str, t.Any] | None = None,
12671267
) -> None:
12681268
super().__init__(
@@ -1303,8 +1303,6 @@ def create(
13031303
assert isinstance(elmlist._parent, element.GenericElement)
13041304

13051305
if not type_hints:
1306-
if not self.class_:
1307-
raise ValueError("Need type hint for creating object")
13081306
type_hints = (self.class_.__name__,)
13091307

13101308
kw["_xmltag"] = self.role_tag

capellambse/model/crosslayer/cs.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def name(self, value: str) -> None:
4949
raise TypeError("Name has to be a string")
5050

5151
if self._constructed:
52-
raise c.InvalidChangeRequest(
52+
raise c.InvalidModificationError(
5353
"This won't have any effect. The name is inferred from "
5454
"`.type`."
5555
)
@@ -153,9 +153,7 @@ class Component(c.GenericElement):
153153
)
154154
ports = c.DirectProxyAccessor(fa.ComponentPort, aslist=c.ElementList)
155155
physical_ports = c.DirectProxyAccessor(PhysicalPort, aslist=c.ElementList)
156-
parts = c.RoleTagAccessor[Part](
157-
"ownedFeatures", Part, aslist=c.ElementList # type: ignore[arg-type]
158-
)
156+
parts = c.RoleTagAccessor("ownedFeatures", Part, aslist=c.ElementList)
159157
representing_parts = c.ReferenceSearchingAccessor(
160158
Part, "type", aslist=c.ElementList
161159
)
@@ -197,9 +195,7 @@ class ComponentPkg(c.GenericElement):
197195
exchanges = c.DirectProxyAccessor(
198196
fa.ComponentExchange, aslist=c.ElementList
199197
)
200-
parts = c.RoleTagAccessor[Part](
201-
"ownedParts", Part, aslist=c.ElementList # type: ignore[arg-type]
202-
)
198+
parts = c.RoleTagAccessor("ownedParts", Part, aslist=c.ElementList)
203199
state_machines = c.DirectProxyAccessor(
204200
capellacommon.StateMachine, aslist=c.ElementList
205201
)

capellambse/model/crosslayer/information/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,14 @@ class Property(c.GenericElement):
116116
"aggregationKind", modeltypes.AggregationKind, default="UNSET"
117117
)
118118
type = c.AttrProxyAccessor(c.GenericElement, "abstractType")
119-
default_value = c.RoleTagAccessor[datavalue.LiteralValue](
120-
"ownedDefaultValue"
119+
default_value = c.RoleTagAccessor(
120+
"ownedDefaultValue", datavalue.LiteralValue
121121
)
122-
min = c.RoleTagAccessor[datavalue.LiteralValue]("ownedMinValue")
123-
max = c.RoleTagAccessor[datavalue.LiteralValue]("ownedMaxValue")
124-
null_value = c.RoleTagAccessor[datavalue.LiteralValue]("ownedNullValue")
125-
min_card = c.RoleTagAccessor[datavalue.LiteralValue]("ownedMinCard")
126-
max_card = c.RoleTagAccessor[datavalue.LiteralValue]("ownedMaxCard")
122+
min = c.RoleTagAccessor("ownedMinValue", datavalue.LiteralValue)
123+
max = c.RoleTagAccessor("ownedMaxValue", datavalue.LiteralValue)
124+
null_value = c.RoleTagAccessor("ownedNullValue", datavalue.LiteralValue)
125+
min_card = c.RoleTagAccessor("ownedMinCard", datavalue.LiteralValue)
126+
max_card = c.RoleTagAccessor("ownedMaxCard", datavalue.LiteralValue)
127127
association = c.ReferenceSearchingAccessor(Association, "roles")
128128

129129

capellambse/model/crosslayer/information/datavalue.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class ValuePart(c.GenericElement):
3535
referenced_property = c.AttrProxyAccessor(
3636
c.GenericElement, "referencedProperty"
3737
)
38-
value = c.RoleTagAccessor[LiteralValue]("ownedValue")
38+
value = c.RoleTagAccessor("ownedValue", LiteralValue)
3939

4040

4141
@c.xtype_handler(None)

capellambse/model/crosslayer/interaction.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,16 @@ class Scenario(c.GenericElement):
9898
InstanceRole, aslist=c.ElementList
9999
)
100100
messages = c.DirectProxyAccessor(SequenceMessage, aslist=c.ElementList)
101-
events = c.RoleTagAccessor[EventOperation](
102-
"ownedEvents", aslist=c.MixedElementList # type: ignore[arg-type]
101+
events = c.RoleTagAccessor(
102+
"ownedEvents", EventOperation, aslist=c.MixedElementList
103103
)
104-
fragments = c.RoleTagAccessor[InteractionFragment](
104+
fragments = c.RoleTagAccessor(
105105
"ownedInteractionFragments",
106-
aslist=c.MixedElementList, # type: ignore[arg-type]
106+
InteractionFragment,
107+
aslist=c.MixedElementList,
107108
)
108-
time_lapses = c.RoleTagAccessor[Event](
109-
"ownedTimeLapses",
110-
aslist=c.MixedElementList, # type: ignore[arg-type]
109+
time_lapses = c.RoleTagAccessor(
110+
"ownedTimeLapses", Event, aslist=c.MixedElementList
111111
)
112112

113113

0 commit comments

Comments
 (0)