taskjuggler 0.0.8 → 0.0.9

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 (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -148,6 +148,8 @@
148
148
 
149
149
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
150
150
 
151
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
152
+
151
153
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
152
154
 
153
155
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -226,6 +228,8 @@
226
228
 
227
229
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
228
230
 
231
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
232
+
229
233
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
230
234
 
231
235
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -258,6 +262,8 @@
258
262
 
259
263
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
260
264
 
265
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
266
+
261
267
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
262
268
 
263
269
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -538,6 +544,8 @@
538
544
 
539
545
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
540
546
 
547
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
548
+
541
549
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
542
550
 
543
551
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -564,8 +572,6 @@
564
572
 
565
573
  <li><a href="../String.html">String</a></li>
566
574
 
567
- <li><a href="../StringIO.html">StringIO</a></li>
568
-
569
575
  </ul>
570
576
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
571
577
  </div>
@@ -618,10 +624,10 @@ authenticated with the proper key.
618
624
  <div class="method-source-code"
619
625
  id="new-source">
620
626
  <pre>
621
- <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 341</span>
622
- 341: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">server</span>)
623
- 342: <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">server</span>
624
- 343: <span class="ruby-keyword kw">end</span></pre>
627
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 343</span>
628
+ 343: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">server</span>)
629
+ 344: <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">server</span>
630
+ 345: <span class="ruby-keyword kw">end</span></pre>
625
631
  </div>
626
632
 
627
633
  </div>
@@ -658,12 +664,12 @@ authenticated with the proper key.
658
664
  <div class="method-source-code"
659
665
  id="get-roject-ame-source">
660
666
  <pre>
661
- <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 351</span>
662
- 351: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getProjectName</span>(<span class="ruby-identifier">authKey</span>)
663
- 352: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'getReportServer'</span>)
664
- 353:
665
- 354: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">getProjectName</span> }
666
- 355: <span class="ruby-keyword kw">end</span></pre>
667
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 353</span>
668
+ 353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getProjectName</span>(<span class="ruby-identifier">authKey</span>)
669
+ 354: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'getReportServer'</span>)
670
+ 355:
671
+ 356: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">getProjectName</span> }
672
+ 357: <span class="ruby-keyword kw">end</span></pre>
667
673
  </div>
668
674
 
669
675
  </div>
@@ -694,12 +700,12 @@ authenticated with the proper key.
694
700
  <div class="method-source-code"
695
701
  id="get-eport-ist-source">
696
702
  <pre>
697
- <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 357</span>
698
- 357: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getReportList</span>(<span class="ruby-identifier">authKey</span>)
699
- 358: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'getReportServer'</span>)
700
- 359:
701
- 360: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">getReportList</span> }
702
- 361: <span class="ruby-keyword kw">end</span></pre>
703
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 359</span>
704
+ 359: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getReportList</span>(<span class="ruby-identifier">authKey</span>)
705
+ 360: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'getReportServer'</span>)
706
+ 361:
707
+ 362: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">getReportList</span> }
708
+ 363: <span class="ruby-keyword kw">end</span></pre>
703
709
  </div>
704
710
 
705
711
  </div>
@@ -730,12 +736,12 @@ authenticated with the proper key.
730
736
  <div class="method-source-code"
731
737
  id="get-eport-erver-source">
732
738
  <pre>
733
- <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 363</span>
734
- 363: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getReportServer</span>(<span class="ruby-identifier">authKey</span>)
735
- 364: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'getReportServer'</span>)
736
- 365:
737
- 366: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">getReportServer</span> }
738
- 367: <span class="ruby-keyword kw">end</span></pre>
739
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 365</span>
740
+ 365: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getReportServer</span>(<span class="ruby-identifier">authKey</span>)
741
+ 366: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'getReportServer'</span>)
742
+ 367:
743
+ 368: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">getReportServer</span> }
744
+ 369: <span class="ruby-keyword kw">end</span></pre>
739
745
  </div>
740
746
 
741
747
  </div>
@@ -766,12 +772,12 @@ authenticated with the proper key.
766
772
  <div class="method-source-code"
767
773
  id="load-roject-source">
768
774
  <pre>
769
- <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 345</span>
770
- 345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">loadProject</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">args</span>)
771
- 346: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'loadProject'</span>)
772
- 347:
773
- 348: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">loadProject</span>(<span class="ruby-identifier">args</span>) }
774
- 349: <span class="ruby-keyword kw">end</span></pre>
775
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 347</span>
776
+ 347: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">loadProject</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">args</span>)
777
+ 348: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'loadProject'</span>)
778
+ 349:
779
+ 350: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">loadProject</span>(<span class="ruby-identifier">args</span>) }
780
+ 351: <span class="ruby-keyword kw">end</span></pre>
775
781
  </div>
776
782
 
