taskjuggler 0.0.7 → 0.0.8

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 (415) hide show
  1. data/CHANGELOG +119 -0
  2. data/benchmarks/allocatedSlots.tjp +1602 -0
  3. data/benchmarks/booking.tjp +40 -30
  4. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
  5. data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
  6. data/benchmarks/gantt.tjp +57 -0
  7. data/benchmarks/htmltaskreport.tjp +26 -1
  8. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
  9. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
  10. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
  11. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
  12. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
  13. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
  14. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
  15. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
  16. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
  17. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
  18. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
  19. data/benchmarks/profile.clt +36082 -0
  20. data/benchmarks/profile.html +58182 -0
  21. data/benchmarks/runbench.rb +6 -0
  22. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
  23. data/doc/AppConfig.html +85 -37
  24. data/doc/Arguments.html +11 -1
  25. data/doc/CHANGELOG.html +131 -2
  26. data/doc/COPYING.html +11 -1
  27. data/doc/Object.html +12 -3
  28. data/doc/README.html +11 -1
  29. data/doc/RuntimeConfig.html +11 -1
  30. data/doc/String.html +11 -1
  31. data/doc/StringIO.html +11 -1
  32. data/doc/TaskJuggler.html +250 -219
  33. data/doc/TaskJuggler/Account.html +11 -1
  34. data/doc/TaskJuggler/AccountAttribute.html +11 -1
  35. data/doc/TaskJuggler/AccountScenario.html +11 -1
  36. data/doc/TaskJuggler/Allocation.html +11 -1
  37. data/doc/TaskJuggler/AllocationAttribute.html +11 -1
  38. data/doc/TaskJuggler/AttributeBase.html +11 -1
  39. data/doc/TaskJuggler/AttributeDefinition.html +11 -1
  40. data/doc/TaskJuggler/BatchProcessor.html +11 -1
  41. data/doc/TaskJuggler/Booking.html +11 -1
  42. data/doc/TaskJuggler/BookingListAttribute.html +11 -1
  43. data/doc/TaskJuggler/BooleanAttribute.html +11 -1
  44. data/doc/TaskJuggler/CSVFile.html +12 -2
  45. data/doc/TaskJuggler/CellSettingPattern.html +11 -1
  46. data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
  47. data/doc/TaskJuggler/Charge.html +11 -1
  48. data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
  49. data/doc/TaskJuggler/ChargeSet.html +11 -1
  50. data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
  51. data/doc/TaskJuggler/CollisionDetector.html +1063 -0
  52. data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
  53. data/doc/TaskJuggler/ColumnTable.html +11 -1
  54. data/doc/TaskJuggler/Daemon.html +11 -1
  55. data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
  56. data/doc/TaskJuggler/DataCacheEntry.html +711 -0
  57. data/doc/TaskJuggler/DateAttribute.html +11 -1
  58. data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
  59. data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
  60. data/doc/TaskJuggler/DurationAttribute.html +16 -5
  61. data/doc/TaskJuggler/FileList.html +11 -1
  62. data/doc/TaskJuggler/FileRecord.html +11 -1
  63. data/doc/TaskJuggler/FixnumAttribute.html +19 -9
  64. data/doc/TaskJuggler/FlagListAttribute.html +29 -19
  65. data/doc/TaskJuggler/FloatAttribute.html +23 -13
  66. data/doc/TaskJuggler/FormatListAttribute.html +19 -9
  67. data/doc/TaskJuggler/GanttChart.html +94 -133
  68. data/doc/TaskJuggler/GanttContainer.html +11 -1
  69. data/doc/TaskJuggler/GanttHeader.html +11 -1
  70. data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
  71. data/doc/TaskJuggler/GanttLine.html +11 -1
  72. data/doc/TaskJuggler/GanttLoadStack.html +11 -1
  73. data/doc/TaskJuggler/GanttMilestone.html +11 -1
  74. data/doc/TaskJuggler/GanttRouter.html +247 -596
  75. data/doc/TaskJuggler/GanttTaskBar.html +11 -1
  76. data/doc/TaskJuggler/HTMLDocument.html +11 -1
  77. data/doc/TaskJuggler/HTMLGraphics.html +11 -1
  78. data/doc/TaskJuggler/Interval.html +11 -1
  79. data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
  80. data/doc/TaskJuggler/JobInfo.html +11 -1
  81. data/doc/TaskJuggler/Journal.html +11 -1
  82. data/doc/TaskJuggler/JournalEntry.html +11 -1
  83. data/doc/TaskJuggler/JournalEntryList.html +11 -1
  84. data/doc/TaskJuggler/KeywordArray.html +11 -1
  85. data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
  86. data/doc/TaskJuggler/Limits.html +11 -1
  87. data/doc/TaskJuggler/Limits/Limit.html +11 -1
  88. data/doc/TaskJuggler/LimitsAttribute.html +24 -14
  89. data/doc/TaskJuggler/ListAttributeBase.html +11 -1
  90. data/doc/TaskJuggler/Log.html +11 -1
  91. data/doc/TaskJuggler/LogFile.html +11 -1
  92. data/doc/TaskJuggler/LogicalAttribute.html +11 -1
  93. data/doc/TaskJuggler/LogicalExpression.html +11 -1
  94. data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
  95. data/doc/TaskJuggler/LogicalFlag.html +11 -1
  96. data/doc/TaskJuggler/LogicalFunction.html +11 -1
  97. data/doc/TaskJuggler/LogicalOperation.html +11 -1
  98. data/doc/TaskJuggler/Macro.html +11 -1
  99. data/doc/TaskJuggler/MacroTable.html +11 -1
  100. data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
  101. data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
  102. data/doc/TaskJuggler/Message.html +11 -1
  103. data/doc/TaskJuggler/MessageHandler.html +11 -1
  104. data/doc/TaskJuggler/Navigator.html +12 -2
  105. data/doc/TaskJuggler/NavigatorElement.html +11 -1
  106. data/doc/TaskJuggler/NikuProject.html +11 -1
  107. data/doc/TaskJuggler/NikuReport.html +11 -1
  108. data/doc/TaskJuggler/NikuResource.html +11 -1
  109. data/doc/TaskJuggler/NodeListAttribute.html +17 -7
  110. data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
  111. data/doc/TaskJuggler/ProcessIntercom.html +11 -1
  112. data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
  113. data/doc/TaskJuggler/Project.html +587 -500
  114. data/doc/TaskJuggler/ProjectBroker.html +11 -1
  115. data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
  116. data/doc/TaskJuggler/ProjectFileParser.html +205 -192
  117. data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
  118. data/doc/TaskJuggler/ProjectRecord.html +11 -1
  119. data/doc/TaskJuggler/ProjectServer.html +11 -1
  120. data/doc/TaskJuggler/ProjectServerIface.html +11 -1
  121. data/doc/TaskJuggler/PropertyAttribute.html +19 -9
  122. data/doc/TaskJuggler/PropertyList.html +95 -83
  123. data/doc/TaskJuggler/PropertySet.html +11 -1
  124. data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
  125. data/doc/TaskJuggler/Query.html +234 -232
  126. data/doc/TaskJuggler/RTFHandlers.html +11 -1
  127. data/doc/TaskJuggler/RTFNavigator.html +11 -1
  128. data/doc/TaskJuggler/RTFQuery.html +11 -1
  129. data/doc/TaskJuggler/RTFReport.html +11 -1
  130. data/doc/TaskJuggler/RTFReportLink.html +11 -1
  131. data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
  132. data/doc/TaskJuggler/RealFormat.html +12 -2
  133. data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
  134. data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
  135. data/doc/TaskJuggler/Report.html +96 -113
  136. data/doc/TaskJuggler/ReportBase.html +161 -152
  137. data/doc/TaskJuggler/ReportContext.html +11 -1
  138. data/doc/TaskJuggler/ReportServer.html +59 -48
  139. data/doc/TaskJuggler/ReportServerIface.html +51 -41
  140. data/doc/TaskJuggler/ReportServerRecord.html +11 -1
  141. data/doc/TaskJuggler/ReportServlet.html +11 -1
  142. data/doc/TaskJuggler/ReportTable.html +46 -25
  143. data/doc/TaskJuggler/ReportTableCell.html +296 -275
  144. data/doc/TaskJuggler/ReportTableColumn.html +14 -4
  145. data/doc/TaskJuggler/ReportTableLegend.html +11 -1
  146. data/doc/TaskJuggler/ReportTableLine.html +19 -7
  147. data/doc/TaskJuggler/Resource.html +12 -2
  148. data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
  149. data/doc/TaskJuggler/ResourceListRE.html +11 -1
  150. data/doc/TaskJuggler/ResourceScenario.html +708 -565
  151. data/doc/TaskJuggler/RichText.html +54 -36
  152. data/doc/TaskJuggler/RichTextAttribute.html +31 -21
  153. data/doc/TaskJuggler/RichTextDocument.html +11 -1
  154. data/doc/TaskJuggler/RichTextElement.html +11 -1
  155. data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
  156. data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
  157. data/doc/TaskJuggler/RichTextImage.html +11 -1
  158. data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
  159. data/doc/TaskJuggler/RichTextParser.html +88 -33
  160. data/doc/TaskJuggler/RichTextScanner.html +45 -35
  161. data/doc/TaskJuggler/RichTextSnip.html +11 -1
  162. data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
  163. data/doc/TaskJuggler/Scenario.html +11 -1
  164. data/doc/TaskJuggler/ScenarioData.html +11 -1
  165. data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
  166. data/doc/TaskJuggler/Scoreboard.html +92 -73
  167. data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
  168. data/doc/TaskJuggler/SheetReceiver.html +11 -1
  169. data/doc/TaskJuggler/SheetSender.html +11 -1
  170. data/doc/TaskJuggler/Shift.html +11 -1
  171. data/doc/TaskJuggler/ShiftAssignment.html +11 -1
  172. data/doc/TaskJuggler/ShiftAssignments.html +11 -1
  173. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
  174. data/doc/TaskJuggler/ShiftScenario.html +11 -1
  175. data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
  176. data/doc/TaskJuggler/SortListAttribute.html +21 -11
  177. data/doc/TaskJuggler/SourceFileInfo.html +11 -1
  178. data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
  179. data/doc/TaskJuggler/StatusSheetReport.html +11 -1
  180. data/doc/TaskJuggler/StatusSheetSender.html +112 -11
  181. data/doc/TaskJuggler/StringAttribute.html +23 -13
  182. data/doc/TaskJuggler/SymbolAttribute.html +19 -9
  183. data/doc/TaskJuggler/SyntaxReference.html +80 -71
  184. data/doc/TaskJuggler/TOCEntry.html +11 -1
  185. data/doc/TaskJuggler/TSResourceRecord.html +11 -1
  186. data/doc/TaskJuggler/TSTaskRecord.html +11 -1
  187. data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
  188. data/doc/TaskJuggler/TableOfContents.html +11 -1
  189. data/doc/TaskJuggler/TableReport.html +422 -411
  190. data/doc/TaskJuggler/Task.html +11 -1
  191. data/doc/TaskJuggler/TaskDependency.html +11 -1
  192. data/doc/TaskJuggler/TaskListAttribute.html +33 -23
  193. data/doc/TaskJuggler/TaskListRE.html +11 -1
  194. data/doc/TaskJuggler/TaskScenario.html +2007 -1919
  195. data/doc/TaskJuggler/TextFormatter.html +11 -1
  196. data/doc/TaskJuggler/TextParser.html +421 -612
  197. data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
  198. data/doc/TaskJuggler/TextParser/Rule.html +224 -152
  199. data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
  200. data/doc/TaskJuggler/TextParser/State.html +989 -0
  201. data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
  202. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
  203. data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
  204. data/doc/TaskJuggler/TextReport.html +11 -1
  205. data/doc/TaskJuggler/TextScanner.html +285 -273
  206. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
  207. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
  208. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
  209. data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
  210. data/doc/TaskJuggler/TimeSheet.html +11 -1
  211. data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
  212. data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
  213. data/doc/TaskJuggler/TimeSheetReport.html +11 -1
  214. data/doc/TaskJuggler/TimeSheetSender.html +11 -1
  215. data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
  216. data/doc/TaskJuggler/TimeSheets.html +11 -1
  217. data/doc/TaskJuggler/Tj3AppBase.html +11 -1
  218. data/doc/TaskJuggler/Tj3Client.html +11 -1
  219. data/doc/TaskJuggler/Tj3Daemon.html +11 -1
  220. data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
  221. data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
  222. data/doc/TaskJuggler/Tj3SsSender.html +11 -1
  223. data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
  224. data/doc/TaskJuggler/Tj3TsSender.html +11 -1
  225. data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
  226. data/doc/TaskJuggler/TjException.html +11 -1
  227. data/doc/TaskJuggler/TjTime.html +474 -324
  228. data/doc/TaskJuggler/TjpExample.html +11 -1
  229. data/doc/TaskJuggler/TjpExportRE.html +11 -1
  230. data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
  231. data/doc/TaskJuggler/URLParameter.html +11 -1
  232. data/doc/TaskJuggler/UserManual.html +11 -1
  233. data/doc/TaskJuggler/VimSyntax.html +11 -1
  234. data/doc/TaskJuggler/WebServer.html +11 -1
  235. data/doc/TaskJuggler/WorkingHours.html +295 -221
  236. data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
  237. data/doc/TaskJuggler/XMLBlob.html +11 -1
  238. data/doc/TaskJuggler/XMLComment.html +11 -1
  239. data/doc/TaskJuggler/XMLDocument.html +11 -1
  240. data/doc/TaskJuggler/XMLElement.html +11 -1
  241. data/doc/TaskJuggler/XMLNamedText.html +11 -1
  242. data/doc/TaskJuggler/XMLText.html +11 -1
  243. data/doc/index.html +694 -624
  244. data/doc/lib/AppConfig_rb.html +1 -1
  245. data/doc/lib/Attributes_rb.html +1 -1
  246. data/doc/lib/Booking_rb.html +1 -1
  247. data/doc/lib/DataCache_rb.html +69 -0
  248. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  249. data/doc/lib/ProjectFileParser_rb.html +1 -1
  250. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  251. data/doc/lib/Project_rb.html +1 -1
  252. data/doc/lib/PropertyList_rb.html +1 -1
  253. data/doc/lib/Query_rb.html +1 -1
  254. data/doc/lib/RealFormat_rb.html +1 -1
  255. data/doc/lib/ResourceScenario_rb.html +1 -1
  256. data/doc/lib/Resource_rb.html +1 -1
  257. data/doc/lib/RichTextParser_rb.html +1 -1
  258. data/doc/lib/RichTextScanner_rb.html +1 -1
  259. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  260. data/doc/lib/RichText_rb.html +1 -1
  261. data/doc/lib/Scoreboard_rb.html +1 -1
  262. data/doc/lib/StatusSheetSender_rb.html +1 -1
  263. data/doc/lib/SyntaxReference_rb.html +1 -1
  264. data/doc/lib/TaskJuggler_rb.html +1 -1
  265. data/doc/lib/TaskScenario_rb.html +3 -1
  266. data/doc/lib/TextParser/Pattern_rb.html +3 -1
  267. data/doc/lib/TextParser/Rule_rb.html +3 -1
  268. data/doc/lib/TextParser/StackElement_rb.html +3 -1
  269. data/doc/lib/TextParser/State_rb.html +65 -0
  270. data/doc/lib/TextParser_rb.html +1 -1
  271. data/doc/lib/TextScanner_rb.html +1 -1
  272. data/doc/lib/Tj3Config_rb.html +1 -1
  273. data/doc/lib/TjTime_rb.html +1 -1
  274. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  275. data/doc/lib/WorkingHours_rb.html +3 -1
  276. data/doc/lib/daemon/ReportServer_rb.html +1 -1
  277. data/doc/lib/reports/CSVFile_rb.html +1 -1
  278. data/doc/lib/reports/CollisionDetector_rb.html +67 -0
  279. data/doc/lib/reports/GanttChart_rb.html +1 -1
  280. data/doc/lib/reports/GanttRouter_rb.html +3 -1
  281. data/doc/lib/reports/Navigator_rb.html +1 -1
  282. data/doc/lib/reports/ReportBase_rb.html +1 -1
  283. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  284. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  285. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  286. data/doc/lib/reports/ReportTable_rb.html +1 -1
  287. data/doc/lib/reports/Report_rb.html +1 -1
  288. data/doc/lib/reports/TableReport_rb.html +1 -1
  289. data/doc/lib/taskjuggler3_rb.html +1 -1
  290. data/examples/tutorial.tjp +1 -2
  291. data/lib/AppConfig.rb +10 -4
  292. data/lib/Attributes.rb +4 -4
  293. data/lib/DataCache.rb +124 -0
  294. data/lib/KeywordDocumentation.rb +5 -5
  295. data/lib/Project.rb +54 -10
  296. data/lib/ProjectFileParser.rb +10 -9
  297. data/lib/ProjectFileScanner.rb +38 -25
  298. data/lib/PropertyList.rb +6 -4
  299. data/lib/Query.rb +0 -8
  300. data/lib/RealFormat.rb +1 -1
  301. data/lib/Resource.rb +1 -1
  302. data/lib/ResourceScenario.rb +96 -31
  303. data/lib/RichText.rb +17 -5
  304. data/lib/RichTextParser.rb +22 -9
  305. data/lib/RichTextScanner.rb +34 -34
  306. data/lib/RichTextSyntaxRules.rb +41 -36
  307. data/lib/Scoreboard.rb +16 -7
  308. data/lib/StatusSheetSender.rb +63 -0
  309. data/lib/SyntaxReference.rb +9 -10
  310. data/lib/TaskJuggler.rb +28 -4
  311. data/lib/TaskScenario.rb +66 -19
  312. data/lib/TextParser.rb +219 -384
  313. data/lib/TextParser/Pattern.rb +168 -49
  314. data/lib/TextParser/Rule.rb +33 -17
  315. data/lib/TextParser/StackElement.rb +42 -2
  316. data/lib/TextParser/State.rb +175 -0
  317. data/lib/TextScanner.rb +19 -15
  318. data/lib/Tj3Config.rb +1 -1
  319. data/lib/TjTime.rb +111 -3
  320. data/lib/TjpSyntaxRules.rb +122 -66
  321. data/lib/WorkingHours.rb +91 -186
  322. data/lib/daemon/ReportServer.rb +3 -2
  323. data/lib/reports/CSVFile.rb +1 -1
  324. data/lib/reports/CollisionDetector.rb +177 -0
  325. data/lib/reports/GanttChart.rb +25 -41
  326. data/lib/reports/GanttRouter.rb +104 -233
  327. data/lib/reports/Navigator.rb +1 -1
  328. data/lib/reports/Report.rb +9 -33
  329. data/lib/reports/ReportBase.rb +0 -1
  330. data/lib/reports/ReportTable.rb +19 -8
  331. data/lib/reports/ReportTableCell.rb +61 -25
  332. data/lib/reports/ReportTableColumn.rb +2 -2
  333. data/lib/reports/ReportTableLine.rb +4 -2
  334. data/lib/reports/TableReport.rb +1 -0
  335. data/lib/taskjuggler3.rb +0 -1
  336. data/manual/Installation +7 -3
  337. data/manual/Intro +12 -10
  338. data/manual/The_TaskJuggler_Syntax +4 -4
  339. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
  340. data/test/TestSuite/CSV-Reports/genrefs +1 -1
  341. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
  342. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
  343. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
  344. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
  345. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
  346. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
  347. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
  348. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
  349. data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
  350. data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
  351. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
  352. data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
  353. data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
  354. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  355. data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
  356. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
  357. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
  358. data/test/TestSuite/StatusSheets/run +2 -0
  359. data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
  360. data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
  361. data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
  362. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
  363. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  364. data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
  365. data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
  366. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  367. data/test/TestSuite/TimeSheets/run +1 -1
  368. data/test/test_CSV-Reports.rb +2 -4
  369. data/test/test_CollisionDetector.rb +85 -0
  370. data/test/test_Project.rb +2 -2
  371. data/test/test_ProjectFileScanner.rb +73 -31
  372. data/test/test_Query.rb +2 -2
  373. data/test/test_ReportGenerator.rb +1 -1
  374. data/test/test_RichText.rb +4 -4
  375. data/test/test_WorkingHours.rb +150 -11
  376. metadata +75 -67
  377. data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
  378. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
  379. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
  380. data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
  381. data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
  382. data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
  383. data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
  384. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
  385. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  386. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  387. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  388. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  389. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  390. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  391. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  392. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  393. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  394. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  395. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  396. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
  398. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
  399. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  400. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  401. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  402. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  403. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  404. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  405. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  406. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  408. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  409. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  410. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
  411. data/test/TestSuite/StatusSheets/resrep.tji +0 -7
  412. data/test/TestSuite/StatusSheets/tj3d.log +0 -312
  413. data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
  414. data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
  415. data/test/TestSuite/TimeSheets/statussheets.log +0 -1
