taskjuggler 0.0.6 → 0.0.7

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 (545) hide show
  1. data/CHANGELOG +160 -0
  2. data/benchmarks/UTF-8-Strings.rb +58 -0
  3. data/data/css/tjreport.css +7 -2
  4. data/doc/AppConfig.html +10 -4
  5. data/doc/Arguments.html +10 -4
  6. data/doc/CHANGELOG.html +171 -5
  7. data/doc/COPYING.html +10 -4
  8. data/doc/Object.html +11 -107
  9. data/doc/README.html +10 -4
  10. data/doc/RuntimeConfig.html +10 -4
  11. data/doc/String.html +16 -11
  12. data/doc/StringIO.html +10 -4
  13. data/doc/TaskJuggler.html +506 -435
  14. data/doc/TaskJuggler/Account.html +10 -4
  15. data/doc/TaskJuggler/AccountAttribute.html +10 -4
  16. data/doc/TaskJuggler/AccountScenario.html +10 -4
  17. data/doc/TaskJuggler/Allocation.html +69 -60
  18. data/doc/TaskJuggler/AllocationAttribute.html +10 -4
  19. data/doc/TaskJuggler/AttributeBase.html +10 -4
  20. data/doc/TaskJuggler/AttributeDefinition.html +10 -4
  21. data/doc/TaskJuggler/BatchProcessor.html +202 -192
  22. data/doc/TaskJuggler/Booking.html +10 -4
  23. data/doc/TaskJuggler/BookingListAttribute.html +10 -4
  24. data/doc/TaskJuggler/BooleanAttribute.html +10 -4
  25. data/doc/TaskJuggler/CSVFile.html +10 -4
  26. data/doc/TaskJuggler/CellSettingPattern.html +10 -4
  27. data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
  28. data/doc/TaskJuggler/Charge.html +10 -4
  29. data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
  30. data/doc/TaskJuggler/ChargeSet.html +10 -4
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
  32. data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
  33. data/doc/TaskJuggler/ColumnTable.html +10 -4
  34. data/doc/TaskJuggler/Daemon.html +71 -52
  35. data/doc/TaskJuggler/DateAttribute.html +10 -4
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
  37. data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
  38. data/doc/TaskJuggler/DurationAttribute.html +10 -4
  39. data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
  40. data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
  41. data/doc/TaskJuggler/FixnumAttribute.html +10 -4
  42. data/doc/TaskJuggler/FlagListAttribute.html +10 -4
  43. data/doc/TaskJuggler/FloatAttribute.html +10 -4
  44. data/doc/TaskJuggler/FormatListAttribute.html +10 -4
  45. data/doc/TaskJuggler/GanttChart.html +10 -4
  46. data/doc/TaskJuggler/GanttContainer.html +14 -8
  47. data/doc/TaskJuggler/GanttHeader.html +10 -4
  48. data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
  49. data/doc/TaskJuggler/GanttLine.html +29 -24
  50. data/doc/TaskJuggler/GanttLoadStack.html +10 -4
  51. data/doc/TaskJuggler/GanttMilestone.html +10 -4
  52. data/doc/TaskJuggler/GanttRouter.html +10 -4
  53. data/doc/TaskJuggler/GanttTaskBar.html +20 -10
  54. data/doc/TaskJuggler/HTMLDocument.html +10 -4
  55. data/doc/TaskJuggler/HTMLGraphics.html +10 -4
  56. data/doc/TaskJuggler/Interval.html +10 -4
  57. data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
  58. data/doc/TaskJuggler/JobInfo.html +10 -4
  59. data/doc/TaskJuggler/Journal.html +227 -160
  60. data/doc/TaskJuggler/JournalEntry.html +10 -4
  61. data/doc/TaskJuggler/JournalEntryList.html +158 -72
  62. data/doc/TaskJuggler/KeywordArray.html +21 -9
  63. data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
  64. data/doc/TaskJuggler/Limits.html +13 -8
  65. data/doc/TaskJuggler/Limits/Limit.html +10 -4
  66. data/doc/TaskJuggler/LimitsAttribute.html +10 -4
  67. data/doc/TaskJuggler/ListAttributeBase.html +10 -4
  68. data/doc/TaskJuggler/Log.html +10 -4
  69. data/doc/TaskJuggler/LogFile.html +10 -4
  70. data/doc/TaskJuggler/LogicalAttribute.html +10 -4
  71. data/doc/TaskJuggler/LogicalExpression.html +11 -5
  72. data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
  73. data/doc/TaskJuggler/LogicalFlag.html +10 -4
  74. data/doc/TaskJuggler/LogicalFunction.html +132 -124
  75. data/doc/TaskJuggler/LogicalOperation.html +10 -4
  76. data/doc/TaskJuggler/Macro.html +16 -10
  77. data/doc/TaskJuggler/MacroTable.html +44 -38
  78. data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
  79. data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
  80. data/doc/TaskJuggler/Message.html +92 -68
  81. data/doc/TaskJuggler/MessageHandler.html +349 -28
  82. data/doc/TaskJuggler/Navigator.html +10 -4
  83. data/doc/TaskJuggler/NavigatorElement.html +10 -4
  84. data/doc/TaskJuggler/NikuProject.html +10 -4
  85. data/doc/TaskJuggler/NikuReport.html +10 -4
  86. data/doc/TaskJuggler/NikuResource.html +10 -4
  87. data/doc/TaskJuggler/NodeListAttribute.html +10 -4
  88. data/doc/TaskJuggler/OnShiftCache.html +10 -4
  89. data/doc/TaskJuggler/ProcessIntercom.html +118 -111
  90. data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
  91. data/doc/TaskJuggler/Project.html +886 -913
  92. data/doc/TaskJuggler/ProjectBroker.html +442 -331
  93. data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
  94. data/doc/TaskJuggler/ProjectFileParser.html +320 -317
  95. data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
  96. data/doc/TaskJuggler/ProjectRecord.html +119 -56
  97. data/doc/TaskJuggler/ProjectServer.html +282 -237
  98. data/doc/TaskJuggler/ProjectServerIface.html +45 -39
  99. data/doc/TaskJuggler/PropertyAttribute.html +10 -4
  100. data/doc/TaskJuggler/PropertyList.html +177 -173
  101. data/doc/TaskJuggler/PropertySet.html +11 -5
  102. data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
  103. data/doc/TaskJuggler/Query.html +280 -256
  104. data/doc/TaskJuggler/RTFHandlers.html +10 -4
  105. data/doc/TaskJuggler/RTFNavigator.html +33 -26
  106. data/doc/TaskJuggler/RTFQuery.html +135 -169
  107. data/doc/TaskJuggler/RTFReport.html +63 -56
  108. data/doc/TaskJuggler/RTFReportLink.html +58 -47
  109. data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
  110. data/doc/TaskJuggler/RealFormat.html +10 -4
  111. data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
  112. data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
  113. data/doc/TaskJuggler/Report.html +333 -290
  114. data/doc/TaskJuggler/ReportBase.html +182 -174
  115. data/doc/TaskJuggler/ReportContext.html +10 -4
  116. data/doc/TaskJuggler/ReportServer.html +144 -126
  117. data/doc/TaskJuggler/ReportServerIface.html +50 -44
  118. data/doc/TaskJuggler/ReportServerRecord.html +38 -32
  119. data/doc/TaskJuggler/ReportServlet.html +144 -137
  120. data/doc/TaskJuggler/ReportTable.html +10 -4
  121. data/doc/TaskJuggler/ReportTableCell.html +169 -164
  122. data/doc/TaskJuggler/ReportTableColumn.html +10 -4
  123. data/doc/TaskJuggler/ReportTableLegend.html +10 -4
  124. data/doc/TaskJuggler/ReportTableLine.html +10 -4
  125. data/doc/TaskJuggler/Resource.html +121 -115
  126. data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
  127. data/doc/TaskJuggler/ResourceListRE.html +10 -4
  128. data/doc/TaskJuggler/ResourceScenario.html +13 -7
  129. data/doc/TaskJuggler/RichText.html +61 -37
  130. data/doc/TaskJuggler/RichTextAttribute.html +10 -4
  131. data/doc/TaskJuggler/RichTextDocument.html +91 -81
  132. data/doc/TaskJuggler/RichTextElement.html +378 -317
  133. data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
  134. data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
  135. data/doc/TaskJuggler/RichTextImage.html +10 -4
  136. data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
  137. data/doc/TaskJuggler/RichTextParser.html +48 -40
  138. data/doc/TaskJuggler/RichTextScanner.html +328 -906
  139. data/doc/TaskJuggler/RichTextSnip.html +59 -57
  140. data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
  141. data/doc/TaskJuggler/Scenario.html +10 -4
  142. data/doc/TaskJuggler/ScenarioData.html +33 -30
  143. data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
  144. data/doc/TaskJuggler/Scoreboard.html +10 -4
  145. data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
  146. data/doc/TaskJuggler/SheetReceiver.html +334 -313
  147. data/doc/TaskJuggler/SheetSender.html +10 -4
  148. data/doc/TaskJuggler/Shift.html +10 -4
  149. data/doc/TaskJuggler/ShiftAssignment.html +10 -4
  150. data/doc/TaskJuggler/ShiftAssignments.html +10 -4
  151. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
  152. data/doc/TaskJuggler/ShiftScenario.html +10 -4
  153. data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
  154. data/doc/TaskJuggler/SortListAttribute.html +10 -4
  155. data/doc/TaskJuggler/SourceFileInfo.html +10 -4
  156. data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
  157. data/doc/TaskJuggler/StatusSheetReport.html +10 -4
  158. data/doc/TaskJuggler/StatusSheetSender.html +10 -4
  159. data/doc/TaskJuggler/StringAttribute.html +10 -4
  160. data/doc/TaskJuggler/SymbolAttribute.html +10 -4
  161. data/doc/TaskJuggler/SyntaxReference.html +260 -230
  162. data/doc/TaskJuggler/TOCEntry.html +99 -42
  163. data/doc/TaskJuggler/TSResourceRecord.html +10 -4
  164. data/doc/TaskJuggler/TSTaskRecord.html +10 -4
  165. data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
  166. data/doc/TaskJuggler/TableOfContents.html +54 -12
  167. data/doc/TaskJuggler/TableReport.html +877 -872
  168. data/doc/TaskJuggler/Task.html +117 -68
  169. data/doc/TaskJuggler/TaskDependency.html +10 -4
  170. data/doc/TaskJuggler/TaskListAttribute.html +10 -4
  171. data/doc/TaskJuggler/TaskListRE.html +10 -4
  172. data/doc/TaskJuggler/TaskScenario.html +1681 -1563
  173. data/doc/TaskJuggler/TextFormatter.html +10 -4
  174. data/doc/TaskJuggler/TextParser.html +567 -534
  175. data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
  176. data/doc/TaskJuggler/TextParser/Rule.html +26 -15
  177. data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
  178. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
  179. data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
  180. data/doc/TaskJuggler/TextReport.html +15 -6
  181. data/doc/TaskJuggler/TextScanner.html +319 -287
  182. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
  183. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
  184. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
  185. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  186. data/doc/TaskJuggler/TimeSheet.html +138 -175
  187. data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
  188. data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
  189. data/doc/TaskJuggler/TimeSheetReport.html +47 -42
  190. data/doc/TaskJuggler/TimeSheetSender.html +10 -4
  191. data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
  192. data/doc/TaskJuggler/TimeSheets.html +22 -16
  193. data/doc/TaskJuggler/Tj3AppBase.html +10 -4
  194. data/doc/TaskJuggler/Tj3Client.html +399 -365
  195. data/doc/TaskJuggler/Tj3Daemon.html +107 -94
  196. data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
  197. data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
  198. data/doc/TaskJuggler/Tj3SsSender.html +10 -4
  199. data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
  200. data/doc/TaskJuggler/Tj3TsSender.html +10 -4
  201. data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
  202. data/doc/TaskJuggler/TjException.html +10 -4
  203. data/doc/TaskJuggler/TjTime.html +145 -140
  204. data/doc/TaskJuggler/TjpExample.html +10 -4
  205. data/doc/TaskJuggler/TjpExportRE.html +122 -118
  206. data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
  207. data/doc/TaskJuggler/URLParameter.html +10 -4
  208. data/doc/TaskJuggler/UserManual.html +162 -155
  209. data/doc/TaskJuggler/VimSyntax.html +1028 -0
  210. data/doc/TaskJuggler/WebServer.html +45 -27
  211. data/doc/TaskJuggler/WorkingHours.html +10 -4
  212. data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
  213. data/doc/TaskJuggler/XMLBlob.html +10 -4
  214. data/doc/TaskJuggler/XMLComment.html +10 -4
  215. data/doc/TaskJuggler/XMLDocument.html +10 -4
  216. data/doc/TaskJuggler/XMLElement.html +10 -4
  217. data/doc/TaskJuggler/XMLNamedText.html +10 -4
  218. data/doc/TaskJuggler/XMLText.html +10 -4
  219. data/doc/index.html +735 -677
  220. data/doc/lib/AccountScenario_rb.html +1 -1
  221. data/doc/lib/Account_rb.html +1 -1
  222. data/doc/lib/Allocation_rb.html +1 -1
  223. data/doc/lib/AppConfig_rb.html +1 -1
  224. data/doc/lib/AttributeBase_rb.html +1 -1
  225. data/doc/lib/AttributeDefinition_rb.html +1 -1
  226. data/doc/lib/Attributes_rb.html +1 -1
  227. data/doc/lib/BatchProcessor_rb.html +1 -1
  228. data/doc/lib/Booking_rb.html +1 -1
  229. data/doc/lib/ChargeSet_rb.html +1 -1
  230. data/doc/lib/Charge_rb.html +1 -1
  231. data/doc/lib/{Message_rb.html → FileList_rb.html} +3 -5
  232. data/doc/lib/HTMLDocument_rb.html +1 -1
  233. data/doc/lib/Interval_rb.html +1 -1
  234. data/doc/lib/Journal_rb.html +1 -1
  235. data/doc/lib/KeywordArray_rb.html +1 -1
  236. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  237. data/doc/lib/Limits_rb.html +1 -1
  238. data/doc/lib/LogFile_rb.html +1 -1
  239. data/doc/lib/Log_rb.html +1 -1
  240. data/doc/lib/LogicalExpression_rb.html +1 -1
  241. data/doc/lib/LogicalFunction_rb.html +1 -1
  242. data/doc/lib/LogicalOperation_rb.html +1 -1
  243. data/doc/lib/MacroTable_rb.html +1 -3
  244. data/doc/lib/MessageHandler_rb.html +1 -1
  245. data/doc/lib/ProjectFileParser_rb.html +1 -1
  246. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  247. data/doc/lib/Project_rb.html +4 -2
  248. data/doc/lib/PropertyList_rb.html +1 -1
  249. data/doc/lib/PropertySet_rb.html +1 -1
  250. data/doc/lib/PropertyTreeNode_rb.html +1 -1
  251. data/doc/lib/Query_rb.html +1 -1
  252. data/doc/lib/RTFHandlers_rb.html +1 -1
  253. data/doc/lib/RTFNavigator_rb.html +1 -1
  254. data/doc/lib/RTFQuery_rb.html +2 -2
  255. data/doc/lib/RTFReportLink_rb.html +4 -2
  256. data/doc/lib/RTFReport_rb.html +1 -1
  257. data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
  258. data/doc/lib/RealFormat_rb.html +1 -1
  259. data/doc/lib/ResourceScenario_rb.html +1 -1
  260. data/doc/lib/Resource_rb.html +1 -1
  261. data/doc/lib/RichTextDocument_rb.html +1 -1
  262. data/doc/lib/RichTextElement_rb.html +1 -1
  263. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  264. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  265. data/doc/lib/RichTextParser_rb.html +1 -1
  266. data/doc/lib/RichTextScanner_rb.html +3 -1
  267. data/doc/lib/RichTextSnip_rb.html +1 -1
  268. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  269. data/doc/lib/RichText_rb.html +3 -1
  270. data/doc/lib/RuntimeConfig_rb.html +1 -1
  271. data/doc/lib/ScenarioData_rb.html +2 -2
  272. data/doc/lib/Scenario_rb.html +1 -1
  273. data/doc/lib/Scoreboard_rb.html +1 -1
  274. data/doc/lib/SheetHandlerBase_rb.html +5 -1
  275. data/doc/lib/SheetReceiver_rb.html +3 -1
  276. data/doc/lib/SheetSender_rb.html +1 -1
  277. data/doc/lib/ShiftAssignments_rb.html +1 -1
  278. data/doc/lib/ShiftScenario_rb.html +1 -1
  279. data/doc/lib/Shift_rb.html +1 -1
  280. data/doc/lib/SimpleQueryExpander_rb.html +67 -0
  281. data/doc/lib/SourceFileInfo_rb.html +1 -1
  282. data/doc/lib/StatusSheetReceiver_rb.html +1 -1
  283. data/doc/lib/StatusSheetSender_rb.html +1 -1
  284. data/doc/lib/SyntaxReference_rb.html +1 -1
  285. data/doc/lib/TOCEntry_rb.html +1 -1
  286. data/doc/lib/TableColumnDefinition_rb.html +1 -1
  287. data/doc/lib/TableOfContents_rb.html +1 -1
  288. data/doc/lib/TaskDependency_rb.html +1 -1
  289. data/doc/lib/TaskJuggler_rb.html +1 -1
  290. data/doc/lib/TaskScenario_rb.html +1 -1
  291. data/doc/lib/Task_rb.html +1 -1
  292. data/doc/lib/TextFormatter_rb.html +1 -1
  293. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  294. data/doc/lib/TextParser/Rule_rb.html +1 -1
  295. data/doc/lib/TextParser/StackElement_rb.html +1 -1
  296. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  297. data/doc/lib/TextParser_rb.html +3 -1
  298. data/doc/lib/TextScanner_rb.html +1 -3
  299. data/doc/lib/TimeSheetReceiver_rb.html +1 -1
  300. data/doc/lib/TimeSheetSender_rb.html +1 -1
  301. data/doc/lib/TimeSheetSummary_rb.html +1 -1
  302. data/doc/lib/TimeSheets_rb.html +1 -1
  303. data/doc/lib/Tj3AppBase_rb.html +1 -1
  304. data/doc/lib/Tj3Config_rb.html +1 -1
  305. data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
  306. data/doc/lib/TjException_rb.html +1 -1
  307. data/doc/lib/TjTime_rb.html +1 -1
  308. data/doc/lib/TjpExample_rb.html +1 -1
  309. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  310. data/doc/lib/URLParameter_rb.html +1 -1
  311. data/doc/lib/UTF8String_rb.html +1 -1
  312. data/doc/lib/UserManual_rb.html +1 -1
  313. data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
  314. data/doc/lib/WorkingHours_rb.html +1 -1
  315. data/doc/lib/XMLDocument_rb.html +1 -1
  316. data/doc/lib/XMLElement_rb.html +1 -1
  317. data/doc/lib/daemon/Daemon_rb.html +1 -1
  318. data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
  319. data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
  320. data/doc/lib/daemon/ProjectServer_rb.html +1 -1
  321. data/doc/lib/daemon/ReportServer_rb.html +1 -3
  322. data/doc/lib/daemon/WebServer_rb.html +1 -1
  323. data/doc/lib/deep_copy_rb.html +1 -1
  324. data/doc/lib/reports/CSVFile_rb.html +1 -1
  325. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  326. data/doc/lib/reports/GanttChart_rb.html +1 -1
  327. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  328. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  329. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  330. data/doc/lib/reports/GanttLine_rb.html +1 -1
  331. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  332. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  333. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  334. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  335. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  336. data/doc/lib/reports/Navigator_rb.html +1 -1
  337. data/doc/lib/reports/NikuReport_rb.html +1 -1
  338. data/doc/lib/reports/ReportBase_rb.html +1 -1
  339. data/doc/lib/reports/ReportContext_rb.html +1 -1
  340. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  341. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  342. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  343. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  344. data/doc/lib/reports/ReportTable_rb.html +1 -1
  345. data/doc/lib/reports/Report_rb.html +1 -1
  346. data/doc/lib/reports/ResourceListRE_rb.html +1 -1
  347. data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
  348. data/doc/lib/reports/TableReport_rb.html +1 -1
  349. data/doc/lib/reports/TaskListRE_rb.html +1 -1
  350. data/doc/lib/reports/TextReport_rb.html +1 -1
  351. data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
  352. data/doc/lib/reports/TjpExportRE_rb.html +1 -1
  353. data/doc/lib/taskjuggler3_rb.html +1 -1
  354. data/doc/lib/tj3client_rb.html +1 -1
  355. data/doc/lib/tj3d_rb.html +1 -1
  356. data/doc/lib/tj3man_rb.html +1 -1
  357. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  358. data/doc/lib/tj3ss_sender_rb.html +1 -1
  359. data/doc/lib/tj3ts_receiver_rb.html +1 -1
  360. data/doc/lib/tj3ts_sender_rb.html +1 -1
  361. data/doc/lib/tj3ts_summary_rb.html +1 -1
  362. data/lib/Allocation.rb +8 -5
  363. data/lib/BatchProcessor.rb +7 -3
  364. data/lib/FileList.rb +58 -0
  365. data/lib/Journal.rb +73 -33
  366. data/lib/KeywordArray.rb +4 -0
  367. data/lib/KeywordDocumentation.rb +45 -11
  368. data/lib/Limits.rb +0 -1
  369. data/lib/LogicalExpression.rb +1 -1
  370. data/lib/LogicalFunction.rb +14 -12
  371. data/lib/MacroTable.rb +3 -4
  372. data/lib/MessageHandler.rb +136 -7
  373. data/lib/Project.rb +72 -86
  374. data/lib/ProjectFileParser.rb +30 -33
  375. data/lib/ProjectFileScanner.rb +7 -16
  376. data/lib/PropertyList.rb +25 -27
  377. data/lib/PropertySet.rb +1 -1
  378. data/lib/PropertyTreeNode.rb +9 -12
  379. data/lib/Query.rb +5 -4
  380. data/lib/RTFNavigator.rb +2 -1
  381. data/lib/RTFQuery.rb +4 -11
  382. data/lib/RTFReport.rb +2 -1
  383. data/lib/RTFReportLink.rb +10 -4
  384. data/lib/RTFWithQuerySupport.rb +45 -0
  385. data/lib/Resource.rb +20 -20
  386. data/lib/ResourceScenario.rb +3 -3
  387. data/lib/RichText.rb +15 -7
  388. data/lib/RichTextDocument.rb +8 -4
  389. data/lib/RichTextElement.rb +35 -12
  390. data/lib/RichTextFunctionHandler.rb +11 -12
  391. data/lib/RichTextParser.rb +5 -3
  392. data/lib/RichTextScanner.rb +144 -565
  393. data/lib/RichTextSnip.rb +3 -7
  394. data/lib/RichTextSyntaxRules.rb +51 -32
  395. data/lib/ScenarioData.rb +16 -25
  396. data/lib/SheetHandlerBase.rb +59 -2
  397. data/lib/SheetReceiver.rb +36 -18
  398. data/lib/SimpleQueryExpander.rb +58 -0
  399. data/lib/SyntaxReference.rb +9 -5
  400. data/lib/TOCEntry.rb +2 -0
  401. data/lib/TableOfContents.rb +4 -0
  402. data/lib/Task.rb +23 -12
  403. data/lib/TaskJuggler.rb +72 -33
  404. data/lib/TaskScenario.rb +131 -53
  405. data/lib/TextParser.rb +43 -30
  406. data/lib/TextParser/Pattern.rb +17 -13
  407. data/lib/TextParser/Rule.rb +5 -0
  408. data/lib/TextScanner.rb +46 -25
  409. data/lib/TimeSheetSummary.rb +9 -7
  410. data/lib/TimeSheets.rb +14 -23
  411. data/lib/Tj3Config.rb +1 -1
  412. data/lib/TjTime.rb +1 -2
  413. data/lib/TjpSyntaxRules.rb +128 -104
  414. data/lib/UTF8String.rb +0 -1
  415. data/lib/UserManual.rb +5 -4
  416. data/lib/VimSyntax.rb +223 -0
  417. data/lib/daemon/Daemon.rb +9 -0
  418. data/lib/daemon/ProcessIntercom.rb +19 -4
  419. data/lib/daemon/ProjectBroker.rb +149 -68
  420. data/lib/daemon/ProjectServer.rb +119 -79
  421. data/lib/daemon/ReportServer.rb +42 -31
  422. data/lib/daemon/WebServer.rb +21 -2
  423. data/lib/deep_copy.rb +1 -1
  424. data/lib/reports/GanttContainer.rb +2 -2
  425. data/lib/reports/GanttLine.rb +2 -3
  426. data/lib/reports/GanttTaskBar.rb +7 -3
  427. data/lib/reports/Report.rb +62 -57
  428. data/lib/reports/ReportBase.rb +6 -4
  429. data/lib/reports/ReportTableCell.rb +13 -14
  430. data/lib/reports/TableReport.rb +2 -1
  431. data/lib/reports/TextReport.rb +3 -0
  432. data/lib/reports/TimeSheetReport.rb +2 -3
  433. data/lib/reports/TjpExportRE.rb +0 -2
  434. data/lib/tj3client.rb +31 -3
  435. data/lib/tj3d.rb +8 -1
  436. data/manual/Day_To_Day_Juggling +2 -95
  437. data/manual/How_To_Contribute +2 -1
  438. data/manual/Rich_Text_Attributes +37 -3
  439. data/manual/Software +203 -0
  440. data/test/MessageChecker.rb +4 -4
  441. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  442. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  443. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  444. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  445. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  446. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  447. data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
  448. data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
  449. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  450. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  451. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
  452. data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
  453. data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
  454. data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
  455. data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
  456. data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
  457. data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
  458. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
  459. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
  460. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
  461. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
  462. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
  463. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
  464. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
  465. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
  466. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
  467. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
  468. data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
  469. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
  470. data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
  471. data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
  472. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
  473. data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
  474. data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
  475. data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
  476. data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
  477. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
  478. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
  479. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
  480. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  481. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  482. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  483. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  484. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  485. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  486. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  487. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  488. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  489. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  490. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  491. data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
  492. data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
  493. data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
  494. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
  495. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
  496. data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
  497. data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
  498. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
  499. data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
  500. data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
  501. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
  502. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
  503. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
  504. data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
  505. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
  506. data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
  507. data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
  508. data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
  509. data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
  510. data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
  511. data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
  512. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  513. data/test/TestSuite/StatusSheets/resrep.tji +7 -0
  514. data/test/TestSuite/StatusSheets/run +6 -4
  515. data/test/TestSuite/StatusSheets/tj3d.log +312 -0
  516. data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
  517. data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
  518. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  519. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
  520. data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
  521. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  522. data/test/TestSuite/TimeSheets/run +6 -5
  523. data/test/TestSuite/TimeSheets/statussheets.log +1 -0
  524. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  525. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  526. data/test/test_PropertySet.rb +2 -2
  527. data/test/test_RichText.rb +178 -387
  528. data/test/test_SimpleQueryExpander.rb +55 -0
  529. data/test/test_deep_copy.rb +2 -2
  530. metadata +854 -834
  531. data/lib/MacroParser.rb +0 -77
  532. data/lib/Message.rb +0 -56
  533. data/lib/ruby-signal-bug.rb +0 -43
  534. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  535. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  536. data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
  537. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  538. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  539. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  540. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  541. data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
  542. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
  543. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  544. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  545. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
