taskjuggler 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. data/CHANGELOG +2086 -0
  2. data/benchmarks/666tasks.tjp +3183 -0
  3. data/benchmarks/booking.tjp +14 -10
  4. data/doc/AppConfig.html +95 -73
  5. data/doc/Arguments.html +22 -2
  6. data/doc/CHANGELOG.html +2587 -0
  7. data/doc/COPYING.html +21 -1
  8. data/doc/Object.html +161 -122
  9. data/doc/README.html +21 -1
  10. data/doc/RuntimeConfig.html +26 -6
  11. data/doc/String.html +38 -18
  12. data/doc/StringIO.html +579 -0
  13. data/doc/TaskJuggler.html +251 -143
  14. data/doc/TaskJuggler/Account.html +26 -6
  15. data/doc/TaskJuggler/AccountAttribute.html +28 -8
  16. data/doc/TaskJuggler/AccountScenario.html +24 -4
  17. data/doc/TaskJuggler/Allocation.html +30 -10
  18. data/doc/TaskJuggler/AllocationAttribute.html +28 -8
  19. data/doc/TaskJuggler/AttributeBase.html +46 -26
  20. data/doc/TaskJuggler/AttributeDefinition.html +22 -2
  21. data/doc/TaskJuggler/BatchProcessor.html +40 -20
  22. data/doc/TaskJuggler/Booking.html +26 -6
  23. data/doc/TaskJuggler/BookingListAttribute.html +28 -8
  24. data/doc/TaskJuggler/BooleanAttribute.html +28 -8
  25. data/doc/TaskJuggler/CSVFile.html +308 -146
  26. data/doc/TaskJuggler/CellSettingPattern.html +22 -2
  27. data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
  28. data/doc/TaskJuggler/Charge.html +26 -6
  29. data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
  30. data/doc/TaskJuggler/ChargeSet.html +33 -13
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
  32. data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
  33. data/doc/TaskJuggler/ColumnTable.html +24 -4
  34. data/doc/TaskJuggler/Daemon.html +26 -6
  35. data/doc/TaskJuggler/DateAttribute.html +26 -6
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
  37. data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
  38. data/doc/TaskJuggler/DurationAttribute.html +28 -8
  39. data/doc/TaskJuggler/FixnumAttribute.html +24 -4
  40. data/doc/TaskJuggler/FlagListAttribute.html +28 -8
  41. data/doc/TaskJuggler/FloatAttribute.html +26 -6
  42. data/doc/TaskJuggler/FormatListAttribute.html +24 -4
  43. data/doc/TaskJuggler/GanttChart.html +147 -126
  44. data/doc/TaskJuggler/GanttContainer.html +34 -14
  45. data/doc/TaskJuggler/GanttHeader.html +28 -8
  46. data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
  47. data/doc/TaskJuggler/GanttLine.html +38 -18
  48. data/doc/TaskJuggler/GanttLoadStack.html +26 -6
  49. data/doc/TaskJuggler/GanttMilestone.html +34 -14
  50. data/doc/TaskJuggler/GanttRouter.html +50 -30
  51. data/doc/TaskJuggler/GanttTaskBar.html +34 -14
  52. data/doc/TaskJuggler/HTMLDocument.html +26 -6
  53. data/doc/TaskJuggler/HTMLGraphics.html +30 -10
  54. data/doc/TaskJuggler/Interval.html +40 -22
  55. data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
  56. data/doc/TaskJuggler/JobInfo.html +24 -4
  57. data/doc/TaskJuggler/Journal.html +226 -147
  58. data/doc/TaskJuggler/JournalEntry.html +22 -2
  59. data/doc/TaskJuggler/JournalEntryList.html +129 -112
  60. data/doc/TaskJuggler/KeywordArray.html +26 -6
  61. data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
  62. data/doc/TaskJuggler/Limits.html +152 -123
  63. data/doc/TaskJuggler/Limits/Limit.html +149 -70
  64. data/doc/TaskJuggler/LimitsAttribute.html +36 -51
  65. data/doc/TaskJuggler/ListAttributeBase.html +24 -4
  66. data/doc/TaskJuggler/Log.html +50 -32
  67. data/doc/TaskJuggler/LogFile.html +37 -17
  68. data/doc/TaskJuggler/LogicalAttribute.html +53 -33
  69. data/doc/TaskJuggler/LogicalExpression.html +26 -6
  70. data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
  71. data/doc/TaskJuggler/LogicalFlag.html +42 -22
  72. data/doc/TaskJuggler/LogicalFunction.html +204 -140
  73. data/doc/TaskJuggler/LogicalOperation.html +135 -111
  74. data/doc/TaskJuggler/Macro.html +22 -2
  75. data/doc/TaskJuggler/MacroParser.html +32 -12
  76. data/doc/TaskJuggler/MacroTable.html +32 -12
  77. data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
  78. data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
  79. data/doc/TaskJuggler/Message.html +24 -4
  80. data/doc/TaskJuggler/MessageHandler.html +24 -4
  81. data/doc/TaskJuggler/Navigator.html +104 -71
  82. data/doc/TaskJuggler/NavigatorElement.html +32 -12
  83. data/doc/TaskJuggler/NikuProject.html +22 -2
  84. data/doc/TaskJuggler/NikuReport.html +310 -228
  85. data/doc/TaskJuggler/NikuResource.html +22 -2
  86. data/doc/TaskJuggler/NodeListAttribute.html +615 -0
  87. data/doc/TaskJuggler/OnShiftCache.html +32 -12
  88. data/doc/TaskJuggler/ProcessIntercom.html +205 -78
  89. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
  90. data/doc/TaskJuggler/Project.html +708 -660
  91. data/doc/TaskJuggler/ProjectBroker.html +506 -304
  92. data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
  93. data/doc/TaskJuggler/ProjectFileParser.html +429 -373
  94. data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
  95. data/doc/TaskJuggler/ProjectRecord.html +80 -60
  96. data/doc/TaskJuggler/ProjectServer.html +312 -237
  97. data/doc/TaskJuggler/ProjectServerIface.html +101 -43
  98. data/doc/TaskJuggler/PropertyAttribute.html +32 -12
  99. data/doc/TaskJuggler/PropertyList.html +166 -145
  100. data/doc/TaskJuggler/PropertySet.html +254 -224
  101. data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
  102. data/doc/TaskJuggler/Query.html +169 -148
  103. data/doc/TaskJuggler/RTFHandlers.html +622 -0
  104. data/doc/TaskJuggler/RTFNavigator.html +28 -8
  105. data/doc/TaskJuggler/RTFQuery.html +40 -20
  106. data/doc/TaskJuggler/RTFReport.html +62 -25
  107. data/doc/TaskJuggler/RTFReportLink.html +765 -0
  108. data/doc/TaskJuggler/RealFormat.html +26 -6
  109. data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
  110. data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
  111. data/doc/TaskJuggler/Report.html +402 -251
  112. data/doc/TaskJuggler/ReportBase.html +162 -137
  113. data/doc/TaskJuggler/ReportContext.html +112 -29
  114. data/doc/TaskJuggler/ReportServer.html +89 -64
  115. data/doc/TaskJuggler/ReportServerIface.html +75 -55
  116. data/doc/TaskJuggler/ReportServerRecord.html +54 -31
  117. data/doc/TaskJuggler/ReportServlet.html +980 -0
  118. data/doc/TaskJuggler/ReportTable.html +41 -21
  119. data/doc/TaskJuggler/ReportTableCell.html +214 -170
  120. data/doc/TaskJuggler/ReportTableColumn.html +30 -10
  121. data/doc/TaskJuggler/ReportTableLegend.html +36 -16
  122. data/doc/TaskJuggler/ReportTableLine.html +32 -12
  123. data/doc/TaskJuggler/Resource.html +99 -87
  124. data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
  125. data/doc/TaskJuggler/ResourceListRE.html +47 -26
  126. data/doc/TaskJuggler/ResourceScenario.html +403 -437
  127. data/doc/TaskJuggler/RichText.html +26 -6
  128. data/doc/TaskJuggler/RichTextAttribute.html +50 -30
  129. data/doc/TaskJuggler/RichTextDocument.html +37 -17
  130. data/doc/TaskJuggler/RichTextElement.html +475 -413
  131. data/doc/TaskJuggler/RichTextException.html +22 -2
  132. data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
  133. data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
  134. data/doc/TaskJuggler/RichTextImage.html +22 -2
  135. data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
  136. data/doc/TaskJuggler/RichTextParser.html +56 -34
  137. data/doc/TaskJuggler/RichTextScanner.html +82 -61
  138. data/doc/TaskJuggler/RichTextSnip.html +34 -14
  139. data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
  140. data/doc/TaskJuggler/Scenario.html +22 -2
  141. data/doc/TaskJuggler/ScenarioData.html +30 -46
  142. data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
  143. data/doc/TaskJuggler/Scoreboard.html +42 -22
  144. data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
  145. data/doc/TaskJuggler/SheetReceiver.html +333 -295
  146. data/doc/TaskJuggler/SheetSender.html +253 -230
  147. data/doc/TaskJuggler/Shift.html +26 -6
  148. data/doc/TaskJuggler/ShiftAssignment.html +89 -73
  149. data/doc/TaskJuggler/ShiftAssignments.html +226 -234
  150. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
  151. data/doc/TaskJuggler/ShiftScenario.html +28 -8
  152. data/doc/TaskJuggler/SortListAttribute.html +34 -14
  153. data/doc/TaskJuggler/SourceFileInfo.html +24 -4
  154. data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
  155. data/doc/TaskJuggler/StatusSheetReport.html +168 -153
  156. data/doc/TaskJuggler/StatusSheetSender.html +24 -3
  157. data/doc/TaskJuggler/StringAttribute.html +38 -18
  158. data/doc/TaskJuggler/SymbolAttribute.html +32 -12
  159. data/doc/TaskJuggler/SyntaxReference.html +40 -20
  160. data/doc/TaskJuggler/TOCEntry.html +26 -6
  161. data/doc/TaskJuggler/TSResourceRecord.html +22 -2
  162. data/doc/TaskJuggler/TSTaskRecord.html +22 -2
  163. data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
  164. data/doc/TaskJuggler/TableOfContents.html +26 -6
  165. data/doc/TaskJuggler/TableReport.html +937 -904
  166. data/doc/TaskJuggler/Task.html +55 -36
  167. data/doc/TaskJuggler/TaskDependency.html +24 -4
  168. data/doc/TaskJuggler/TaskListAttribute.html +50 -30
  169. data/doc/TaskJuggler/TaskListRE.html +27 -7
  170. data/doc/TaskJuggler/TaskScenario.html +1273 -1153
  171. data/doc/TaskJuggler/TextFormatter.html +28 -8
  172. data/doc/TaskJuggler/TextParser.html +585 -338
  173. data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
  174. data/doc/TaskJuggler/TextParser/Rule.html +95 -73
  175. data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
  176. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
  177. data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
  178. data/doc/TaskJuggler/TextReport.html +28 -8
  179. data/doc/TaskJuggler/TextScanner.html +400 -1404
  180. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
  181. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
  182. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
  183. data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
  184. data/doc/TaskJuggler/TimeSheet.html +48 -28
  185. data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
  186. data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
  187. data/doc/TaskJuggler/TimeSheetReport.html +154 -133
  188. data/doc/TaskJuggler/TimeSheetSender.html +24 -3
  189. data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
  190. data/doc/TaskJuggler/TimeSheets.html +26 -6
  191. data/doc/TaskJuggler/Tj3AppBase.html +85 -58
  192. data/doc/TaskJuggler/Tj3Client.html +292 -238
  193. data/doc/TaskJuggler/Tj3Daemon.html +159 -74
  194. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
  195. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
  196. data/doc/TaskJuggler/Tj3SsSender.html +53 -26
  197. data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
  198. data/doc/TaskJuggler/Tj3TsSender.html +26 -6
  199. data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
  200. data/doc/TaskJuggler/TjException.html +22 -2
  201. data/doc/TaskJuggler/TjTime.html +216 -160
  202. data/doc/TaskJuggler/TjpExample.html +34 -14
  203. data/doc/TaskJuggler/TjpExportRE.html +403 -407
  204. data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
  205. data/doc/TaskJuggler/URLParameter.html +649 -0
  206. data/doc/TaskJuggler/UserManual.html +42 -22
  207. data/doc/TaskJuggler/WebServer.html +702 -0
  208. data/doc/TaskJuggler/WorkingHours.html +38 -18
  209. data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
  210. data/doc/TaskJuggler/XMLBlob.html +24 -4
  211. data/doc/TaskJuggler/XMLComment.html +24 -4
  212. data/doc/TaskJuggler/XMLDocument.html +30 -10
  213. data/doc/TaskJuggler/XMLElement.html +34 -14
  214. data/doc/TaskJuggler/XMLNamedText.html +22 -2
  215. data/doc/TaskJuggler/XMLText.html +24 -4
  216. data/doc/index.html +1841 -1666
  217. data/doc/lib/AccountScenario_rb.html +1 -1
  218. data/doc/lib/Account_rb.html +1 -1
  219. data/doc/lib/Allocation_rb.html +1 -1
  220. data/doc/lib/AppConfig_rb.html +2 -2
  221. data/doc/lib/AttributeBase_rb.html +1 -1
  222. data/doc/lib/AttributeDefinition_rb.html +1 -1
  223. data/doc/lib/Attributes_rb.html +2 -2
  224. data/doc/lib/BatchProcessor_rb.html +1 -1
  225. data/doc/lib/Booking_rb.html +1 -1
  226. data/doc/lib/ChargeSet_rb.html +1 -1
  227. data/doc/lib/Charge_rb.html +1 -1
  228. data/doc/lib/HTMLDocument_rb.html +1 -1
  229. data/doc/lib/Interval_rb.html +1 -1
  230. data/doc/lib/Journal_rb.html +2 -2
  231. data/doc/lib/KeywordArray_rb.html +1 -1
  232. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  233. data/doc/lib/Limits_rb.html +2 -2
  234. data/doc/lib/LogFile_rb.html +2 -2
  235. data/doc/lib/Log_rb.html +1 -1
  236. data/doc/lib/LogicalExpression_rb.html +1 -1
  237. data/doc/lib/LogicalFunction_rb.html +2 -2
  238. data/doc/lib/LogicalOperation_rb.html +2 -2
  239. data/doc/lib/MacroParser_rb.html +1 -1
  240. data/doc/lib/MacroTable_rb.html +1 -1
  241. data/doc/lib/MessageHandler_rb.html +1 -1
  242. data/doc/lib/Message_rb.html +1 -1
  243. data/doc/lib/ProjectFileParser_rb.html +4 -8
  244. data/doc/lib/ProjectFileScanner_rb.html +67 -0
  245. data/doc/lib/Project_rb.html +2 -2
  246. data/doc/lib/PropertyList_rb.html +2 -2
  247. data/doc/lib/PropertySet_rb.html +2 -2
  248. data/doc/lib/PropertyTreeNode_rb.html +2 -2
  249. data/doc/lib/Query_rb.html +2 -2
  250. data/doc/lib/RTFHandlers_rb.html +73 -0
  251. data/doc/lib/RTFNavigator_rb.html +1 -1
  252. data/doc/lib/RTFQuery_rb.html +1 -1
  253. data/doc/lib/RTFReportLink_rb.html +71 -0
  254. data/doc/lib/RTFReport_rb.html +2 -2
  255. data/doc/lib/RealFormat_rb.html +1 -1
  256. data/doc/lib/ResourceScenario_rb.html +2 -2
  257. data/doc/lib/Resource_rb.html +2 -2
  258. data/doc/lib/RichTextDocument_rb.html +1 -1
  259. data/doc/lib/RichTextElement_rb.html +2 -2
  260. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  261. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  262. data/doc/lib/RichTextParser_rb.html +2 -2
  263. data/doc/lib/RichTextScanner_rb.html +2 -2
  264. data/doc/lib/RichTextSnip_rb.html +1 -1
  265. data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
  266. data/doc/lib/RichText_rb.html +1 -1
  267. data/doc/lib/RuntimeConfig_rb.html +1 -1
  268. data/doc/lib/ScenarioData_rb.html +2 -2
  269. data/doc/lib/Scenario_rb.html +1 -1
  270. data/doc/lib/Scoreboard_rb.html +1 -1
  271. data/doc/lib/SheetHandlerBase_rb.html +1 -1
  272. data/doc/lib/SheetReceiver_rb.html +2 -2
  273. data/doc/lib/SheetSender_rb.html +4 -2
  274. data/doc/lib/ShiftAssignments_rb.html +4 -2
  275. data/doc/lib/ShiftScenario_rb.html +1 -1
  276. data/doc/lib/Shift_rb.html +1 -1
  277. data/doc/lib/SourceFileInfo_rb.html +1 -1
  278. data/doc/lib/StatusSheetReceiver_rb.html +2 -2
  279. data/doc/lib/StatusSheetSender_rb.html +2 -2
  280. data/doc/lib/SyntaxReference_rb.html +1 -1
  281. data/doc/lib/TOCEntry_rb.html +1 -1
  282. data/doc/lib/TableColumnDefinition_rb.html +2 -2
  283. data/doc/lib/TableOfContents_rb.html +1 -1
  284. data/doc/lib/TaskDependency_rb.html +1 -1
  285. data/doc/lib/TaskJuggler_rb.html +2 -2
  286. data/doc/lib/TaskScenario_rb.html +2 -2
  287. data/doc/lib/Task_rb.html +2 -2
  288. data/doc/lib/TextFormatter_rb.html +1 -1
  289. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  290. data/doc/lib/TextParser/Rule_rb.html +2 -2
  291. data/doc/lib/TextParser/StackElement_rb.html +2 -2
  292. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  293. data/doc/lib/TextParser_rb.html +2 -2
  294. data/doc/lib/TextScanner_rb.html +6 -2
  295. data/doc/lib/TimeSheetReceiver_rb.html +2 -2
  296. data/doc/lib/TimeSheetSender_rb.html +2 -2
  297. data/doc/lib/TimeSheetSummary_rb.html +2 -2
  298. data/doc/lib/TimeSheets_rb.html +2 -2
  299. data/doc/lib/Tj3AppBase_rb.html +2 -2
  300. data/doc/lib/Tj3Config_rb.html +2 -2
  301. data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
  302. data/doc/lib/TjException_rb.html +1 -1
  303. data/doc/lib/TjTime_rb.html +2 -2
  304. data/doc/lib/TjpExample_rb.html +1 -1
  305. data/doc/lib/TjpSyntaxRules_rb.html +2 -2
  306. data/doc/lib/URLParameter_rb.html +67 -0
  307. data/doc/lib/UTF8String_rb.html +1 -1
  308. data/doc/lib/UserManual_rb.html +1 -1
  309. data/doc/lib/WorkingHours_rb.html +1 -1
  310. data/doc/lib/XMLDocument_rb.html +2 -2
  311. data/doc/lib/XMLElement_rb.html +1 -1
  312. data/doc/lib/daemon/Daemon_rb.html +1 -1
  313. data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
  314. data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
  315. data/doc/lib/daemon/ProjectServer_rb.html +2 -2
  316. data/doc/lib/daemon/ReportServer_rb.html +2 -2
  317. data/doc/lib/daemon/WebServer_rb.html +75 -0
  318. data/doc/lib/deep_copy_rb.html +2 -2
  319. data/doc/lib/reports/CSVFile_rb.html +2 -2
  320. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  321. data/doc/lib/reports/GanttChart_rb.html +2 -2
  322. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  323. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  324. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  325. data/doc/lib/reports/GanttLine_rb.html +1 -1
  326. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  327. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  328. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  329. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  330. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  331. data/doc/lib/reports/Navigator_rb.html +2 -2
  332. data/doc/lib/reports/NikuReport_rb.html +2 -2
  333. data/doc/lib/reports/ReportBase_rb.html +2 -2
  334. data/doc/lib/reports/ReportContext_rb.html +2 -2
  335. data/doc/lib/reports/ReportTableCell_rb.html +2 -2
  336. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  337. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  338. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  339. data/doc/lib/reports/ReportTable_rb.html +2 -2
  340. data/doc/lib/reports/Report_rb.html +2 -2
  341. data/doc/lib/reports/ResourceListRE_rb.html +2 -2
  342. data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
  343. data/doc/lib/reports/TableReport_rb.html +2 -2
  344. data/doc/lib/reports/TaskListRE_rb.html +2 -2
  345. data/doc/lib/reports/TextReport_rb.html +1 -1
  346. data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
  347. data/doc/lib/reports/TjpExportRE_rb.html +2 -2
  348. data/doc/lib/ruby-signal-bug_rb.html +1 -1
  349. data/doc/lib/taskjuggler3_rb.html +2 -2
  350. data/doc/lib/tj3client_rb.html +2 -2
  351. data/doc/lib/tj3d_rb.html +2 -2
  352. data/doc/lib/tj3man_rb.html +1 -1
  353. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  354. data/doc/lib/tj3ss_sender_rb.html +2 -2
  355. data/doc/lib/tj3ts_receiver_rb.html +2 -2
  356. data/doc/lib/tj3ts_sender_rb.html +1 -1
  357. data/doc/lib/tj3ts_summary_rb.html +1 -1
  358. data/doc/rdoc.css +9 -4
  359. data/examples/tutorial.tjp +17 -15
  360. data/gem_spec.rb +3 -0
  361. data/lib/AppConfig.rb +3 -1
  362. data/lib/Attributes.rb +10 -8
  363. data/lib/Journal.rb +55 -20
  364. data/lib/Limits.rb +72 -46
  365. data/lib/LogFile.rb +3 -3
  366. data/lib/LogicalFunction.rb +19 -6
  367. data/lib/LogicalOperation.rb +5 -1
  368. data/lib/Project.rb +37 -9
  369. data/lib/ProjectFileParser.rb +25 -22
  370. data/lib/ProjectFileScanner.rb +365 -0
  371. data/lib/PropertyList.rb +2 -1
  372. data/lib/PropertySet.rb +14 -4
  373. data/lib/PropertyTreeNode.rb +42 -29
  374. data/lib/Query.rb +3 -1
  375. data/lib/RTFHandlers.rb +35 -0
  376. data/lib/RTFReport.rb +23 -6
  377. data/lib/RTFReportLink.rb +72 -0
  378. data/lib/Resource.rb +8 -16
  379. data/lib/ResourceScenario.rb +1 -22
  380. data/lib/RichTextElement.rb +42 -0
  381. data/lib/RichTextParser.rb +6 -4
  382. data/lib/RichTextScanner.rb +5 -5
  383. data/lib/RichTextSyntaxRules.rb +48 -10
  384. data/lib/ScenarioData.rb +5 -3
  385. data/lib/SheetReceiver.rb +24 -6
  386. data/lib/SheetSender.rb +17 -13
  387. data/lib/ShiftAssignments.rb +56 -52
  388. data/lib/StatusSheetReceiver.rb +1 -0
  389. data/lib/StatusSheetSender.rb +1 -0
  390. data/lib/TableColumnDefinition.rb +4 -2
  391. data/lib/Task.rb +8 -9
  392. data/lib/TaskJuggler.rb +21 -11
  393. data/lib/TaskScenario.rb +61 -26
  394. data/lib/TextParser.rb +268 -106
  395. data/lib/TextParser/Rule.rb +4 -2
  396. data/lib/TextParser/StackElement.rb +6 -4
  397. data/lib/TextScanner.rb +283 -700
  398. data/lib/TimeSheetReceiver.rb +1 -0
  399. data/lib/TimeSheetSender.rb +1 -0
  400. data/lib/TimeSheetSummary.rb +51 -26
  401. data/lib/TimeSheets.rb +1 -1
  402. data/lib/Tj3AppBase.rb +8 -1
  403. data/lib/Tj3Config.rb +1 -1
  404. data/lib/TjTime.rb +5 -0
  405. data/lib/TjpSyntaxRules.rb +360 -144
  406. data/lib/URLParameter.rb +30 -0
  407. data/lib/XMLDocument.rb +2 -2
  408. data/lib/daemon/ProcessIntercom.rb +50 -9
  409. data/lib/daemon/ProjectBroker.rb +63 -10
  410. data/lib/daemon/ProjectServer.rb +47 -16
  411. data/lib/daemon/ReportServer.rb +9 -4
  412. data/lib/daemon/WebServer.rb +204 -0
  413. data/lib/deep_copy.rb +4 -1
  414. data/lib/reports/CSVFile.rb +150 -66
  415. data/lib/reports/GanttChart.rb +2 -1
  416. data/lib/reports/Navigator.rb +18 -5
  417. data/lib/reports/NikuReport.rb +32 -2
  418. data/lib/reports/Report.rb +65 -37
  419. data/lib/reports/ReportBase.rb +14 -9
  420. data/lib/reports/ReportContext.rb +19 -4
  421. data/lib/reports/ReportTable.rb +2 -2
  422. data/lib/reports/ReportTableCell.rb +54 -30
  423. data/lib/reports/ResourceListRE.rb +4 -3
  424. data/lib/reports/StatusSheetReport.rb +8 -13
  425. data/lib/reports/TableReport.rb +47 -32
  426. data/lib/reports/TaskListRE.rb +3 -3
  427. data/lib/reports/TimeSheetReport.rb +14 -5
  428. data/lib/reports/TjpExportRE.rb +14 -19
  429. data/lib/taskjuggler3.rb +15 -0
  430. data/lib/tj3client.rb +9 -7
  431. data/lib/tj3d.rb +38 -10
  432. data/lib/tj3ss_sender.rb +7 -0
  433. data/lib/tj3ts_receiver.rb +1 -0
  434. data/manual/Day_To_Day_Juggling +1 -1
  435. data/manual/Rich_Text_Attributes +8 -0
  436. data/manual/TaskJuggler_2x_Migration +7 -0
  437. data/manual/The_TaskJuggler_Syntax +20 -6
  438. data/prj_cfg.rb +3 -2
  439. data/tasks/changelog.rake +36 -0
  440. data/tasks/csts.rake +2 -3
  441. data/tasks/gem.rake +10 -0
  442. data/tasks/missing.rake +0 -17
  443. data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
  444. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
  445. data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
  446. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
  447. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
  448. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
  449. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
  450. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  451. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  452. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  453. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  454. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  455. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  456. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  457. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  458. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  459. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  460. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  461. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
  462. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  463. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
  464. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
  465. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
  466. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  467. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
  468. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
  469. data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
  470. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
  471. data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
  472. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
  473. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
  474. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
  475. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
  476. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
  477. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  478. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  479. data/test/TestSuite/StatusSheets/run +3 -2
  480. data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
  481. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
  482. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
  483. data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
  484. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
  485. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
  486. data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
  487. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  488. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  489. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  490. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  491. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  492. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  493. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  494. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  495. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  496. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  497. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  498. data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
  499. data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
  500. data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
  501. data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
  502. data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
  503. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  504. data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
  505. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  506. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
  507. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
  508. data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
  509. data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
  510. data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
  511. data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
  512. data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
  513. data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
  514. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  515. data/test/TestSuite/TimeSheets/run +5 -5
  516. data/test/test_CSVFile.rb +75 -0
  517. data/test/test_Limits.rb +63 -5
  518. data/test/test_ProjectFileScanner.rb +163 -0
  519. data/test/test_ReportGenerator.rb +81 -0
  520. data/test/test_RichText.rb +21 -3
  521. data/test/test_Scheduler.rb +1 -1
  522. data/test/test_ShiftAssignments.rb +4 -4
  523. data/test/test_Syntax.rb +1 -1
  524. data/test/test_URLParameter.rb +30 -0
  525. metadata +126 -32
  526. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
  527. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
  528. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
  529. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
  530. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
  531. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
  532. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
  533. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
  534. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
  535. data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
  536. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
  537. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
  538. data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
  539. data/test/TestSuite/TimeSheets/receiver.log +0 -102
  540. data/test/TestSuite/TimeSheets/sender.log +0 -794
  541. data/test/TestSuite/TimeSheets/summary.log +0 -884
  542. data/test/TestSuite/TimeSheets/timesheets.log +0 -45
  543. data/test/TestSuite/TimeSheets/tj3d.log +0 -292
  544. data/test/test_TextScanner.rb +0 -95
