Index: DOM/PM/Maatwerk/Calc/HF/IHalffabItem.cls.xml
===================================================================
diff -u -r30191 -r30286
--- DOM/PM/Maatwerk/Calc/HF/IHalffabItem.cls.xml (.../IHalffabItem.cls.xml) (revision 30191)
+++ DOM/PM/Maatwerk/Calc/HF/IHalffabItem.cls.xml (.../IHalffabItem.cls.xml) (revision 30286)
@@ -13,7 +13,7 @@
TECH.Error
1
-%RegisteredObject
+TECH.RegisteredObject
%String
@@ -68,12 +68,17 @@
%String
+
+DOM.PM.Maatwerk.Calc.HF.IHalffabItem
+
+
Context:DOM.PM.Maatwerk.Calc.HF.HalffabContext,Rol:%String
1
1
%Status
%String
-
@@ -162,6 +176,12 @@
+
+
+TECH.Iterator
+
+
Index: DOM/PM/Maatwerk/Calc/HF/HalffabItemsIterator.cls.xml
===================================================================
diff -u
--- DOM/PM/Maatwerk/Calc/HF/HalffabItemsIterator.cls.xml (revision 0)
+++ DOM/PM/Maatwerk/Calc/HF/HalffabItemsIterator.cls.xml (revision 30286)
@@ -0,0 +1,102 @@
+
+
+
+TECH.RegisteredObject,TECH.Iterator
+
+
+TECH.Iterator
+1
+
+
+
+%String
+1
+
+
+
+DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom
+1
+
+
+
+%Boolean
+1
+
+
+
+DOM.PM.Maatwerk.Calc.HF.ConcreetHalffabItem
+1
+
+
+
+Boom:DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom,Rol:%String=""
+1
+1
+%Status
+
+
+
+
+%Boolean
+
+
+
+
+DOM.PM.Maatwerk.Calc.HF.ConcreetHalffabItem
+
+
+
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+1
+%Boolean
+
+
+
+
+1
+%Boolean
+
+
+
+
+
+
Index: vhTest/Fake/DOM/PM/Maatwerk/Calc/HF/HalffabItemsBoom.cls.xml
===================================================================
diff -u -r30285 -r30286
--- vhTest/Fake/DOM/PM/Maatwerk/Calc/HF/HalffabItemsBoom.cls.xml (.../HalffabItemsBoom.cls.xml) (revision 30285)
+++ vhTest/Fake/DOM/PM/Maatwerk/Calc/HF/HalffabItemsBoom.cls.xml (.../HalffabItemsBoom.cls.xml) (revision 30286)
@@ -18,12 +18,31 @@
+
+TECH.Iterator
+
+
+
+
+Rol:%String=""
+TECH.Iterator
+
+
+
TECH.Iterator
+
+TECH.Iterator
+
+
+
Rol:%String
%Boolean
Index: DOM/PM/Maatwerk/Calc/HF/SamengesteldHalffabItem.cls.xml
===================================================================
diff -u -r30112 -r30286
--- DOM/PM/Maatwerk/Calc/HF/SamengesteldHalffabItem.cls.xml (.../SamengesteldHalffabItem.cls.xml) (revision 30112)
+++ DOM/PM/Maatwerk/Calc/HF/SamengesteldHalffabItem.cls.xml (.../SamengesteldHalffabItem.cls.xml) (revision 30286)
@@ -19,6 +19,12 @@
]]>
+
+TECH.Iterator
+
+
+
%Boolean
0
@@ -51,7 +57,23 @@
HalffabItem:DOM.PM.Maatwerk.Calc.HF.IHalffabItem
-
@@ -60,8 +82,7 @@
+
+TECH.Iterator
+
+
+
+
+Rol:%String=""
+TECH.Iterator
+
+
+
Rol:%String
DOM.PM.Maatwerk.Calc.HF.IHalffabItem
@@ -35,8 +48,9 @@
+Rol:%String=""
TECH.Iterator
-
@@ -46,6 +60,12 @@
]]>
+
+TECH.Iterator
+
+
+
HalffabItem:DOM.PM.Maatwerk.Calc.HF.IHalffabItem
DOM.PM.Maatwerk.Calc.HF.IHalffabItem
array
-1
@@ -26,7 +25,9 @@
Voegt het HFItem toe aan de Lijst van HalffabItems, maar niet aan de Wortel van de "Boom"
HalffabItem:DOM.PM.Maatwerk.Calc.HF.IHalffabItem
-
@@ -50,6 +51,13 @@
Set HalffabItem = HalffabItem.GeefHalffabItem($Piece(Rol,Delimiter,i))
}
}
+
+ if HalffabItem="" {
+ set Iterator = ##class(DOM.PM.Maatwerk.Calc.HF.HalffabItemsIterator).%New($this,Rol)
+ if Iterator.HasNext() set HalffabItem = Iterator.Next()
+ do:Iterator.HasNext() ##class(TECH.Exceptions.GeneralErrorException).%New("Meerdere items gevonden met rol '"_Rol_"'")
+ }
+
Quit HalffabItem
]]>
@@ -61,6 +69,34 @@
]]>
+
+Rol:%String=""
+TECH.Iterator
+
+
+
+
+TECH.Iterator
+
+
+
+
+Rol:%String=""
+TECH.Iterator
+
+
+
+
+TECH.Iterator
+
+
+
TECH.Iterator
-
-
-TECH.Iterator
-
-
Index: vhUnitTest/DOM/PM/Maatwerk/Calc/HF/HalffabItemsBoom/Test.cls.xml
===================================================================
diff -u
--- vhUnitTest/DOM/PM/Maatwerk/Calc/HF/HalffabItemsBoom/Test.cls.xml (revision 0)
+++ vhUnitTest/DOM/PM/Maatwerk/Calc/HF/HalffabItemsBoom/Test.cls.xml (revision 30286)
@@ -0,0 +1,229 @@
+
+
+
+vhUnitTest.TestCase
+
+
+DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom
+1
+
+
+
+aTestName:%String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Std1"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("HoofdSam1->Std1").GeefVolledigeRolNaam(),"HoofdSam1.Std1")
+
+ do $$$AssertTrue(..Boom.BevatRol("HoofdSam1->Std2"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("HoofdSam1->Std2").GeefVolledigeRolNaam(),"HoofdSam1.Std2")
+
+ do $$$AssertTrue(..Boom.BevatRol("HoofdSam2->Sam1"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("HoofdSam2->Sam1").GeefVolledigeRolNaam(),"HoofdSam2.Sam1")
+
+ do $$$AssertTrue(..Boom.BevatRol("HoofdSam2->Sam1->Std1"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("HoofdSam2->Sam1->Std1").GeefVolledigeRolNaam(),"HoofdSam2.Sam1.Std1")
+
+ do $$$AssertTrue(..Boom.BevatRol("HoofdSam2->Sam2"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("HoofdSam2->Sam2").GeefVolledigeRolNaam(),"HoofdSam2.Sam2")
+
+ do $$$AssertTrue(..Boom.BevatRol("HoofdSam2->Sam2->Std1"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("HoofdSam2->Sam2->Std1").GeefVolledigeRolNaam(),"HoofdSam2.Sam2.Std1")
+]]>
+
+
+
+ItemA"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("Hoofd->ItemA").GeefVolledigeRolNaam(),"Hoofd.ItemA")
+
+ do $$$AssertTrue(..Boom.BevatRol("Hoofd->ItemB"))
+ do $$$AssertEquals(..Boom.GeefHalffabItem("Hoofd->ItemB").GeefVolledigeRolNaam(),"Afwijkende volledigerolnaam")
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Std1"))
+
+ do ..Boom.GeefHalffabItem("Sam1")
+]]>
+
+
+
+Naam:%String,Aantal:%Integer=1
+1
+
+
+
+
+Naam:%String,AantalTeMakenItems:%Integer,ItemType:%String="Std",Aantal:%Integer=1
+1
+
+
+
+
+VerwachtAantal:%Integer
+1
+
+
+
+
+
+
Index: DOM/PM/Maatwerk/Calc/HF/ConcreetHalffabItemsIterator.cls.xml
===================================================================
diff -u
--- DOM/PM/Maatwerk/Calc/HF/ConcreetHalffabItemsIterator.cls.xml (revision 0)
+++ DOM/PM/Maatwerk/Calc/HF/ConcreetHalffabItemsIterator.cls.xml (revision 30286)
@@ -0,0 +1,15 @@
+
+
+
+DOM.PM.Maatwerk.Calc.HF.HalffabItemsIterator
+
+
+1
+%Boolean
+
+
+
+
+
+