taskjuggler 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (495) hide show
  1. data/benchmarks/UTF-8-Strings.rb +58 -0
  2. data/data/css/tjmanual.css +52 -0
  3. data/data/css/tjreport.css +195 -0
  4. data/data/icons/details.png +0 -0
  5. data/data/icons/flag-green.png +0 -0
  6. data/data/icons/flag-red.png +0 -0
  7. data/data/icons/flag-yellow.png +0 -0
  8. data/data/icons/resource.png +0 -0
  9. data/data/icons/resourcegroup.png +0 -0
  10. data/data/icons/task.png +0 -0
  11. data/data/icons/taskgroup.png +0 -0
  12. data/data/icons/trend-down.png +0 -0
  13. data/data/icons/trend-flat.png +0 -0
  14. data/data/icons/trend-up.png +0 -0
  15. data/data/scripts/wz_tooltip.js +1301 -0
  16. data/doc/classes/AppConfig.html +298 -230
  17. data/doc/classes/Arguments.html +8 -8
  18. data/doc/classes/Object.html +7 -7
  19. data/doc/classes/String.html +89 -89
  20. data/doc/classes/TaskJuggler.html +396 -264
  21. data/doc/classes/TaskJuggler/Account.html +18 -18
  22. data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
  23. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  24. data/doc/classes/TaskJuggler/Allocation.html +30 -30
  25. data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
  26. data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
  27. data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
  28. data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
  29. data/doc/classes/TaskJuggler/Booking.html +18 -18
  30. data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
  31. data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
  32. data/doc/classes/TaskJuggler/CSVFile.html +24 -24
  33. data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
  34. data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
  35. data/doc/classes/TaskJuggler/Charge.html +18 -18
  36. data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
  37. data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
  38. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
  39. data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
  40. data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
  41. data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
  42. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
  43. data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
  44. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  45. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  46. data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
  47. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  48. data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
  49. data/doc/classes/TaskJuggler/GanttChart.html +48 -48
  50. data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
  51. data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
  52. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
  53. data/doc/classes/TaskJuggler/GanttLine.html +24 -24
  54. data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
  55. data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
  56. data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
  57. data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
  58. data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
  59. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  60. data/doc/classes/TaskJuggler/Interval.html +57 -57
  61. data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
  62. data/doc/classes/TaskJuggler/JobInfo.html +68 -12
  63. data/doc/classes/TaskJuggler/Journal.html +266 -20
  64. data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
  65. data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
  66. data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
  67. data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
  68. data/doc/classes/TaskJuggler/Limits.html +36 -36
  69. data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
  70. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  71. data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
  72. data/doc/classes/TaskJuggler/Log.html +145 -107
  73. data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
  74. data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
  75. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
  76. data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
  77. data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
  78. data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
  79. data/doc/classes/TaskJuggler/Macro.html +6 -6
  80. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  81. data/doc/classes/TaskJuggler/MacroTable.html +37 -37
  82. data/doc/classes/TaskJuggler/Message.html +12 -12
  83. data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
  84. data/doc/classes/TaskJuggler/Navigator.html +110 -46
  85. data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
  86. data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
  87. data/doc/classes/TaskJuggler/Project.html +1158 -893
  88. data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
  89. data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
  90. data/doc/classes/TaskJuggler/PropertyList.html +225 -155
  91. data/doc/classes/TaskJuggler/PropertySet.html +375 -332
  92. data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
  93. data/doc/classes/TaskJuggler/Query.html +404 -139
  94. data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
  95. data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
  96. data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
  97. data/doc/classes/TaskJuggler/RealFormat.html +18 -18
  98. data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
  99. data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
  100. data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
  101. data/doc/classes/TaskJuggler/Report.html +66 -64
  102. data/doc/classes/TaskJuggler/ReportBase.html +112 -123
  103. data/doc/classes/TaskJuggler/ReportContext.html +43 -38
  104. data/doc/classes/TaskJuggler/ReportServer.html +320 -0
  105. data/doc/classes/TaskJuggler/ReportTable.html +42 -42
  106. data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
  107. data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
  108. data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
  109. data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
  110. data/doc/classes/TaskJuggler/Resource.html +12 -12
  111. data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
  112. data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
  113. data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
  114. data/doc/classes/TaskJuggler/RichText.html +64 -248
  115. data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
  116. data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
  117. data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
  118. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  119. data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
  120. data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
  121. data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
  122. data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
  123. data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
  124. data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
  125. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
  126. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  127. data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
  128. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
  129. data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
  130. data/doc/classes/TaskJuggler/Shift.html +18 -18
  131. data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
  132. data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
  133. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  134. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  135. data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
  136. data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
  137. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  138. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  139. data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
  140. data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
  141. data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
  142. data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
  143. data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
  144. data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
  145. data/doc/classes/TaskJuggler/TableReport.html +447 -468
  146. data/doc/classes/TaskJuggler/Task.html +12 -12
  147. data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
  148. data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
  149. data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
  150. data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
  151. data/doc/classes/TaskJuggler/TextParser.html +215 -194
  152. data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
  153. data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
  154. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
  155. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  156. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
  157. data/doc/classes/TaskJuggler/TextReport.html +77 -74
  158. data/doc/classes/TaskJuggler/TextScanner.html +294 -281
  159. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  160. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
  161. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
  162. data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
  163. data/doc/classes/TaskJuggler/TjException.html +6 -6
  164. data/doc/classes/TaskJuggler/TjTime.html +522 -513
  165. data/doc/classes/TaskJuggler/TjpExample.html +25 -25
  166. data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
  167. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
  168. data/doc/classes/TaskJuggler/UserManual.html +212 -213
  169. data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
  170. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
  171. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  172. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  173. data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
  174. data/doc/classes/TaskJuggler/XMLElement.html +86 -50
  175. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  176. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  177. data/doc/files/COPYING.html +1 -1
  178. data/doc/files/README.html +1 -1
  179. data/doc/files/lib/AccountScenario_rb.html +3 -2
  180. data/doc/files/lib/Account_rb.html +3 -2
  181. data/doc/files/lib/Allocation_rb.html +3 -2
  182. data/doc/files/lib/AppConfig_rb.html +5 -2
  183. data/doc/files/lib/AttributeBase_rb.html +3 -2
  184. data/doc/files/lib/AttributeDefinition_rb.html +3 -2
  185. data/doc/files/lib/Attributes_rb.html +3 -2
  186. data/doc/files/lib/BatchProcessor_rb.html +4 -3
  187. data/doc/files/lib/Booking_rb.html +3 -2
  188. data/doc/files/lib/ChargeSet_rb.html +3 -2
  189. data/doc/files/lib/Charge_rb.html +3 -2
  190. data/doc/files/lib/HTMLDocument_rb.html +3 -2
  191. data/doc/files/lib/Interval_rb.html +3 -2
  192. data/doc/files/lib/Journal_rb.html +4 -3
  193. data/doc/files/lib/KeywordArray_rb.html +3 -2
  194. data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
  195. data/doc/files/lib/Limits_rb.html +3 -2
  196. data/doc/files/lib/Log_rb.html +3 -2
  197. data/doc/files/lib/LogicalExpression_rb.html +3 -2
  198. data/doc/files/lib/LogicalFunction_rb.html +3 -2
  199. data/doc/files/lib/LogicalOperation_rb.html +3 -2
  200. data/doc/files/lib/MacroParser_rb.html +3 -2
  201. data/doc/files/lib/MacroTable_rb.html +3 -2
  202. data/doc/files/lib/MessageHandler_rb.html +3 -2
  203. data/doc/files/lib/Message_rb.html +3 -2
  204. data/doc/files/lib/ProjectFileParser_rb.html +7 -4
  205. data/doc/files/lib/Project_rb.html +3 -2
  206. data/doc/files/lib/PropertyList_rb.html +3 -2
  207. data/doc/files/lib/PropertySet_rb.html +3 -2
  208. data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
  209. data/doc/files/lib/Query_rb.html +3 -2
  210. data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
  211. data/doc/files/lib/RTFQuery_rb.html +121 -0
  212. data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
  213. data/doc/files/lib/RealFormat_rb.html +3 -2
  214. data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
  215. data/doc/files/lib/ReportServer_rb.html +107 -0
  216. data/doc/files/lib/ResourceScenario_rb.html +3 -2
  217. data/doc/files/lib/Resource_rb.html +3 -2
  218. data/doc/files/lib/RichTextDocument_rb.html +4 -3
  219. data/doc/files/lib/RichTextElement_rb.html +3 -2
  220. data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
  221. data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
  222. data/doc/files/lib/RichTextParser_rb.html +3 -2
  223. data/doc/files/lib/RichTextScanner_rb.html +3 -2
  224. data/doc/files/lib/RichTextSnip_rb.html +3 -2
  225. data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
  226. data/doc/files/lib/RichText_rb.html +3 -2
  227. data/doc/files/lib/ScenarioData_rb.html +3 -2
  228. data/doc/files/lib/Scenario_rb.html +3 -2
  229. data/doc/files/lib/Scoreboard_rb.html +3 -2
  230. data/doc/files/lib/ShiftAssignments_rb.html +3 -2
  231. data/doc/files/lib/ShiftScenario_rb.html +3 -2
  232. data/doc/files/lib/Shift_rb.html +3 -2
  233. data/doc/files/lib/SourceFileInfo_rb.html +3 -2
  234. data/doc/files/lib/SyntaxReference_rb.html +3 -2
  235. data/doc/files/lib/TOCEntry_rb.html +3 -2
  236. data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
  237. data/doc/files/lib/TableOfContents_rb.html +3 -2
  238. data/doc/files/lib/TaskDependency_rb.html +3 -2
  239. data/doc/files/lib/TaskJuggler_rb.html +7 -2
  240. data/doc/files/lib/TaskScenario_rb.html +3 -2
  241. data/doc/files/lib/Task_rb.html +3 -2
  242. data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
  243. data/doc/files/lib/TextParser/Rule_rb.html +4 -3
  244. data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
  245. data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
  246. data/doc/files/lib/TextParser_rb.html +3 -2
  247. data/doc/files/lib/TextScanner_rb.html +3 -2
  248. data/doc/files/lib/Tj3Config_rb.html +3 -2
  249. data/doc/files/lib/TjException_rb.html +3 -2
  250. data/doc/files/lib/TjTime_rb.html +3 -2
  251. data/doc/files/lib/TjpExample_rb.html +3 -2
  252. data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
  253. data/doc/files/lib/UTF8String_rb.html +14 -6
  254. data/doc/files/lib/UserManual_rb.html +6 -3
  255. data/doc/files/lib/WorkingHours_rb.html +3 -2
  256. data/doc/files/lib/XMLDocument_rb.html +3 -2
  257. data/doc/files/lib/XMLElement_rb.html +3 -2
  258. data/doc/files/lib/deep_copy_rb.html +3 -2
  259. data/doc/files/lib/reports/CSVFile_rb.html +3 -2
  260. data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
  261. data/doc/files/lib/reports/GanttChart_rb.html +3 -2
  262. data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
  263. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
  264. data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
  265. data/doc/files/lib/reports/GanttLine_rb.html +3 -2
  266. data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
  267. data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
  268. data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
  269. data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
  270. data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
  271. data/doc/files/lib/reports/Navigator_rb.html +3 -2
  272. data/doc/files/lib/reports/ReportBase_rb.html +3 -2
  273. data/doc/files/lib/reports/ReportContext_rb.html +3 -2
  274. data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
  275. data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
  276. data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
  277. data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
  278. data/doc/files/lib/reports/ReportTable_rb.html +3 -2
  279. data/doc/files/lib/reports/Report_rb.html +7 -2
  280. data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
  281. data/doc/files/lib/reports/TableReport_rb.html +3 -2
  282. data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
  283. data/doc/files/lib/reports/TextReport_rb.html +4 -3
  284. data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
  285. data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
  286. data/doc/files/lib/taskjuggler3_rb.html +94 -77
  287. data/doc/files/lib/tj3client_rb.html +280 -0
  288. data/doc/files/lib/tj3man_rb.html +10 -9
  289. data/doc/fr_class_index.html +27 -5
  290. data/doc/fr_file_index.html +15 -7
  291. data/doc/fr_method_index.html +1312 -1020
  292. data/examples/tutorial.tjp +113 -14
  293. data/gem_spec.rb +2 -1
  294. data/lib/Account.rb +1 -1
  295. data/lib/AccountScenario.rb +1 -1
  296. data/lib/Allocation.rb +1 -1
  297. data/lib/AppConfig.rb +23 -10
  298. data/lib/AttributeBase.rb +34 -6
  299. data/lib/AttributeDefinition.rb +1 -1
  300. data/lib/Attributes.rb +51 -16
  301. data/lib/BatchProcessor.rb +204 -77
  302. data/lib/Booking.rb +1 -1
  303. data/lib/Charge.rb +1 -1
  304. data/lib/ChargeSet.rb +1 -1
  305. data/lib/HTMLDocument.rb +2 -2
  306. data/lib/Interval.rb +1 -1
  307. data/lib/Journal.rb +231 -9
  308. data/lib/KeywordArray.rb +1 -1
  309. data/lib/KeywordDocumentation.rb +6 -4
  310. data/lib/Limits.rb +1 -1
  311. data/lib/Log.rb +8 -1
  312. data/lib/LogicalExpression.rb +14 -13
  313. data/lib/LogicalFunction.rb +88 -14
  314. data/lib/LogicalOperation.rb +124 -53
  315. data/lib/MacroParser.rb +1 -1
  316. data/lib/MacroTable.rb +2 -2
  317. data/lib/Message.rb +1 -1
  318. data/lib/MessageHandler.rb +7 -3
  319. data/lib/Project.rb +93 -14
  320. data/lib/ProjectFileParser.rb +30 -15
  321. data/lib/PropertyList.rb +103 -36
  322. data/lib/PropertySet.rb +22 -10
  323. data/lib/PropertyTreeNode.rb +120 -15
  324. data/lib/Query.rb +119 -48
  325. data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
  326. data/lib/RTFQuery.rb +166 -0
  327. data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
  328. data/lib/RealFormat.rb +1 -1
  329. data/lib/RemoteServiceManager.rb +80 -0
  330. data/lib/ReportServer.rb +66 -0
  331. data/lib/Resource.rb +1 -1
  332. data/lib/ResourceScenario.rb +48 -19
  333. data/lib/RichText.rb +98 -41
  334. data/lib/RichTextDocument.rb +10 -8
  335. data/lib/RichTextElement.rb +72 -28
  336. data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
  337. data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
  338. data/lib/RichTextParser.rb +6 -3
  339. data/lib/RichTextScanner.rb +91 -19
  340. data/lib/RichTextSnip.rb +8 -3
  341. data/lib/RichTextSyntaxRules.rb +103 -45
  342. data/lib/Scenario.rb +1 -1
  343. data/lib/ScenarioData.rb +2 -2
  344. data/lib/Scoreboard.rb +1 -1
  345. data/lib/Shift.rb +1 -1
  346. data/lib/ShiftAssignments.rb +1 -1
  347. data/lib/ShiftScenario.rb +1 -1
  348. data/lib/SourceFileInfo.rb +1 -1
  349. data/lib/SyntaxReference.rb +2 -2
  350. data/lib/TOCEntry.rb +1 -1
  351. data/lib/TableColumnDefinition.rb +59 -16
  352. data/lib/TableOfContents.rb +1 -1
  353. data/lib/Task.rb +1 -1
  354. data/lib/TaskDependency.rb +1 -1
  355. data/lib/TaskJuggler.rb +31 -8
  356. data/lib/TaskScenario.rb +165 -16
  357. data/lib/TextParser.rb +36 -22
  358. data/lib/TextParser/Pattern.rb +3 -3
  359. data/lib/TextParser/Rule.rb +2 -2
  360. data/lib/TextParser/StackElement.rb +4 -3
  361. data/lib/TextParser/TokenDoc.rb +2 -2
  362. data/lib/TextScanner.rb +52 -37
  363. data/lib/Tj3Config.rb +6 -5
  364. data/lib/TjException.rb +1 -1
  365. data/lib/TjTime.rb +12 -3
  366. data/lib/TjpExample.rb +1 -1
  367. data/lib/TjpSyntaxRules.rb +1044 -150
  368. data/lib/UTF8String.rb +2 -1
  369. data/lib/UserManual.rb +18 -70
  370. data/lib/WorkingHours.rb +3 -3
  371. data/lib/XMLDocument.rb +3 -2
  372. data/lib/XMLElement.rb +6 -1
  373. data/lib/deep_copy.rb +1 -1
  374. data/lib/reports/CSVFile.rb +1 -1
  375. data/lib/reports/ColumnTable.rb +9 -9
  376. data/lib/reports/GanttChart.rb +1 -1
  377. data/lib/reports/GanttContainer.rb +1 -1
  378. data/lib/reports/GanttHeader.rb +1 -1
  379. data/lib/reports/GanttHeaderScaleItem.rb +1 -1
  380. data/lib/reports/GanttLine.rb +40 -40
  381. data/lib/reports/GanttLoadStack.rb +1 -1
  382. data/lib/reports/GanttMilestone.rb +1 -1
  383. data/lib/reports/GanttRouter.rb +1 -1
  384. data/lib/reports/GanttTaskBar.rb +1 -1
  385. data/lib/reports/HTMLGraphics.rb +1 -1
  386. data/lib/reports/Navigator.rb +149 -22
  387. data/lib/reports/Report.rb +115 -172
  388. data/lib/reports/ReportBase.rb +22 -27
  389. data/lib/reports/ReportContext.rb +29 -15
  390. data/lib/reports/ReportTable.rb +1 -1
  391. data/lib/reports/ReportTableCell.rb +120 -27
  392. data/lib/reports/ReportTableColumn.rb +3 -3
  393. data/lib/reports/ReportTableLegend.rb +1 -1
  394. data/lib/reports/ReportTableLine.rb +10 -2
  395. data/lib/reports/ResourceListRE.rb +5 -1
  396. data/lib/reports/TableReport.rb +237 -287
  397. data/lib/reports/TaskListRE.rb +5 -1
  398. data/lib/reports/TextReport.rb +7 -4
  399. data/lib/reports/TimeSheetReport.rb +233 -0
  400. data/lib/reports/TjpExportRE.rb +2 -2
  401. data/lib/taskjuggler3.rb +27 -11
  402. data/lib/tj3client.rb +110 -0
  403. data/lib/tj3man.rb +4 -4
  404. data/manual/Getting_Started +0 -50
  405. data/manual/How_To_Contribute +6 -13
  406. data/manual/Installation +102 -28
  407. data/manual/Intro +11 -1
  408. data/manual/Reporting_Bugs +23 -7
  409. data/manual/Rich_Text_Attributes +59 -6
  410. data/manual/TaskJuggler_2x_Migration +27 -0
  411. data/manual/The_TaskJuggler_Syntax +104 -0
  412. data/manual/Tutorial +10 -9
  413. data/prj_cfg.rb +8 -2
  414. data/tasks/csts.rake +1 -1
  415. data/tasks/manual.rake +5 -3
  416. data/test/MessageChecker.rb +1 -1
  417. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  418. data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
  419. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  420. data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
  421. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  422. data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
  423. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  424. data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
  425. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
  426. data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
  427. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  428. data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
  429. data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
  430. data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
  431. data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
  432. data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
  433. data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
  434. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  435. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  436. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  437. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  438. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  439. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  440. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  441. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  442. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  443. data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
  444. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  445. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
  446. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
  447. data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
  448. data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
  449. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
  450. data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
  451. data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
  452. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
  453. data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
  454. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  455. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  456. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  457. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  458. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  459. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  460. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  461. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  462. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  463. data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
  464. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
  465. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
  466. data/test/all.rb +2 -2
  467. data/test/test_BatchProcessor.rb +42 -13
  468. data/test/test_CSV-Reports.rb +1 -1
  469. data/test/test_Journal.rb +176 -0
  470. data/test/test_Limits.rb +1 -1
  471. data/test/test_LogicalExpression.rb +14 -5
  472. data/test/test_MacroTable.rb +1 -1
  473. data/test/test_Project.rb +1 -1
  474. data/test/test_PropertySet.rb +1 -1
  475. data/test/test_Query.rb +1 -1
  476. data/test/test_RealFormat.rb +1 -1
  477. data/test/test_RichText.rb +30 -20
  478. data/test/test_Scheduler.rb +1 -1
  479. data/test/test_ShiftAssignments.rb +2 -2
  480. data/test/test_Syntax.rb +1 -1
  481. data/test/test_TextScanner.rb +1 -1
  482. data/test/test_TjTime.rb +1 -1
  483. data/test/test_TjpExample.rb +1 -1
  484. data/test/test_UTF8String.rb +1 -1
  485. data/test/test_WorkingHours.rb +1 -1
  486. data/test/test_deep_copy.rb +2 -2
  487. metadata +610 -532
  488. data/doc/files/lib/ms_test_rb.html +0 -90
  489. data/examples/ContactList.html +0 -1467
  490. data/examples/Deliveries.html +0 -485
  491. data/examples/Development.html +0 -2525
  492. data/examples/Overview.html +0 -747
  493. data/examples/Resource Graph.html +0 -616
  494. data/lib/ms_test.rb +0 -27
  495. data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