@@ -149,12 +149,18 @@
149
149
 
150
150
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
151
151
 
152
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
153
+
152
154
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
153
155
 
154
156
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
155
157
 
156
158
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
157
159
 
160
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
161
+
162
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
163
+
158
164
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
159
165
 
160
166
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -261,7 +267,7 @@
261
267
 
262
268
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
263
269
 
264
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
270
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
265
271
 
266
272
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
267
273
 
@@ -441,6 +447,10 @@
441
447
 
442
448
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
443
449
 
450
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
451
+
452
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
453
+
444
454
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
445
455
 
446
456
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -174,12 +174,18 @@
174
174
 
175
175
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
176
176
 
177
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
178
+
177
179
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
178
180
 
179
181
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
180
182
 
181
183
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
182
184
 
185
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
186
+
187
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
188
+
183
189
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
184
190
 
185
191
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -286,7 +292,7 @@
286
292
 
287
293
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
288
294
 
289
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
295
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
290
296
 
291
297
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
292
298
 
@@ -466,6 +472,10 @@
466
472
 
467
473
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
468
474
 
475
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
476
+
477
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
478
+
469
479
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
470
480
 
471
481
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -752,7 +762,7 @@
752
762
  <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 99</span>
753
763
  99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFile</span>(<span class="ruby-identifier">file</span>)
