diff --git a/cobertura.xml b/cobertura.xml index 3bad32c..61cc7b8 100644 --- a/cobertura.xml +++ b/cobertura.xml @@ -1,59 +1,59 @@ - + /home/thomas/projekte/calc/src - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + @@ -61,50 +61,50 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - - - + + + - + - + @@ -112,119 +112,119 @@ - + - + - + - - - - - + + + + + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - + + + + + + + + - + - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -267,479 +267,102 @@ - + - + - + - - - + + + - + - + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -747,27 +370,25 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -775,55 +396,45 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -831,275 +442,111 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1107,27 +554,25 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -1135,55 +580,45 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -1191,27 +626,592 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1219,27 +1219,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -1247,27 +1247,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -1275,27 +1275,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -1303,27 +1303,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -1331,27 +1331,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -1359,26 +1359,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -1437,496 +1437,496 @@ - + - + - + - - + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + - - - + + + - - - - - + + + + + - + - - - - + + + + - - - - - + + + + + - - + + - + - - - - + + + + - - - - - + + + + + - - + + - + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - + + + + + + + - + - + - + - - - + + + - + - + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2035,19 +2035,19 @@ - + - + - + - - + + - + - + @@ -2057,71 +2057,71 @@ - - - + + + - + - + - + - - - - - - + + + + + + - + - - - - - - + + + + + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - + - - - - - - - - + + + + + + + + @@ -2130,10 +2130,10 @@ - + - - + + @@ -2141,146 +2141,146 @@ - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - + + + - + - + - + - + - + - + @@ -2288,9 +2288,9 @@ - + - + @@ -2298,14 +2298,14 @@ - + - + - + - + @@ -2313,11 +2313,11 @@ - + - - - + + + @@ -2325,15 +2325,15 @@ - + - - - - - - - + + + + + + + @@ -2341,9 +2341,9 @@ - + - + @@ -2351,29 +2351,29 @@ - + - - - - - + + + + + - + - + - + - - + + - + - + @@ -2381,22 +2381,22 @@ - + - + - + - - - + + + - + - - + + @@ -2409,9 +2409,9 @@ - + - + @@ -2419,14 +2419,14 @@ - + - + - + - + @@ -2434,14 +2434,14 @@ - + - + - + - + @@ -2449,332 +2449,332 @@ - + - + - + - + - + - - - + + + - + - + - + - - - + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - - + + - - - + + + - - - - - - - + + + + + + + - + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2782,19 +2782,19 @@ - + - + - + - - + + @@ -2805,26 +2805,26 @@ - - + + - + - + - + - - + + @@ -2835,20 +2835,20 @@ - - + + - + - + - + - + @@ -2856,1092 +2856,1092 @@ - + - - - - + + + + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - - - - + + + + - - - - + + + + - + - + - + - - + + - + - - - - - - - - - + + + + + + + + + - + - - - - + + + + - + - - - - - - - + + + + + + + - + - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + + @@ -4186,8 +4186,8 @@ - - + + @@ -4438,54 +4438,54 @@ - + - + - + - - - + + + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - - - - - + + + + + @@ -4538,24 +4538,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -4600,86 +4600,86 @@ - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - + + + + - + - - - - - - - - + + + + + + + + @@ -4689,137 +4689,137 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + @@ -4827,53 +4827,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4903,18 +4903,18 @@ - + - + - + - + - + - + @@ -4928,23 +4928,23 @@ - + - - - - - + + + + + - + - - - - - - + + + + + + @@ -4953,14 +4953,14 @@ - + - + - + - + @@ -4973,9 +4973,9 @@ - + - + @@ -5066,40 +5066,40 @@ - + - + - - + + - - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -5140,31 +5140,31 @@ - + - + - + - + - - - - - + + + + + - - - - - + + + + + @@ -5172,16 +5172,16 @@ - + - + - + - - - - + + + + @@ -5194,134 +5194,134 @@ - + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - - - - + + + + @@ -5334,27 +5334,27 @@ - + - + - + - + - - - - - - - - - - + + + + + + + + + + @@ -5373,59 +5373,59 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + @@ -5444,61 +5444,61 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + @@ -5513,108 +5513,108 @@ - - - - - - - + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - - - + + + - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + @@ -5631,28 +5631,28 @@ - + - - + + - - + + - + - - - - + + + + - + @@ -5663,28 +5663,28 @@ - - + + - - - - - - + + + + + + - + - + - + - + @@ -5692,9 +5692,9 @@ - + - + @@ -5708,22 +5708,22 @@ - + - - - - - - - + + + + + + + - + - + @@ -5731,43 +5731,43 @@ - - - - - - - + + + + + + + - + - + - + - + - + - - - - - - + + + + + + - - - - - + + + + + - + @@ -5781,19 +5781,19 @@ - - - - - - - + + + + + + + - - - - - + + + + + @@ -5806,142 +5806,142 @@ - + - + - + - + - + - - - - - - + + + + + + - + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - - - - + + + + - + - + - + - - - - - + + + + + - + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - + - + - + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -5970,254 +5970,314 @@ - + - + - + - + - + - - + + - - + + - + - - - + + + - - - + + + - - - - - + + + + + - + - + - + - - + + - + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - + - + - + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + - + - + - - + + - + - - - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - + + + + + + + + - + - - + + - - + + - - + + - - - - - + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - - - - + + + + @@ -6228,25 +6288,25 @@ - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -6272,9 +6332,9 @@ - - - + + + @@ -6294,18 +6354,18 @@ - - - - - + + + + + - - - + + + @@ -6325,116 +6385,116 @@ - - - - - + + + + + - + - - - - + + + + - + - - - - + + + + - + - + - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -6452,9 +6512,9 @@ - - - + + + @@ -6474,14 +6534,14 @@ - - - - - - - - + + + + + + + + @@ -6501,34 +6561,34 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - + - + @@ -6547,25 +6607,25 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + - + @@ -6578,121 +6638,121 @@ - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - + - + - + - - - - + + + + - - - - - + + + + + - + - + - + - + @@ -6705,110 +6765,110 @@ - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - + - - + + - - - + + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + @@ -6818,122 +6878,122 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6941,29 +7001,29 @@ - + - + - + - + - + - + - + - + - + @@ -6976,189 +7036,189 @@ - + - - - - - - - + + + + + + + - + - - - + + + - + - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - + + + - + - + - + - - - + + + - + - + - + - - - - - - - - - + + + + + + + + + - + - + - + - + - + - + - + - + - + - - - - + + + + @@ -7175,27 +7235,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -7227,41 +7287,41 @@ - + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + @@ -7288,18 +7348,18 @@ - + - + - + - + - + - + @@ -7325,8 +7385,8 @@ - - + + @@ -7344,68 +7404,68 @@ - + - + - + - - - + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -7415,145 +7475,145 @@ - + - + - + - + - + - + - + - + - + - + - + - - - - - - + + + + + + - + - + - + - - - - - - - - + + + + + + + + - - - - + + + + - + - + - + - - + + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - - + + @@ -7578,143 +7638,143 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -7737,129 +7797,129 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7874,33 +7934,33 @@ - + - + - + - - - + + + - + - + - + - - + + - - - - + + + + @@ -7918,48 +7978,48 @@ - + - + - + - + - + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - - - - + + + + + + @@ -7972,131 +8032,227 @@ - + - + - - + + - + - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - + + + - + - + - + - + - + - - - - + + + + - + - - - + + + - + - - + + @@ -8116,12 +8272,12 @@ - + - + - + @@ -8129,153 +8285,153 @@ - + - + - + - + - + - - - + + + - + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8362,23 +8518,23 @@ - + - + - + - + - + - + - + - + @@ -8386,19 +8542,19 @@ - + - + - + - + - + - + @@ -8406,9 +8562,9 @@ - + - + @@ -8416,109 +8572,109 @@ - + - + - + - - - - - - - - - + + + + + + + + + - + - + - + - + - - - + + + - - - + + + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8526,114 +8682,114 @@ - + - - - - - - - - - + + + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - - + + @@ -8678,183 +8834,183 @@ - + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + + + + + + + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + @@ -8862,93 +9018,93 @@ - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + + + + @@ -8956,301 +9112,301 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + - - - - - + - + - + - + - + - - - - - - + + + + + - - - + + + + + + - + - + - + - + - + - - - - - - - - - - - + + + + - - - - + + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9263,24 +9419,24 @@ - + - + - + - + - + - + - + - + @@ -9293,29 +9449,29 @@ - + - + - + - + - + - - - - + + + + - - + + diff --git a/src/Option/Parser/Headline.php b/src/Option/Parser/Headline.php index 46d2087..554a223 100644 --- a/src/Option/Parser/Headline.php +++ b/src/Option/Parser/Headline.php @@ -39,7 +39,7 @@ class Headline extends Base return $this->element; } - public function parseJSON(): PSCHeadline + public function parseJson(): PSCHeadline { parent::parseJson(); diff --git a/src/Option/Parser/Row.php b/src/Option/Parser/Row.php index 3ecf82c..f96aba3 100644 --- a/src/Option/Parser/Row.php +++ b/src/Option/Parser/Row.php @@ -1,26 +1,43 @@ element = new \PSC\Library\Calc\Option\Type\Row(); } + public function parseJson(): PSCBase + { + parent::parseJson(); + + foreach ($this->json['columns'] as $col) { + $p = new Column($this->paperContainer, $this->paperRepository, $this->templates); + $p->fromJson($col); + $element = $p->parseJson(); + $this->element->addColumn($element); + } + + return $this->element; + } + public function parseXML(): PSCBase { parent::parseXML(); - foreach($this->node->children() as $key => $node) { + foreach ($this->node->children() as $key => $node) { $p = new Column($this->paperContainer, $this->paperRepository, $this->templates); $p->fromXML($node); $element = $p->parseXML(); @@ -29,5 +46,4 @@ class Row extends Base return $this->element; } - } diff --git a/src/Option/Parser/Row/Column.php b/src/Option/Parser/Row/Column.php index 1abf03c..1c31131 100644 --- a/src/Option/Parser/Row/Column.php +++ b/src/Option/Parser/Row/Column.php @@ -1,4 +1,5 @@ element = new \PSC\Library\Calc\Option\Type\Row\Column(); $this->optionParser = new \PSC\Library\Calc\Option\Parser($paperContainer, $paperRepository, $templates); } - public function parseXML(): PSCColumn + public function parseJson(): PSCColumn + { + parent::parseJson(); + + foreach ($this->json['options'] as $option) { + $obj = $this->optionParser->getOptByJsonType($option['type'], $option['mode'] ?? null); + if ($obj) { + $obj->fromJson($option); + if ($obj instanceof Select) { + $obj->setPaperContainer($this->getPaperContainer()); + $obj->setPaperRepository($this->getPaperRepository()); + } + if ($obj instanceof Template) { + $element = $obj->parseJson(); + + $default = $element->getDefault(); + $node = $this->templates->xpath('//option[@id="' . $element->getSelect() . '"]'); + $obj = $this->optionParser->getOptByType($node[0]); + $element = $obj->parseJson(); + if ($default != '') { + $element->setDefault($default); + } + } else { + $element = $obj->parseJson(); + } + $this->element->addOption($element); + } + } + + return $this->element; + } + + public function parseXML(): PSCColumn { parent::parseXML(); - foreach ($this->node->children() as $key => $option) { - if($key == 'option') { - $obj = $this->optionParser->getOptByType($option['type'], $option['mode']?? null); - if($obj) { + foreach ($this->node->children() as $key => $option) { + if ($key == 'option') { + $obj = $this->optionParser->getOptByType($option['type'], $option['mode'] ?? null); + if ($obj) { $obj->fromXML($option); - if($obj instanceof Select) { + if ($obj instanceof Select) { $obj->setPaperContainer($this->paperContainer); $obj->setPaperRepository($this->paperRepository); } - if($obj instanceof Template) { + if ($obj instanceof Template) { $element = $obj->parseXML(); $default = $element->getDefault(); $node = $this->templates->xpath('//option[@id="' . $element->getSelect() . '"]'); - $obj = $this->optionParser->getOptByType($node[0]['type'], $node[0]['mode']?? null); + $obj = $this->optionParser->getOptByType($node[0]['type'], $node[0]['mode'] ?? null); $obj->fromXML($node[0]); $element = $obj->parseXML(); - if($default != "") { + if ($default != '') { $element->setDefault($default); } - }else{ + } else { $element = $obj->parseXML(); } $this->element->addOption($element); } - }elseif($key == 'row') { + } elseif ($key == 'row') { $obj = new Row($this->paperContainer, $this->paperRepository, $this->templates); $obj->fromXML($option); $element = $obj->parseXML(); @@ -58,6 +93,4 @@ class Column extends Base return $this->element; } - } - diff --git a/src/Option/Type/Row.php b/src/Option/Type/Row.php index a800def..c0296d9 100644 --- a/src/Option/Type/Row.php +++ b/src/Option/Type/Row.php @@ -1,4 +1,5 @@ columns; } - public function getColumnById(string $id): ?Column + public function getColumnById(string $id): null|Column { - return array_find((array)$this->columns, function(Column $c) use ($id) { + return array_find((array) $this->columns, function (Column $c) use ($id) { return $c->getId() == $id; }); } + + public function generateXML(): array + { + $tmp = []; + $columns = $this->columns; + if (count($columns) > 0) { + $tmp = ['column' => function () use ($columns) { + $xml_columns = []; + foreach ($columns as $col) { + $xml_columns[] = $col->generateXML(); + } + + return $xml_columns; + }]; + } + + return array_merge_recursive($tmp, parent::generateXML()); + } + + public function generateJson(): \stdClass + { + $obj = new \stdClass(); + $obj->id = $this->getId(); + $obj->dependencys = []; + $obj->columns = []; + $obj->type = 7; + foreach ($this->edgesCollectionContainer as $col) { + $obj->dependencys[] = $col->generateJson(); + } + foreach ($this->getColumns() as $col) { + $obj->columns[] = $col->generateJson(); + } + return $obj; + } } diff --git a/src/Option/Type/Row/Column.php b/src/Option/Type/Row/Column.php index 83aa6c0..fba89a1 100644 --- a/src/Option/Type/Row/Column.php +++ b/src/Option/Type/Row/Column.php @@ -1,4 +1,5 @@ options = new \ArrayIterator(); } - public function addOption(Base $option):void + public function addOption(Base $option): void { $this->options->append($option); } @@ -23,10 +24,44 @@ class Column extends Base return $this->options; } - public function getOptionById(string $id): ?Base + public function getOptionById(string $id): null|Base { - return array_find((array)$this->options, function(Base $c) use ($id) { + return array_find((array) $this->options, function (Base $c) use ($id) { return $c->getId() == $id; }); } + + public function generateXML(): array + { + $tmp = []; + $options = $this->options; + if (count($options) > 0) { + $tmp = ['option' => function () use ($options) { + $xml_options = []; + foreach ($options as $option) { + $xml_options[] = $option->generateXML(); + } + + return $xml_options; + }]; + } + + return array_merge_recursive($tmp, ['_attributes' => ['id' => $this->id]]); + } + + public function generateJson(): \stdClass + { + $obj = new \stdClass(); + $obj->id = $this->getId(); + $obj->dependencys = []; + $obj->options = []; + $obj->type = 8; + foreach ($this->edgesCollectionContainer as $col) { + $obj->dependencys[] = $col->generateJson(); + } + foreach ($this->getOptions() as $opt) { + $obj->options[] = $opt->generateJson(); + } + return $obj; + } } diff --git a/tests/Json/Type/HeadlineTest.php b/tests/Json/Type/HeadlineTest.php new file mode 100644 index 0000000..a9056a5 --- /dev/null +++ b/tests/Json/Type/HeadlineTest.php @@ -0,0 +1,46 @@ +json = json_decode('{ + "id": "c09e76a5-d9be-4a27-92cc-f9462e79b4e5", + "type": 6, + "dependencys": [], + "default": "Kalkulation", + "name": "", + "variant": 3 + }', true); + + $this->xml = '