@@ -117,61 +117,73 @@ attribute like an URL that contains more details about the task.
117
117
 
118
118
  <div class="name-list">
119
119
 
120
- <a href="#M000681">[]</a>&nbsp;&nbsp;
120
+ <a href="#M000616">[]</a>&nbsp;&nbsp;
121
121
 
122
- <a href="#M000680">[]=</a>&nbsp;&nbsp;
122
+ <a href="#M000615">[]=</a>&nbsp;&nbsp;
123
123
 
124
- <a href="#M000670">addChild</a>&nbsp;&nbsp;
124
+ <a href="#M000604">addChild</a>&nbsp;&nbsp;
125
125
 
126
- <a href="#M000663">all</a>&nbsp;&nbsp;
126
+ <a href="#M000596">all</a>&nbsp;&nbsp;
127
127
 
128
- <a href="#M000664">allLeaves</a>&nbsp;&nbsp;
128
+ <a href="#M000597">allLeaves</a>&nbsp;&nbsp;
129
129
 
130
- <a href="#M000676">attributeDefinition</a>&nbsp;&nbsp;
130
+ <a href="#M000610">attributeDefinition</a>&nbsp;&nbsp;
131
131
 
132
- <a href="#M000673">container?</a>&nbsp;&nbsp;
132
+ <a href="#M000607">container?</a>&nbsp;&nbsp;
133
133
 
134
- <a href="#M000675">declareAttribute</a>&nbsp;&nbsp;
134
+ <a href="#M000609">declareAttribute</a>&nbsp;&nbsp;
135
135
 
136
- <a href="#M000659">deep_clone</a>&nbsp;&nbsp;
136
+ <a href="#M000592">deep_clone</a>&nbsp;&nbsp;
137
137
 
138
- <a href="#M000665">eachAttribute</a>&nbsp;&nbsp;
138
+ <a href="#M000598">eachAttribute</a>&nbsp;&nbsp;
139
139
 
140
- <a href="#M000666">eachScenarioAttribute</a>&nbsp;&nbsp;
140
+ <a href="#M000599">eachScenarioAttribute</a>&nbsp;&nbsp;
141
141
 
142
- <a href="#M000667">fullId</a>&nbsp;&nbsp;
142
+ <a href="#M000600">fullId</a>&nbsp;&nbsp;
143
143
 
144
- <a href="#M000677">get</a>&nbsp;&nbsp;
144
+ <a href="#M000611">get</a>&nbsp;&nbsp;
145
145
 
146
- <a href="#M000678">getAttr</a>&nbsp;&nbsp;
146
+ <a href="#M000612">getAttr</a>&nbsp;&nbsp;
147
147
 
148
- <a href="#M000669">getWBSIndicies</a>&nbsp;&nbsp;
148
+ <a href="#M000613">getAttribute</a>&nbsp;&nbsp;
149
149
 
150
- <a href="#M000682">hasQuery?</a>&nbsp;&nbsp;
150
+ <a href="#M000603">getIndicies</a>&nbsp;&nbsp;
151
151
 