777
783
  </div>
@@ -802,13 +808,13 @@ authenticated with the proper key.
802
808
  <div class="method-source-code"
803
809
  id="ping-source">
804
810
  <pre>
805
- <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 369</span>
806
- 369: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ping</span>(<span class="ruby-identifier">authKey</span>)
807
- 370: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'ping'</span>)
808
- 371:
809
- 372: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">ping</span> }
810
- 373: <span class="ruby-keyword kw">true</span>
811
- 374: <span class="ruby-keyword kw">end</span></pre>
811
+ <span class="ruby-comment cmt"># File lib/daemon/ProjectServer.rb, line 371</span>
812
+ 371: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ping</span>(<span class="ruby-identifier">authKey</span>)
813
+ 372: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'ping'</span>)
814
+ 373:
815
+ 374: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">ping</span> }
816
+ 375: <span class="ruby-keyword kw">true</span>
817
+ 376: <span class="ruby-keyword kw">end</span></pre>
812
818
  </div>
813
819
 
814
820
  </div>
@@ -129,6 +129,8 @@
129
129
 
130
130
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
131
131
 
132
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
133
+
132
134
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
133
135
 
134
136
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -207,6 +209,8 @@
207
209
 
208
210
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
209
211
 
212
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
213
+
210
214
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
211
215
 
212
216
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -239,6 +243,8 @@
239
243
 
240
244
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
241
245
 
246
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
247
+
242
248
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
243
249
 
244
250
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -519,6 +525,8 @@
519
525
 
520
526
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
521
527
 
528
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
529
+
522
530
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
523
531
 
524
532
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -545,8 +553,6 @@
545
553
 
546
554
  <li><a href="../String.html">String</a></li>
547
555
 
548
- <li><a href="../StringIO.html">StringIO</a></li>
549
-
550
556
  </ul>
551
557
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
552
558
  </div>
@@ -594,10 +600,10 @@
594
600
  <div class="method-source-code"
595
601
  id="new-source">
596
602
  <pre>
597
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 382</span>
598
- 382: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
599
- 383: <span class="ruby-keyword kw">super</span>
600
- 384: <span class="ruby-keyword kw">end</span></pre>
603
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 381</span>
604
+ 381: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
605
+ 382: <span class="ruby-keyword kw">super</span>
606
+ 383: <span class="ruby-keyword kw">end</span></pre>
601
607
  </div>
602
608
 
603
609
  </div>
@@ -628,10 +634,10 @@
628
634
  <div class="method-source-code"
629
635
  id="tjp-d-source">
630
636
  <pre>
631
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 386</span>
632
- 386: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">PropertyAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
633
- 387: <span class="ruby-value str">'property'</span>
634
- 388: <span class="ruby-keyword kw">end</span></pre>
637
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 385</span>
638
+ 385: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">PropertyAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
639
+ 386: <span class="ruby-value str">'property'</span>
640
+ 387: <span class="ruby-keyword kw">end</span></pre>
635
641
  </div>
636
642
 
637
643
  </div>
@@ -151,6 +151,8 @@
151
151
 
152
152
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
153
153
 
154
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
155
+
154
156
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
155
157
 
156
158
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -229,6 +231,8 @@
229
231
 
230
232
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
231
233
 
234
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
235
+
232
236
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
233
237
 
234
238
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -261,6 +265,8 @@
261
265
 
262
266
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
263
267
 
268
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
269
+
264
270
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
265
271
 
266
272
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -541,6 +547,8 @@
541
547
 
542
548
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
543
549
 
550
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
551
+
544
552
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
545
553
 
546
554
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -567,8 +575,6 @@
567
575
 
568
576
  <li><a href="../String.html">String</a></li>
569
577
 
570
- <li><a href="../StringIO.html">StringIO</a></li>
571
-
572
578
  </ul>
573
579
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
574
580
  </div>
@@ -743,31 +749,31 @@ be of that set.
743
749
  <div class="method-source-code"
744
750
  id="new-source">
745
751
  <pre>