754
764
  100: <span class="ruby-keyword kw">begin</span>
755
- 101: <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">'properties'</span>)
765
+ 101: <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">parseFile</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value">:properties</span>)
756
766
  102: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
757
767
  103: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
758
768
  104: <span class="ruby-keyword kw">end</span>
@@ -789,14 +799,14 @@
789
799
  <div class="method-source-code"
790
800
  id="check-tatus-heet-source">
791
801
  <pre>
792
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 139</span>
793
- 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">sheet</span>)
794
- 140: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Checking status sheet #{sheet}&quot;</span>)
795
- 141: <span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">sheet</span>)
796
- 142: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Status sheet #{sheet} is #{ok ? '' : 'not '}ok&quot;</span>)
797
- 143: <span class="ruby-identifier">restartTimer</span>
798
- 144: <span class="ruby-identifier">ok</span>
799
- 145: <span class="ruby-keyword kw">end</span></pre>
802
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 140</span>
803
+ 140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">sheet</span>)
804
+ 141: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Checking status sheet #{sheet}&quot;</span>)
805
+ 142: <span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">sheet</span>)
806
+ 143: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Status sheet #{sheet} is #{ok ? '' : 'not '}ok&quot;</span>)
807
+ 144: <span class="ruby-identifier">restartTimer</span>
808
+ 145: <span class="ruby-identifier">ok</span>
809
+ 146: <span class="ruby-keyword kw">end</span></pre>
800
810
  </div>