152
- <a href="#M000661">inheritAttributes</a>&nbsp;&nbsp;
152
+ <a href="#M000602">getWBSIndicies</a>&nbsp;&nbsp;
153
153
 
154
- <a href="#M000662">inheritAttributesFromScenario</a>&nbsp;&nbsp;
154
+ <a href="#M000594">inheritAttributes</a>&nbsp;&nbsp;
155
155
 
156
- <a href="#M000684">inherited</a>&nbsp;&nbsp;
156
+ <a href="#M000595">inheritAttributesFromScenario</a>&nbsp;&nbsp;
157
157
 
158
- <a href="#M000671">isChildOf?</a>&nbsp;&nbsp;
158
+ <a href="#M000618">inherited</a>&nbsp;&nbsp;
159
159
 
160
- <a href="#M000672">leaf?</a>&nbsp;&nbsp;
160
+ <a href="#M000605">isChildOf?</a>&nbsp;&nbsp;
161
161
 
162
- <a href="#M000668">level</a>&nbsp;&nbsp;
162
+ <a href="#M000606">leaf?</a>&nbsp;&nbsp;
163
163
 
164
- <a href="#M000660">levelSeqNo</a>&nbsp;&nbsp;
164
+ <a href="#M000601">level</a>&nbsp;&nbsp;
165
165
 
166
- <a href="#M000685">method_missing</a>&nbsp;&nbsp;
166
+ <a href="#M000593">levelSeqNo</a>&nbsp;&nbsp;
167
167
 
168
- <a href="#M000658">new</a>&nbsp;&nbsp;
168
+ <a href="#M000624">method_missing</a>&nbsp;&nbsp;
169
169
 
170
- <a href="#M000683">provided</a>&nbsp;&nbsp;
170
+ <a href="#M000619">modified?</a>&nbsp;&nbsp;
171
171
 
172
- <a href="#M000674">root</a>&nbsp;&nbsp;
172
+ <a href="#M000591">new</a>&nbsp;&nbsp;
173
173
 
174
- <a href="#M000679">set</a>&nbsp;&nbsp;
174
+ <a href="#M000617">provided</a>&nbsp;&nbsp;
175
+
176
+ <a href="#M000620">query_alert</a>&nbsp;&nbsp;
177
+
178
+ <a href="#M000622">query_alertmessage</a>&nbsp;&nbsp;
179
+
180
+ <a href="#M000621">query_alertsummary</a>&nbsp;&nbsp;
181
+
182
+ <a href="#M000623">query_alerttrend</a>&nbsp;&nbsp;
183
+
184
+ <a href="#M000608">root</a>&nbsp;&nbsp;
185
+
186
+ <a href="#M000614">set</a>&nbsp;&nbsp;
175
187
 
176
188
  </div>
177
189
  </div>
@@ -198,6 +210,14 @@ attribute like an URL that contains more details about the task.
198
210
  <td class="context-item-desc"></td>
199
211
  </tr>
200
212
 
213
+ <tr class="top-aligned-row context-row">
214
+ <td class="context-item-name">data</td>
215
+
216
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
217
+
218
+ <td class="context-item-desc"></td>
219
+ </tr>
220
+
201
221
  <tr class="top-aligned-row context-row">
202
222
  <td class="context-item-name">id</td>
203
223
 
@@ -266,12 +286,12 @@ attribute like an URL that contains more details about the task.
266
286
  <h3 class="section-bar">Public Class methods</h3>
267
287
 
268
288
 
269
- <div id="method-M000658" class="method-detail">
270
- <a name="M000658"></a>
289
+ <div id="method-M000591" class="method-detail">
290
+ <a name="M000591"></a>
271
291
 
272
292
  <div class="method-heading">
273
293
 
274
- <a href="#M000658" class="method-signature">
294
+ <a href="#M000591" class="method-signature">
275
295
 
276
296
  <span class="method-name">new</span><span class="method-args">(propertySet, id, name, parent)</span>
277
297
 
@@ -297,56 +317,56 @@ be nil and specified by a hierachical <em>id</em> (e. g.
297
317
  </p>
298
318
 
299
319
  <p><a class="source-toggle" href="#"
300
- onclick="toggleCode('M000658-source');return false;">[Source]</a></p>
301
- <div class="method-source-code" id="M000658-source">
320
+ onclick="toggleCode('M000591-source');return false;">[Source]</a></p>
321
+ <div class="method-source-code" id="M000591-source">
302
322
  <pre>
303
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 41</span>
304
- 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">propertySet</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
305
- 42: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">propertySet</span>
306
- 43: <span class="ruby-comment cmt"># If _id_ is still nil, we generate a unique id.</span>
307
- 44: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">id</span>
308
- 45: <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/TaskJuggler::/</span>, <span class="ruby-value str">''</span>)
309
- 46: <span class="ruby-identifier">id</span> = <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>
310
- 47: <span class="ruby-identifier">id</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">parent</span>
311
- 48: <span class="ruby-keyword kw">end</span>
312
- 49: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">id</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>)
313
- 50: <span class="ruby-identifier">parentId</span> = <span class="ruby-identifier">id</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
314
- 51: <span class="ruby-comment cmt"># Set parent to the parent property if it's still nil.</span>
315
- 52: <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parentId</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">parent</span>
316
- 53: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
317
- 54: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">parent</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span>]
318
- 55: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: parent must be member of same property set&quot;</span>
319
- 56: <span class="ruby-keyword kw">end</span>
320
- 57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parentId</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span>
321
- 58: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Fatal Error: parent (#{parent.fullId}) and parent ID &quot;</span> <span class="ruby-operator">+</span>
322
- 59: <span class="ruby-node">&quot;(#{parentId}) don't match&quot;</span>
323
- 60: <span class="ruby-keyword kw">end</span>
324
- 61: <span class="ruby-keyword kw">end</span>
325
- 62: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>[(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)<span class="ruby-operator">..</span> <span class="ruby-value">-1</span>]
326
- 63: <span class="ruby-keyword kw">else</span>
327
- 64: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
328
- 65: <span class="ruby-keyword kw">end</span>
329
- 66: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
330
- 67: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">project</span>
331
- 68: <span class="ruby-ivar">@level</span> = <span class="ruby-value">-1</span>
332
- 69: <span class="ruby-ivar">@sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>
333
- 70:
334
- 71: <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">parent</span>
335
- 72: <span class="ruby-ivar">@sequenceNo</span> = <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
336
- 73: <span class="ruby-ivar">@children</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
337
- 74: <span class="ruby-comment cmt"># In case we have a parent object, we register this object as child of</span>
338
- 75: <span class="ruby-comment cmt"># the parent.</span>
339
- 76: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@parent</span>)
340
- 77: <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">addChild</span>(<span class="ruby-keyword kw">self</span>)
341
- 78: <span class="ruby-keyword kw">end</span>
342
- 79:
343
- 80: <span class="ruby-ivar">@attributes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
344
- 81: <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>)
345
- 82: <span class="ruby-ivar">@scenarioAttributes</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">sca</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sca</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> }
346
- 83:
347
- 84: <span class="ruby-comment cmt"># Scenario specific data</span>
348
- 85: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
349
- 86: <span class="ruby-keyword kw">end</span>
323
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 42</span>
324
+ 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">propertySet</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
325
+ 43: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">propertySet</span>
326
+ 44: <span class="ruby-comment cmt"># If _id_ is still nil, we generate a unique id.</span>
327
+ 45: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">id</span>
328
+ 46: <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/TaskJuggler::/</span>, <span class="ruby-value str">''</span>)
329
+ 47: <span class="ruby-identifier">id</span> = <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>
330
+ 48: <span class="ruby-identifier">id</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">parent</span>
331
+ 49: <span class="ruby-keyword kw">end</span>
332
+ 50: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">id</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>)
333
+ 51: <span class="ruby-identifier">parentId</span> = <span class="ruby-identifier">id</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
334
+ 52: <span class="ruby-comment cmt"># Set parent to the parent property if it's still nil.</span>
335
+ 53: <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parentId</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">parent</span>
336
+ 54: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
337
+ 55: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">parent</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span>]
338
+ 56: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: parent must be member of same property set&quot;</span>
339
+ 57: <span class="ruby-keyword kw">end</span>
340
+ 58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parentId</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span>
341
+ 59: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Fatal Error: parent (#{parent.fullId}) and parent ID &quot;</span> <span class="ruby-operator">+</span>
342
+ 60: <span class="ruby-node">&quot;(#{parentId}) don't match&quot;</span>
343
+ 61: <span class="ruby-keyword kw">end</span>
344
+ 62: <span class="ruby-keyword kw">end</span>
345
+ 63: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>[(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)<span class="ruby-operator">..</span> <span class="ruby-value">-1</span>]
346
+ 64: <span class="ruby-keyword kw">else</span>
347
+ 65: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
348
+ 66: <span class="ruby-keyword kw">end</span>
349
+ 67: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
350
+ 68: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">project</span>
351
+ 69: <span class="ruby-ivar">@level</span> = <span class="ruby-value">-1</span>
352
+ 70: <span class="ruby-ivar">@sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>
353
+ 71:
354
+ 72: <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">parent</span>
355
+ 73: <span class="ruby-ivar">@sequenceNo</span> = <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
356
+ 74: <span class="ruby-ivar">@children</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
357
+ 75: <span class="ruby-comment cmt"># In case we have a parent object, we register this object as child of</span>
358
+ 76: <span class="ruby-comment cmt"># the parent.</span>
359
+ 77: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@parent</span>)
360
+ 78: <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">addChild</span>(<span class="ruby-keyword kw">self</span>)
361
+ 79: <span class="ruby-keyword kw">end</span>
362
+ 80:
363
+ 81: <span class="ruby-ivar">@attributes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
364
+ 82: <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>)
365
+ 83: <span class="ruby-ivar">@scenarioAttributes</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">sca</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sca</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> }
366
+ 84:
367
+ 85: <span class="ruby-comment cmt"># Scenario specific data</span>
368
+ 86: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
369
+ 87: <span class="ruby-keyword kw">end</span>
350
370
  </pre>
351
371
  </div>
352
372
 
@@ -357,12 +377,12 @@ be nil and specified by a hierachical <em>id</em> (e. g.
357
377
  <h3 class="section-bar">Public Instance methods</h3>
358
378
 
359
379
 
360
- <div id="method-M000681" class="method-detail">
361
- <a name="M000681"></a>
380
+ <div id="method-M000616" class="method-detail">
381
+ <a name="M000616"></a>
362
382
 
363
383
  <div class="method-heading">
364
384
 
365
- <a href="#M000681" class="method-signature">
385
+ <a href="#M000616" class="method-signature">
366
386
 
367
387
  <span class="method-name">[]</span><span class="method-args">(attributeId, scenario)</span>
368
388
 
@@ -379,17 +399,17 @@ the <a href="Scenario.html">Scenario</a>.
379
399
  </p>
380
400
 
381
401
  <p><a class="source-toggle" href="#"
382
- onclick="toggleCode('M000681-source');return false;">[Source]</a></p>
383
- <div class="method-source-code" id="M000681-source">
402
+ onclick="toggleCode('M000616-source');return false;">[Source]</a></p>
403
+ <div class="method-source-code" id="M000616-source">
384
404
  <pre>
385
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 374</span>
386
- 374: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
387
- 375: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
388
- 376: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
389
- 377: <span class="ruby-keyword kw">else</span>
390
- 378: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
391
- 379: <span class="ruby-keyword kw">end</span>
392
- 380: <span class="ruby-keyword kw">end</span>
405
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 406</span>
406
+ 406: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
407
+ 407: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
408
+ 408: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
409
+ 409: <span class="ruby-keyword kw">else</span>
410
+ 410: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
411
+ 411: <span class="ruby-keyword kw">end</span>
412
+ 412: <span class="ruby-keyword kw">end</span>
393
413
  </pre>
394
414
  </div>
395
415
 
@@ -397,12 +417,12 @@ the <a href="Scenario.html">Scenario</a>.
397
417
  </div>
398
418
 
399
419
 
400
- <div id="method-M000680" class="method-detail">
401
- <a name="M000680"></a>
420
+ <div id="method-M000615" class="method-detail">
421
+ <a name="M000615"></a>
402
422
 
403
423
  <div class="method-heading">
404
424
 
405
- <a href="#M000680" class="method-signature">
425
+ <a href="#M000615" class="method-signature">
406
426
 
407
427
  <span class="method-name">[]=</span><span class="method-args">(attributeId, scenario, value)</span>
408
428
 
@@ -419,20 +439,20 @@ attribute does not exist, an exception is raised.
419
439
  </p>
420
440
 
421
441
  <p><a class="source-toggle" href="#"
422
- onclick="toggleCode('M000680-source');return false;">[Source]</a></p>
423
- <div class="method-source-code" id="M000680-source">
442
+ onclick="toggleCode('M000615-source');return false;">[Source]</a></p>
443
+ <div class="method-source-code" id="M000615-source">
424
444
  <pre>
425
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 360</span>
426
- 360: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>, <span class="ruby-identifier">value</span>)
427
- 361: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
428
- 362: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
429
- 363: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
430
- 364: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
431
- 365: <span class="ruby-keyword kw">else</span>
432
- 366: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
433
- 367: <span class="ruby-keyword kw">end</span>
434
- 368: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
435
- 369: <span class="ruby-keyword kw">end</span>
445
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 392</span>
446
+ 392: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>, <span class="ruby-identifier">value</span>)
447
+ 393: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
448
+ 394: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
449
+ 395: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
450
+ 396: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
451
+ 397: <span class="ruby-keyword kw">else</span>
452
+ 398: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
453
+ 399: <span class="ruby-keyword kw">end</span>
454
+ 400: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
455
+ 401: <span class="ruby-keyword kw">end</span>
436
456
  </pre>