@@ -171,6 +171,10 @@
171
171
 
172
172
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
173
173
 
174
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
175
+
176
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
177
+
174
178
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
175
179
 
176
180
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -243,8 +247,6 @@
243
247
 
244
248
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
245
249
 
246
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
247
-
248
250
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
249
251
 
250
252
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -309,6 +311,8 @@
309
311
 
310
312
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
311
313
 
314
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
315
+
312
316
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
313
317
 
314
318
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -355,8 +359,6 @@
355
359
 
356
360
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
357
361
 
358
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
359
-
360
362
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
361
363
 
362
364
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -397,6 +399,8 @@
397
399
 
398
400
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
399
401
 
402
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
403
+
400
404
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
401
405
 
402
406
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -507,6 +511,8 @@
507
511
 
508
512
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
509
513
 
514
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
515
+
510
516
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
511
517
 
512
518
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -173,6 +173,10 @@
173
173
 
174
174
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
175
175
 
176
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
177
+
178
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
179
+
176
180
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
177
181
 
178
182
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -245,8 +249,6 @@
245
249
 
246
250
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
247
251
 
248
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
249
-
250
252
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
251
253
 
252
254
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -311,6 +313,8 @@
311
313
 
312
314
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
313
315
 
316
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
317
+
314
318
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
315
319
 