@@ -69,79 +69,85 @@
69
69
  <h3 class="section-header">Methods</h3>
70
70
  <ul class="link-list">
71
71
 
72
- <li><a href="#M000947">::new</a></li>
72
+ <li><a href="#method-c-new">::new</a></li>
73
73
 
74
- <li><a href="#M000972">#[]</a></li>
74
+ <li><a href="#method-i-%5B%5D">#[]</a></li>
75
75
 
76
- <li><a href="#M000971">#[]=</a></li>
76
+ <li><a href="#method-i-%5B%5D%3D">#[]=</a></li>
77
77
 
78
- <li><a href="#M000960">#addChild</a></li>
78
+ <li><a href="#method-i-addChild">#addChild</a></li>
79
79
 
80
- <li><a href="#M000982">#alertMessages</a></li>
80
+ <li><a href="#method-i-all">#all</a></li>
81
81
 
82
- <li><a href="#M000952">#all</a></li>
82
+ <li><a href="#method-i-allLeaves">#allLeaves</a></li>
83
83
 
84
- <li><a href="#M000953">#allLeaves</a></li>
84
+ <li><a href="#method-i-attributeDefinition">#attributeDefinition</a></li>
85
85
 
86
- <li><a href="#M000966">#attributeDefinition</a></li>
86
+ <li><a href="#method-i-backupAttributes">#backupAttributes</a></li>
87
87
 