437
457
  </div>
438
458
 
@@ -440,12 +460,12 @@ attribute does not exist, an exception is raised.
440
460
  </div>
441
461
 
442
462
 
443
- <div id="method-M000670" class="method-detail">
444
- <a name="M000670"></a>
463
+ <div id="method-M000604" class="method-detail">
464
+ <a name="M000604"></a>
445
465
 
446
466
  <div class="method-heading">
447
467
 
448
- <a href="#M000670" class="method-signature">
468
+ <a href="#M000604" class="method-signature">
449
469
 
450
470
  <span class="method-name">addChild</span><span class="method-args">(child)</span>
451
471
 
@@ -460,16 +480,16 @@ Add <em>child</em> node as child to this node.
460
480
  </p>
461
481
 
462
482
  <p><a class="source-toggle" href="#"
463
- onclick="toggleCode('M000670-source');return false;">[Source]</a></p>
464
- <div class="method-source-code" id="M000670-source">
483
+ onclick="toggleCode('M000604-source');return false;">[Source]</a></p>
484
+ <div class="method-source-code" id="M000604-source">
465
485
  <pre>
466
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 255</span>
467
- 255: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
468
- 256: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@propertySet</span>
469
- 257: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Child nodes must belong to the same property set as the parent&quot;</span>
470
- 258: <span class="ruby-keyword kw">end</span>
471
- 259: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
472
- 260: <span class="ruby-keyword kw">end</span>
486
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 269</span>
487
+ 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
488
+ 270: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@propertySet</span>
489
+ 271: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Child nodes must belong to the same property set as the parent&quot;</span>
490
+ 272: <span class="ruby-keyword kw">end</span>
491
+ 273: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
492
+ 274: <span class="ruby-keyword kw">end</span>
473
493
  </pre>
474
494
  </div>
475
495
 
@@ -477,12 +497,12 @@ Add <em>child</em> node as child to this node.
477
497
  </div>
478
498
 
479
499
 
480
- <div id="method-M000663" class="method-detail">
481
- <a name="M000663"></a>
500
+ <div id="method-M000596" class="method-detail">
501
+ <a name="M000596"></a>
482
502
 
483
503
  <div class="method-heading">
484
504
 
485
- <a href="#M000663" class="method-signature">
505
+ <a href="#M000596" class="method-signature">
486
506
 
487
507
  <span class="method-name">all</span><span class="method-args">()</span>
488
508
 
@@ -497,17 +517,17 @@ Returns a list of this node and all transient sub nodes.
497
517
  </p>
498
518
 
499
519
  <p><a class="source-toggle" href="#"
500
- onclick="toggleCode('M000663-source');return false;">[Source]</a></p>
501
- <div class="method-source-code" id="M000663-source">
520
+ onclick="toggleCode('M000596-source');return false;">[Source]</a></p>
521
+ <div class="method-source-code" id="M000596-source">
502
522
  <pre>
503
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 176</span>
504
- 176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
505
- 177: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
506
- 178: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
507
- 179: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">all</span>)
508
- 180: <span class="ruby-keyword kw">end</span>
509
- 181: <span class="ruby-identifier">res</span>
510
- 182: <span class="ruby-keyword kw">end</span>
523
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 177</span>
524
+ 177: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
525
+ 178: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
526
+ 179: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
527
+ 180: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">all</span>)
528
+ 181: <span class="ruby-keyword kw">end</span>
529
+ 182: <span class="ruby-identifier">res</span>
530
+ 183: <span class="ruby-keyword kw">end</span>
511
531
  </pre>
512
532
  </div>
513
533
 
@@ -515,12 +535,12 @@ Returns a list of this node and all transient sub nodes.
515
535
  </div>
516
536
 
517
537
 
518
- <div id="method-M000664" class="method-detail">
519
- <a name="M000664"></a>
538
+ <div id="method-M000597" class="method-detail">
539
+ <a name="M000597"></a>
520
540
 
521
541
  <div class="method-heading">
522
542
 
523
- <a href="#M000664" class="method-signature">
543
+ <a href="#M000597" class="method-signature">
524
544
 
525
545
  <span class="method-name">allLeaves</span><span class="method-args">()</span>
526
546
 
@@ -535,21 +555,21 @@ Return a list of all leaf nodes of this node.
535
555
  </p>
536
556
 
537
557
  <p><a class="source-toggle" href="#"
538
- onclick="toggleCode('M000664-source');return false;">[Source]</a></p>
539
- <div class="method-source-code" id="M000664-source">
558
+ onclick="toggleCode('M000597-source');return false;">[Source]</a></p>
559
+ <div class="method-source-code" id="M000597-source">
540
560
  <pre>
541
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 185</span>
542
- 185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
543
- 186: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
544
- 187: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
545
- 188: <span class="ruby-keyword kw">else</span>
546
- 189: <span class="ruby-identifier">res</span> = []
547
- 190: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
548
- 191: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
549
- 192: <span class="ruby-keyword kw">end</span>
550
- 193: <span class="ruby-keyword kw">end</span>
551
- 194: <span class="ruby-identifier">res</span>
552
- 195: <span class="ruby-keyword kw">end</span>
561
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 186</span>
562
+ 186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
563
+ 187: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
564
+ 188: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
565
+ 189: <span class="ruby-keyword kw">else</span>
566
+ 190: <span class="ruby-identifier">res</span> = []
567
+ 191: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
568
+ 192: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
569
+ 193: <span class="ruby-keyword kw">end</span>
570
+ 194: <span class="ruby-keyword kw">end</span>
571
+ 195: <span class="ruby-identifier">res</span>
572
+ 196: <span class="ruby-keyword kw">end</span>
553
573
  </pre>
554
574
  </div>
555
575
 
@@ -557,12 +577,12 @@ Return a list of all leaf nodes of this node.
557
577
  </div>
558
578
 
559
579
 
560
- <div id="method-M000676" class="method-detail">
561
- <a name="M000676"></a>
580
+ <div id="method-M000610" class="method-detail">
581
+ <a name="M000610"></a>
562
582
 
563
583
  <div class="method-heading">
564
584
 
565
- <a href="#M000676" class="method-signature">
585
+ <a href="#M000610" class="method-signature">
566
586
 
567
587
  <span class="method-name">attributeDefinition</span><span class="method-args">(attributeId)</span>
568
588
 
@@ -577,13 +597,13 @@ Return the type of the attribute with ID <em>attributeId</em>.
577
597
  </p>
578
598
 
579
599
  <p><a class="source-toggle" href="#"
580
- onclick="toggleCode('M000676-source');return false;">[Source]</a></p>
581
- <div class="method-source-code" id="M000676-source">
600
+ onclick="toggleCode('M000610-source');return false;">[Source]</a></p>
601
+ <div class="method-source-code" id="M000610-source">
582
602
  <pre>
583
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 305</span>
584
- 305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
585
- 306: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
586
- 307: <span class="ruby-keyword kw">end</span>
603
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 319</span>
604
+ 319: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
605
+ 320: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
606
+ 321: <span class="ruby-keyword kw">end</span>
587
607
  </pre>
588
608
  </div>
589
609
 
@@ -591,12 +611,12 @@ Return the type of the attribute with ID <em>attributeId</em>.
591
611
  </div>
592
612
 
593
613
 
594
- <div id="method-M000673" class="method-detail">
595
- <a name="M000673"></a>
614
+ <div id="method-M000607" class="method-detail">
615
+ <a name="M000607"></a>
596
616
 
597
617
  <div class="method-heading">
598
618
 
599
- <a href="#M000673" class="method-signature">
619
+ <a href="#M000607" class="method-signature">
600
620
 
601
621
  <span class="method-name">container?</span><span class="method-args">()</span>
602
622
 
@@ -611,13 +631,13 @@ Return true if the node has children.
611
631
  </p>
612
632
 
613
633
  <p><a class="source-toggle" href="#"
614
- onclick="toggleCode('M000673-source');return false;">[Source]</a></p>
615
- <div class="method-source-code" id="M000673-source">
634
+ onclick="toggleCode('M000607-source');return false;">[Source]</a></p>
635
+ <div class="method-source-code" id="M000607-source">
616
636
  <pre>
617
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 277</span>
618
- 277: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
619
- 278: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
620
- 279: <span class="ruby-keyword kw">end</span>
637
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 291</span>
638
+ 291: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
639
+ 292: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
640
+ 293: <span class="ruby-keyword kw">end</span>
621
641
  </pre>
622
642
  </div>
623
643
 
@@ -625,12 +645,12 @@ Return true if the node has children.
625
645
  </div>
626
646
 
627
647
 
628
- <div id="method-M000675" class="method-detail">
629
- <a name="M000675"></a>
648
+ <div id="method-M000609" class="method-detail">
649
+ <a name="M000609"></a>
630
650
 
631
651
  <div class="method-heading">
632
652
 
633
- <a href="#M000675" class="method-signature">
653
+ <a href="#M000609" class="method-signature">
634
654
 
635
655
  <span class="method-name">declareAttribute</span><span class="method-args">(attributeType)</span>
636
656
 
@@ -647,21 +667,21 @@ for each scenario.
647
667
  </p>
648
668
 
649
669
  <p><a class="source-toggle" href="#"
650
- onclick="toggleCode('M000675-source');return false;">[Source]</a></p>
651
- <div class="method-source-code" id="M000675-source">
670
+ onclick="toggleCode('M000609-source');return false;">[Source]</a></p>
671
+ <div class="method-source-code" id="M000609-source">
652
672
  <pre>
653
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 292</span>
654
- 292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
655
- 293: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
656
- 294: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
657
- 295: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
658
- 296: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
659
- 297: <span class="ruby-keyword kw">end</span>
660
- 298: <span class="ruby-keyword kw">else</span>
661
- 299: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
662
- 300: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
663
- 301: <span class="ruby-keyword kw">end</span>
664
- 302: <span class="ruby-keyword kw">end</span>
673
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 306</span>
674
+ 306: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
675
+ 307: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
676
+ 308: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
677
+ 309: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
678
+ 310: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
679
+ 311: <span class="ruby-keyword kw">end</span>
680
+ 312: <span class="ruby-keyword kw">else</span>
681
+ 313: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
682
+ 314: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
683
+ 315: <span class="ruby-keyword kw">end</span>
684
+ 316: <span class="ruby-keyword kw">end</span>
665
685
  </pre>
666
686
  </div>
667
687
 
@@ -669,12 +689,12 @@ for each scenario.
669
689
  </div>
670
690
 
671
691
 
672
- <div id="method-M000659" class="method-detail">
673
- <a name="M000659"></a>
692
+ <div id="method-M000592" class="method-detail">
693
+ <a name="M000592"></a>
674
694
 
675
695
  <div class="method-heading">