316
320
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -357,8 +361,6 @@
357
361
 
358
362
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
359
363
 
360
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
361
-
362
364
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
363
365
 
364
366
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -399,6 +401,8 @@
399
401
 
400
402
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
401
403
 
404
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
405
+
402
406
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
403
407
 
404
408
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -509,6 +513,8 @@
509
513
 
510
514
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
511
515
 
516
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
517
+
512
518
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
513
519
 
514
520
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -163,6 +163,10 @@
163
163
 
164
164
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
165
165
 
166
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
167
+
168
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
169
+
166
170
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
167
171
 
168
172
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -235,8 +239,6 @@
235
239
 
236
240
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
237
241
 
238
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
239
-
240
242
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
241
243
 
242
244
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -301,6 +303,8 @@
301
303
 
302
304
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
303
305
 
306
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
307
+
304
308
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
305
309
 
306
310
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -347,8 +351,6 @@
347
351
 
348
352
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
349
353
 
350
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
351
-
352
354
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
353
355
 
354
356
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -389,6 +391,8 @@
389
391
 
390
392
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
391
393
 
394
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
395
+
392
396
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
393
397
 
394
398
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -499,6 +503,8 @@
499
503
 
500
504
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
501
505
 
506
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
507
+
502
508
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
503
509
 