746
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 30</span>
747
- 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-identifier">copyItems</span> = <span class="ruby-keyword kw">true</span>)
748
- 31: <span class="ruby-ivar">@items</span> = <span class="ruby-identifier">copyItems</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_ary</span> <span class="ruby-operator">:</span> []
749
- 32: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">PropertySet</span>)
750
- 33: <span class="ruby-comment cmt"># Create a PropertyList from the given PropertySet.</span>
751
- 34: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">arg</span>
752
- 35: <span class="ruby-comment cmt"># To keep the list sorted, we may have to access Property attributes.</span>
753
- 36: <span class="ruby-comment cmt"># Pre-scheduling, we can only use static attributes. Post-scheduling,</span>
754
- 37: <span class="ruby-comment cmt"># we can include dynamic attributes as well. This query template will</span>
755
- 38: <span class="ruby-comment cmt"># be used to query attributes when it has been set. Otherwise the list</span>
756
- 39: <span class="ruby-comment cmt"># can only be sorted by static attributes.</span>
757
- 40: <span class="ruby-ivar">@query</span> = <span class="ruby-keyword kw">nil</span>
758
- 41: <span class="ruby-identifier">resetSorting</span>
759
- 42: <span class="ruby-identifier">addSortingCriteria</span>(<span class="ruby-value str">'seqno'</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1</span>)
760
- 43: <span class="ruby-identifier">sort!</span>
761
- 44: <span class="ruby-keyword kw">else</span>
762
- 45: <span class="ruby-comment cmt"># Create a PropertyList from a given other PropertyList.</span>
763
- 46: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">propertySet</span>
764
- 47: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
765
- 48: <span class="ruby-ivar">@sortingLevels</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sortingLevels</span>
766
- 49: <span class="ruby-ivar">@sortingCriteria</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sortingCriteria</span>.<span class="ruby-identifier">dup</span>
767
- 50: <span class="ruby-ivar">@sortingUp</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sortingUp</span>.<span class="ruby-identifier">dup</span>
768
- 51: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">dup</span>
769
- 52: <span class="ruby-keyword kw">end</span>
770
- 53: <span class="ruby-keyword kw">end</span></pre>
752
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 31</span>
753
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-identifier">copyItems</span> = <span class="ruby-keyword kw">true</span>)
754
+ 32: <span class="ruby-ivar">@items</span> = <span class="ruby-identifier">copyItems</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_ary</span> <span class="ruby-operator">:</span> []
755
+ 33: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">PropertySet</span>)
756
+ 34: <span class="ruby-comment cmt"># Create a PropertyList from the given PropertySet.</span>
757
+ 35: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">arg</span>
758
+ 36: <span class="ruby-comment cmt"># To keep the list sorted, we may have to access Property attributes.</span>
759
+ 37: <span class="ruby-comment cmt"># Pre-scheduling, we can only use static attributes. Post-scheduling,</span>
760
+ 38: <span class="ruby-comment cmt"># we can include dynamic attributes as well. This query template will</span>
761
+ 39: <span class="ruby-comment cmt"># be used to query attributes when it has been set. Otherwise the list</span>
762
+ 40: <span class="ruby-comment cmt"># can only be sorted by static attributes.</span>
763
+ 41: <span class="ruby-ivar">@query</span> = <span class="ruby-keyword kw">nil</span>
764
+ 42: <span class="ruby-identifier">resetSorting</span>
765
+ 43: <span class="ruby-identifier">addSortingCriteria</span>(<span class="ruby-value str">'seqno'</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1</span>)
766
+ 44: <span class="ruby-identifier">sort!</span>
767
+ 45: <span class="ruby-keyword kw">else</span>
768
+ 46: <span class="ruby-comment cmt"># Create a PropertyList from a given other PropertyList.</span>
769
+ 47: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">propertySet</span>
770
+ 48: <span class="ruby-ivar">@query</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">query</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
771
+ 49: <span class="ruby-ivar">@sortingLevels</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sortingLevels</span>
772
+ 50: <span class="ruby-ivar">@sortingCriteria</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sortingCriteria</span>.<span class="ruby-identifier">dup</span>
773
+ 51: <span class="ruby-ivar">@sortingUp</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sortingUp</span>.<span class="ruby-identifier">dup</span>
774
+ 52: <span class="ruby-ivar">@scenarioIdx</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">dup</span>
775
+ 53: <span class="ruby-keyword kw">end</span>
776
+ 54: <span class="ruby-keyword kw">end</span></pre>
771
777
  </div>
772
778
 
773
779
  </div>
@@ -808,19 +814,19 @@ again.
808
814
  <div class="method-source-code"
809
815
  id="append-source">
810
816
  <pre>
811
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 84</span>
812
- 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">append</span>(<span class="ruby-identifier">list</span>)
813
- 85: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
814
- 86: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
815
- 87: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@propertySet</span>
816
- 88: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: All nodes must belong to the same PropertySet.&quot;</span>
817
- 89: <span class="ruby-keyword kw">end</span>
818
- 90: <span class="ruby-keyword kw">end</span>
819
- 91: <span class="ruby-keyword kw">end</span>
820
- 92:
821
- 93: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">list</span>)
822
- 94: <span class="ruby-identifier">sort!</span>
823
- 95: <span class="ruby-keyword kw">end</span></pre>
817
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 85</span>
818
+ 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">append</span>(<span class="ruby-identifier">list</span>)
819
+ 86: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
820
+ 87: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
821
+ 88: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@propertySet</span>
822
+ 89: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: All nodes must belong to the same PropertySet.&quot;</span>
823
+ 90: <span class="ruby-keyword kw">end</span>
824
+ 91: <span class="ruby-keyword kw">end</span>
825
+ 92: <span class="ruby-keyword kw">end</span>
826
+ 93:
827
+ 94: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">list</span>)
828
+ 95: <span class="ruby-identifier">sort!</span>
829
+ 96: <span class="ruby-keyword kw">end</span></pre>
824
830
  </div>