676
696
 
677
- <a href="#M000659" class="method-signature">
697
+ <a href="#M000592" class="method-signature">
678
698
 
679
699
  <span class="method-name">deep_clone</span><span class="method-args">()</span>
680
700
 
@@ -685,19 +705,19 @@ for each scenario.
685
705
  <div class="method-description">
686
706
 
687
707
  <p>
688
- We only use <a href="PropertyTreeNode.html#M000659">deep_clone</a> for
708
+ We only use <a href="PropertyTreeNode.html#M000592">deep_clone</a> for
689
709
  attributes, never for properties. Since attributes may reference properties
690
710
  these references should remain references.
691
711
  </p>
692
712
 
693
713
  <p><a class="source-toggle" href="#"
694
- onclick="toggleCode('M000659-source');return false;">[Source]</a></p>
695
- <div class="method-source-code" id="M000659-source">
714
+ onclick="toggleCode('M000592-source');return false;">[Source]</a></p>
715
+ <div class="method-source-code" id="M000592-source">
696
716
  <pre>
697
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 91</span>
698
- 91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
699
- 92: <span class="ruby-keyword kw">self</span>
700
- 93: <span class="ruby-keyword kw">end</span>
717
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 92</span>
718
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
719
+ 93: <span class="ruby-keyword kw">self</span>
720
+ 94: <span class="ruby-keyword kw">end</span>
701
721
  </pre>
702
722
  </div>
703
723
 
@@ -705,12 +725,12 @@ these references should remain references.
705
725
  </div>
706
726
 
707
727
 
708
- <div id="method-M000665" class="method-detail">
709
- <a name="M000665"></a>
728
+ <div id="method-M000598" class="method-detail">
729
+ <a name="M000598"></a>
710
730
 
711
731
  <div class="method-heading">
712
732
 
713
- <a href="#M000665" class="method-signature">
733
+ <a href="#M000598" class="method-signature">
714
734
 
715
735
  <span class="method-name">eachAttribute</span><span class="method-args">() {|attr| ...}</span>
716
736
 
@@ -725,15 +745,15 @@ Iterator over all non-scenario-specific attributes of this node.
725
745
  </p>
726
746
 
727
747
  <p><a class="source-toggle" href="#"
728
- onclick="toggleCode('M000665-source');return false;">[Source]</a></p>
729
- <div class="method-source-code" id="M000665-source">
748
+ onclick="toggleCode('M000598-source');return false;">[Source]</a></p>
749
+ <div class="method-source-code" id="M000598-source">
730
750
  <pre>
731
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 198</span>
732
- 198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
733
- 199: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
734
- 200: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
735
- 201: <span class="ruby-keyword kw">end</span>
736
- 202: <span class="ruby-keyword kw">end</span>
751
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 199</span>
752
+ 199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
753
+ 200: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
754
+ 201: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
755
+ 202: <span class="ruby-keyword kw">end</span>
756
+ 203: <span class="ruby-keyword kw">end</span>
737
757
  </pre>
738
758
  </div>
739
759
 
@@ -741,12 +761,12 @@ Iterator over all non-scenario-specific attributes of this node.
741
761
  </div>
742
762
 
743
763
 
744
- <div id="method-M000666" class="method-detail">
745
- <a name="M000666"></a>
764
+ <div id="method-M000599" class="method-detail">
765
+ <a name="M000599"></a>
746
766
 
747
767
  <div class="method-heading">
748
768
 
749
- <a href="#M000666" class="method-signature">
769
+ <a href="#M000599" class="method-signature">
750
770
 
751
771
  <span class="method-name">eachScenarioAttribute</span><span class="method-args">(scenario) {|attr| ...}</span>
752
772
 
@@ -761,15 +781,15 @@ Iterator over all scenario-specific attributes of this node.
761
781
  </p>
762
782
 
763
783
  <p><a class="source-toggle" href="#"
764
- onclick="toggleCode('M000666-source');return false;">[Source]</a></p>
765
- <div class="method-source-code" id="M000666-source">
784
+ onclick="toggleCode('M000599-source');return false;">[Source]</a></p>
785
+ <div class="method-source-code" id="M000599-source">
766
786
  <pre>
767
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 205</span>
768
- 205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
769
- 206: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
770
- 207: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
771
- 208: <span class="ruby-keyword kw">end</span>
772
- 209: <span class="ruby-keyword kw">end</span>
787
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 206</span>
788
+ 206: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
789
+ 207: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
790
+ 208: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
791
+ 209: <span class="ruby-keyword kw">end</span>
792
+ 210: <span class="ruby-keyword kw">end</span>
773
793
  </pre>
774
794
  </div>
775
795
 
@@ -777,12 +797,12 @@ Iterator over all scenario-specific attributes of this node.
777
797
  </div>
778
798
 
779
799
 
780
- <div id="method-M000667" class="method-detail">
781
- <a name="M000667"></a>
800
+ <div id="method-M000600" class="method-detail">
801
+ <a name="M000600"></a>
782
802
 
783
803
  <div class="method-heading">
784
804
 
785
- <a href="#M000667" class="method-signature">
805
+ <a href="#M000600" class="method-signature">
786
806
 
787
807
  <span class="method-name">fullId</span><span class="method-args">()</span>
788
808
 
@@ -800,20 +820,20 @@ node to this node, separating the IDs by a dot.
800
820
  </p>
801
821
 
802
822
  <p><a class="source-toggle" href="#"
803
- onclick="toggleCode('M000667-source');return false;">[Source]</a></p>
804
- <div class="method-source-code" id="M000667-source">
823
+ onclick="toggleCode('M000600-source');return false;">[Source]</a></p>
824
+ <div class="method-source-code" id="M000600-source">
805
825
  <pre>
806
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 214</span>
807
- 214: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
808
- 215: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
809
- 216: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
810
- 217: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
811
- 218: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
812
- 219: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;.&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">res</span>
813
- 220: <span class="ruby-keyword kw">end</span>
814
- 221: <span class="ruby-keyword kw">end</span>
815
- 222: <span class="ruby-identifier">res</span>
816
- 223: <span class="ruby-keyword kw">end</span>
826
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 215</span>
827
+ 215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
828
+ 216: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
829
+ 217: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
830
+ 218: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
831
+ 219: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
832
+ 220: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;.&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">res</span>
833
+ 221: <span class="ruby-keyword kw">end</span>
834
+ 222: <span class="ruby-keyword kw">end</span>
835
+ 223: <span class="ruby-identifier">res</span>
836
+ 224: <span class="ruby-keyword kw">end</span>
817
837
  </pre>
818
838
  </div>
819
839
 
@@ -821,12 +841,12 @@ node to this node, separating the IDs by a dot.
821
841
  </div>
822
842
 
823
843
 
824
- <div id="method-M000677" class="method-detail">
825
- <a name="M000677"></a>
844
+ <div id="method-M000611" class="method-detail">
845
+ <a name="M000611"></a>
826
846
 
827
847
  <div class="method-heading">
828
848
 
829
- <a href="#M000677" class="method-signature">
849
+ <a href="#M000611" class="method-signature">
830
850
 
831
851
  <span class="method-name">get</span><span class="method-args">(attributeId)</span>
832
852
 
@@ -843,25 +863,27 @@ raised.
843
863
  </p>
844
864
 
845
865
  <p><a class="source-toggle" href="#"
846
- onclick="toggleCode('M000677-source');return false;">[Source]</a></p>
847
- <div class="method-source-code" id="M000677-source">
866
+ onclick="toggleCode('M000611-source');return false;">[Source]</a></p>
867
+ <div class="method-source-code" id="M000611-source">
848
868
  <pre>
849
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 312</span>
850
- 312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
851
- 313: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
852
- 314: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
853
- 315: <span class="ruby-ivar">@id</span>
854
- 316: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
855
- 317: <span class="ruby-ivar">@name</span>
856
- 318: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
857
- 319: <span class="ruby-ivar">@sequenceNo</span>
858
- 320: <span class="ruby-keyword kw">else</span>
859
- 321: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
860
- 322: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
861
- 323: <span class="ruby-keyword kw">end</span>
862
- 324: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
863
- 325: <span class="ruby-keyword kw">end</span>
864
- 326: <span class="ruby-keyword kw">end</span>
869
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 326</span>
870
+ 326: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
871
+ 327: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
872
+ 328: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
873
+ 329: <span class="ruby-ivar">@id</span>
874
+ 330: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
875
+ 331: <span class="ruby-ivar">@name</span>
876
+ 332: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
877
+ 333: <span class="ruby-ivar">@sequenceNo</span>
878
+ 334: <span class="ruby-keyword kw">else</span>
879
+ 335: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
880
+ 336: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
881
+ 337: <span class="ruby-node">&quot;Unknown attribute '#{attributeId}' requested for &quot;</span> <span class="ruby-operator">+</span>
882
+ 338: <span class="ruby-node">&quot;#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'&quot;</span>
883
+ 339: <span class="ruby-keyword kw">end</span>
884
+ 340: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
885
+ 341: <span class="ruby-keyword kw">end</span>
886
+ 342: <span class="ruby-keyword kw">end</span>
865
887
  </pre>
866
888
  </div>
867
889
 
@@ -869,12 +891,12 @@ raised.
869
891
  </div>
870
892
 
871
893
 
872
- <div id="method-M000678" class="method-detail">
873
- <a name="M000678"></a>
894
+ <div id="method-M000612" class="method-detail">
895
+ <a name="M000612"></a>
874
896
 
875
897
  <div class="method-heading">
876
898
 
877
- <a href="#M000678" class="method-signature">
899
+ <a href="#M000612" class="method-signature">
878
900
 
879
901
  <span class="method-name">getAttr</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
880
902
 
@@ -891,26 +913,26 @@ provided by <em>scenarioIdx</em>.
891
913
  </p>
892
914
 
893
915
  <p><a class="source-toggle" href="#"
894
- onclick="toggleCode('M000678-source');return false;">[Source]</a></p>
895
- <div class="method-source-code" id="M000678-source">
916
+ onclick="toggleCode('M000612-source');return false;">[Source]</a></p>
917
+ <div class="method-source-code" id="M000612-source">
896
918
  <pre>
897
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 331</span>
898
- 331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttr</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
899
- 332: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
900
- 333: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
901
- 334: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
902
- 335: <span class="ruby-ivar">@id</span>
903
- 336: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
904
- 337: <span class="ruby-ivar">@name</span>
905
- 338: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
906
- 339: <span class="ruby-ivar">@sequenceNo</span>
907
- 340: <span class="ruby-keyword kw">else</span>
908
- 341: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
909
- 342: <span class="ruby-keyword kw">end</span>
910
- 343: <span class="ruby-keyword kw">else</span>
911
- 344: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
912
- 345: <span class="ruby-keyword kw">end</span>
913
- 346: <span class="ruby-keyword kw">end</span>
919
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 347</span>
920
+ 347: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttr</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
921
+ 348: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
922
+ 349: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
923
+ 350: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
924
+ 351: <span class="ruby-ivar">@id</span>
925
+ 352: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
926
+ 353: <span class="ruby-ivar">@name</span>
927
+ 354: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
928
+ 355: <span class="ruby-ivar">@sequenceNo</span>
929
+ 356: <span class="ruby-keyword kw">else</span>
930
+ 357: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
931
+ 358: <span class="ruby-keyword kw">end</span>
932
+ 359: <span class="ruby-keyword kw">else</span>
933
+ 360: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
934
+ 361: <span class="ruby-keyword kw">end</span>
935
+ 362: <span class="ruby-keyword kw">end</span>
914
936
  </pre>
915
937
  </div>
916
938
 
@@ -918,14 +940,14 @@ provided by <em>scenarioIdx</em>.
918
940
  </div>
919
941
 
920
942
 
921
- <div id="method-M000669" class="method-detail">
922
- <a name="M000669"></a>
943
+ <div id="method-M000613" class="method-detail">
944
+ <a name="M000613"></a>
923
945
 
924
946
  <div class="method-heading">
925
947
 
926
- <a href="#M000669" class="method-signature">
948
+ <a href="#M000613" class="method-signature">
927
949
 
928
- <span class="method-name">getWBSIndicies</span><span class="method-args">()</span>
950
+ <span class="method-name">getAttribute</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
929
951
 