88
- <li><a href="#M000963">#container?</a></li>
88
+ <li><a href="#method-i-container%3F">#container?</a></li>
89
89
 
90
- <li><a href="#M000965">#declareAttribute</a></li>
90
+ <li><a href="#method-i-declareAttribute">#declareAttribute</a></li>
91
91
 
92
- <li><a href="#M000948">#deep_clone</a></li>
92
+ <li><a href="#method-i-deep_clone">#deep_clone</a></li>
93
93
 
94
- <li><a href="#M000954">#eachAttribute</a></li>
94
+ <li><a href="#method-i-eachAttribute">#eachAttribute</a></li>
95
95
 
96
- <li><a href="#M000955">#eachScenarioAttribute</a></li>
96
+ <li><a href="#method-i-eachScenarioAttribute">#eachScenarioAttribute</a></li>
97
97
 
98
- <li><a href="#M000956">#fullId</a></li>
98
+ <li><a href="#method-i-fullId">#fullId</a></li>
99
99
 
100
- <li><a href="#M000967">#get</a></li>
100
+ <li><a href="#method-i-get">#get</a></li>
101
101
 
102
- <li><a href="#M000968">#getAttr</a></li>
102
+ <li><a href="#method-i-getAttr">#getAttr</a></li>
103
103
 
104
- <li><a href="#M000969">#getAttribute</a></li>
104
+ <li><a href="#method-i-getAttribute">#getAttribute</a></li>
105
105
 
106
- <li><a href="#M000959">#getIndicies</a></li>
106
+ <li><a href="#method-i-getIndicies">#getIndicies</a></li>
107
107
 
108
- <li><a href="#M000958">#getWBSIndicies</a></li>
108
+ <li><a href="#method-i-getWBSIndicies">#getWBSIndicies</a></li>
109
109
 
110
- <li><a href="#M000984">#indent</a></li>
110
+ <li><a href="#method-i-indent">#indent</a></li>
111
111
 
112
- <li><a href="#M000950">#inheritAttributes</a></li>
112
+ <li><a href="#method-i-inheritAttributes">#inheritAttributes</a></li>
113
113
 
114
- <li><a href="#M000951">#inheritAttributesFromScenario</a></li>
114
+ <li><a href="#method-i-inheritAttributesFromScenario">#inheritAttributesFromScenario</a></li>
115
115
 
116
- <li><a href="#M000974">#inherited</a></li>
116
+ <li><a href="#method-i-inherited">#inherited</a></li>
117
117
 
118
- <li><a href="#M000961">#isChildOf?</a></li>
118
+ <li><a href="#method-i-isChildOf%3F">#isChildOf?</a></li>
119
119
 
120
- <li><a href="#M000962">#leaf?</a></li>
120
+ <li><a href="#method-i-journalMessages">#journalMessages</a></li>
121
121
 
122
- <li><a href="#M000957">#level</a></li>
122
+ <li><a href="#method-i-leaf%3F">#leaf?</a></li>
123
123
 
124
- <li><a href="#M000949">#levelSeqNo</a></li>
124
+ <li><a href="#method-i-level">#level</a></li>
125
125
 
126
- <li><a href="#M000981">#method_missing</a></li>
126
+ <li><a href="#method-i-levelSeqNo">#levelSeqNo</a></li>
127
127
 
128
- <li><a href="#M000975">#modified?</a></li>
128
+ <li><a href="#method-i-method_missing">#method_missing</a></li>
129
129
 
130
- <li><a href="#M000983">#newAttribute</a></li>
130
+ <li><a href="#method-i-modified%3F">#modified?</a></li>
131
131
 
132
- <li><a href="#M000973">#provided</a></li>
132
+ <li><a href="#method-i-provided">#provided</a></li>
133
133
 
134
- <li><a href="#M000976">#query_alert</a></li>
134
+ <li><a href="#method-i-query_alert">#query_alert</a></li>
135
135
 
136
- <li><a href="#M000978">#query_alertmessage</a></li>
136
+ <li><a href="#method-i-query_alertmessages">#query_alertmessages</a></li>
137
137
 
138
- <li><a href="#M000977">#query_alertsummary</a></li>
138
+ <li><a href="#method-i-query_alertsummaries">#query_alertsummaries</a></li>
139
139
 
140
- <li><a href="#M000979">#query_alerttrend</a></li>
140
+ <li><a href="#method-i-query_alerttrend">#query_alerttrend</a></li>
141
141
 
142
- <li><a href="#M000964">#root</a></li>
142
+ <li><a href="#method-i-query_journalmessages">#query_journalmessages</a></li>
143
143
 
144
- <li><a href="#M000970">#set</a></li>
144
+ <li><a href="#method-i-query_journalsummaries">#query_journalsummaries</a></li>
145
+
146
+ <li><a href="#method-i-restoreAttributes">#restoreAttributes</a></li>
147
+
148
+ <li><a href="#method-i-root">#root</a></li>
149
+
150
+ <li><a href="#method-i-set">#set</a></li>
145
151
 
146
152
  </ul>
147
153
  </div>
@@ -158,6 +164,8 @@
158
164
  <h3 class="section-header">Files</h3>
159
165
  <ul>
160
166
 
167
+ <li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
168
+
161
169
  <li class="file"><a href="../COPYING.html">COPYING</a></li>
162
170
 
163
171
  <li class="file"><a href="../README.html">README</a></li>
@@ -327,6 +335,8 @@
327
335
 
328
336
  <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
329
337
 
338
+ <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
339
+
330
340
  <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
331
341
 
332
342
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
@@ -341,6 +351,8 @@
341
351
 
342
352
  <li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
343
353
 
354
+ <li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
355
+
344
356
  <li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
345
357
 
346
358
  <li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
@@ -357,12 +369,16 @@
357
369
 
358
370
  <li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
359
371
 
372
+ <li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
373
+
360
374
  <li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
361
375
 
362
376
  <li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
363
377
 
364
378
  <li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
365
379
 
380
+ <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
381
+
366
382
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
367
383
 
368
384
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -381,6 +397,8 @@
381
397
 
382
398
  <li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
383
399
 
400
+ <li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
401
+
384
402
  <li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
385
403
 
386
404
  <li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
@@ -509,6 +527,8 @@
509
527
 
510
528
  <li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
511
529
 
530
+ <li><a href="../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
531
+
512
532
  <li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
513
533
 
514
534
  <li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
@@ -553,8 +573,12 @@
553
573
 
554
574
  <li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
555
575
 
576
+ <li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
577
+
556
578
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
557
579
 
580
+ <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
581
+
558
582
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
559
583
 
560
584
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -581,6 +605,8 @@
581
605
 
582
606
  <li><a href="../String.html">String</a></li>
583
607
 
608
+ <li><a href="../StringIO.html">StringIO</a></li>
609
+
584
610
  </ul>
585
611
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
586
612
  </div>
@@ -650,21 +676,6 @@ attribute like an URL that contains more details about the task.
650
676
 
651
677
 
652
678
 
653
- </div>
654
- </div>
655
-
656
- <div id="name-attribute-method" class="method-detail">
657
- <a name="name"></a>
658
-
659
- <div class="method-heading attribute-method-heading">
660
- <span class="method-name">name</span><span
661
- class="attribute-access-type">[R]</span>
662
- </div>
663
-
664
- <div class="method-description">
665
-
666
-
667
-
668
679
  </div>
669
680
  </div>
670
681
 
@@ -725,6 +736,23 @@ attribute like an URL that contains more details about the task.
725
736
 
726
737
 
727
738
 
739
+ </div>
740
+ </div>
741
+
742
+ <div id="name-attribute-method" class="method-detail">
743
+ <a name="name"></a>
744
+
745
+ <a name="name="></a>
746
+
747
+ <div class="method-heading attribute-method-heading">
748
+ <span class="method-name">name</span><span
749
+ class="attribute-access-type">[RW]</span>
750
+ </div>
751
+
752
+ <div class="method-description">
753
+
754
+
755
+
728
756
  </div>
729
757
  </div>
730
758
 
@@ -770,7 +798,7 @@ attribute like an URL that contains more details about the task.
770
798
 
771
799
 
772
800
  <div id="new-method" class="method-detail ">
773
- <a name="M000947"></a>
801
+ <a name="method-c-new"></a>
774
802
 
775
803
  <div class="method-heading">
776
804
 
@@ -866,7 +894,7 @@ be nil and specified by a hierachical <em>id</em> (e. g.
866
894
 
867
895
 
868
896
  <div id="--method" class="method-detail ">
869
- <a name="M000972"></a>
897
+ <a name="method-i-%5B%5D"></a>
870
898
 
871
899
  <div class="method-heading">
872
900
 
@@ -889,14 +917,14 @@ the <a href="Scenario.html">Scenario</a>.
889
917
  <div class="method-source-code"
890
918
  id="--source">
891
919
  <pre>
892
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 420</span>
893
- 420: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
894
- 421: <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>)
895
- 422: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
896
- 423: <span class="ruby-keyword kw">else</span>
897
- 424: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
898
- 425: <span class="ruby-keyword kw">end</span>
899
- 426: <span class="ruby-keyword kw">end</span></pre>
920
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 432</span>
921
+ 432: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
922
+ 433: <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>)
923
+ 434: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
924
+ 435: <span class="ruby-keyword kw">else</span>
925
+ 436: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
926
+ 437: <span class="ruby-keyword kw">end</span>
927
+ 438: <span class="ruby-keyword kw">end</span></pre>
900
928
  </div>
901
929
 
902
930
  </div>
@@ -908,7 +936,7 @@ the <a href="Scenario.html">Scenario</a>.
908
936
 
909
937
 
910
938
  <div id="--method" class="method-detail ">
911
- <a name="M000971"></a>
939
+ <a name="method-i-%5B%5D%3D"></a>
912
940
 
913
941
  <div class="method-heading">
914
942
 
@@ -931,17 +959,17 @@ attribute does not exist, an exception is raised.
931
959
  <div class="method-source-code"
932
960
  id="--source">
933
961
  <pre>