825
831
 
826
832
  </div>
@@ -854,13 +860,13 @@ The index starts with 0 and increases for each property.
854
860
  <div class="method-source-code"
855
861
  id="index-source">
856
862
  <pre>
857
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 146</span>
858
- 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
859
- 147: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
860
- 148: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
861
- 149: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'index'</span>, <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>)
862
- 150: <span class="ruby-keyword kw">end</span>
863
- 151: <span class="ruby-keyword kw">end</span></pre>
863
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 147</span>
864
+ 147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
865
+ 148: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
866
+ 149: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
867
+ 150: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'index'</span>, <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>)
868
+ 151: <span class="ruby-keyword kw">end</span>
869
+ 152: <span class="ruby-keyword kw">end</span></pre>
864
870
  </div>
865
871
 
866
872
  </div>
@@ -893,10 +899,10 @@ Return the Array index of <em>item</em> or nil.
893
899
  <div class="method-source-code"
894
900
  id="item-ndex-source">
895
901
  <pre>
896
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 140</span>
897
- 140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">itemIndex</span>(<span class="ruby-identifier">item</span>)
898
- 141: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">item</span>)
899
- 142: <span class="ruby-keyword kw">end</span></pre>
902
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 141</span>
903
+ 141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">itemIndex</span>(<span class="ruby-identifier">item</span>)
904
+ 142: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">item</span>)
905
+ 143: <span class="ruby-keyword kw">end</span></pre>
900
906
  </div>
901
907
 
902
908
  </div>
@@ -931,10 +937,10 @@ All missing methods will be propagated to the @items Array.
931
937
  <div class="method-source-code"
932
938
  id="method-missing-source">
933
939
  <pre>
934
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 58</span>
935
- 58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">block</span>)
936
- 59: <span class="ruby-ivar">@items</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>, &amp;<span class="ruby-identifier">block</span>)
937
- 60: <span class="ruby-keyword kw">end</span></pre>
940
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 59</span>
941
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">block</span>)
942
+ 60: <span class="ruby-ivar">@items</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>, &amp;<span class="ruby-identifier">block</span>)
943
+ 61: <span class="ruby-keyword kw">end</span></pre>
938
944
  </div>
939
945
 
940
946
  </div>
@@ -967,13 +973,13 @@ Clear all sorting levels.
967
973
  <div class="method-source-code"
968
974
  id="reset-orting-source">
969
975
  <pre>
970
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 75</span>
971
- 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resetSorting</span>
972
- 76: <span class="ruby-ivar">@sortingLevels</span> = <span class="ruby-value">0</span>
973
- 77: <span class="ruby-ivar">@sortingCriteria</span> = []
974
- 78: <span class="ruby-ivar">@sortingUp</span> = []
975
- 79: <span class="ruby-ivar">@scenarioIdx</span> = []
976
- 80: <span class="ruby-keyword kw">end</span></pre>
976
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 76</span>
977
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resetSorting</span>
978
+ 77: <span class="ruby-ivar">@sortingLevels</span> = <span class="ruby-value">0</span>
979
+ 78: <span class="ruby-ivar">@sortingCriteria</span> = []
980
+ 79: <span class="ruby-ivar">@sortingUp</span> = []
981
+ 80: <span class="ruby-ivar">@scenarioIdx</span> = []
982
+ 81: <span class="ruby-keyword kw">end</span></pre>
977
983
  </div>
978
984
 
979
985
  </div>
@@ -1006,13 +1012,13 @@ Set all sorting levels as Array of triplets.
1006
1012
  <div class="method-source-code"
1007
1013
  id="set-orting-source">
1008
1014
  <pre>
1009
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 67</span>
1010
- 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setSorting</span>(<span class="ruby-identifier">modes</span>)
1011
- 68: <span class="ruby-identifier">resetSorting</span>
1012
- 69: <span class="ruby-identifier">modes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">mode</span><span class="ruby-operator">|</span>
1013
- 70: <span class="ruby-identifier">addSortingCriteria</span>(*<span class="ruby-identifier">mode</span>)
1014
- 71: <span class="ruby-keyword kw">end</span>
1015
- 72: <span class="ruby-keyword kw">end</span></pre>
1015
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 68</span>
1016
+ 68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setSorting</span>(<span class="ruby-identifier">modes</span>)
1017
+ 69: <span class="ruby-identifier">resetSorting</span>
1018
+ 70: <span class="ruby-identifier">modes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">mode</span><span class="ruby-operator">|</span>
1019
+ 71: <span class="ruby-identifier">addSortingCriteria</span>(*<span class="ruby-identifier">mode</span>)
1020
+ 72: <span class="ruby-keyword kw">end</span>
1021
+ 73: <span class="ruby-keyword kw">end</span></pre>
1016
1022
  </div>