504
510
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -187,6 +187,10 @@
187
187
 
188
188
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
189
189
 
190
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
191
+
192
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
193
+
190
194
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
191
195
 
192
196
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -259,8 +263,6 @@
259
263
 
260
264
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
261
265
 
262
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
263
-
264
266
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
265
267
 
266
268
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -325,6 +327,8 @@
325
327
 
326
328
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
327
329
 
330
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
331
+
328
332
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
329
333
 
330
334
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -371,8 +375,6 @@
371
375
 
372
376
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
373
377
 
374
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
375
-
376
378
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
377
379
 
378
380
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -413,6 +415,8 @@
413
415
 
414
416
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
415
417
 
418
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
419
+
416
420
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
417
421
 
418
422
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -523,6 +527,8 @@
523
527
 
524
528
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
525
529
 
530
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
531
+
526
532
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
527
533
 
528
534
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -163,6 +163,10 @@
163
163
 
164
164
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
165
165
 
166
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
167
+
168
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
169
+
166
170
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
167
171
 
168
172
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -235,8 +239,6 @@
235
239
 
236
240
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
237
241
 
238
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
239
-
240
242
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
241
243
 
242
244
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -301,6 +303,8 @@
301
303
 
302
304
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
303
305
 
306
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
307
+
304
308
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
305
309
 