801
811
 
802
812
  </div>
@@ -827,14 +837,14 @@
827
837
  <div class="method-source-code"
828
838
  id="check-ime-heet-source">
829
839
  <pre>
830
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 131</span>
831
- 131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">sheet</span>)
832
- 132: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Checking time sheet #{sheet}&quot;</span>)
833
- 133: <span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">sheet</span>)
834
- 134: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Time sheet #{sheet} is #{ok ? '' : 'not '}ok&quot;</span>)
835
- 135: <span class="ruby-identifier">restartTimer</span>
836
- 136: <span class="ruby-identifier">ok</span>
837
- 137: <span class="ruby-keyword kw">end</span></pre>
840
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 132</span>
841
+ 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">sheet</span>)
842
+ 133: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Checking time sheet #{sheet}&quot;</span>)
843
+ 134: <span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">sheet</span>)
844
+ 135: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Time sheet #{sheet} is #{ok ? '' : 'not '}ok&quot;</span>)
845
+ 136: <span class="ruby-identifier">restartTimer</span>
846
+ 137: <span class="ruby-identifier">ok</span>
847
+ 138: <span class="ruby-keyword kw">end</span></pre>
838
848
  </div>
839
849
 
840
850
  </div>
@@ -868,14 +878,15 @@
868
878
  <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 109</span>