1017
1023
 
1018
1024
  </div>
@@ -1045,40 +1051,40 @@ Sort the properties according to the currently defined sorting criteria.
1045
1051
  <div class="method-source-code"
1046
1052
  id="sort--source">
1047
1053
  <pre>
1048
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 105</span>
1049
- 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort!</span>
1050
- 106: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">treeMode?</span>
1051
- 107: <span class="ruby-comment cmt"># Tree sorting is somewhat complex. It will be based on the 'tree'</span>
1052
- 108: <span class="ruby-comment cmt"># attribute of the PropertyTreeNodes but we have to update them first</span>
1053
- 109: <span class="ruby-comment cmt"># based on the other sorting criteria.</span>
1054
- 110:
1055
- 111: <span class="ruby-comment cmt"># Remove the tree sorting mode first.</span>
1056
- 112: <span class="ruby-identifier">sc</span> = <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-value">0</span>)
1057
- 113: <span class="ruby-identifier">su</span> = <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-value">0</span>)
1058
- 114: <span class="ruby-identifier">si</span> = <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-value">0</span>)
1059
- 115: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
1060
- 116:
1061
- 117: <span class="ruby-comment cmt"># Sort the list based on the rest of the modes.</span>
1062
- 118: <span class="ruby-identifier">sortInternal</span>
1063
- 119: <span class="ruby-comment cmt"># The update the 'index' attributes of the PropertyTreeNodes.</span>
1064
- 120: <span class="ruby-identifier">index</span>
1065
- 121: <span class="ruby-comment cmt"># An then the 'tree' attributes.</span>
1066
- 122: <span class="ruby-identifier">indexTree</span>
1067
- 123:
1068
- 124: <span class="ruby-comment cmt"># Restore the 'tree' sorting mode again.</span>
1069
- 125: <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">sc</span>)
1070
- 126: <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">su</span>)
1071
- 127: <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">si</span>)
1072
- 128: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1073
- 129:
1074
- 130: <span class="ruby-comment cmt"># Sort again, now based on the updated 'tree' attributes.</span>
1075
- 131: <span class="ruby-identifier">sortInternal</span>
1076
- 132: <span class="ruby-keyword kw">else</span>
1077
- 133: <span class="ruby-identifier">sortInternal</span>
1078
- 134: <span class="ruby-keyword kw">end</span>
1079
- 135: <span class="ruby-comment cmt"># Update indexes.</span>
1080
- 136: <span class="ruby-identifier">index</span>
1081
- 137: <span class="ruby-keyword kw">end</span></pre>
1054
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 106</span>
1055
+ 106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort!</span>
1056
+ 107: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">treeMode?</span>
1057
+ 108: <span class="ruby-comment cmt"># Tree sorting is somewhat complex. It will be based on the 'tree'</span>
1058
+ 109: <span class="ruby-comment cmt"># attribute of the PropertyTreeNodes but we have to update them first</span>
1059
+ 110: <span class="ruby-comment cmt"># based on the other sorting criteria.</span>
1060
+ 111:
1061
+ 112: <span class="ruby-comment cmt"># Remove the tree sorting mode first.</span>
1062
+ 113: <span class="ruby-identifier">sc</span> = <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-value">0</span>)
1063
+ 114: <span class="ruby-identifier">su</span> = <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-value">0</span>)
1064
+ 115: <span class="ruby-identifier">si</span> = <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-value">0</span>)
1065
+ 116: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
1066
+ 117:
1067
+ 118: <span class="ruby-comment cmt"># Sort the list based on the rest of the modes.</span>
1068
+ 119: <span class="ruby-identifier">sortInternal</span>
1069
+ 120: <span class="ruby-comment cmt"># The update the 'index' attributes of the PropertyTreeNodes.</span>
1070
+ 121: <span class="ruby-identifier">index</span>
1071
+ 122: <span class="ruby-comment cmt"># An then the 'tree' attributes.</span>
1072
+ 123: <span class="ruby-identifier">indexTree</span>
1073
+ 124:
1074
+ 125: <span class="ruby-comment cmt"># Restore the 'tree' sorting mode again.</span>
1075
+ 126: <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">sc</span>)
1076
+ 127: <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">su</span>)
1077
+ 128: <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">si</span>)
1078
+ 129: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1079
+ 130:
1080
+ 131: <span class="ruby-comment cmt"># Sort again, now based on the updated 'tree' attributes.</span>
1081
+ 132: <span class="ruby-identifier">sortInternal</span>
1082
+ 133: <span class="ruby-keyword kw">else</span>
1083
+ 134: <span class="ruby-identifier">sortInternal</span>
1084
+ 135: <span class="ruby-keyword kw">end</span>
1085
+ 136: <span class="ruby-comment cmt"># Update indexes.</span>
1086
+ 137: <span class="ruby-identifier">index</span>
1087
+ 138: <span class="ruby-keyword kw">end</span></pre>
1082
1088
  </div>