930
952
  </a>
931
953
 
@@ -934,27 +956,71 @@ provided by <em>scenarioIdx</em>.
934
956
  <div class="method-description">
935
957
 
936
958
  <p>
937
- Return the hierarchical index of this node. In project management lingo
938
- this is called the Work Breakdown Structure (WBS). The result is an Array
939
- with an index for each level from the root to this node.
959
+ This function is similar to getAttr() but it always returns a <a
960
+ href="AttributeBase.html">AttributeBase</a> object.
961
+ </p>
962
+
963
+ <p><a class="source-toggle" href="#"
964
+ onclick="toggleCode('M000613-source');return false;">[Source]</a></p>
965
+ <div class="method-source-code" id="M000613-source">
966
+ <pre>
967
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 366</span>
968
+ 366: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttribute</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
969
+ 367: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
970
+ 368: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
971
+ 369: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@id</span>)
972
+ 370: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
973
+ 371: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@name</span>)
974
+ 372: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
975
+ 373: <span class="ruby-constant">FixnumAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-ivar">@sequenceNo</span>)
976
+ 374: <span class="ruby-keyword kw">else</span>
977
+ 375: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>] <span class="ruby-operator">||</span>
978
+ 376: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
979
+ 377: <span class="ruby-keyword kw">end</span>
980
+ 378: <span class="ruby-keyword kw">end</span>
981
+ </pre>
982
+ </div>
983
+
984
+ </div>
985
+ </div>
986
+
987
+
988
+ <div id="method-M000603" class="method-detail">
989
+ <a name="M000603"></a>
990
+
991
+ <div class="method-heading">
992
+
993
+ <a href="#M000603" class="method-signature">
994
+
995
+ <span class="method-name">getIndicies</span><span class="method-args">()</span>
996
+
997
+ </a>
998
+
999
+ </div>
1000
+
1001
+ <div class="method-description">
1002
+
1003
+ <p>
1004
+ Return the &#8216;index&#8217; attributes of this property, prefixed by the
1005
+ &#8216;index&#8217; attributes of all its parents. The result is an Array
1006
+ of Fixnums.
940
1007
  </p>
941
1008
 
942
1009
  <p><a class="source-toggle" href="#"
943
- onclick="toggleCode('M000669-source');return false;">[Source]</a></p>
944
- <div class="method-source-code" id="M000669-source">
1010
+ onclick="toggleCode('M000603-source');return false;">[Source]</a></p>
1011
+ <div class="method-source-code" id="M000603-source">
945
1012
  <pre>
946
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 242</span>
947
- 242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
948
- 243: <span class="ruby-identifier">idcs</span> = []
949
- 244: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
950
- 245: <span class="ruby-keyword kw">begin</span>
951
- 246: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
952
- 247: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">parent</span> <span class="ruby-value">? </span><span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
953
- 248: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
954
- 249: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
955
- 250: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
956
- 251: <span class="ruby-identifier">idcs</span>
957
- 252: <span class="ruby-keyword kw">end</span>
1013
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 257</span>
1014
+ 257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getIndicies</span>
1015
+ 258: <span class="ruby-identifier">idcs</span> = []
1016
+ 259: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1017
+ 260: <span class="ruby-keyword kw">begin</span>
1018
+ 261: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1019
+ 262: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">p</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'index'</span>))
1020
+ 263: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1021
+ 264: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1022
+ 265: <span class="ruby-identifier">idcs</span>
1023
+ 266: <span class="ruby-keyword kw">end</span>
958
1024
  </pre>
959
1025
  </div>
960
1026
 
@@ -962,14 +1028,14 @@ with an index for each level from the root to this node.
962
1028
  </div>
963
1029
 
964
1030
 
965
- <div id="method-M000682" class="method-detail">
966
- <a name="M000682"></a>
1031
+ <div id="method-M000602" class="method-detail">
1032
+ <a name="M000602"></a>
967
1033
 
968
1034
  <div class="method-heading">
969
1035
 
970
- <a href="#M000682" class="method-signature">
1036
+ <a href="#M000602" class="method-signature">
971
1037
 
972
- <span class="method-name">hasQuery?</span><span class="method-args">(queryId, scenarioIdx = nil)</span>
1038
+ <span class="method-name">getWBSIndicies</span><span class="method-args">()</span>
973
1039
 
974
1040
  </a>
975
1041
 
@@ -978,25 +1044,27 @@ with an index for each level from the root to this node.
978
1044
  <div class="method-description">
979
1045
 
980
1046
  <p>
981
- This function returns true if the <a
982
- href="PropertyTreeNode.html">PropertyTreeNode</a> has a query function for
983
- the given ID <em>queryId</em>. In case a <em>scenarioIdx</em> is specified,
984
- the query function must be scenario specific.
1047
+ Return the hierarchical index of this node. In project management lingo
1048
+ this is called the Work Breakdown Structure (WBS). The result is an Array
1049
+ with an index for each level from the root to this node.
985
1050
  </p>
986
1051
 
987
1052
  <p><a class="source-toggle" href="#"
988
- onclick="toggleCode('M000682-source');return false;">[Source]</a></p>
989
- <div class="method-source-code" id="M000682-source">
1053
+ onclick="toggleCode('M000602-source');return false;">[Source]</a></p>
1054
+ <div class="method-source-code" id="M000602-source">
990
1055
  <pre>
991
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 385</span>
992
- 385: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">queryId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
993
- 386: <span class="ruby-identifier">methodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">queryId</span>
994
- 387: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
995
- 388: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
996
- 389: <span class="ruby-keyword kw">else</span>
997
- 390: <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
998
- 391: <span class="ruby-keyword kw">end</span>
999
- 392: <span class="ruby-keyword kw">end</span>
1056
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 243</span>
1057
+ 243: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
1058
+ 244: <span class="ruby-identifier">idcs</span> = []
1059
+ 245: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1060
+ 246: <span class="ruby-keyword kw">begin</span>
1061
+ 247: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1062
+ 248: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">parent</span> <span class="ruby-value">? </span><span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
1063
+ 249: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
1064
+ 250: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1065
+ 251: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1066
+ 252: <span class="ruby-identifier">idcs</span>
1067
+ 253: <span class="ruby-keyword kw">end</span>
1000
1068
  </pre>
1001
1069
  </div>
1002
1070
 
@@ -1004,12 +1072,12 @@ the query function must be scenario specific.
1004
1072
  </div>
1005
1073
 
1006
1074
 
1007
- <div id="method-M000661" class="method-detail">
1008
- <a name="M000661"></a>
1075
+ <div id="method-M000594" class="method-detail">
1076
+ <a name="M000594"></a>
1009
1077
 
1010
1078
  <div class="method-heading">
1011
1079
 
1012
- <a href="#M000661" class="method-signature">
1080
+ <a href="#M000594" class="method-signature">
1013
1081
 
1014
1082
  <span class="method-name">inheritAttributes</span><span class="method-args">()</span>
1015
1083
 
@@ -1025,56 +1093,56 @@ href="Project.html">Project</a>.
1025
1093
  </p>
1026
1094
 
1027
1095
  <p><a class="source-toggle" href="#"
1028
- onclick="toggleCode('M000661-source');return false;">[Source]</a></p>
1029
- <div class="method-source-code" id="M000661-source">
1096
+ onclick="toggleCode('M000594-source');return false;">[Source]</a></p>
1097
+ <div class="method-source-code" id="M000594-source">
1030
1098
  <pre>
1031
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 101</span>
1032
- 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
1033
- 102: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
1034
- 103: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1035
- 104: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1036
- 105:
1037
- 106: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
1038
- 107: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1039
- 108: <span class="ruby-comment cmt"># Inherit values from parent property</span>
1040
- 109: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">aId</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">aId</span>)
1041
- 110: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">aId</span>))
1042
- 111: <span class="ruby-keyword kw">end</span>
1043
- 112: <span class="ruby-keyword kw">else</span>
1044
- 113: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1045
- 114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1046
- 115: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
1047
- 116: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>])
1048
- 117: <span class="ruby-keyword kw">end</span>
1049
- 118: <span class="ruby-keyword kw">end</span>
1050
- 119: <span class="ruby-keyword kw">end</span>
1051
- 120: <span class="ruby-keyword kw">end</span>
1052
- 121:
1053
- 122: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1054
- 123: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1055
- 124: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1056
- 125:
1057
- 126: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1058
- 127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1059
- 128: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
1060
- 129: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
1061
- 130: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1062
- 131: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1063
- 132: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
1064
- 133: <span class="ruby-keyword kw">end</span>
1065
- 134: <span class="ruby-keyword kw">else</span>
1066
- 135: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1067
- 136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1068
- 137: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&amp;&amp;</span>
1069
- 138: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
1070
- 139: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1071
- 140: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
1072
- 141: <span class="ruby-keyword kw">end</span>
1073
- 142: <span class="ruby-keyword kw">end</span>
1074
- 143: <span class="ruby-keyword kw">end</span>
1075
- 144: <span class="ruby-keyword kw">end</span>
1076
- 145: <span class="ruby-keyword kw">end</span>
1077
- 146: <span class="ruby-keyword kw">end</span>
1099
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 102</span>
1100
+ 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
1101
+ 103: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
1102
+ 104: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1103
+ 105: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1104
+ 106:
1105
+ 107: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
1106
+ 108: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1107
+ 109: <span class="ruby-comment cmt"># Inherit values from parent property</span>
1108
+ 110: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">aId</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">aId</span>)
1109
+ 111: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">aId</span>))
1110
+ 112: <span class="ruby-keyword kw">end</span>
1111
+ 113: <span class="ruby-keyword kw">else</span>
1112
+ 114: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1113
+ 115: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1114
+ 116: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
1115
+ 117: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>])
1116
+ 118: <span class="ruby-keyword kw">end</span>
1117
+ 119: <span class="ruby-keyword kw">end</span>
1118
+ 120: <span class="ruby-keyword kw">end</span>
1119
+ 121: <span class="ruby-keyword kw">end</span>
1120
+ 122:
1121
+ 123: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1122
+ 124: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1123
+ 125: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
1124
+ 126:
1125
+ 127: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1126
+ 128: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1127
+ 129: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
1128
+ 130: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
1129
+ 131: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
1130
+ 132: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1131
+ 133: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
1132
+ 134: <span class="ruby-keyword kw">end</span>
1133
+ 135: <span class="ruby-keyword kw">else</span>
1134
+ 136: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1135
+ 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1136
+ 138: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&amp;&amp;</span>
1137
+ 139: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
1138
+ 140: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
1139
+ 141: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
1140
+ 142: <span class="ruby-keyword kw">end</span>
1141
+ 143: <span class="ruby-keyword kw">end</span>
1142
+ 144: <span class="ruby-keyword kw">end</span>
1143
+ 145: <span class="ruby-keyword kw">end</span>
1144
+ 146: <span class="ruby-keyword kw">end</span>
1145
+ 147: <span class="ruby-keyword kw">end</span>
1078
1146
  </pre>
1079
1147
  </div>
1080
1148
 
@@ -1082,12 +1150,12 @@ href="Project.html">Project</a>.
1082
1150
  </div>
1083
1151
 
1084
1152
 
1085
- <div id="method-M000662" class="method-detail">
1086
- <a name="M000662"></a>
1153
+ <div id="method-M000595" class="method-detail">
1154
+ <a name="M000595"></a>
1087
1155
 
1088
1156
  <div class="method-heading">
1089
1157
 
1090
- <a href="#M000662" class="method-signature">
1158
+ <a href="#M000595" class="method-signature">
1091
1159
 
1092
1160
  <span class="method-name">inheritAttributesFromScenario</span><span class="method-args">()</span>
1093
1161
 
@@ -1103,34 +1171,34 @@ for attributes that don&#8217;t have a user-specified value already.
1103
1171
  </p>
1104
1172
 
1105
1173
  <p><a class="source-toggle" href="#"
1106
- onclick="toggleCode('M000662-source');return false;">[Source]</a></p>
1107
- <div class="method-source-code" id="M000662-source">
1174
+ onclick="toggleCode('M000595-source');return false;">[Source]</a></p>
1175
+ <div class="method-source-code" id="M000595-source">
1108
1176
  <pre>