869
879
  109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>)
870
880
  110: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Generating report #{id}&quot;</span>)
871
- 111: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>))
872
- 112: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Report #{id} generated&quot;</span>)
873
- 113: <span class="ruby-keyword kw">else</span>
874
- 114: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Report generation of #{id} failed&quot;</span>)
875
- 115: <span class="ruby-keyword kw">end</span>
876
- 116: <span class="ruby-identifier">restartTimer</span>
877
- 117: <span class="ruby-identifier">ok</span>
878
- 118: <span class="ruby-keyword kw">end</span></pre>
881
+ 111: <span class="ruby-identifier">startTime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
882
+ 112: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>))
883
+ 113: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Report #{id} generated in #{Time.now - startTime} seconds&quot;</span>)
884
+ 114: <span class="ruby-keyword kw">else</span>
885
+ 115: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Report generation of #{id} failed&quot;</span>)
886
+ 116: <span class="ruby-keyword kw">end</span>
887
+ 117: <span class="ruby-identifier">restartTimer</span>
888
+ 118: <span class="ruby-identifier">ok</span>
889
+ 119: <span class="ruby-keyword kw">end</span></pre>
879
890
  </div>
880
891
 
881
892
  </div>
@@ -906,17 +917,17 @@
906
917
  <div class="method-source-code"