934
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 406</span>
935
- 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>, <span class="ruby-identifier">value</span>)
936
- 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>)
937
- 408: <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>)
938
- 409: <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>)
939
- 410: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
940
- 411: <span class="ruby-keyword kw">else</span>
941
- 412: <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>
942
- 413: <span class="ruby-keyword kw">end</span>
943
- 414: <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>)
944
- 415: <span class="ruby-keyword kw">end</span></pre>
962
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 418</span>
963
+ 418: <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>)
964
+ 419: <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>)
965
+ 420: <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>)
966
+ 421: <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>)
967
+ 422: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
968
+ 423: <span class="ruby-keyword kw">else</span>
969
+ 424: <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>
970
+ 425: <span class="ruby-keyword kw">end</span>
971
+ 426: <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>)
972
+ 427: <span class="ruby-keyword kw">end</span></pre>
945
973
  </div>
946
974
 
947
975
  </div>
@@ -953,7 +981,7 @@ attribute does not exist, an exception is raised.
953
981
 
954
982
 
955
983
  <div id="add-hild-method" class="method-detail ">
956
- <a name="M000960"></a>
984
+ <a name="method-i-addChild"></a>
957
985
 
958
986
  <div class="method-heading">
959
987
 
@@ -974,13 +1002,13 @@ Add <em>child</em> node as child to this node.
974
1002
  <div class="method-source-code"
975
1003
  id="add-hild-source">
976
1004
  <pre>
977
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 283</span>
978
- 283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
979
- 284: <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>
980
- 285: <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>
981
- 286: <span class="ruby-keyword kw">end</span>
982
- 287: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
983
- 288: <span class="ruby-keyword kw">end</span></pre>
1005
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 295</span>
1006
+ 295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
1007
+ 296: <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>
1008
+ 297: <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>
1009
+ 298: <span class="ruby-keyword kw">end</span>
1010
+ 299: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
1011
+ 300: <span class="ruby-keyword kw">end</span></pre>
984
1012
  </div>
985
1013
 
986
1014
  </div>
@@ -992,7 +1020,7 @@ Add <em>child</em> node as child to this node.
992
1020
 
993
1021
 
994
1022
  <div id="all-method" class="method-detail ">
995
- <a name="M000952"></a>
1023
+ <a name="method-i-all"></a>
996
1024
 
997
1025
  <div class="method-heading">
998
1026
 
@@ -1013,14 +1041,14 @@ Returns a list of this node and all transient sub nodes.
1013
1041
  <div class="method-source-code"
1014
1042
  id="all-source">
1015
1043
  <pre>
1016
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 191</span>
1017
- 191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
1018
- 192: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1019
- 193: <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>
1020
- 194: <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>)
1021
- 195: <span class="ruby-keyword kw">end</span>
1022
- 196: <span class="ruby-identifier">res</span>
1023
- 197: <span class="ruby-keyword kw">end</span></pre>
1044
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 203</span>
1045
+ 203: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
1046
+ 204: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1047
+ 205: <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>
1048
+ 206: <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>)
1049
+ 207: <span class="ruby-keyword kw">end</span>
1050
+ 208: <span class="ruby-identifier">res</span>
1051
+ 209: <span class="ruby-keyword kw">end</span></pre>
1024
1052
  </div>
1025
1053
 
1026
1054
  </div>
@@ -1032,7 +1060,7 @@ Returns a list of this node and all transient sub nodes.
1032
1060
 
1033
1061
 
1034
1062
  <div id="all-eaves-method" class="method-detail ">
1035
- <a name="M000953"></a>
1063
+ <a name="method-i-allLeaves"></a>
1036
1064
 
1037
1065
  <div class="method-heading">
1038
1066
 
@@ -1053,18 +1081,18 @@ Return a list of all leaf nodes of this node.
1053
1081
  <div class="method-source-code"
1054
1082
  id="all-eaves-source">
1055
1083
  <pre>
1056
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 200</span>
1057
- 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
1058
- 201: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
1059
- 202: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1060
- 203: <span class="ruby-keyword kw">else</span>
1061
- 204: <span class="ruby-identifier">res</span> = []
1062
- 205: <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>
1063
- 206: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
1064
- 207: <span class="ruby-keyword kw">end</span>
1065
- 208: <span class="ruby-keyword kw">end</span>
1066
- 209: <span class="ruby-identifier">res</span>
1067
- 210: <span class="ruby-keyword kw">end</span></pre>
1084
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 212</span>
1085
+ 212: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
1086
+ 213: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
1087
+ 214: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
1088
+ 215: <span class="ruby-keyword kw">else</span>
1089
+ 216: <span class="ruby-identifier">res</span> = []
1090
+ 217: <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>
1091
+ 218: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
1092
+ 219: <span class="ruby-keyword kw">end</span>
1093
+ 220: <span class="ruby-keyword kw">end</span>
1094
+ 221: <span class="ruby-identifier">res</span>
1095
+ 222: <span class="ruby-keyword kw">end</span></pre>
1068
1096
  </div>
1069
1097
 
1070
1098
  </div>
@@ -1076,7 +1104,7 @@ Return a list of all leaf nodes of this node.
1076
1104
 
1077
1105
 
1078
1106
  <div id="attribute-efinition-method" class="method-detail ">
1079
- <a name="M000966"></a>
1107
+ <a name="method-i-attributeDefinition"></a>
1080
1108
 
1081
1109
  <div class="method-heading">
1082
1110
 
@@ -1097,10 +1125,47 @@ Return the type of the attribute with ID <em>attributeId</em>.
1097
1125
  <div class="method-source-code"
1098
1126
  id="attribute-efinition-source">
1099
1127
  <pre>
1100
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 333</span>
1101
- 333: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
1102
- 334: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
1103
- 335: <span class="ruby-keyword kw">end</span></pre>
1128
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 345</span>
1129
+ 345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
1130
+ 346: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
1131
+ 347: <span class="ruby-keyword kw">end</span></pre>
1132
+ </div>
1133
+
1134
+ </div>
1135
+
1136
+
1137
+
1138
+
1139
+ </div>
1140
+
1141
+
1142
+ <div id="backup-ttributes-method" class="method-detail ">
1143
+ <a name="method-i-backupAttributes"></a>
1144
+
1145
+ <div class="method-heading">
1146
+
1147
+ <span class="method-name">backupAttributes</span><span
1148
+ class="method-args">()</span>
1149
+ <span class="method-click-advice">click to toggle source</span>
1150
+
1151
+ </div>
1152
+
1153
+ <div class="method-description">
1154
+
1155
+ <p>
1156
+ This method creates a shallow copy of all attributes and returns them as an
1157
+ Array that can be used with restoreAttributes().
1158
+ </p>
1159
+
1160
+
1161
+
1162
+ <div class="method-source-code"
1163
+ id="backup-ttributes-source">
1164
+ <pre>
1165
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 98</span>
1166
+ 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backupAttributes</span>
1167
+ 99: [ <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">clone</span>, <span class="ruby-ivar">@scenarioAttributes</span>.<span class="ruby-identifier">clone</span> ]
1168
+ 100: <span class="ruby-keyword kw">end</span></pre>
1104
1169
  </div>
1105
1170
 
1106
1171
  </div>
@@ -1112,7 +1177,7 @@ Return the type of the attribute with ID <em>attributeId</em>.
1112
1177
 
1113
1178
 
1114
1179
  <div id="container--method" class="method-detail ">
1115
- <a name="M000963"></a>
1180
+ <a name="method-i-container%3F"></a>
1116
1181
 
1117
1182
  <div class="method-heading">
1118
1183
 
@@ -1133,10 +1198,10 @@ Return true if the node has children.
1133
1198
  <div class="method-source-code"
1134
1199
  id="container--source">
1135
1200
  <pre>
1136
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 305</span>
1137
- 305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
1138
- 306: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1139
- 307: <span class="ruby-keyword kw">end</span></pre>
1201
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 317</span>
1202
+ 317: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
1203
+ 318: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1204
+ 319: <span class="ruby-keyword kw">end</span></pre>
1140
1205
  </div>
1141
1206
 
1142
1207
  </div>
@@ -1148,7 +1213,7 @@ Return true if the node has children.
1148
1213
 
1149
1214
 
1150
1215
  <div id="declare-ttribute-method" class="method-detail ">
1151
- <a name="M000965"></a>
1216
+ <a name="method-i-declareAttribute"></a>
1152
1217
 
1153
1218
  <div class="method-heading">
1154
1219
 
@@ -1171,18 +1236,18 @@ for each scenario.
1171
1236
  <div class="method-source-code"
1172
1237
  id="declare-ttribute-source">
1173
1238
  <pre>
1174
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 320</span>
1175
- 320: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1176
- 321: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
1177
- 322: <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>
1178
- 323: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1179
- 324: <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>
1180
- 325: <span class="ruby-keyword kw">end</span>
1181
- 326: <span class="ruby-keyword kw">else</span>
1182
- 327: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1183
- 328: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
1184
- 329: <span class="ruby-keyword kw">end</span>
1185
- 330: <span class="ruby-keyword kw">end</span></pre>
1239
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 332</span>
1240
+ 332: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
1241
+ 333: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
1242
+ 334: <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>
1243
+ 335: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">attributeType</span>)
1244
+ 336: <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>
1245
+ 337: <span class="ruby-keyword kw">end</span>
1246
+ 338: <span class="ruby-keyword kw">else</span>
1247
+ 339: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">attributeType</span>)
1248
+ 340: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
1249
+ 341: <span class="ruby-keyword kw">end</span>
1250
+ 342: <span class="ruby-keyword kw">end</span></pre>
1186
1251
  </div>
1187
1252
 
1188
1253
  </div>
@@ -1194,7 +1259,7 @@ for each scenario.
1194
1259
 
1195
1260
 
1196
1261
  <div id="deep-clone-method" class="method-detail ">
1197
- <a name="M000948"></a>
1262
+ <a name="method-i-deep_clone"></a>
1198
1263
 
1199
1264
  <div class="method-heading">
1200
1265
 
@@ -1207,7 +1272,8 @@ for each scenario.
1207
1272
  <div class="method-description">
1208
1273
 
1209
1274
  <p>
1210
- We only use <a href="PropertyTreeNode.html#M000948">deep_clone</a> for
1275
+ We only use <a
1276
+ href="PropertyTreeNode.html#method-i-deep_clone">deep_clone</a> for
1211
1277
  attributes, never for properties. Since attributes may reference properties
1212
1278
  these references should remain references.
1213
1279
  </p>
@@ -1232,7 +1298,7 @@ these references should remain references.
1232
1298
 
1233
1299
 
1234
1300
  <div id="each-ttribute-method" class="method-detail ">
1235
- <a name="M000954"></a>
1301
+ <a name="method-i-eachAttribute"></a>
1236
1302
 
1237
1303
  <div class="method-heading">
1238
1304
 
@@ -1253,12 +1319,12 @@ Iterator over all non-scenario-specific attributes of this node.
1253
1319
  <div class="method-source-code"
1254
1320
  id="each-ttribute-source">
1255
1321
  <pre>
1256
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 213</span>
1257
- 213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
1258
- 214: <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>
1259
- 215: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1260
- 216: <span class="ruby-keyword kw">end</span>
1261
- 217: <span class="ruby-keyword kw">end</span></pre>
1322
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 225</span>
1323
+ 225: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
1324
+ 226: <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>
1325
+ 227: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1326
+ 228: <span class="ruby-keyword kw">end</span>
1327
+ 229: <span class="ruby-keyword kw">end</span></pre>
1262
1328
  </div>
1263
1329
 
1264
1330
  </div>
@@ -1270,7 +1336,7 @@ Iterator over all non-scenario-specific attributes of this node.
1270
1336
 
1271
1337
 
1272
1338
  <div id="each-cenario-ttribute-method" class="method-detail ">
1273
- <a name="M000955"></a>
1339
+ <a name="method-i-eachScenarioAttribute"></a>
1274
1340
 
1275
1341
  <div class="method-heading">
1276
1342
 
@@ -1291,12 +1357,12 @@ Iterator over all scenario-specific attributes of this node.
1291
1357
  <div class="method-source-code"
1292
1358
  id="each-cenario-ttribute-source">
1293
1359
  <pre>
1294
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 220</span>
1295
- 220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
1296
- 221: <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>
1297
- 222: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1298
- 223: <span class="ruby-keyword kw">end</span>
1299
- 224: <span class="ruby-keyword kw">end</span></pre>
1360
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 232</span>
1361
+ 232: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
1362
+ 233: <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>
1363
+ 234: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
1364
+ 235: <span class="ruby-keyword kw">end</span>
1365
+ 236: <span class="ruby-keyword kw">end</span></pre>
1300
1366
  </div>
1301
1367
 
1302
1368
  </div>
@@ -1308,7 +1374,7 @@ Iterator over all scenario-specific attributes of this node.
1308
1374
 
1309
1375
 
1310
1376
  <div id="full-d-method" class="method-detail ">
1311
- <a name="M000956"></a>
1377
+ <a name="method-i-fullId"></a>
1312
1378
 
1313
1379
  <div class="method-heading">
1314
1380
 
@@ -1332,17 +1398,17 @@ node to this node, separating the IDs by a dot.
1332
1398
  <div class="method-source-code"
1333
1399
  id="full-d-source">
1334
1400
  <pre>
1335
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 229</span>
1336
- 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
1337
- 230: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
1338
- 231: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
1339
- 232: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1340
- 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>
1341
- 234: <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>
1342
- 235: <span class="ruby-keyword kw">end</span>
1343
- 236: <span class="ruby-keyword kw">end</span>
1344
- 237: <span class="ruby-identifier">res</span>
1345
- 238: <span class="ruby-keyword kw">end</span></pre>
1401
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 241</span>
1402
+ 241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
1403
+ 242: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
1404
+ 243: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
1405
+ 244: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1406
+ 245: <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>
1407
+ 246: <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>
1408
+ 247: <span class="ruby-keyword kw">end</span>
1409
+ 248: <span class="ruby-keyword kw">end</span>
1410
+ 249: <span class="ruby-identifier">res</span>
1411
+ 250: <span class="ruby-keyword kw">end</span></pre>
1346
1412
  </div>
1347
1413
 
1348
1414
  </div>
@@ -1354,7 +1420,7 @@ node to this node, separating the IDs by a dot.
1354
1420
 
1355
1421
 
1356
1422
  <div id="get-method" class="method-detail ">
1357
- <a name="M000967"></a>
1423
+ <a name="method-i-get"></a>
1358
1424
 
1359
1425
  <div class="method-heading">
1360
1426
 
@@ -1377,24 +1443,24 @@ raised.
1377
1443
  <div class="method-source-code"
1378
1444
  id="get-source">
1379
1445
  <pre>
1380
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 340</span>
1381
- 340: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
1382
- 341: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1383
- 342: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1384
- 343: <span class="ruby-ivar">@id</span>
1385
- 344: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1386
- 345: <span class="ruby-ivar">@name</span>
1387
- 346: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1388
- 347: <span class="ruby-ivar">@sequenceNo</span>
1389
- 348: <span class="ruby-keyword kw">else</span>
1390
- 349: <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>)
1391
- 350: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1392
- 351: <span class="ruby-node">&quot;Unknown attribute '#{attributeId}' requested for &quot;</span> <span class="ruby-operator">+</span>
1393
- 352: <span class="ruby-node">&quot;#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'&quot;</span>
1394
- 353: <span class="ruby-keyword kw">end</span>
1395
- 354: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
1396
- 355: <span class="ruby-keyword kw">end</span>
1397
- 356: <span class="ruby-keyword kw">end</span></pre>
1446
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 352</span>
1447
+ 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
1448
+ 353: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1449
+ 354: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1450
+ 355: <span class="ruby-ivar">@id</span>
1451
+ 356: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1452
+ 357: <span class="ruby-ivar">@name</span>
1453
+ 358: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1454
+ 359: <span class="ruby-ivar">@sequenceNo</span>
1455
+ 360: <span class="ruby-keyword kw">else</span>
1456
+ 361: <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>)
1457
+ 362: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1458
+ 363: <span class="ruby-node">&quot;Unknown attribute '#{attributeId}' requested for &quot;</span> <span class="ruby-operator">+</span>
1459
+ 364: <span class="ruby-node">&quot;#{self.class.to_s.sub(/TaskJuggler::/, '')} '#{fullId}'&quot;</span>
1460
+ 365: <span class="ruby-keyword kw">end</span>
1461
+ 366: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
1462
+ 367: <span class="ruby-keyword kw">end</span>
1463
+ 368: <span class="ruby-keyword kw">end</span></pre>
1398
1464
  </div>