306
310
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -347,8 +351,6 @@
347
351
 
348
352
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
349
353
 
350
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
351
-
352
354
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
353
355
 
354
356
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -389,6 +391,8 @@
389
391
 
390
392
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
391
393
 
394
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
395
+
392
396
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
393
397
 
394
398
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -499,6 +503,8 @@
499
503
 
500
504
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
501
505
 
506
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
507
+
502
508
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
503
509
 
504
510
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -163,6 +163,10 @@
163
163
 
164
164
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
165
165
 
166
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
167
+
168
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
169
+
166
170
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
167
171
 
168
172
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -235,8 +239,6 @@
235
239
 
236
240
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
237
241
 
238
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
239
-
240
242
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
241
243
 
242
244
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -301,6 +303,8 @@
301
303
 
302
304
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
303
305
 
306
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
307
+
304
308
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
305
309
 
306
310
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -347,8 +351,6 @@
347
351
 
348
352
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
349
353
 
350
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
351
-
352
354
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
353
355
 
354
356
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -389,6 +391,8 @@
389
391
 
390
392
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
391
393
 
394
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
395
+
392
396
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
393
397
 
394
398
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -499,6 +503,8 @@
499
503
 
500
504
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
501
505
 
506
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
507
+
502
508
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
503
509
 
