Refactor ownership history system to be simpler and just a usecase. See #1399.

This commit is contained in:
Dion Moult
2021-03-25 11:42:12 +11:00
parent 9c00872a57
commit 489a248e9a
15 changed files with 86 additions and 109 deletions
@@ -1,5 +1,5 @@
import ifcopenshell
from ifcopenshell.api.owner.api import create_owner_history
import ifcopenshell.api.owner.create_owner_history as create_owner_history
class Usecase:
@@ -12,7 +12,7 @@ class Usecase:
def execute(self):
return self.file.create_entity("IfcStructuralAnalysisModel", **{
"GlobalId": ifcopenshell.guid.new(),
"OwnerHistory": create_owner_history(),
"OwnerHistory": create_owner_history.Usecase(self.file).execute(),
"Name": "Unnamed",
"PredefinedType": "LOADING_3D"
})
@@ -1,6 +1,6 @@
import ifcopenshell
from ifcopenshell.api.owner.api import create_owner_history
from ifcopenshell.api.owner.api import update_owner_history
import ifcopenshell.api.owner.create_owner_history as create_owner_history
import ifcopenshell.api.owner.update_owner_history as update_owner_history
class Usecase:
@@ -17,7 +17,7 @@ class Usecase:
if not self.settings["structural_analysis_model"].IsGroupedBy:
return self.file.create_entity("IfcRelAssignsToGroup", **{
"GlobalId": ifcopenshell.guid.new(),
"OwnerHistory": create_owner_history(),
"OwnerHistory": create_owner_history.Usecase(self.file).execute(),
"RelatedObjects": [self.settings["product"]],
"RelatingGroup": self.settings["structural_analysis_model"]
})
@@ -25,4 +25,4 @@ class Usecase:
related_objects = set(rel.RelatedObjects) or set()
related_objects.add(self.settings["product"])
rel.RelatedObjects = list(related_objects)
update_owner_history(rel)
update_owner_history.Usecase(self.file, {"element": rel}).execute()
@@ -1,5 +1,5 @@
import ifcopenshell
from ifcopenshell.api.owner.api import update_owner_history
import ifcopenshell.api.owner.update_owner_history as update_owner_history
class Usecase:
@@ -20,6 +20,6 @@ class Usecase:
related_objects.remove(self.settings["product"])
if len(related_objects):
rel.RelatedObjects = list(related_objects)
update_owner_history(rel)
update_owner_history.Usecase(self.file, {"element": rel}).execute()
else:
self.file.remove(rel)