1399
1465
 
1400
1466
  </div>
@@ -1406,7 +1472,7 @@ raised.
1406
1472
 
1407
1473
 
1408
1474
  <div id="get-ttr-method" class="method-detail ">
1409
- <a name="M000968"></a>
1475
+ <a name="method-i-getAttr"></a>
1410
1476
 
1411
1477
  <div class="method-heading">
1412
1478
 
@@ -1429,23 +1495,23 @@ provided by <em>scenarioIdx</em>.
1429
1495
  <div class="method-source-code"
1430
1496
  id="get-ttr-source">
1431
1497
  <pre>
1432
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 361</span>
1433
- 361: <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>)
1434
- 362: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
1435
- 363: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1436
- 364: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1437
- 365: <span class="ruby-ivar">@id</span>
1438
- 366: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1439
- 367: <span class="ruby-ivar">@name</span>
1440
- 368: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1441
- 369: <span class="ruby-ivar">@sequenceNo</span>
1442
- 370: <span class="ruby-keyword kw">else</span>
1443
- 371: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
1444
- 372: <span class="ruby-keyword kw">end</span>
1445
- 373: <span class="ruby-keyword kw">else</span>
1446
- 374: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
1447
- 375: <span class="ruby-keyword kw">end</span>
1448
- 376: <span class="ruby-keyword kw">end</span></pre>
1498
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 373</span>
1499
+ 373: <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>)
1500
+ 374: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
1501
+ 375: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1502
+ 376: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1503
+ 377: <span class="ruby-ivar">@id</span>
1504
+ 378: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1505
+ 379: <span class="ruby-ivar">@name</span>
1506
+ 380: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1507
+ 381: <span class="ruby-ivar">@sequenceNo</span>
1508
+ 382: <span class="ruby-keyword kw">else</span>
1509
+ 383: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
1510
+ 384: <span class="ruby-keyword kw">end</span>
1511
+ 385: <span class="ruby-keyword kw">else</span>
1512
+ 386: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
1513
+ 387: <span class="ruby-keyword kw">end</span>
1514
+ 388: <span class="ruby-keyword kw">end</span></pre>
1449
1515
  </div>
1450
1516
 
1451
1517
  </div>
@@ -1457,7 +1523,7 @@ provided by <em>scenarioIdx</em>.
1457
1523
 
1458
1524
 
1459
1525
  <div id="get-ttribute-method" class="method-detail ">
1460
- <a name="M000969"></a>
1526
+ <a name="method-i-getAttribute"></a>
1461
1527
 
1462
1528
  <div class="method-heading">
1463
1529
 
@@ -1479,20 +1545,20 @@ href="AttributeBase.html">AttributeBase</a> object.
1479
1545
  <div class="method-source-code"
1480
1546
  id="get-ttribute-source">
1481
1547
  <pre>
1482
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 380</span>
1483
- 380: <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>)
1484
- 381: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1485
- 382: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1486
- 383: <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>)
1487
- 384: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1488
- 385: <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>)
1489
- 386: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1490
- 387: <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>)
1491
- 388: <span class="ruby-keyword kw">else</span>
1492
- 389: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>] <span class="ruby-operator">||</span>
1493
- 390: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
1494
- 391: <span class="ruby-keyword kw">end</span>
1495
- 392: <span class="ruby-keyword kw">end</span></pre>
1548
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 392</span>
1549
+ 392: <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>)
1550
+ 393: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
1551
+ 394: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
1552
+ 395: <span class="ruby-constant">StringAttribute</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">fullId</span>)
1553
+ 396: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
1554
+ 397: <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>)
1555
+ 398: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
1556
+ 399: <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>)
1557
+ 400: <span class="ruby-keyword kw">else</span>
1558
+ 401: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>] <span class="ruby-operator">||</span>
1559
+ 402: (<span class="ruby-identifier">scenarioIdx</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>])
1560
+ 403: <span class="ruby-keyword kw">end</span>
1561
+ 404: <span class="ruby-keyword kw">end</span></pre>
1496
1562
  </div>
1497
1563
 
1498
1564
  </div>
@@ -1504,7 +1570,7 @@ href="AttributeBase.html">AttributeBase</a> object.
1504
1570
 
1505
1571
 
1506
1572
  <div id="get-ndicies-method" class="method-detail ">
1507
- <a name="M000959"></a>
1573
+ <a name="method-i-getIndicies"></a>
1508
1574
 
1509
1575
  <div class="method-heading">
1510
1576
 
@@ -1527,17 +1593,17 @@ of Fixnums.
1527
1593
  <div class="method-source-code"
1528
1594
  id="get-ndicies-source">
1529
1595
  <pre>
1530
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 271</span>
1531
- 271: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getIndicies</span>
1532
- 272: <span class="ruby-identifier">idcs</span> = []
1533
- 273: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1534
- 274: <span class="ruby-keyword kw">begin</span>
1535
- 275: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1536
- 276: <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>))
1537
- 277: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1538
- 278: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1539
- 279: <span class="ruby-identifier">idcs</span>
1540
- 280: <span class="ruby-keyword kw">end</span></pre>
1596
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 283</span>
1597
+ 283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getIndicies</span>
1598
+ 284: <span class="ruby-identifier">idcs</span> = []
1599
+ 285: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1600
+ 286: <span class="ruby-keyword kw">begin</span>
1601
+ 287: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1602
+ 288: <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>))
1603
+ 289: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1604
+ 290: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1605
+ 291: <span class="ruby-identifier">idcs</span>
1606
+ 292: <span class="ruby-keyword kw">end</span></pre>
1541
1607
  </div>
1542
1608
 
1543
1609
  </div>
@@ -1549,7 +1615,7 @@ of Fixnums.
1549
1615
 
1550
1616
 
1551
1617
  <div id="get-ndicies-method" class="method-detail ">
1552
- <a name="M000958"></a>
1618
+ <a name="method-i-getWBSIndicies"></a>
1553
1619
 
1554
1620
  <div class="method-heading">
1555
1621
 
@@ -1572,18 +1638,18 @@ with an index for each level from the root to this node.
1572
1638
  <div class="method-source-code"
1573
1639
  id="get-ndicies-source">
1574
1640
  <pre>
1575
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 257</span>
1576
- 257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
1577
- 258: <span class="ruby-identifier">idcs</span> = []
1578
- 259: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1579
- 260: <span class="ruby-keyword kw">begin</span>
1580
- 261: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1581
- 262: <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-operator">?</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
1582
- 263: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
1583
- 264: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1584
- 265: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1585
- 266: <span class="ruby-identifier">idcs</span>
1586
- 267: <span class="ruby-keyword kw">end</span></pre>
1641
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 269</span>
1642
+ 269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
1643
+ 270: <span class="ruby-identifier">idcs</span> = []
1644
+ 271: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
1645
+ 272: <span class="ruby-keyword kw">begin</span>
1646
+ 273: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
1647
+ 274: <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-operator">?</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
1648
+ 275: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
1649
+ 276: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
1650
+ 277: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
1651
+ 278: <span class="ruby-identifier">idcs</span>
1652
+ 279: <span class="ruby-keyword kw">end</span></pre>
1587
1653
  </div>
1588
1654
 
1589
1655
  </div>
@@ -1595,7 +1661,7 @@ with an index for each level from the root to this node.
1595
1661
 
1596
1662
 
1597
1663
  <div id="inherit-ttributes-method" class="method-detail ">
1598
- <a name="M000950"></a>
1664
+ <a name="method-i-inheritAttributes"></a>
1599
1665
 
1600
1666
  <div class="method-heading">
1601
1667
 
@@ -1617,53 +1683,53 @@ href="Project.html">Project</a>.
1617
1683
  <div class="method-source-code"
1618
1684
  id="inherit-ttributes-source">
1619
1685
  <pre>