504
510
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -173,6 +173,10 @@
173
173
 
174
174
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
175
175
 
176
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
177
+
178
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
179
+
176
180
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
177
181
 
178
182
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -245,8 +249,6 @@
245
249
 
246
250
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
247
251
 
248
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
249
-
250
252
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
251
253
 
252
254
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -311,6 +313,8 @@
311
313
 
312
314
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
313
315
 
316
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
317
+
314
318
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
315
319
 
316
320
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -357,8 +361,6 @@
357
361
 
358
362
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
359
363
 
360
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
361
-
362
364
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
363
365
 
364
366
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -399,6 +401,8 @@
399
401
 
400
402
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
401
403
 
404
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
405
+
402
406
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
403
407
 
404
408
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -509,6 +513,8 @@
509
513
 
510
514
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
511
515
 
516
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
517
+
512
518
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
513
519
 
514
520
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -172,6 +172,10 @@
172
172
 
173
173
  <li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
174
174
 
175
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
176
+
177
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
178
+
175
179
  <li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
176
180
 
177
181
  <li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
@@ -244,8 +248,6 @@
244
248
 
245
249
  <li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
246
250
 
247
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
248
-
249
251
  <li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
250
252
 
251
253
  <li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
@@ -310,6 +312,8 @@
310
312
 
311
313
  <li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
312
314
 
315
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
316
+
313
317
  <li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
314
318
 
315
319
  <li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
@@ -356,8 +360,6 @@
356
360
 
357
361
  <li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
358
362
 
359
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
360
-
361
363
  <li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
362
364
 
363
365
  <li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
@@ -398,6 +400,8 @@
398
400
 
399
401
  <li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
400
402
 
403
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
404
+
401
405
  <li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
402
406
 
403
407
  <li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
@@ -508,6 +512,8 @@
508
512
 
509
513
  <li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
510
514
 
515
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
516
+
511
517
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
512
518
 
513
519
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
@@ -585,17 +591,17 @@
585
591
  <div class="method-source-code"
586
592
  id="check-ey-source">
587
593
  <pre>
588
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 98</span>
589
- 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">command</span>)
590
- 99: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">authKey</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@authKey</span>
591
- 100: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Accepted authentication key for command '#{command}'&quot;</span>)
592
- 101: <span class="ruby-keyword kw">else</span>
593
- 102: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-node">&quot;Rejected wrong authentication key #{authKey}&quot;</span> <span class="ruby-operator">+</span>
594
- 103: <span class="ruby-node">&quot;for command '#{command}'&quot;</span>)
595
- 104: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
596
- 105: <span class="ruby-keyword kw">end</span>
597
- 106: <span class="ruby-keyword kw">true</span>
598
- 107: <span class="ruby-keyword kw">end</span></pre>
594
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 112</span>
595
+ 112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">command</span>)
596
+ 113: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">authKey</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@authKey</span>
597
+ 114: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Accepted authentication key for command '#{command}'&quot;</span>)
598
+ 115: <span class="ruby-keyword kw">else</span>
599
+ 116: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-node">&quot;Rejected wrong authentication key #{authKey}&quot;</span> <span class="ruby-operator">+</span>
600
+ 117: <span class="ruby-node">&quot;for command '#{command}'&quot;</span>)
601
+ 118: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
602
+ 119: <span class="ruby-keyword kw">end</span>
603
+ 120: <span class="ruby-keyword kw">true</span>
604
+ 121: <span class="ruby-keyword kw">end</span></pre>
599
605
  </div>
600
606
 
601
607
  </div>
@@ -626,24 +632,24 @@
626
632
  <div class="method-source-code"
627
633
  id="connect-source">
628
634
  <pre>