1083
1089
 
1084
1090
  </div>
@@ -1109,10 +1115,10 @@ Sort the properties according to the currently defined sorting criteria.
1109
1115
  <div class="method-source-code"
1110
1116
  id="to-ary-source">
1111
1117
  <pre>
1112
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 62</span>
1113
- 62: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ary</span>
1114
- 63: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">dup</span>
1115
- 64: <span class="ruby-keyword kw">end</span></pre>
1118
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 63</span>
1119
+ 63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ary</span>
1120
+ 64: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">dup</span>
1121
+ 65: <span class="ruby-keyword kw">end</span></pre>
1116
1122
  </div>
1117
1123
 
1118
1124
  </div>
@@ -1147,10 +1153,10 @@ returns true if the mode is set.
1147
1153
  <div class="method-source-code"
1148
1154
  id="tree-ode--source">
1149
1155
  <pre>
1150
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 100</span>
1151
- 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">treeMode?</span>
1152
- 101: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'tree'</span>
1153
- 102: <span class="ruby-keyword kw">end</span></pre>
1156
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 101</span>
1157
+ 101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">treeMode?</span>
1158
+ 102: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'tree'</span>
1159
+ 103: <span class="ruby-keyword kw">end</span></pre>
1154
1160
  </div>
1155
1161
 
1156
1162
  </div>
@@ -1189,32 +1195,32 @@ Append a new sorting level to the existing levels.
1189
1195
  <div class="method-source-code"
1190
1196
  id="add-orting-riteria-source">
1191
1197
  <pre>
1192
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 168</span>
1193
- 168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addSortingCriteria</span>(<span class="ruby-identifier">criteria</span>, <span class="ruby-identifier">up</span>, <span class="ruby-identifier">scIdx</span>)
1194
- 169: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-identifier">criteria</span>) <span class="ruby-operator">||</span>
1195
- 170: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">criteria</span>, <span class="ruby-identifier">scIdx</span>)
1196
- 171: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1197
- 172: <span class="ruby-node">&quot;Unknown attribute #{criteria} used for sorting criterium&quot;</span>
1198
- 173: <span class="ruby-keyword kw">end</span>
1199
- 174: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scIdx</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
1200
- 175: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>)
1201
- 176: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1202
- 177: <span class="ruby-node">&quot;Attribute #{criteria} is scenario specific.&quot;</span> <span class="ruby-operator">+</span>
1203
- 178: <span class="ruby-value str">&quot;You must specify a scenario id.&quot;</span>
1204
- 179: <span class="ruby-keyword kw">end</span>
1205
- 180: <span class="ruby-keyword kw">else</span>
1206
- 181: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>).<span class="ruby-identifier">nil?</span>
1207
- 182: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown scenario index #{scIdx} used.&quot;</span>
1208
- 183: <span class="ruby-keyword kw">end</span>
1209
- 184: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>)
1210
- 185: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Attribute #{criteria} is not scenario specific&quot;</span>
1211
- 186: <span class="ruby-keyword kw">end</span>
1212
- 187: <span class="ruby-keyword kw">end</span>
1213
- 188: <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">criteria</span>)
1214
- 189: <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">up</span>)
1215
- 190: <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">scIdx</span>)
1216
- 191: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1217
- 192: <span class="ruby-keyword kw">end</span></pre>
1198
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 169</span>
1199
+ 169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addSortingCriteria</span>(<span class="ruby-identifier">criteria</span>, <span class="ruby-identifier">up</span>, <span class="ruby-identifier">scIdx</span>)
1200
+ 170: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-identifier">criteria</span>) <span class="ruby-operator">||</span>
1201
+ 171: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">criteria</span>, <span class="ruby-identifier">scIdx</span>)
1202
+ 172: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1203
+ 173: <span class="ruby-node">&quot;Unknown attribute #{criteria} used for sorting criterium&quot;</span>
1204
+ 174: <span class="ruby-keyword kw">end</span>
1205
+ 175: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scIdx</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
1206
+ 176: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>)
1207
+ 177: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
1208
+ 178: <span class="ruby-node">&quot;Attribute #{criteria} is scenario specific.&quot;</span> <span class="ruby-operator">+</span>
1209
+ 179: <span class="ruby-value str">&quot;You must specify a scenario id.&quot;</span>
1210
+ 180: <span class="ruby-keyword kw">end</span>
1211
+ 181: <span class="ruby-keyword kw">else</span>
1212
+ 182: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>).<span class="ruby-identifier">nil?</span>
1213
+ 183: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown scenario index #{scIdx} used.&quot;</span>
1214
+ 184: <span class="ruby-keyword kw">end</span>
1215
+ 185: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>)
1216
+ 186: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Attribute #{criteria} is not scenario specific&quot;</span>
1217
+ 187: <span class="ruby-keyword kw">end</span>
1218
+ 188: <span class="ruby-keyword kw">end</span>
1219
+ 189: <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">criteria</span>)
1220
+ 190: <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">up</span>)
1221
+ 191: <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">scIdx</span>)
1222
+ 192: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1223
+ 193: <span class="ruby-keyword kw">end</span></pre>
1218
1224
  </div>