1620
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 102</span>
1621
- 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
1622
- 103: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
1623
- 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>
1624
- 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>
1625
- 106:
1626
- 107: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
1627
- 108: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1628
- 109: <span class="ruby-comment cmt"># Inherit values from parent property</span>
1629
- 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>)
1630
- 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>))
1631
- 112: <span class="ruby-keyword kw">end</span>
1632
- 113: <span class="ruby-keyword kw">else</span>
1633
- 114: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1634
- 115: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1635
- 116: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
1636
- 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>])
1637
- 118: <span class="ruby-keyword kw">end</span>
1638
- 119: <span class="ruby-keyword kw">end</span>
1639
- 120: <span class="ruby-keyword kw">end</span>
1640
- 121: <span class="ruby-keyword kw">end</span>
1641
- 122:
1642
- 123: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1643
- 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>
1644
- 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>
1645
- 126:
1646
- 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>
1647
- 128: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1648
- 129: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
1649
- 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>
1650
- 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>)
1651
- 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>(
1652
- 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>])
1653
- 134: <span class="ruby-keyword kw">end</span>
1654
- 135: <span class="ruby-keyword kw">else</span>
1655
- 136: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1656
- 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1657
- 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>
1658
- 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>]
1659
- 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>(
1660
- 141: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
1661
- 142: <span class="ruby-keyword kw">end</span>
1662
- 143: <span class="ruby-keyword kw">end</span>
1663
- 144: <span class="ruby-keyword kw">end</span>
1664
- 145: <span class="ruby-keyword kw">end</span>
1665
- 146: <span class="ruby-keyword kw">end</span>
1666
- 147: <span class="ruby-keyword kw">end</span></pre>
1686
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 114</span>
1687
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
1688
+ 115: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
1689
+ 116: <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>
1690
+ 117: <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>
1691
+ 118:
1692
+ 119: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
1693
+ 120: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1694
+ 121: <span class="ruby-comment cmt"># Inherit values from parent property</span>
1695
+ 122: <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>)
1696
+ 123: <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>))
1697
+ 124: <span class="ruby-keyword kw">end</span>
1698
+ 125: <span class="ruby-keyword kw">else</span>
1699
+ 126: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1700
+ 127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1701
+ 128: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
1702
+ 129: <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>])
1703
+ 130: <span class="ruby-keyword kw">end</span>
1704
+ 131: <span class="ruby-keyword kw">end</span>
1705
+ 132: <span class="ruby-keyword kw">end</span>
1706
+ 133: <span class="ruby-keyword kw">end</span>
1707
+ 134:
1708
+ 135: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1709
+ 136: <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>
1710
+ 137: <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>
1711
+ 138:
1712
+ 139: <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>
1713
+ 140: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
1714
+ 141: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
1715
+ 142: <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>
1716
+ 143: <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>)
1717
+ 144: <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>(
1718
+ 145: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
1719
+ 146: <span class="ruby-keyword kw">end</span>
1720
+ 147: <span class="ruby-keyword kw">else</span>
1721
+ 148: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
1722
+ 149: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
1723
+ 150: <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>
1724
+ 151: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
1725
+ 152: <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>(
1726
+ 153: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
1727
+ 154: <span class="ruby-keyword kw">end</span>
1728
+ 155: <span class="ruby-keyword kw">end</span>
1729
+ 156: <span class="ruby-keyword kw">end</span>
1730
+ 157: <span class="ruby-keyword kw">end</span>
1731
+ 158: <span class="ruby-keyword kw">end</span>
1732
+ 159: <span class="ruby-keyword kw">end</span></pre>
1667
1733
  </div>
1668
1734
 
1669
1735
  </div>
@@ -1675,7 +1741,7 @@ href="Project.html">Project</a>.
1675
1741
 
1676
1742
 
1677
1743
  <div id="inherit-ttributes-rom-cenario-method" class="method-detail ">
1678
- <a name="M000951"></a>
1744
+ <a name="method-i-inheritAttributesFromScenario"></a>
1679
1745
 
1680
1746
  <div class="method-heading">
1681
1747
 
@@ -1697,45 +1763,45 @@ for attributes that don&#8217;t have a user-specified value already.
1697
1763
  <div class="method-source-code"
1698
1764
  id="inherit-ttributes-rom-cenario-source">
1699
1765
  <pre>
1700
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 151</span>
1701
- 151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1702
- 152: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1703
- 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>
1704
- 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>
1705
- 155:
1706
- 156: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
1707
- 157: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
1708
- 158: <span class="ruby-comment cmt"># the tree.</span>
1709
- 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>
1710
- 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>)
1711
- 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>
1712
- 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>
1713
- 163: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
1714
- 164: <span class="ruby-comment cmt"># we don't have a provided value in this scenario. Inherited values</span>
1715
- 165: <span class="ruby-comment cmt"># will be overwritten</span>
1716
- 166: <span class="ruby-identifier">parPro</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>)
1717
- 167: <span class="ruby-identifier">parInh</span> = <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)
1718
- 168: <span class="ruby-identifier">chiPro</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>)
1719
- 169: <span class="ruby-identifier">chiInh</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>)
1720
- 170: <span class="ruby-comment cmt"># Parent/Child inheritance matrix</span>
1721
- 171: <span class="ruby-comment cmt"># P: Provided p: not provided</span>
1722
- 172: <span class="ruby-comment cmt"># I: Inherited i: not inherited</span>
1723
- 173: <span class="ruby-comment cmt"># -: Illegal N: Don't copy Y: Copy</span>
1724
- 174: <span class="ruby-comment cmt">#</span>
1725
- 175: <span class="ruby-comment cmt"># parent</span>
1726
- 176: <span class="ruby-comment cmt"># PI Pi pI pi</span>
1727
- 177: <span class="ruby-comment cmt"># child PI - - - -</span>
1728
- 178: <span class="ruby-comment cmt"># Pi - N N N</span>
1729
- 179: <span class="ruby-comment cmt"># pI - Y N N</span>
1730
- 180: <span class="ruby-comment cmt"># pi - Y Y N</span>
1731
- 181: <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">parPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">parInh</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">chiPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">chiInh</span>)) <span class="ruby-operator">||</span>
1732
- 182: (<span class="ruby-identifier">parPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">chiPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">chiInh</span>)
1733
- 183: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
1734
- 184: <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>
1735
- 185: <span class="ruby-keyword kw">end</span>
1736
- 186: <span class="ruby-keyword kw">end</span>
1737
- 187: <span class="ruby-keyword kw">end</span>
1738
- 188: <span class="ruby-keyword kw">end</span></pre>
1766
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 163</span>
1767
+ 163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
1768
+ 164: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
1769
+ 165: <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>
1770
+ 166: <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>
1771
+ 167:
1772
+ 168: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
1773
+ 169: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
1774
+ 170: <span class="ruby-comment cmt"># the tree.</span>
1775
+ 171: <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>
1776
+ 172: <span class="ruby-identifier">scenario</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenarioIdx</span>)
1777
+ 173: <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>
1778
+ 174: <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>
1779
+ 175: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
1780
+ 176: <span class="ruby-comment cmt"># we don't have a provided value in this scenario. Inherited values</span>
1781
+ 177: <span class="ruby-comment cmt"># will be overwritten</span>
1782
+ 178: <span class="ruby-identifier">parPro</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>)
1783
+ 179: <span class="ruby-identifier">parInh</span> = <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)
1784
+ 180: <span class="ruby-identifier">chiPro</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>)
1785
+ 181: <span class="ruby-identifier">chiInh</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>)
1786
+ 182: <span class="ruby-comment cmt"># Parent/Child inheritance matrix</span>
1787
+ 183: <span class="ruby-comment cmt"># P: Provided p: not provided</span>
1788
+ 184: <span class="ruby-comment cmt"># I: Inherited i: not inherited</span>
1789
+ 185: <span class="ruby-comment cmt"># -: Illegal N: Don't copy Y: Copy</span>
1790
+ 186: <span class="ruby-comment cmt">#</span>
1791
+ 187: <span class="ruby-comment cmt"># parent</span>
1792
+ 188: <span class="ruby-comment cmt"># PI Pi pI pi</span>
1793
+ 189: <span class="ruby-comment cmt"># child PI - - - -</span>
1794
+ 190: <span class="ruby-comment cmt"># Pi - N N N</span>
1795
+ 191: <span class="ruby-comment cmt"># pI - Y N N</span>
1796
+ 192: <span class="ruby-comment cmt"># pi - Y Y N</span>
1797
+ 193: <span class="ruby-keyword kw">if</span> ((<span class="ruby-identifier">parPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">parInh</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">chiPro</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">chiInh</span>)) <span class="ruby-operator">||</span>
1798
+ 194: (<span class="ruby-identifier">parPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">chiPro</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">chiInh</span>)
1799
+ 195: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
1800
+ 196: <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>
1801
+ 197: <span class="ruby-keyword kw">end</span>
1802
+ 198: <span class="ruby-keyword kw">end</span>
1803
+ 199: <span class="ruby-keyword kw">end</span>
1804
+ 200: <span class="ruby-keyword kw">end</span></pre>
1739
1805
  </div>
1740
1806
 
1741
1807
  </div>
@@ -1747,7 +1813,7 @@ for attributes that don&#8217;t have a user-specified value already.
1747
1813
 
1748
1814
 
1749
1815
  <div id="inherited-method" class="method-detail ">
1750
- <a name="M000974"></a>
1816
+ <a name="method-i-inherited"></a>
1751
1817
 
1752
1818
  <div class="method-heading">
1753
1819
 
@@ -1770,16 +1836,16 @@ scenario.
1770
1836
  <div class="method-source-code"
1771
1837
  id="inherited-source">
1772
1838
  <pre>
1773
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 442</span>
1774
- 442: <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>)
1775
- 443: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1776
- 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">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
1777
- 445: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1778
- 446: <span class="ruby-keyword kw">else</span>
1779
- 447: <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>
1780
- 448: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1781
- 449: <span class="ruby-keyword kw">end</span>
1782
- 450: <span class="ruby-keyword kw">end</span></pre>
1839
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 454</span>
1840
+ 454: <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>)
1841
+ 455: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
1842
+ 456: <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>
1843
+ 457: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1844
+ 458: <span class="ruby-keyword kw">else</span>
1845
+ 459: <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>
1846
+ 460: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
1847
+ 461: <span class="ruby-keyword kw">end</span>
1848
+ 462: <span class="ruby-keyword kw">end</span></pre>
1783
1849
  </div>
1784
1850
 
1785
1851
  </div>
@@ -1791,7 +1857,7 @@ scenario.
1791
1857
 
1792
1858
 
1793
1859
  <div id="is-hild-f--method" class="method-detail ">
1794
- <a name="M000961"></a>
1860
+ <a name="method-i-isChildOf%3F"></a>
1795
1861
 
1796
1862
  <div class="method-heading">
1797
1863
 
@@ -1813,14 +1879,14 @@ Find out if this property is a direct or indirect child of
1813
1879
  <div class="method-source-code"
1814
1880
  id="is-hild-f--source">
1815
1881
  <pre>
1816
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 291</span>
1817
- 291: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
1818
- 292: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
1819
- 293: <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>
1820
- 294: <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>)
1821
- 295: <span class="ruby-keyword kw">end</span>
1822
- 296: <span class="ruby-keyword kw">false</span>
1823
- 297: <span class="ruby-keyword kw">end</span></pre>
1882
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 303</span>
1883
+ 303: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
1884
+ 304: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
1885
+ 305: <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>
1886
+ 306: <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>)
1887
+ 307: <span class="ruby-keyword kw">end</span>
1888
+ 308: <span class="ruby-keyword kw">false</span>
1889
+ 309: <span class="ruby-keyword kw">end</span></pre>
1824
1890
  </div>
1825
1891
 
1826
1892
  </div>
@@ -1832,7 +1898,7 @@ Find out if this property is a direct or indirect child of
1832
1898
 
1833
1899
 
1834
1900
  <div id="leaf--method" class="method-detail ">
1835
- <a name="M000962"></a>
1901
+ <a name="method-i-leaf%3F"></a>
1836
1902
 
1837
1903
  <div class="method-heading">
1838
1904
 
@@ -1853,10 +1919,10 @@ Return true if the node is a leaf node (has no children).
1853
1919
  <div class="method-source-code"
1854
1920
  id="leaf--source">
1855
1921
  <pre>
1856
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 300</span>
1857
- 300: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
1858
- 301: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1859
- 302: <span class="ruby-keyword kw">end</span></pre>
1922
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 312</span>
1923
+ 312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
1924
+ 313: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
1925
+ 314: <span class="ruby-keyword kw">end</span></pre>
1860
1926
  </div>
1861
1927
 
1862
1928
  </div>
@@ -1868,7 +1934,7 @@ Return true if the node is a leaf node (has no children).
1868
1934
 
1869
1935
 
1870
1936
  <div id="level-method" class="method-detail ">
1871
- <a name="M000957"></a>
1937
+ <a name="method-i-level"></a>
1872
1938
 
1873
1939
  <div class="method-heading">
1874
1940
 
@@ -1891,17 +1957,17 @@ have to be calculated each time the function is called.
1891
1957
  <div class="method-source-code"
1892
1958
  id="level-source">
1893
1959
  <pre>
1894
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 243</span>
1895
- 243: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
1896
- 244: <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>
1897
- 245:
1898
- 246: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1899
- 247: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
1900
- 248: <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>
1901
- 249: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1902
- 250: <span class="ruby-keyword kw">end</span>
1903
- 251: <span class="ruby-ivar">@level</span>
1904
- 252: <span class="ruby-keyword kw">end</span></pre>
1960
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 255</span>
1961
+ 255: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
1962
+ 256: <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>
1963
+ 257:
1964
+ 258: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
1965
+ 259: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
1966
+ 260: <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>
1967
+ 261: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1968
+ 262: <span class="ruby-keyword kw">end</span>
1969
+ 263: <span class="ruby-ivar">@level</span>
1970
+ 264: <span class="ruby-keyword kw">end</span></pre>
1905
1971
  </div>
1906
1972
 
1907
1973
  </div>
@@ -1913,7 +1979,7 @@ have to be calculated each time the function is called.
1913
1979
 
1914
1980
 
1915
1981
  <div id="level-eq-o-method" class="method-detail ">
1916
- <a name="M000949"></a>
1982
+ <a name="method-i-levelSeqNo"></a>
1917
1983
 
1918
1984
  <div class="method-heading">
1919
1985
 
@@ -1934,10 +2000,10 @@ Return the index of the child <em>node</em>.
1934
2000
  <div class="method-source-code"
1935
2001
  id="level-eq-o-source">
1936
2002
  <pre>
1937
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 97</span>
1938
- 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
1939
- 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>
1940
- 99: <span class="ruby-keyword kw">end</span></pre>
2003
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 109</span>
2004
+ 109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
2005
+ 110: <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>
2006
+ 111: <span class="ruby-keyword kw">end</span></pre>
1941
2007
  </div>
1942
2008
 
1943
2009
  </div>
@@ -1949,7 +2015,7 @@ Return the index of the child <em>node</em>.
1949
2015
 
1950
2016
 
1951
2017
  <div id="method-missing-method" class="method-detail ">
1952
- <a name="M000981"></a>
2018
+ <a name="method-i-method_missing"></a>
1953
2019
 
1954
2020
  <div class="method-heading">
1955
2021
 
@@ -1974,10 +2040,10 @@ href="Scenario.html">Scenario</a> class.
1974
2040
  <div class="method-source-code"
1975
2041
  id="method-missing-source">
1976
2042
  <pre>
1977
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 533</span>
1978
- 533: <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-identifier">args</span>)
1979
- 534: <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-identifier">args</span>)
1980
- 535: <span class="ruby-keyword kw">end</span></pre>
2043
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 561</span>
2044
+ 561: <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-identifier">args</span>)
2045
+ 562: <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-identifier">args</span>)
2046
+ 563: <span class="ruby-keyword kw">end</span></pre>
1981
2047
  </div>