1109
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 150</span>
1110
- 150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1111
- 151: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1112
- 152: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1113
- 153: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span>
1114
- 154:
1115
- 155: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
1116
- 156: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
1117
- 157: <span class="ruby-comment cmt"># the tree.</span>
1118
- 158: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1119
- 159: <span class="ruby-identifier">scenario</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenarioIdx</span>)
1120
- 160: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
1121
- 161: <span class="ruby-identifier">parentScenarioIdx</span> = <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1122
- 162: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
1123
- 163: <span class="ruby-comment cmt"># we don't have a provided or inherited value in this scenario.</span>
1124
- 164: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>) <span class="ruby-operator">||</span>
1125
- 165: <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)) <span class="ruby-operator">&amp;&amp;</span>
1126
- 166: <span class="ruby-operator">!</span>(<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
1127
- 167: <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>))
1128
- 168: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
1129
- 169: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">parentScenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">deep_clone</span>
1130
- 170: <span class="ruby-keyword kw">end</span>
1131
- 171: <span class="ruby-keyword kw">end</span>
1132
- 172: <span class="ruby-keyword kw">end</span>
1133
- 173: <span class="ruby-keyword kw">end</span>
1177
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 151</span>
1178
+ 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1179
+ 152: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1180
+ 153: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
1181
+ 154: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span>
1182
+ 155:
1183
+ 156: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
1184
+ 157: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
1185
+ 158: <span class="ruby-comment cmt"># the tree.</span>
1186
+ 159: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
1187
+ 160: <span class="ruby-identifier">scenario</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenarioIdx</span>)
1188
+ 161: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
1189
+ 162: <span class="ruby-identifier">parentScenarioIdx</span> = <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
1190
+ 163: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
1191
+ 164: <span class="ruby-comment cmt"># we don't have a provided or inherited value in this scenario.</span>
1192
+ 165: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>) <span class="ruby-operator">||</span>
1193
+ 166: <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)) <span class="ruby-operator">&amp;&amp;</span>
1194
+ 167: <span class="ruby-operator">!</span>(<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
1195
+ 168: <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>))
1196
+ 169: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
1197
+ 170: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">parentScenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">deep_clone</span>
1198
+ 171: <span class="ruby-keyword kw">end</span>
1199
+ 172: <span class="ruby-keyword kw">end</span>
1200
+ 173: <span class="ruby-keyword kw">end</span>
1201
+ 174: <span class="ruby-keyword kw">end</span>
1134
1202
  </pre>
1135
1203
  </div>
1136
1204
 
@@ -1138,12 +1206,12 @@ for attributes that don&#8217;t have a user-specified value already.
1138
1206
  </div>
1139
1207
 
1140
1208
 
1141
- <div id="method-M000684" class="method-detail">
1142
- <a name="M000684"></a>
1209
+ <div id="method-M000618" class="method-detail">
1210
+ <a name="M000618"></a>
1143
1211
 
1144
1212
  <div class="method-heading">
1145
1213
 
1146
- <a href="#M000684" class="method-signature">
1214
+ <a href="#M000618" class="method-signature">
1147
1215
 
1148
1216
  <span class="method-name">inherited</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
1149
1217
 
@@ -1160,19 +1228,19 @@ scenario.
1160
1228
  </p>
1161
1229
 
1162
1230
  <p><a class="source-toggle" href="#"
1163
- onclick="toggleCode('M000684-source');return false;">[Source]</a></p>
1164
- <div class="method-source-code" id="M000684-source">
1231
+ onclick="toggleCode('M000618-source');return false;">[Source]</a></p>
1232
+ <div class="method-source-code" id="M000618-source">
1165
1233
  <pre>
1166
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 408</span>
1167
- 408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1168
- 409: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1169
- 410: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1170
- 411: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1171
- 412: <span class="ruby-keyword kw">else</span>
1172
- 413: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1173
- 414: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1174
- 415: <span class="ruby-keyword kw">end</span>
1175
- 416: <span class="ruby-keyword kw">end</span>
1234
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 428</span>
1235
+ 428: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1236
+ 429: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1237
+ 430: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1238
+ 431: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1239
+ 432: <span class="ruby-keyword kw">else</span>
1240
+ 433: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1241
+ 434: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1242
+ 435: <span class="ruby-keyword kw">end</span>
1243
+ 436: <span class="ruby-keyword kw">end</span>
1176
1244
  </pre>
1177
1245
  </div>
1178
1246
 
@@ -1180,12 +1248,12 @@ scenario.
1180
1248
  </div>
1181
1249
 
1182
1250
 
1183
- <div id="method-M000671" class="method-detail">
1184
- <a name="M000671"></a>
1251
+ <div id="method-M000605" class="method-detail">
1252
+ <a name="M000605"></a>
1185
1253
 
1186
1254
  <div class="method-heading">
1187
1255
 
1188
- <a href="#M000671" class="method-signature">
1256
+ <a href="#M000605" class="method-signature">
1189
1257
 
1190
1258
  <span class="method-name">isChildOf?</span><span class="method-args">(ancestor)</span>
1191
1259
 
@@ -1201,17 +1269,17 @@ Find out if this property is a direct or indirect child of
1201
1269
  </p>
1202
1270
 
1203
1271
  <p><a class="source-toggle" href="#"
1204
- onclick="toggleCode('M000671-source');return false;">[Source]</a></p>
1205
- <div class="method-source-code" id="M000671-source">
1272
+ onclick="toggleCode('M000605-source');return false;">[Source]</a></p>
1273
+ <div class="method-source-code" id="M000605-source">
1206
1274
  <pre>
1207
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 263</span>
1208
- 263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
1209
- 264: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
1210
- 265: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1211
- 266: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ancestor</span>)
1212
- 267: <span class="ruby-keyword kw">end</span>
1213
- 268: <span class="ruby-keyword kw">false</span>
1214
- 269: <span class="ruby-keyword kw">end</span>
1275
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 277</span>
1276
+ 277: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
1277
+ 278: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
1278
+ 279: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
1279
+ 280: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ancestor</span>)
1280
+ 281: <span class="ruby-keyword kw">end</span>
1281
+ 282: <span class="ruby-keyword kw">false</span>
1282
+ 283: <span class="ruby-keyword kw">end</span>
1215
1283
  </pre>
1216
1284
  </div>
1217
1285
 
@@ -1219,12 +1287,12 @@ Find out if this property is a direct or indirect child of
1219
1287
  </div>
1220
1288
 
1221
1289
 
1222
- <div id="method-M000672" class="method-detail">
1223
- <a name="M000672"></a>
1290
+ <div id="method-M000606" class="method-detail">
1291
+ <a name="M000606"></a>
1224
1292
 
1225
1293
  <div class="method-heading">
1226
1294
 
1227
- <a href="#M000672" class="method-signature">
1295
+ <a href="#M000606" class="method-signature">
1228
1296
 
1229
1297
  <span class="method-name">leaf?</span><span class="method-args">()</span>
1230
1298
 
@@ -1239,13 +1307,13 @@ Return true if the node is a leaf node (has no children).
1239
1307
  </p>
1240
1308
 
1241
1309
  <p><a class="source-toggle" href="#"
1242
- onclick="toggleCode('M000672-source');return false;">[Source]</a></p>
1243
- <div class="method-source-code" id="M000672-source">
1310
+ onclick="toggleCode('M000606-source');return false;">[Source]</a></p>
1311
+ <div class="method-source-code" id="M000606-source">
1244
1312
  <pre>
1245
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 272</span>
1246
- 272: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
1247
- 273: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1248
- 274: <span class="ruby-keyword kw">end</span>
1313
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 286</span>
1314
+ 286: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
1315
+ 287: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1316
+ 288: <span class="ruby-keyword kw">end</span>
1249
1317
  </pre>
1250
1318
  </div>
1251
1319
 
@@ -1253,12 +1321,12 @@ Return true if the node is a leaf node (has no children).
1253
1321
  </div>
1254
1322
 
1255
1323
 
1256
- <div id="method-M000668" class="method-detail">
1257
- <a name="M000668"></a>
1324
+ <div id="method-M000601" class="method-detail">
1325
+ <a name="M000601"></a>
1258
1326
 
1259
1327
  <div class="method-heading">
1260
1328
 
1261
- <a href="#M000668" class="method-signature">
1329
+ <a href="#M000601" class="method-signature">
1262
1330
 
1263
1331
  <span class="method-name">level</span><span class="method-args">()</span>
1264
1332
 
@@ -1275,20 +1343,20 @@ have to be calculated each time the function is called.
1275
1343
  </p>
1276
1344
 
1277
1345
  <p><a class="source-toggle" href="#"
1278
- onclick="toggleCode('M000668-source');return false;">[Source]</a></p>
1279
- <div class="method-source-code" id="M000668-source">
1346
+ onclick="toggleCode('M000601-source');return false;">[Source]</a></p>
1347
+ <div class="method-source-code" id="M000601-source">
1280
1348
  <pre>
1281
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 228</span>
1282
- 228: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
1283
- 229: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@level</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
1284
- 230:
1285
- 231: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1286
- 232: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
1287
- 233: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
1288
- 234: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1289
- 235: <span class="ruby-keyword kw">end</span>
1290
- 236: <span class="ruby-ivar">@level</span>
1291
- 237: <span class="ruby-keyword kw">end</span>
1349
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 229</span>
1350
+ 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
1351
+ 230: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@level</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
1352
+ 231:
1353
+ 232: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1354
+ 233: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
1355
+ 234: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
1356
+ 235: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1357
+ 236: <span class="ruby-keyword kw">end</span>
1358
+ 237: <span class="ruby-ivar">@level</span>
1359
+ 238: <span class="ruby-keyword kw">end</span>
1292
1360
  </pre>
1293
1361
  </div>
1294
1362
 
@@ -1296,12 +1364,12 @@ have to be calculated each time the function is called.
1296
1364
  </div>
1297
1365
 
1298
1366
 
1299
- <div id="method-M000660" class="method-detail">
1300
- <a name="M000660"></a>
1367
+ <div id="method-M000593" class="method-detail">
1368
+ <a name="M000593"></a>
1301
1369
 
1302
1370
  <div class="method-heading">
1303
1371
 
1304
- <a href="#M000660" class="method-signature">
1372
+ <a href="#M000593" class="method-signature">
1305
1373
 
1306
1374
  <span class="method-name">levelSeqNo</span><span class="method-args">(node)</span>
1307
1375
 
@@ -1316,13 +1384,13 @@ Return the index of the child <em>node</em>.
1316
1384
  </p>
1317
1385
 
1318
1386
  <p><a class="source-toggle" href="#"
1319
- onclick="toggleCode('M000660-source');return false;">[Source]</a></p>
1320
- <div class="method-source-code" id="M000660-source">
1387
+ onclick="toggleCode('M000593-source');return false;">[Source]</a></p>
1388
+ <div class="method-source-code" id="M000593-source">
1321
1389
  <pre>
1322
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 96</span>
1323
- 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
1324
- 97: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">node</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1325
- 98: <span class="ruby-keyword kw">end</span>
1390
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 97</span>
1391
+ 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
1392
+ 98: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">node</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1393
+ 99: <span class="ruby-keyword kw">end</span>
1326
1394
  </pre>
1327
1395
  </div>
1328
1396
 
@@ -1330,12 +1398,12 @@ Return the index of the child <em>node</em>.
1330
1398
  </div>
1331
1399
 
1332
1400
 
1333
- <div id="method-M000685" class="method-detail">
1334
- <a name="M000685"></a>
1401
+ <div id="method-M000624" class="method-detail">
1402
+ <a name="M000624"></a>
1335
1403
 
1336
1404
  <div class="method-heading">
1337
1405
 
1338
- <a href="#M000685" class="method-signature">
1406
+ <a href="#M000624" class="method-signature">
1339
1407
 
1340
1408
  <span class="method-name">method_missing</span><span class="method-args">(func, scenarioIdx, *args)</span>
1341
1409
 
@@ -1354,13 +1422,50 @@ href="Scenario.html">Scenario</a> class.
1354
1422
  </p>
1355
1423
 
1356
1424
  <p><a class="source-toggle" href="#"