907
918
  id="list-eports-source">
908
919
  <pre>
909
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 120</span>
910
- 120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>)
911
- 121: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Listing report #{id}&quot;</span>)
912
- 122: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>))
913
- 123: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Report list for #{id} generated&quot;</span>)
914
- 124: <span class="ruby-keyword kw">else</span>
915
- 125: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Report list compilation of #{id} failed&quot;</span>)
916
- 126: <span class="ruby-keyword kw">end</span>
917
- 127: <span class="ruby-identifier">restartTimer</span>
918
- 128: <span class="ruby-identifier">ok</span>
919
- 129: <span class="ruby-keyword kw">end</span></pre>
920
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 121</span>
921
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>)
922
+ 122: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Listing report #{id}&quot;</span>)
923
+ 123: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">ok</span> = <span class="ruby-ivar">@tj</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">regExpMode</span>))
924
+ 124: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Report list for #{id} generated&quot;</span>)
925
+ 125: <span class="ruby-keyword kw">else</span>
926
+ 126: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Report list compilation of #{id} failed&quot;</span>)
927
+ 127: <span class="ruby-keyword kw">end</span>
928
+ 128: <span class="ruby-identifier">restartTimer</span>
929
+ 129: <span class="ruby-identifier">ok</span>
930
+ 130: <span class="ruby-keyword kw">end</span></pre>
920
931
  </div>