1982
2048
 
1983
2049
  </div>
@@ -1989,7 +2055,7 @@ href="Scenario.html">Scenario</a> class.
1989
2055
 
1990
2056
 
1991
2057
  <div id="modified--method" class="method-detail ">
1992
- <a name="M000975"></a>
2058
+ <a name="method-i-modified%3F"></a>
1993
2059
 
1994
2060
  <div class="method-heading">
1995
2061
 
@@ -2008,17 +2074,17 @@ href="Scenario.html">Scenario</a> class.
2008
2074
  <div class="method-source-code"
2009
2075
  id="modified--source">
2010
2076
  <pre>
2011
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 452</span>
2012
- 452: <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>)
2013
- 453: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2014
- 454: <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>
2015
- 455: <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>
2016
- 456: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
2017
- 457: <span class="ruby-keyword kw">else</span>
2018
- 458: <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>
2019
- 459: <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>
2020
- 460: <span class="ruby-keyword kw">end</span>
2021
- 461: <span class="ruby-keyword kw">end</span></pre>
2077
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 464</span>
2078
+ 464: <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>)
2079
+ 465: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2080
+ 466: <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>
2081
+ 467: <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>
2082
+ 468: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
2083
+ 469: <span class="ruby-keyword kw">else</span>
2084
+ 470: <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>
2085
+ 471: <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>
2086
+ 472: <span class="ruby-keyword kw">end</span>
2087
+ 473: <span class="ruby-keyword kw">end</span></pre>
2022
2088
  </div>
2023
2089
 
2024
2090
  </div>
@@ -2030,7 +2096,7 @@ href="Scenario.html">Scenario</a> class.
2030
2096
 
2031
2097
 
2032
2098
  <div id="provided-method" class="method-detail ">
2033
- <a name="M000973"></a>
2099
+ <a name="method-i-provided"></a>
2034
2100
 
2035
2101
  <div class="method-heading">
2036
2102
 
@@ -2052,16 +2118,16 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2052
2118
  <div class="method-source-code"
2053
2119
  id="provided-source">
2054
2120
  <pre>
2055
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 430</span>
2056
- 430: <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>)
2057
- 431: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2058
- 432: <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>
2059
- 433: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2060
- 434: <span class="ruby-keyword kw">else</span>
2061
- 435: <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>
2062
- 436: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2063
- 437: <span class="ruby-keyword kw">end</span>
2064
- 438: <span class="ruby-keyword kw">end</span></pre>
2121
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 442</span>
2122
+ 442: <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>)
2123
+ 443: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
2124
+ 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">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
2125
+ 445: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2126
+ 446: <span class="ruby-keyword kw">else</span>
2127
+ 447: <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>
2128
+ 448: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
2129
+ 449: <span class="ruby-keyword kw">end</span>
2130
+ 450: <span class="ruby-keyword kw">end</span></pre>
2065
2131
  </div>
2066
2132
 
2067
2133
  </div>
@@ -2073,7 +2139,7 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2073
2139
 
2074
2140
 
2075
2141
  <div id="query-alert-method" class="method-detail ">
2076
- <a name="M000976"></a>
2142
+ <a name="method-i-query_alert"></a>
2077
2143
 
2078
2144
  <div class="method-heading">
2079
2145
 
@@ -2092,13 +2158,13 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2092
2158
  <div class="method-source-code"
2093
2159
  id="query-alert-source">
2094
2160
  <pre>
2095
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 463</span>
2096
- 463: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alert</span>(<span class="ruby-identifier">query</span>)
2097
- 464: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2098
- 465: <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> =
2099
- 466: <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>)
2100
- 467: <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>)
2101
- 468: <span class="ruby-keyword kw">end</span></pre>
2161
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 475</span>
2162
+ 475: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alert</span>(<span class="ruby-identifier">query</span>)
2163
+ 476: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2164
+ 477: <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> =
2165
+ 478: <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>)
2166
+ 479: <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>)
2167
+ 480: <span class="ruby-keyword kw">end</span></pre>
2102
2168
  </div>
2103
2169
 
2104
2170
  </div>
@@ -2109,12 +2175,12 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2109
2175
  </div>
2110
2176
 
2111
2177
 
2112
- <div id="query-alertmessage-method" class="method-detail ">
2113
- <a name="M000978"></a>
2178
+ <div id="query-alertmessages-method" class="method-detail ">
2179
+ <a name="method-i-query_alertmessages"></a>
2114
2180
 
2115
2181
  <div class="method-heading">
2116
2182
 
2117
- <span class="method-name">query_alertmessage</span><span
2183
+ <span class="method-name">query_alertmessages</span><span
2118
2184
  class="method-args">(query)</span>
2119
2185
  <span class="method-click-advice">click to toggle source</span>
2120
2186
 
@@ -2127,12 +2193,14 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2127
2193
 
2128
2194
 
2129
2195
  <div class="method-source-code"
2130
- id="query-alertmessage-source">
2196
+ id="query-alertmessages-source">
2131
2197
  <pre>
2132
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 474</span>
2133
- 474: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertmessage</span>(<span class="ruby-identifier">query</span>)
2134
- 475: <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
2135
- 476: <span class="ruby-keyword kw">end</span></pre>
2198
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 482</span>
2199
+ 482: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertmessages</span>(<span class="ruby-identifier">query</span>)
2200
+ 483: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">alertEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">1</span>,
2201
+ 484: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2202
+ 485: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
2203
+ 486: <span class="ruby-keyword kw">end</span></pre>
2136
2204
  </div>
2137
2205
 
2138
2206
  </div>
@@ -2143,12 +2211,12 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2143
2211
  </div>
2144
2212
 
2145
2213
 
2146
- <div id="query-alertsummary-method" class="method-detail ">
2147
- <a name="M000977"></a>
2214
+ <div id="query-alertsummaries-method" class="method-detail ">
2215
+ <a name="method-i-query_alertsummaries"></a>
2148
2216
 
2149
2217
  <div class="method-heading">
2150
2218
 
2151
- <span class="method-name">query_alertsummary</span><span
2219
+ <span class="method-name">query_alertsummaries</span><span
2152
2220
  class="method-args">(query)</span>
2153
2221
  <span class="method-click-advice">click to toggle source</span>
2154
2222
 
@@ -2161,12 +2229,14 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2161
2229
 
2162
2230
 
2163
2231
  <div class="method-source-code"
2164
- id="query-alertsummary-source">
2232
+ id="query-alertsummaries-source">
2165
2233
  <pre>
2166
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 470</span>
2167
- 470: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertsummary</span>(<span class="ruby-identifier">query</span>)
2168
- 471: <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
2169
- 472: <span class="ruby-keyword kw">end</span></pre>
2234
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 488</span>
2235
+ 488: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alertsummaries</span>(<span class="ruby-identifier">query</span>)
2236
+ 489: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">alertEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">1</span>,
2237
+ 490: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2238
+ 491: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
2239
+ 492: <span class="ruby-keyword kw">end</span></pre>
2170
2240
  </div>
2171
2241
 
2172
2242
  </div>
@@ -2178,7 +2248,7 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2178
2248
 
2179
2249
 
2180
2250
  <div id="query-alerttrend-method" class="method-detail ">
2181
- <a name="M000979"></a>
2251
+ <a name="method-i-query_alerttrend"></a>
2182
2252
 
2183
2253
  <div class="method-heading">
2184
2254
 
@@ -2197,22 +2267,22 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2197
2267
  <div class="method-source-code"
2198
2268
  id="query-alerttrend-source">
2199
2269
  <pre>
2200
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 478</span>
2201
- 478: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alerttrend</span>(<span class="ruby-identifier">query</span>)
2202
- 479: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2203
- 480: <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>)
2204
- 481: <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>)
2205
- 482: <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>
2206
- 483: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">0</span>
2207
- 484: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Up'</span>
2208
- 485: <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>
2209
- 486: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">2</span>
2210
- 487: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Down'</span>
2211
- 488: <span class="ruby-keyword kw">else</span>
2212
- 489: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">1</span>
2213
- 490: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Flat'</span>
2214
- 491: <span class="ruby-keyword kw">end</span>
2215
- 492: <span class="ruby-keyword kw">end</span></pre>
2270
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 506</span>
2271
+ 506: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_alerttrend</span>(<span class="ruby-identifier">query</span>)
2272
+ 507: <span class="ruby-identifier">journal</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>]
2273
+ 508: <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>)
2274
+ 509: <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>)
2275
+ 510: <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>
2276
+ 511: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">0</span>
2277
+ 512: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Up'</span>
2278
+ 513: <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>
2279
+ 514: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">2</span>
2280
+ 515: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Down'</span>
2281
+ 516: <span class="ruby-keyword kw">else</span>
2282
+ 517: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">sortable</span> = <span class="ruby-value">1</span>
2283
+ 518: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">string</span> = <span class="ruby-value str">'Flat'</span>
2284
+ 519: <span class="ruby-keyword kw">end</span>
2285
+ 520: <span class="ruby-keyword kw">end</span></pre>
2216
2286
  </div>
2217
2287
 
2218
2288
  </div>
@@ -2223,36 +2293,32 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
2223
2293
  </div>
2224
2294
 
2225
2295
 
2226
- <div id="root-method" class="method-detail ">
2227
- <a name="M000964"></a>
2296
+ <div id="query-journalmessages-method" class="method-detail ">
2297
+ <a name="method-i-query_journalmessages"></a>
2228
2298
 
2229
2299
  <div class="method-heading">
2230
2300
 
2231
- <span class="method-name">root</span><span
2232
- class="method-args">()</span>
2301
+ <span class="method-name">query_journalmessages</span><span
2302
+ class="method-args">(query)</span>
2233
2303
  <span class="method-click-advice">click to toggle source</span>
2234
2304
 
2235
2305
  </div>
2236
2306
 
2237
2307
  <div class="method-description">
2238
2308
 
2239
- <p>
2240
- Return the top-level node for this node.
2241
- </p>
2309
+
2242
2310
 
2243
2311
 
2244
2312
 
2245
2313
  <div class="method-source-code"
2246
- id="root-source">
2314
+ id="query-journalmessages-source">
2247
2315
  <pre>
2248
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 310</span>
2249
- 310: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
2250
- 311: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
2251
- 312: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2252
- 313: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2253
- 314: <span class="ruby-keyword kw">end</span>
2254
- 315: <span class="ruby-identifier">n</span>
2255
- 316: <span class="ruby-keyword kw">end</span></pre>
2316
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 494</span>
2317
+ 494: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_journalmessages</span>(<span class="ruby-identifier">query</span>)
2318
+ 495: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
2319
+ 496: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2320
+ 497: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">true</span>)
2321
+ 498: <span class="ruby-keyword kw">end</span></pre>
2256
2322
  </div>
2257
2323
 
2258
2324
  </div>
@@ -2263,13 +2329,49 @@ Return the top-level node for this node.
2263
2329
  </div>
2264
2330
 
2265
2331
 
2266
- <div id="set-method" class="method-detail ">
2267
- <a name="M000970"></a>
2332
+ <div id="query-journalsummaries-method" class="method-detail ">
2333
+ <a name="method-i-query_journalsummaries"></a>
2268
2334
 
2269
2335
  <div class="method-heading">
2270
2336
 
2271
- <span class="method-name">set</span><span
2272
- class="method-args">(attributeId, value)</span>
2337
+ <span class="method-name">query_journalsummaries</span><span
2338
+ class="method-args">(query)</span>
2339
+ <span class="method-click-advice">click to toggle source</span>
2340
+
2341
+ </div>
2342
+
2343
+ <div class="method-description">
2344
+
2345
+
2346
+
2347
+
2348
+
2349
+ <div class="method-source-code"
2350
+ id="query-journalsummaries-source">
2351
+ <pre>
2352
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 500</span>
2353
+ 500: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">query_journalsummaries</span>(<span class="ruby-identifier">query</span>)
2354
+ 501: <span class="ruby-identifier">journalMessages</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
2355
+ 502: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>),
2356
+ 503: <span class="ruby-identifier">query</span>, <span class="ruby-keyword kw">false</span>)
2357
+ 504: <span class="ruby-keyword kw">end</span></pre>
2358
+ </div>
2359
+
2360
+ </div>
2361
+
2362
+
2363
+
2364
+
2365
+ </div>
2366
+
2367
+
2368
+ <div id="restore-ttributes-method" class="method-detail ">
2369
+ <a name="method-i-restoreAttributes"></a>
2370
+
2371
+ <div class="method-heading">
2372
+
2373
+ <span class="method-name">restoreAttributes</span><span
2374
+ class="method-args">(backup)</span>
2273
2375
  <span class="method-click-advice">click to toggle source</span>
2274
2376
 
2275
2377
  </div>
@@ -2277,23 +2379,19 @@ Return the top-level node for this node.
2277
2379
  <div class="method-description">
2278
2380
 
2279
2381
  <p>
2280
- Set the non-scenario-specific attribute with ID <em>attributeId</em> to
2281
- <em>value</em>. In case the attribute does not exist, an exception is
2282
- raised.
2382
+ Restore the attributes to a previously saved state. <em>backup</em> is an
2383
+ Array generated by backupAttributes().
2283
2384
  </p>