629
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 64</span>
630
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connect</span>(<span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span>, <span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">silent</span>)
631
- 65: <span class="ruby-comment cmt"># Set the client lock.</span>
632
- 66: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">lock</span>
633
- 67: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Rerouting ProjectServer standard IO to client'</span>)
634
- 68: <span class="ruby-comment cmt"># Make sure that all output to STDOUT and STDERR is sent to the client.</span>
635
- 69: <span class="ruby-comment cmt"># Input is read from the client STDIN. We save a copy of the old file</span>
636
- 70: <span class="ruby-comment cmt"># handles so we can restore then later again.</span>
637
- 71: <span class="ruby-ivar">@stdout</span> = <span class="ruby-identifier">$stdout</span>
638
- 72: <span class="ruby-ivar">@stderr</span> = <span class="ruby-identifier">$stderr</span>
639
- 73: <span class="ruby-ivar">@stdin</span> = <span class="ruby-identifier">$stdin</span>
640
- 74: <span class="ruby-identifier">$stdout</span> = <span class="ruby-identifier">stdout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stdout</span>
641
- 75: <span class="ruby-identifier">$stderr</span> = <span class="ruby-identifier">stderr</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stdout</span>
642
- 76: <span class="ruby-identifier">$stdin</span> = <span class="ruby-identifier">stdin</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stdin</span>
643
- 77: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'IO is now routed to the client'</span>)
644
- 78: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-identifier">silent</span>
645
- 79: <span class="ruby-keyword kw">true</span>
646
- 80: <span class="ruby-keyword kw">end</span></pre>
635
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 78</span>
636
+ 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connect</span>(<span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span>, <span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">silent</span>)
637
+ 79: <span class="ruby-comment cmt"># Set the client lock.</span>
638
+ 80: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">lock</span>
639
+ 81: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Rerouting ProjectServer standard IO to client'</span>)
640
+ 82: <span class="ruby-comment cmt"># Make sure that all output to STDOUT and STDERR is sent to the client.</span>
641
+ 83: <span class="ruby-comment cmt"># Input is read from the client STDIN. We save a copy of the old file</span>
642
+ 84: <span class="ruby-comment cmt"># handles so we can restore then later again.</span>
643
+ 85: <span class="ruby-ivar">@stdout</span> = <span class="ruby-identifier">$stdout</span>
644
+ 86: <span class="ruby-ivar">@stderr</span> = <span class="ruby-identifier">$stderr</span>
645
+ 87: <span class="ruby-ivar">@stdin</span> = <span class="ruby-identifier">$stdin</span>
646
+ 88: <span class="ruby-identifier">$stdout</span> = <span class="ruby-identifier">stdout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stdout</span>
647
+ 89: <span class="ruby-identifier">$stderr</span> = <span class="ruby-identifier">stderr</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stdout</span>
648
+ 90: <span class="ruby-identifier">$stdin</span> = <span class="ruby-identifier">stdin</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stdin</span>
649
+ 91: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'IO is now routed to the client'</span>)
650
+ 92: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-identifier">silent</span>
651
+ 93: <span class="ruby-keyword kw">true</span>
652
+ 94: <span class="ruby-keyword kw">end</span></pre>
647
653
  </div>
648
654
 
649
655
  </div>
@@ -674,18 +680,18 @@
674
680
  <div class="method-source-code"
675
681
  id="disconnect-source">
676
682
  <pre>
677
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 82</span>
678
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>
679
- 83: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Restoring IO'</span>)
680
- 84: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">true</span>
681
- 85: <span class="ruby-identifier">$stdout</span> = <span class="ruby-ivar">@stdout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stdout</span>
682
- 86: <span class="ruby-identifier">$stderr</span> = <span class="ruby-ivar">@stderr</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stderr</span>
683
- 87: <span class="ruby-identifier">$stdin</span> = <span class="ruby-ivar">@stdin</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stdin</span>
684
- 88: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Standard IO has been restored'</span>)
685
- 89: <span class="ruby-comment cmt"># Release the client lock</span>
686
- 90: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">unlock</span>
687
- 91: <span class="ruby-keyword kw">true</span>
688
- 92: <span class="ruby-keyword kw">end</span></pre>
683
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 96</span>
684
+ 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>
685
+ 97: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Restoring IO'</span>)
686
+ 98: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">true</span>
687
+ 99: <span class="ruby-identifier">$stdout</span> = <span class="ruby-ivar">@stdout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stdout</span>
688
+ 100: <span class="ruby-identifier">$stderr</span> = <span class="ruby-ivar">@stderr</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stderr</span>
689
+ 101: <span class="ruby-identifier">$stdin</span> = <span class="ruby-ivar">@stdin</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stdin</span>
690
+ 102: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Standard IO has been restored'</span>)
691
+ 103: <span class="ruby-comment cmt"># Release the client lock</span>
692
+ 104: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">unlock</span>
693
+ 105: <span class="ruby-keyword kw">true</span>
694
+ 106: <span class="ruby-keyword kw">end</span></pre>
689
695
  </div>
690
696
 
691
697
  </div>
@@ -716,10 +722,10 @@
716
722
  <div class="method-source-code"
717
723
  id="generate-uth-ey-source">
718
724
  <pre>
719
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 94</span>
720
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateAuthKey</span>
721
- 95: <span class="ruby-identifier">rand</span>(<span class="ruby-value">1000000000</span>).<span class="ruby-identifier">to_s</span>
722
- 96: <span class="ruby-keyword kw">end</span></pre>
725
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 108</span>
726
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateAuthKey</span>
727
+ 109: <span class="ruby-identifier">rand</span>(<span class="ruby-value">1000000000</span>).<span class="ruby-identifier">to_s</span>
728
+ 110: <span class="ruby-keyword kw">end</span></pre>
723
729
  </div>
724
730
 
725
731
  </div>
@@ -750,24 +756,24 @@
750
756
  <div class="method-source-code"
751
757
  id="init-ntercom-source">
752
758
  <pre>
753
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 41</span>
754
- 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initIntercom</span>
755
- 42: <span class="ruby-comment cmt"># This is the authentication key that clients will need to provide to</span>
756
- 43: <span class="ruby-comment cmt"># execute DRb methods.</span>
757
- 44: <span class="ruby-ivar">@authKey</span> = <span class="ruby-identifier">generateAuthKey</span>
758
- 45:
759
- 46: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
760
- 47: <span class="ruby-comment cmt"># This flag will be set to true by DRb method calls to terminate the</span>
761
- 48: <span class="ruby-comment cmt"># process.</span>
762
- 49: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">false</span>
763
- 50:
764
- 51: <span class="ruby-comment cmt"># This mutex is locked while a client is connected.</span>
765
- 52: <span class="ruby-ivar">@clientConnection</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
766
- 53: <span class="ruby-comment cmt"># This lock protects the @timerStart</span>
767
- 54: <span class="ruby-ivar">@timeLock</span> = <span class="ruby-constant">Monitor</span>.<span class="ruby-identifier">new</span>
768
- 55: <span class="ruby-comment cmt"># The time stamp of the last client interaction.</span>
769
- 56: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-keyword kw">nil</span>
770
- 57: <span class="ruby-keyword kw">end</span></pre>
759
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 55</span>
760
+ 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initIntercom</span>
761
+ 56: <span class="ruby-comment cmt"># This is the authentication key that clients will need to provide to</span>
762
+ 57: <span class="ruby-comment cmt"># execute DRb methods.</span>
763
+ 58: <span class="ruby-ivar">@authKey</span> = <span class="ruby-identifier">generateAuthKey</span>
764
+ 59:
765
+ 60: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
766
+ 61: <span class="ruby-comment cmt"># This flag will be set to true by DRb method calls to terminate the</span>
767
+ 62: <span class="ruby-comment cmt"># process.</span>
768
+ 63: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">false</span>
769
+ 64:
770
+ 65: <span class="ruby-comment cmt"># This mutex is locked while a client is connected.</span>
771
+ 66: <span class="ruby-ivar">@clientConnection</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
772
+ 67: <span class="ruby-comment cmt"># This lock protects the @timerStart</span>
773
+ 68: <span class="ruby-ivar">@timeLock</span> = <span class="ruby-constant">Monitor</span>.<span class="ruby-identifier">new</span>
774
+ 69: <span class="ruby-comment cmt"># The time stamp of the last client interaction.</span>
775
+ 70: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-keyword kw">nil</span>
776
+ 71: <span class="ruby-keyword kw">end</span></pre>
771
777
  </div>