921
932
 
922
933
  </div>
@@ -987,17 +998,17 @@
987
998
  <div class="method-source-code"
988
999
  id="start-atch-og-source">
989
1000
  <pre>
990
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 149</span>
991
- 149: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startWatchDog</span>
992
- 150: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
993
- 151: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
994
- 152: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lastPing</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">120</span>
995
- 153: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">'Heartbeat from ProjectServer lost. Terminating.'</span>)
996
- 154: <span class="ruby-keyword kw">end</span>
997
- 155: <span class="ruby-identifier">sleep</span> <span class="ruby-value">30</span>
998
- 156: <span class="ruby-keyword kw">end</span>
999
- 157: <span class="ruby-keyword kw">end</span>
1000
- 158: <span class="ruby-keyword kw">end</span></pre>
1001
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 150</span>
1002
+ 150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startWatchDog</span>
1003
+ 151: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
1004
+ 152: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
1005
+ 153: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lastPing</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">120</span>
1006
+ 154: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-value str">'Heartbeat from ProjectServer lost. Terminating.'</span>)
1007
+ 155: <span class="ruby-keyword kw">end</span>
1008
+ 156: <span class="ruby-identifier">sleep</span> <span class="ruby-value">30</span>
1009
+ 157: <span class="ruby-keyword kw">end</span>
1010
+ 158: <span class="ruby-keyword kw">end</span>
1011
+ 159: <span class="ruby-keyword kw">end</span></pre>
1001
1012
  </div>
1002
1013
 
1003
1014
  </div>
@@ -172,12 +172,18 @@
172
172
 
173
173
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
174
174
 
175
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
176
+
175
177
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
176
178
 
177
179
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
178
180
 
179
181
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
180
182
 
183
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
184
+
185
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
186
+
181
187
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
182
188
 
183
189
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -284,7 +290,7 @@
284
290
 
285
291
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
286
292
 
287
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
293
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
288
294
 
289
295
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
290
296
 
@@ -464,6 +470,10 @@
464
470
 
465
471
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
466
472
 
473
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
474
+
475
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
476
+
467
477
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
468
478
 
469
479
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -605,10 +615,10 @@
605
615
  <div class="method-source-code"
606
616
  id="new-source">
607
617
  <pre>
608
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 166</span>
609
- 166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">server</span>)
610
- 167: <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">server</span>
611
- 168: <span class="ruby-keyword kw">end</span></pre>
618
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 167</span>
619
+ 167: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">server</span>)
620
+ 168: <span class="ruby-ivar">@server</span> = <span class="ruby-identifier">server</span>
621
+ 169: <span class="ruby-keyword kw">end</span></pre>
612
622
  </div>
613
623
 
614
624
  </div>
@@ -645,12 +655,12 @@
645
655
  <div class="method-source-code"
646
656
  id="add-ile-source">
647
657
  <pre>
648
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 176</span>
649
- 176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFile</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">file</span>)
650
- 177: <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">'addFile'</span>)
651
- 178:
652
- 179: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">addFile</span>(<span class="ruby-identifier">file</span>) }
653
- 180: <span class="ruby-keyword kw">end</span></pre>
658
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 177</span>
659
+ 177: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFile</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">file</span>)
660
+ 178: <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">'addFile'</span>)
661
+ 179:
662
+ 180: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">addFile</span>(<span class="ruby-identifier">file</span>) }
663
+ 181: <span class="ruby-keyword kw">end</span></pre>
654
664
  </div>
655
665
 
656
666
  </div>
@@ -681,12 +691,12 @@
681
691
  <div class="method-source-code"
682
692
  id="check-tatus-heet-source">
683
693
  <pre>