1357
- onclick="toggleCode('M000685-source');return false;">[Source]</a></p>
1358
- <div class="method-source-code" id="M000685-source">
1425
+ onclick="toggleCode('M000624-source');return false;">[Source]</a></p>
1426
+ <div class="method-source-code" id="M000624-source">
1427
+ <pre>
1428
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 519</span>
1429
+ 519: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1430
+ 520: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">method</span>(<span class="ruby-identifier">func</span>).<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1431
+ 521: <span class="ruby-keyword kw">end</span>
1432
+ </pre>
1433
+ </div>
1434
+
1435
+ </div>
1436
+ </div>
1437
+
1438
+
1439
+ <div id="method-M000619" class="method-detail">
1440
+ <a name="M000619"></a>
1441
+
1442
+ <div class="method-heading">
1443
+
1444
+ <a href="#M000619" class="method-signature">
1445
+
1446
+ <span class="method-name">modified?</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
1447
+
1448
+ </a>
1449
+
1450
+ </div>
1451
+
1452
+ <div class="method-description">
1453
+
1454
+ <p><a class="source-toggle" href="#"
1455
+ onclick="toggleCode('M000619-source');return false;">[Source]</a></p>
1456
+ <div class="method-source-code" id="M000619-source">
1359
1457
  <pre>
1360
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 457</span>
1361
- 457: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1362
- 458: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">method</span>(<span class="ruby-identifier">func</span>).<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1363
- 459: <span class="ruby-keyword kw">end</span>
1458
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 438</span>
1459
+ 438: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modified?</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1460
+ 439: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1461
+ 440: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1462
+ 441: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span>
1463
+ 442: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1464
+ 443: <span class="ruby-keyword kw">else</span>
1465
+ 444: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1466
+ 445: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1467
+ 446: <span class="ruby-keyword kw">end</span>
1468
+ 447: <span class="ruby-keyword kw">end</span>
1364
1469
  </pre>
1365
1470
  </div>
1366
1471
 
@@ -1368,12 +1473,12 @@ href="Scenario.html">Scenario</a> class.
1368
1473
  </div>
1369
1474
 
1370
1475
 
1371
- <div id="method-M000683" class="method-detail">
1372
- <a name="M000683"></a>
1476
+ <div id="method-M000617" class="method-detail">
1477
+ <a name="M000617"></a>
1373
1478
 
1374
1479
  <div class="method-heading">
1375
1480
 
1376
- <a href="#M000683" class="method-signature">
1481
+ <a href="#M000617" class="method-signature">
1377
1482
 
1378
1483
  <span class="method-name">provided</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
1379
1484
 
@@ -1389,19 +1494,154 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
1389
1494
  </p>
1390
1495
 
1391
1496
  <p><a class="source-toggle" href="#"
1392
- onclick="toggleCode('M000683-source');return false;">[Source]</a></p>
1393
- <div class="method-source-code" id="M000683-source">
1497
+ onclick="toggleCode('M000617-source');return false;">[Source]</a></p>
1498
+ <div class="method-source-code" id="M000617-source">
1499
+ <pre>
1500
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 416</span>
1501
+ 416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1502
+ 417: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1503
+ 418: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1504
+ 419: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
1505
+ 420: <span class="ruby-keyword kw">else</span>
1506
+ 421: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1507
+ 422: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
1508
+ 423: <span class="ruby-keyword kw">end</span>
1509
+ 424: <span class="ruby-keyword kw">end</span>
1510
+ </pre>
1511
+ </div>
1512
+
1513
+ </div>
1514
+ </div>
1515
+
1516
+
1517
+ <div id="method-M000620" class="method-detail">
1518
+ <a name="M000620"></a>
1519
+
1520
+ <div class="method-heading">
1521
+
1522
+ <a href="#M000620" class="method-signature">
1523
+
1524
+ <span class="method-name">query_alert</span><span class="method-args">(query)</span>
1525
+
1526
+ </a>
1527
+
1528
+ </div>
1529
+
1530
+ <div class="method-description">
1531
+
1532
+ <p><a class="source-toggle" href="#"
1533
+ onclick="toggleCode('M000620-source');return false;">[Source]</a></p>
1534
+ <div class="method-source-code" id="M000620-source">
1535
+ <pre>
1536
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 449</span>
1537
+ 449: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alert</span>(<span class="ruby-identifier">query</span>)
1538
+ 450: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
1539
+ 451: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-identifier">query</span>.<span class="ruby-identifier">numerical</span> = <span class="ruby-identifier">alert</span> =
1540
+ 452: <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>)
1541
+ 453: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">alertLevelName</span>(<span class="ruby-identifier">alert</span>)
1542
+ 454: <span class="ruby-keyword kw">end</span>
1543
+ </pre>
1544
+ </div>
1545
+
1546
+ </div>
1547
+ </div>
1548
+
1549
+
1550
+ <div id="method-M000622" class="method-detail">
1551
+ <a name="M000622"></a>
1552
+
1553
+ <div class="method-heading">
1554
+
1555
+ <a href="#M000622" class="method-signature">
1556
+
1557
+ <span class="method-name">query_alertmessage</span><span class="method-args">(query)</span>
1558
+
1559
+ </a>
1560
+
1561
+ </div>
1562
+
1563
+ <div class="method-description">
1564
+
1565
+ <p><a class="source-toggle" href="#"
1566
+ onclick="toggleCode('M000622-source');return false;">[Source]</a></p>
1567
+ <div class="method-source-code" id="M000622-source">
1568
+ <pre>
1569
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 460</span>
1570
+ 460: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertmessage</span>(<span class="ruby-identifier">query</span>)
1571
+ 461: <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
1572
+ 462: <span class="ruby-keyword kw">end</span>
1573
+ </pre>
1574
+ </div>
1575
+
1576
+ </div>
1577
+ </div>
1578
+
1579
+
1580
+ <div id="method-M000621" class="method-detail">
1581
+ <a name="M000621"></a>
1582
+
1583
+ <div class="method-heading">
1584
+
1585
+ <a href="#M000621" class="method-signature">
1586
+
1587
+ <span class="method-name">query_alertsummary</span><span class="method-args">(query)</span>
1588
+
1589
+ </a>
1590
+
1591
+ </div>
1592
+
1593
+ <div class="method-description">
1594
+
1595
+ <p><a class="source-toggle" href="#"
1596
+ onclick="toggleCode('M000621-source');return false;">[Source]</a></p>
1597
+ <div class="method-source-code" id="M000621-source">
1598
+ <pre>
1599
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 456</span>
1600
+ 456: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertsummary</span>(<span class="ruby-identifier">query</span>)
1601
+ 457: <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
1602
+ 458: <span class="ruby-keyword kw">end</span>
1603
+ </pre>
1604
+ </div>
1605
+
1606
+ </div>
1607
+ </div>
1608
+
1609
+
1610
+ <div id="method-M000623" class="method-detail">
1611
+ <a name="M000623"></a>
1612
+
1613
+ <div class="method-heading">
1614
+
1615
+ <a href="#M000623" class="method-signature">
1616
+
1617
+ <span class="method-name">query_alerttrend</span><span class="method-args">(query)</span>
1618
+
1619
+ </a>
1620
+
1621
+ </div>
1622
+
1623
+ <div class="method-description">
1624
+
1625
+ <p><a class="source-toggle" href="#"
1626
+ onclick="toggleCode('M000623-source');return false;">[Source]</a></p>
1627
+ <div class="method-source-code" id="M000623-source">
1394
1628
  <pre>
1395
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 396</span>
1396
- 396: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
1397
- 397: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1398
- 398: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1399
- 399: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
1400
- 400: <span class="ruby-keyword kw">else</span>
1401
- 401: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1402
- 402: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
1403
- 403: <span class="ruby-keyword kw">end</span>
1404
- 404: <span class="ruby-keyword kw">end</span>
1629
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 464</span>
1630
+ 464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alerttrend</span>(<span class="ruby-identifier">query</span>)
1631
+ 465: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
1632
+ 466: <span class="ruby-identifier">startAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">self</span>)
1633
+ 467: <span class="ruby-identifier">endAlert</span> = <span class="ruby-identifier">journal</span>.<span class="ruby-identifier">alertLevel</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>)
1634
+ 468: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">endAlert</span>
1635
+ 469: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">0</span>
1636
+ 470: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Up'</span>
1637
+ 471: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">startAlert</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">endAlert</span>
1638
+ 472: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">2</span>
1639
+ 473: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Down'</span>
1640
+ 474: <span class="ruby-keyword kw">else</span>
1641
+ 475: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">1</span>
1642
+ 476: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Flat'</span>
1643
+ 477: <span class="ruby-keyword kw">end</span>
1644
+ 478: <span class="ruby-keyword kw">end</span>
1405
1645
  </pre>
1406
1646
  </div>
1407
1647
 
@@ -1409,12 +1649,12 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
1409
1649
  </div>
1410
1650
 
1411
1651
 
1412
- <div id="method-M000674" class="method-detail">
1413
- <a name="M000674"></a>
1652
+ <div id="method-M000608" class="method-detail">
1653
+ <a name="M000608"></a>
1414
1654
 
1415
1655
  <div class="method-heading">
1416
1656
 
1417
- <a href="#M000674" class="method-signature">
1657
+ <a href="#M000608" class="method-signature">
1418
1658
 
1419
1659
  <span class="method-name">root</span><span class="method-args">()</span>
1420
1660
 
@@ -1429,17 +1669,17 @@ Return the top-level node for this node.
1429
1669
  </p>
1430
1670
 
1431
1671
  <p><a class="source-toggle" href="#"
1432
- onclick="toggleCode('M000674-source');return false;">[Source]</a></p>
1433
- <div class="method-source-code" id="M000674-source">
1672
+ onclick="toggleCode('M000608-source');return false;">[Source]</a></p>
1673
+ <div class="method-source-code" id="M000608-source">
1434
1674
  <pre>
1435
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 282</span>
1436
- 282: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
1437
- 283: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
1438
- 284: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
1439
- 285: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
1440
- 286: <span class="ruby-keyword kw">end</span>
1441
- 287: <span class="ruby-identifier">n</span>
1442
- 288: <span class="ruby-keyword kw">end</span>
1675
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 296</span>
1676
+ 296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
1677
+ 297: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
1678
+ 298: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
1679
+ 299: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
1680
+ 300: <span class="ruby-keyword kw">end</span>
1681
+ 301: <span class="ruby-identifier">n</span>
1682
+ 302: <span class="ruby-keyword kw">end</span>
1443
1683
  </pre>
1444
1684
  </div>
1445
1685
 
@@ -1447,12 +1687,12 @@ Return the top-level node for this node.
1447
1687
  </div>
1448
1688
 
1449
1689
 
1450
- <div id="method-M000679" class="method-detail">
1451
- <a name="M000679"></a>
1690
+ <div id="method-M000614" class="method-detail">
1691
+ <a name="M000614"></a>
1452
1692
 
1453
1693
  <div class="method-heading">
1454
1694
 
1455
- <a href="#M000679" class="method-signature">
1695
+ <a href="#M000614" class="method-signature">
1456
1696
 
1457
1697
  <span class="method-name">set</span><span class="method-args">(attributeId, value)</span>
1458
1698
 
@@ -1469,16 +1709,16 @@ raised.
1469
1709
  </p>
1470
1710
 
1471
1711
  <p><a class="source-toggle" href="#"
1472
- onclick="toggleCode('M000679-source');return false;">[Source]</a></p>
1473
- <div class="method-source-code" id="M000679-source">
1712
+ onclick="toggleCode('M000614-source');return false;">[Source]</a></p>
1713
+ <div class="method-source-code" id="M000614-source">
1474
1714
  <pre>
1475
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 350</span>
1476
- 350: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">value</span>)
1477
- 351: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
1478
- 352: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
1479
- 353: <span class="ruby-keyword kw">end</span>
1480
- 354: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
1481
- 355: <span class="ruby-keyword kw">end</span>
1715
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 382</span>
1716
+ 382: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">value</span>)
1717
+ 383: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
1718
+ 384: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown attribute #{attributeId}&quot;</span>
1719
+ 385: <span class="ruby-keyword kw">end</span>
1720
+ 386: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
1721
+ 387: <span class="ruby-keyword kw">end</span>
1482
1722
  </pre>
1483
1723
  </div>
1484
1724