1219
1225
 
1220
1226
  </div>
@@ -1248,23 +1254,23 @@ Update the &#8216;tree&#8217; indicies that are needed for the
1248
1254
  <div class="method-source-code"
1249
1255
  id="index-ree-source">
1250
1256
  <pre>
1251
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 195</span>
1252
- 195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indexTree</span>
1253
- 196: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1254
- 197: <span class="ruby-comment cmt"># The indicies are an Array if the 'index' attributes for this</span>
1255
- 198: <span class="ruby-comment cmt"># property and all its parents.</span>
1256
- 199: <span class="ruby-identifier">treeIdcs</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getIndicies</span>
1257
- 200: <span class="ruby-comment cmt"># Now convert them to a String.</span>
1258
- 201: <span class="ruby-identifier">tree</span> = <span class="ruby-value str">''</span>
1259
- 202: <span class="ruby-identifier">treeIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
1260
- 203: <span class="ruby-comment cmt"># Prefix the level index with zeros so that we always have a 6</span>
1261
- 204: <span class="ruby-comment cmt"># digit long String. 6 digits should be large enough for all</span>
1262
- 205: <span class="ruby-comment cmt"># real-world projects.</span>
1263
- 206: <span class="ruby-identifier">tree</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">rjust</span>(<span class="ruby-value">6</span>, <span class="ruby-value str">'0'</span>)
1264
- 207: <span class="ruby-keyword kw">end</span>
1265
- 208: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'tree'</span>, <span class="ruby-identifier">tree</span>)
1266
- 209: <span class="ruby-keyword kw">end</span>
1267
- 210: <span class="ruby-keyword kw">end</span></pre>
1257
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 196</span>
1258
+ 196: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indexTree</span>
1259
+ 197: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span>
1260
+ 198: <span class="ruby-comment cmt"># The indicies are an Array if the 'index' attributes for this</span>
1261
+ 199: <span class="ruby-comment cmt"># property and all its parents.</span>
1262
+ 200: <span class="ruby-identifier">treeIdcs</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getIndicies</span>
1263
+ 201: <span class="ruby-comment cmt"># Now convert them to a String.</span>
1264
+ 202: <span class="ruby-identifier">tree</span> = <span class="ruby-value str">''</span>
1265
+ 203: <span class="ruby-identifier">treeIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
1266
+ 204: <span class="ruby-comment cmt"># Prefix the level index with zeros so that we always have a 6</span>
1267
+ 205: <span class="ruby-comment cmt"># digit long String. 6 digits should be large enough for all</span>
1268
+ 206: <span class="ruby-comment cmt"># real-world projects.</span>
1269
+ 207: <span class="ruby-identifier">tree</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">rjust</span>(<span class="ruby-value">6</span>, <span class="ruby-value str">'0'</span>)
1270
+ 208: <span class="ruby-keyword kw">end</span>
1271
+ 209: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'tree'</span>, <span class="ruby-identifier">tree</span>)
1272
+ 210: <span class="ruby-keyword kw">end</span>
1273
+ 211: <span class="ruby-keyword kw">end</span></pre>
1268
1274
  </div>
1269
1275
 
1270
1276
  </div>
@@ -1295,51 +1301,51 @@ Update the &#8216;tree&#8217; indicies that are needed for the
1295
1301
  <div class="method-source-code"
1296
1302
  id="sort-nternal-source">
1297
1303
  <pre>
