Remove ModelingLanguage.lookup_diagram_item

No longer needed since diagram items are treated the same as model
elements.
This commit is contained in:
Arjan Molenaar 2021-06-03 20:41:31 +02:00
parent 6d3b51874c
commit 87db695266
No known key found for this signature in database
GPG Key ID: BF977B918996CB13
8 changed files with 16 additions and 26 deletions

View File

@ -20,7 +20,7 @@ class C4ModelLanguage(ModelingLanguage):
return c4model_toolbox_actions # type: ignore[no-any-return]
def lookup_element(self, name):
return getattr(c4model, name, None)
def lookup_diagram_item(self, name):
return getattr(diagramitems, name, None)
element_type = getattr(c4model, name, None)
if not element_type:
element_type = getattr(diagramitems, name, None)
return element_type

View File

@ -26,4 +26,4 @@ def test_elements(name):
def test_diagram_items(name):
ml = C4ModelLanguage()
assert ml.lookup_diagram_item(name)
assert ml.lookup_element(name)

View File

@ -20,7 +20,7 @@ class RAAMLModelingLanguage(ModelingLanguage):
return raaml_toolbox_actions
def lookup_element(self, name):
return getattr(raaml, name, None)
def lookup_diagram_item(self, name):
return getattr(diagramitems, name, None)
element_type = getattr(raaml, name, None)
if not element_type:
element_type = getattr(diagramitems, name, None)
return element_type

View File

@ -19,7 +19,7 @@ class SysMLModelingLanguage(ModelingLanguage):
return sysml_toolbox_actions
def lookup_element(self, name):
return getattr(sysml, name, None)
def lookup_diagram_item(self, name):
return getattr(diagramitems, name, None)
element_type = getattr(sysml, name, None)
if not element_type:
element_type = getattr(diagramitems, name, None)
return element_type

View File

@ -20,8 +20,5 @@ class UMLModelingLanguage(ModelingLanguage):
def lookup_element(self, name):
element_type = getattr(uml, name, None)
if not element_type:
element_type = self.lookup_diagram_item(name)
element_type = getattr(diagramitems, name, None)
return element_type
def lookup_diagram_item(self, name):
return getattr(diagramitems, name, None)

View File

@ -6,7 +6,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Optional, Type
from gaphor.core.modeling import Element, Presentation
from gaphor.core.modeling import Element
from gaphor.diagram.diagramtoolbox import ToolboxDefinition
@ -38,7 +38,3 @@ class ModelingLanguage(metaclass=abc.ABCMeta):
@abc.abstractmethod
def lookup_element(self, name: str) -> Optional[Type[Element]]:
"""Look up a model element type (class) by name."""
@abc.abstractmethod
def lookup_diagram_item(self, name: str) -> Optional[Type[Presentation]]:
"""Look up a diagram item type (class) by name."""

View File

@ -68,9 +68,6 @@ class ModelingLanguageService(Service, ActionProvider, ModelingLanguage):
def lookup_element(self, name):
return self.first(lambda provider: provider.lookup_element(name))
def lookup_diagram_item(self, name):
return self.first(lambda provider: provider.lookup_diagram_item(name))
def first(self, predicate):
for _, provider in self._modeling_languages.items():
type = predicate(provider)

View File

@ -219,7 +219,7 @@ def _load_elements_and_canvasitems(
item = upgrade_presentation_item_to_1_1_0(item)
item = upgrade_implementation_item_to_interface_realization_item(item)
item = upgrade_c4_diagram_item_name(item)
cls = modeling_language.lookup_diagram_item(item.type)
cls = modeling_language.lookup_element(item.type)
assert cls, f"No diagram item for type {item.type}"
item.element = diagram.create_as(cls, item.id, parent=parent)
create_canvasitems(diagram, item.canvasitems, parent=item.element)