772
778
 
773
779
  </div>
@@ -801,13 +807,13 @@ client connection timer.
801
807
  <div class="method-source-code"
802
808
  id="restart-imer-source">
803
809
  <pre>
804
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 111</span>
805
- 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restartTimer</span>
806
- 112: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
807
- 113: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Reseting client connection timer'</span>)
808
- 114: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
809
- 115: <span class="ruby-keyword kw">end</span>
810
- 116: <span class="ruby-keyword kw">end</span></pre>
810
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 125</span>
811
+ 125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restartTimer</span>
812
+ 126: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
813
+ 127: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Reseting client connection timer'</span>)
814
+ 128: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
815
+ 129: <span class="ruby-keyword kw">end</span>
816
+ 130: <span class="ruby-keyword kw">end</span></pre>
811
817
  </div>
812
818
 
813
819
  </div>
@@ -842,30 +848,30 @@ exit after the timeout has been reached. It shuts down the DRb server.
842
848
  <div class="method-source-code"
843
849
  id="start-erminator-source">
844
850
  <pre>
845
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 131</span>
846
- 131: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startTerminator</span>
847
- 132: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
848
- 133: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
849
- 134: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@terminate</span>
850
- 135: <span class="ruby-comment cmt"># We wait for the client to propery disconnect. In case this does</span>
851
- 136: <span class="ruby-comment cmt"># not happen, we'll wait for the timeout and exit anyway.</span>
852
- 137: <span class="ruby-identifier">restartTimer</span>
853
- 138: <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">locked?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">timerExpired?</span> <span class="ruby-keyword kw">do</span>
854
- 139: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
855
- 140: <span class="ruby-keyword kw">end</span>
856
- 141: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">timerExpired?</span>
857
- 142: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-value str">'Shutting down DRb server due to timeout'</span>)
858
- 143: <span class="ruby-keyword kw">else</span>
859
- 144: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Shutting down DRb server'</span>)
860
- 145: <span class="ruby-keyword kw">end</span>
861
- 146: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
862
- 147: <span class="ruby-keyword kw">break</span>
863
- 148: <span class="ruby-keyword kw">else</span>
864
- 149: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
865
- 150: <span class="ruby-keyword kw">end</span>
866
- 151: <span class="ruby-keyword kw">end</span>
867
- 152: <span class="ruby-keyword kw">end</span>
868
- 153: <span class="ruby-keyword kw">end</span></pre>
851
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 146</span>
852
+ 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startTerminator</span>
853
+ 147: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
854
+ 148: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
855
+ 149: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@terminate</span>
856
+ 150: <span class="ruby-comment cmt"># We wait for the client to propery disconnect. In case this does</span>
857
+ 151: <span class="ruby-comment cmt"># not happen, we'll wait for the timeout and exit anyway.</span>
858
+ 152: <span class="ruby-identifier">restartTimer</span>
859
+ 153: <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">locked?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">timerExpired?</span> <span class="ruby-keyword kw">do</span>
860
+ 154: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
861
+ 155: <span class="ruby-keyword kw">end</span>
862
+ 156: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">timerExpired?</span>
863
+ 157: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-value str">'Shutting down DRb server due to timeout'</span>)
864
+ 158: <span class="ruby-keyword kw">else</span>
865
+ 159: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Shutting down DRb server'</span>)
866
+ 160: <span class="ruby-keyword kw">end</span>
867
+ 161: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
868
+ 162: <span class="ruby-keyword kw">break</span>
869
+ 163: <span class="ruby-keyword kw">else</span>
870
+ 164: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
871
+ 165: <span class="ruby-keyword kw">end</span>
872
+ 166: <span class="ruby-keyword kw">end</span>
873
+ 167: <span class="ruby-keyword kw">end</span>
874
+ 168: <span class="ruby-keyword kw">end</span></pre>
869
875
  </div>
870
876
 
871
877
  </div>
@@ -896,11 +902,11 @@ exit after the timeout has been reached. It shuts down the DRb server.
896
902
  <div class="method-source-code"
897
903
  id="terminate-source">
898
904
  <pre>
899
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 59</span>
900
- 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminate</span>
901
- 60: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Terminating on external request'</span>)
902
- 61: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">true</span>
903
- 62: <span class="ruby-keyword kw">end</span></pre>
905
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 73</span>
906
+ 73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminate</span>
907
+ 74: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Terminating on external request'</span>)
908
+ 75: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">true</span>
909
+ 76: <span class="ruby-keyword kw">end</span></pre>
904
910
  </div>
905
911
 
906
912
  </div>
@@ -933,14 +939,15 @@ Check if the client interaction timer has already expired.
933
939
  <div class="method-source-code"
934
940
  id="timer-xpired--source">
935
941
  <pre>
936
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 119</span>
937
- 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timerExpired?</span>
938
- 120: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
939
- 121: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
940
- 122: <span class="ruby-identifier">res</span> = (<span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@timerStart</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-value">60</span> * <span class="ruby-value">60</span>)
941
- 123: <span class="ruby-keyword kw">end</span>
942
- 124: <span class="ruby-identifier">res</span>
943
- 125: <span class="ruby-keyword kw">end</span></pre>
942
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 133</span>
943
+ 133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timerExpired?</span>
944
+ 134: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
945
+ 135: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
946
+ 136: <span class="ruby-comment cmt"># We should see client interaction every 2 minutes.</span>
947
+ 137: <span class="ruby-identifier">res</span> = (<span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@timerStart</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> * <span class="ruby-value">60</span>)
948
+ 138: <span class="ruby-keyword kw">end</span>
949
+ 139: <span class="ruby-identifier">res</span>
950
+ 140: <span class="ruby-keyword kw">end</span></pre>
944
951
  </div>
945
952
 
946
953
  </div>