2284
2385
 
2285
2386
 
2286
2387
 
2287
2388
  <div class="method-source-code"
2288
- id="set-source">
2389
+ id="restore-ttributes-source">
2289
2390
  <pre>
2290
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 396</span>
2291
- 396: <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>)
2292
- 397: <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>)
2293
- 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>
2294
- 399: <span class="ruby-keyword kw">end</span>
2295
- 400: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
2296
- 401: <span class="ruby-keyword kw">end</span></pre>
2391
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 104</span>
2392
+ 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restoreAttributes</span>(<span class="ruby-identifier">backup</span>)
2393
+ 105: <span class="ruby-ivar">@attributes</span>, <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-identifier">backup</span>
2394
+ 106: <span class="ruby-keyword kw">end</span></pre>
2297
2395
  </div>
2298
2396
 
2299
2397
  </div>
@@ -2304,19 +2402,53 @@ raised.
2304
2402
  </div>
2305
2403
 
2306
2404
 
2307
- </div>
2308
-
2309
- <div id="private-instance-method-details" class="method-section section">
2310
- <h3 class="section-header">Private Instance Methods</h3>
2405
+ <div id="root-method" class="method-detail ">
2406
+ <a name="method-i-root"></a>
2407
+
2408
+ <div class="method-heading">
2409
+
2410
+ <span class="method-name">root</span><span
2411
+ class="method-args">()</span>
2412
+ <span class="method-click-advice">click to toggle source</span>
2413
+
2414
+ </div>
2415
+
2416
+ <div class="method-description">
2417
+
2418
+ <p>
2419
+ Return the top-level node for this node.
2420
+ </p>
2421
+
2422
+
2423
+
2424
+ <div class="method-source-code"
2425
+ id="root-source">
2426
+ <pre>
2427
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 322</span>
2428
+ 322: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
2429
+ 323: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
2430
+ 324: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2431
+ 325: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
2432
+ 326: <span class="ruby-keyword kw">end</span>
2433
+ 327: <span class="ruby-identifier">n</span>
2434
+ 328: <span class="ruby-keyword kw">end</span></pre>
2435
+ </div>
2436
+
2437
+ </div>
2438
+
2439
+
2440
+
2441
+
2442
+ </div>
2311
2443
 
2312
2444
 
2313
- <div id="alert-essages-method" class="method-detail ">
2314
- <a name="M000982"></a>
2445
+ <div id="set-method" class="method-detail ">
2446
+ <a name="method-i-set"></a>
2315
2447
 
2316
2448
  <div class="method-heading">
2317
2449
 
2318
- <span class="method-name">alertMessages</span><span
2319
- class="method-args">(query, longVersion)</span>
2450
+ <span class="method-name">set</span><span
2451
+ class="method-args">(attributeId, value)</span>
2320
2452
  <span class="method-click-advice">click to toggle source</span>
2321
2453
 
2322
2454
  </div>
@@ -2324,57 +2456,23 @@ raised.
2324
2456
  <div class="method-description">
2325
2457
 
2326
2458
  <p>
2327
- Create a blog-style list of all alert messages that match the <a
2328
- href="Query.html">Query</a>.
2459
+ Set the non-scenario-specific attribute with ID <em>attributeId</em> to
2460
+ <em>value</em>. In case the attribute does not exist, an exception is
2461
+ raised.
2329
2462
  </p>
2330
2463
 
2331
2464
 
2332
2465
 
2333
2466
  <div class="method-source-code"
2334
- id="alert-essages-source">
2467
+ id="set-source">
2335
2468
  <pre>
2336
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 540</span>
2337
- 540: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertMessages</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">longVersion</span>)
2338
- 541: <span class="ruby-comment cmt"># The components of the message are either UTF-8 text or RichText. For</span>
2339
- 542: <span class="ruby-comment cmt"># the RichText components, we use the originally provided markup since</span>
2340
- 543: <span class="ruby-comment cmt"># we compose the result as RichText markup first.</span>
2341
- 544: <span class="ruby-identifier">rText</span> = <span class="ruby-value str">''</span>
2342
- 545: <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'journal'</span>].<span class="ruby-identifier">currentEntries</span>(<span class="ruby-identifier">query</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>,
2343
- 546: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">start</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
2344
- 547: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;=== &lt;nowiki&gt;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">headline</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;&lt;/nowiki&gt; ===\n&quot;</span>
2345
- 548: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''Reported on #{entry.date.to_s(query.timeFormat)}'' &quot;</span>
2346
- 549: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">author</span>
2347
- 550: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''by &lt;nowiki&gt;#{entry.author.name}&lt;/nowiki&gt;''&quot;</span>
2348
- 551: <span class="ruby-keyword kw">end</span>
2349
- 552: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2350
- 553: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>
2351
- 554: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2352
- 555: <span class="ruby-keyword kw">end</span>
2353
- 556: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">longVersion</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>
2354
- 557: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2355
- 558: <span class="ruby-keyword kw">end</span>
2356
- 559: <span class="ruby-keyword kw">end</span>
2357
- 560: <span class="ruby-comment cmt"># Now convert the RichText markup String into RichTextIntermediate</span>
2358
- 561: <span class="ruby-comment cmt"># format.</span>
2359
- 562: <span class="ruby-identifier">handlers</span> = [
2360
- 563: <span class="ruby-constant">RTFNavigator</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>),
2361
- 564: <span class="ruby-constant">RTFQuery</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>),
2362
- 565: <span class="ruby-constant">RTFReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>)
2363
- 566: ]
2364
- 567: <span class="ruby-keyword kw">begin</span>
2365
- 568: <span class="ruby-identifier">rti</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rText</span>, <span class="ruby-identifier">handlers</span>).<span class="ruby-identifier">generateIntermediateFormat</span>
2366
- 569: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2367
- 570: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Error while processing Rich Text\n&quot;</span> <span class="ruby-operator">+</span>
2368
- 571: <span class="ruby-node">&quot;Line #{msg.lineNo}: #{msg.text}\n&quot;</span> <span class="ruby-operator">+</span>
2369
- 572: <span class="ruby-node">&quot;#{msg.line}&quot;</span>
2370
- 573: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2371
- 574: <span class="ruby-keyword kw">end</span>
2372
- 575: <span class="ruby-comment cmt"># No section numbers, please!</span>
2373
- 576: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
2374
- 577: <span class="ruby-comment cmt"># We use a special class to allow CSS formating.</span>
2375
- 578: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">cssClass</span> = <span class="ruby-value str">'tj_journal'</span>
2376
- 579: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rti</span>
2377
- 580: <span class="ruby-keyword kw">end</span></pre>
2469
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 408</span>
2470
+ 408: <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>)
2471
+ 409: <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>)
2472
+ 410: <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>
2473
+ 411: <span class="ruby-keyword kw">end</span>
2474
+ 412: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
2475
+ 413: <span class="ruby-keyword kw">end</span></pre>
2378
2476
  </div>
2379
2477
 
2380
2478
  </div>
@@ -2385,8 +2483,14 @@ href="Query.html">Query</a>.
2385
2483
  </div>
2386
2484
 
2387
2485
 
2486
+ </div>
2487
+
2488
+ <div id="private-instance-method-details" class="method-section section">
2489
+ <h3 class="section-header">Private Instance Methods</h3>
2490
+
2491
+
2388
2492
  <div id="indent-method" class="method-detail ">
2389
- <a name="M000984"></a>
2493
+ <a name="method-i-indent"></a>
2390
2494
 
2391
2495
  <div class="method-heading">
2392
2496
 
@@ -2405,10 +2509,10 @@ href="Query.html">Query</a>.
2405
2509
  <div class="method-source-code"
2406
2510
  id="indent-source">
2407
2511
  <pre>
2408
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 592</span>
2409
- 592: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tag</span>, <span class="ruby-identifier">str</span>)
2410
- 593: <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-node">&quot;\n#{' ' * tag.length}&quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>
2411
- 594: <span class="ruby-keyword kw">end</span></pre>
2512
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 605</span>
2513
+ 605: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tag</span>, <span class="ruby-identifier">str</span>)
2514
+ 606: <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-node">&quot;\n#{' ' * tag.length}&quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span>
2515
+ 607: <span class="ruby-keyword kw">end</span></pre>
2412
2516
  </div>
2413
2517
 
2414
2518
  </div>
@@ -2419,36 +2523,66 @@ href="Query.html">Query</a>.
2419
2523
  </div>
2420
2524
 
2421
2525
 
2422
- <div id="new-ttribute-method" class="method-detail ">
2423
- <a name="M000983"></a>
2526
+ <div id="journal-essages-method" class="method-detail ">
2527
+ <a name="method-i-journalMessages"></a>
2424
2528
 
2425
2529
  <div class="method-heading">
2426
2530
 
2427
- <span class="method-name">newAttribute</span><span
2428
- class="method-args">(attributeType)</span>
2531
+ <span class="method-name">journalMessages</span><span
2532
+ class="method-args">(entries, query, longVersion)</span>
2429
2533
  <span class="method-click-advice">click to toggle source</span>
2430
2534
 
2431
2535
  </div>
2432
2536
 
2433
2537
  <div class="method-description">
2434
2538
 
2435
-
2539
+ <p>
2540
+ Create a blog-style list of all alert messages that match the <a
2541
+ href="Query.html">Query</a>.
2542
+ </p>
2436
2543
 
2437
2544
 
2438
2545
 
2439
2546
  <div class="method-source-code"
2440
- id="new-ttribute-source">
2547
+ id="journal-essages-source">
2441
2548
  <pre>
2442
- <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 582</span>
2443
- 582: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
2444
- 583: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">objClass</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">attributeType</span>)
2445
- 584: <span class="ruby-comment cmt"># If the attribute requires a pointer to the project, we'll hand it over.</span>
2446
- 585: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">'setProject'</span>)
2447
- 586: <span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">setProject</span>(<span class="ruby-ivar">@project</span>)
2448
- 587: <span class="ruby-keyword kw">end</span>
2449
- 588:
2450
- 589: <span class="ruby-identifier">attribute</span>
2451
- 590: <span class="ruby-keyword kw">end</span></pre>
2549
+ <span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 568</span>
2550
+ 568: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">journalMessages</span>(<span class="ruby-identifier">entries</span>, <span class="ruby-identifier">query</span>, <span class="ruby-identifier">longVersion</span>)
2551
+ 569: <span class="ruby-comment cmt"># The components of the message are either UTF-8 text or RichText. For</span>
2552
+ 570: <span class="ruby-comment cmt"># the RichText components, we use the originally provided markup since</span>
2553
+ 571: <span class="ruby-comment cmt"># we compose the result as RichText markup first.</span>
2554
+ 572: <span class="ruby-identifier">rText</span> = <span class="ruby-value str">''</span>
2555
+ 573: <span class="ruby-identifier">entries</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
2556
+ 574: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;=== &lt;nowiki&gt;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">headline</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;&lt;/nowiki&gt; ===\n&quot;</span>
2557
+ 575: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''Reported on #{entry.date.to_s(query.timeFormat)}'' &quot;</span>
2558
+ 576: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">author</span>
2559
+ 577: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;''by &lt;nowiki&gt;#{entry.author.name}&lt;/nowiki&gt;''&quot;</span>
2560
+ 578: <span class="ruby-keyword kw">end</span>
2561
+ 579: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2562
+ 580: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>
2563
+ 581: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">summary</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2564
+ 582: <span class="ruby-keyword kw">end</span>
2565
+ 583: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">longVersion</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>
2566
+ 584: <span class="ruby-identifier">rText</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">details</span>.<span class="ruby-identifier">richText</span>.<span class="ruby-identifier">inputText</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n\n&quot;</span>
2567
+ 585: <span class="ruby-keyword kw">end</span>
2568
+ 586: <span class="ruby-keyword kw">end</span>
2569
+ 587: <span class="ruby-comment cmt"># Now convert the RichText markup String into RichTextIntermediate</span>
2570
+ 588: <span class="ruby-comment cmt"># format.</span>
2571
+ 589: <span class="ruby-keyword kw">begin</span>
2572
+ 590: <span class="ruby-identifier">rti</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rText</span>, <span class="ruby-constant">RTFHandlers</span>.<span class="ruby-identifier">create</span>(<span class="ruby-ivar">@project</span>)).
2573
+ 591: <span class="ruby-identifier">generateIntermediateFormat</span>
2574
+ 592: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
2575
+ 593: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Error while processing Rich Text\n&quot;</span> <span class="ruby-operator">+</span>
2576
+ 594: <span class="ruby-node">&quot;Line #{msg.lineNo}: #{msg.text}\n&quot;</span> <span class="ruby-operator">+</span>
2577
+ 595: <span class="ruby-node">&quot;#{msg.line}&quot;</span>
2578
+ 596: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2579
+ 597: <span class="ruby-keyword kw">end</span>
2580
+ 598: <span class="ruby-comment cmt"># No section numbers, please!</span>
2581
+ 599: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
2582
+ 600: <span class="ruby-comment cmt"># We use a special class to allow CSS formating.</span>
2583
+ 601: <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">cssClass</span> = <span class="ruby-value str">'tj_journal'</span>
2584
+ 602: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rti</span>
2585
+ 603: <span class="ruby-keyword kw">end</span></pre>
2452
2586
  </div>
2453
2587
 
2454
2588
  </div>