684
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 201</span>
685
- 201: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">sheet</span>)
686
- 202: <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">'checkStatusSheet'</span>)
687
- 203:
688
- 204: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">sheet</span>) }
689
- 205: <span class="ruby-keyword kw">end</span></pre>
694
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 202</span>
695
+ 202: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">sheet</span>)
696
+ 203: <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">'checkStatusSheet'</span>)
697
+ 204:
698
+ 205: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">sheet</span>) }
699
+ 206: <span class="ruby-keyword kw">end</span></pre>
690
700
  </div>
691
701
 
692
702
  </div>
@@ -717,12 +727,12 @@
717
727
  <div class="method-source-code"
718
728
  id="check-ime-heet-source">
719
729
  <pre>
720
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 195</span>
721
- 195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">sheet</span>)
722
- 196: <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">'checkTimeSheet'</span>)
723
- 197:
724
- 198: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">sheet</span>) }
725
- 199: <span class="ruby-keyword kw">end</span></pre>
730
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 196</span>
731
+ 196: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">sheet</span>)
732
+ 197: <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">'checkTimeSheet'</span>)
733
+ 198:
734
+ 199: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">sheet</span>) }
735
+ 200: <span class="ruby-keyword kw">end</span></pre>
726
736
  </div>
727
737
 
728
738
  </div>
@@ -753,12 +763,12 @@
753
763
  <div class="method-source-code"
754
764
  id="generate-eport-source">
755
765
  <pre>
756
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 182</span>
757
- 182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>)
758
- 183: <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">'generateReport'</span>)
759
- 184:
760
- 185: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>) }
761
- 186: <span class="ruby-keyword kw">end</span></pre>
766
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 183</span>
767
+ 183: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>)
768
+ 184: <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">'generateReport'</span>)
769
+ 185:
770
+ 186: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span>) }
771
+ 187: <span class="ruby-keyword kw">end</span></pre>
762
772
  </div>
763
773
 
764
774
  </div>
@@ -789,12 +799,12 @@
789
799
  <div class="method-source-code"
790
800
  id="list-eports-source">
791
801
  <pre>
792
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 189</span>
793
- 189: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
794
- 190: <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">'generateReport'</span>)
795
- 191:
796
- 192: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>) }
797
- 193: <span class="ruby-keyword kw">end</span></pre>
802
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 190</span>
803
+ 190: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
804
+ 191: <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">'generateReport'</span>)
805
+ 192:
806
+ 193: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>) }
807
+ 194: <span class="ruby-keyword kw">end</span></pre>
798
808
  </div>
799
809
 
800
810
  </div>
@@ -825,12 +835,12 @@
825
835
  <div class="method-source-code"
826
836
  id="ping-source">
827
837
  <pre>
828
- <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 170</span>
829
- 170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ping</span>(<span class="ruby-identifier">authKey</span>)
830
- 171: <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">'addFile'</span>)
831
- 172:
832
- 173: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">ping</span> }
833
- 174: <span class="ruby-keyword kw">end</span></pre>
838
+ <span class="ruby-comment cmt"># File lib/daemon/ReportServer.rb, line 171</span>
839
+ 171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ping</span>(<span class="ruby-identifier">authKey</span>)
840
+ 172: <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">'addFile'</span>)
841
+ 173:
842
+ 174: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">ping</span> }
843
+ 175: <span class="ruby-keyword kw">end</span></pre>
834
844
  </div>
835
845
 
836
846
  </div>
@@ -151,12 +151,18 @@
151
151
 
152
152
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
153
153
 
154
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
155
+
154
156
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
155
157
 
156
158
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
157
159
 
158
160
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
159
161
 
162
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
163
+
164
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
165
+
160
166
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
161
167
 
162
168
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -263,7 +269,7 @@
263
269
 
264
270
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
265
271
 
266
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
272
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
267
273
 
268
274
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
269
275
 
@@ -443,6 +449,10 @@
443
449
 
444
450
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
445
451
 
452
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
453
+
454
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
455
+
446
456
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
447
457
 
448
458
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -163,12 +163,18 @@
163
163
 
164
164
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
165
165
 
166
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
167
+
166
168
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
167
169
 
168
170
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
169
171
 
170
172
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
171
173
 
174
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
175
+
176
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
177
+
172
178
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
173
179
 
174
180
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -275,7 +281,7 @@
275
281
 
276
282
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
277
283
 
278
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
284
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
279
285
 
280
286
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
281
287
 
@@ -455,6 +461,10 @@
455
461
 
456
462
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
457
463
 
464
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
465
+
466
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
467
+
458
468
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
459
469
 
460
470
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>