1298
- <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 212</span>
1299
- 212: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sortInternal</span>
1300
- 213: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
1301
- 214: <span class="ruby-identifier">res</span> = <span class="ruby-value">0</span>
1302
- 215: <span class="ruby-ivar">@sortingLevels</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>
1303
- 216: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@query</span>
1304
- 217: <span class="ruby-comment cmt"># In case we have a Query reference, we get the two values with this</span>
1305
- 218: <span class="ruby-comment cmt"># query.</span>
1306
- 219: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]
1307
- 220: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>]
1308
- 221:
1309
- 222: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">a</span>
1310
- 223: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span>
1311
- 224: <span class="ruby-identifier">aVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span>
1312
- 225:
1313
- 226: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">b</span>
1314
- 227: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span>
1315
- 228: <span class="ruby-identifier">bVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span>
1316
- 229: <span class="ruby-keyword kw">else</span>
1317
- 230: <span class="ruby-comment cmt"># In case we don't have a query, we use the static mechanism.</span>
1318
- 231: <span class="ruby-comment cmt"># If the scenario index is negative we have a non-scenario-specific</span>
1319
- 232: <span class="ruby-comment cmt"># attribute.</span>
1320
- 233: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
1321
- 234: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'id'</span>
1322
- 235: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">fullId</span>
1323
- 236: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">fullId</span>
1324
- 237: <span class="ruby-keyword kw">else</span>
1325
- 238: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>])
1326
- 239: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>])
1327
- 240: <span class="ruby-keyword kw">end</span>
1328
- 241: <span class="ruby-keyword kw">else</span>
1329
- 242: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]]
1330
- 243: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]]
1331
- 244: <span class="ruby-keyword kw">end</span>
1332
- 245: <span class="ruby-keyword kw">end</span>
1333
- 246: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">aVal</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">bVal</span>
1334
- 247: <span class="ruby-comment cmt"># Invert the result if we have to sort in decreasing order.</span>
1335
- 248: <span class="ruby-identifier">res</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">res</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@sortingUp</span>[<span class="ruby-identifier">i</span>]
1336
- 249: <span class="ruby-comment cmt"># If the two elements are equal on this compare level we try the next</span>
1337
- 250: <span class="ruby-comment cmt"># level.</span>
1338
- 251: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
1339
- 252: <span class="ruby-keyword kw">end</span>
1340
- 253: <span class="ruby-identifier">res</span>
1341
- 254: <span class="ruby-keyword kw">end</span>
1342
- 255: <span class="ruby-keyword kw">end</span></pre>
1304
+ <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 213</span>
1305
+ 213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sortInternal</span>
1306
+ 214: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
1307
+ 215: <span class="ruby-identifier">res</span> = <span class="ruby-value">0</span>
1308
+ 216: <span class="ruby-ivar">@sortingLevels</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>
1309
+ 217: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@query</span>
1310
+ 218: <span class="ruby-comment cmt"># In case we have a Query reference, we get the two values with this</span>
1311
+ 219: <span class="ruby-comment cmt"># query.</span>
1312
+ 220: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]
1313
+ 221: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>]
1314
+ 222:
1315
+ 223: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">a</span>
1316
+ 224: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span>
1317
+ 225: <span class="ruby-identifier">aVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span>
1318
+ 226:
1319
+ 227: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">b</span>
1320
+ 228: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span>
1321
+ 229: <span class="ruby-identifier">bVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span>
1322
+ 230: <span class="ruby-keyword kw">else</span>
1323
+ 231: <span class="ruby-comment cmt"># In case we don't have a query, we use the static mechanism.</span>
1324
+ 232: <span class="ruby-comment cmt"># If the scenario index is negative we have a non-scenario-specific</span>
1325
+ 233: <span class="ruby-comment cmt"># attribute.</span>
1326
+ 234: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
1327
+ 235: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'id'</span>
1328
+ 236: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">fullId</span>
1329
+ 237: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">fullId</span>
1330
+ 238: <span class="ruby-keyword kw">else</span>
1331
+ 239: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>])
1332
+ 240: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>])
1333
+ 241: <span class="ruby-keyword kw">end</span>
1334
+ 242: <span class="ruby-keyword kw">else</span>
1335
+ 243: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]]
1336
+ 244: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]]
1337
+ 245: <span class="ruby-keyword kw">end</span>
1338
+ 246: <span class="ruby-keyword kw">end</span>
1339
+ 247: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">aVal</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">bVal</span>
1340
+ 248: <span class="ruby-comment cmt"># Invert the result if we have to sort in decreasing order.</span>
1341
+ 249: <span class="ruby-identifier">res</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">res</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@sortingUp</span>[<span class="ruby-identifier">i</span>]
1342
+ 250: <span class="ruby-comment cmt"># If the two elements are equal on this compare level we try the next</span>
1343
+ 251: <span class="ruby-comment cmt"># level.</span>
1344
+ 252: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
1345
+ 253: <span class="ruby-keyword kw">end</span>
1346
+ 254: <span class="ruby-identifier">res</span>
1347
+ 255: <span class="ruby-keyword kw">end</span>
1348
+ 256: <span class="ruby-keyword kw">end</span></pre>
1343
1349
  </div>
1344
1350
 
1345
1351
  </div>