taskjuggler 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -127,6 +127,8 @@
127
127
 
128
128
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
129
129
 
130
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
131
+
130
132
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
131
133
 
132
134
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -205,6 +207,8 @@
205
207
 
206
208
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
207
209
 
210
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
211
+
208
212
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
209
213
 
210
214
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -237,6 +241,8 @@
237
241
 
238
242
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
239
243
 
244
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
245
+
240
246
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
241
247
 
242
248
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -517,6 +523,8 @@
517
523
 
518
524
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
519
525
 
526
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
527
+
520
528
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
521
529
 
522
530
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -543,8 +551,6 @@
543
551
 
544
552
  <li><a href="../String.html">String</a></li>
545
553
 
546
- <li><a href="../StringIO.html">StringIO</a></li>
547
-
548
554
  </ul>
549
555
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
550
556
  </div>
@@ -630,11 +636,11 @@
630
636
  <div class="method-source-code"
631
637
  id="new-source">
632
638
  <pre>
633
- <span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 36</span>
634
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>)
635
- 37: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
636
- 38: <span class="ruby-ivar">@sum</span> = <span class="ruby-value">0.0</span>
637
- 39: <span class="ruby-keyword kw">end</span></pre>
639
+ <span class="ruby-comment cmt"># File lib/reports/NikuReport.rb, line 37</span>
640
+ 37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>)
641
+ 38: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
642
+ 39: <span class="ruby-ivar">@sum</span> = <span class="ruby-value">0.0</span>
643
+ 40: <span class="ruby-keyword kw">end</span></pre>
638
644
  </div>
639
645
 
640
646
  </div>
@@ -55,7 +55,7 @@
55
55
  <div id="parent-class-section" class="section">
56
56
  <h3 class="section-header">Parent</h3>
57
57
 
58
- <p class="link"><a href="AttributeBase.html">TaskJuggler::AttributeBase</a></p>
58
+ <p class="link"><a href="ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></p>
59
59
 
60
60
  </div>
61
61
 
@@ -127,6 +127,8 @@
127
127
 
128
128
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
129
129
 
130
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
131
+
130
132
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
131
133
 
132
134
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -205,6 +207,8 @@
205
207
 
206
208
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
207
209
 
210
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
211
+
208
212
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
209
213
 
210
214
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -237,6 +241,8 @@
237
241
 
238
242
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
239
243
 
244
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
245
+
240
246
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
241
247
 
242
248
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -517,6 +523,8 @@
517
523
 
518
524
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
519
525
 
526
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
527
+
520
528
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
521
529
 
522
530
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -543,8 +551,6 @@
543
551
 
544
552
  <li><a href="../String.html">String</a></li>
545
553
 
546
- <li><a href="../StringIO.html">StringIO</a></li>
547
-
548
554
  </ul>
549
555
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
550
556
  </div>
@@ -592,12 +598,10 @@
592
598
  <div class="method-source-code"
593
599
  id="new-source">
594
600
  <pre>
595
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 374</span>
596
- 374: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">propery</span>, <span class="ruby-identifier">type</span>)
597
- 375: <span class="ruby-keyword kw">super</span>
598
- 376:
599
- 377: <span class="ruby-ivar">@value</span> = <span class="ruby-keyword kw">nil</span>
600
- 378: <span class="ruby-keyword kw">end</span></pre>
601
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 375</span>
602
+ 375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">propery</span>, <span class="ruby-identifier">type</span>)
603
+ 376: <span class="ruby-keyword kw">super</span>
604
+ 377: <span class="ruby-keyword kw">end</span></pre>
601
605
  </div>
602
606
 
603
607
  </div>
@@ -131,6 +131,8 @@
131
131
 
132
132
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
133
133
 
134
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
135
+
134
136
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
135
137
 
136
138
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -209,6 +211,8 @@
209
211
 
210
212
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
211
213
 
214
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
215
+
212
216
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
213
217
 
214
218
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -241,6 +245,8 @@
241
245
 
242
246
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
243
247
 
248
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
249
+
244
250
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
245
251
 
246
252
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -521,6 +527,8 @@
521
527
 
522
528
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
523
529
 
530
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
531
+
524
532
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
525
533
 
526
534
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -547,8 +555,6 @@
547
555
 
548
556
  <li><a href="../String.html">String</a></li>
549
557
 
550
- <li><a href="../StringIO.html">StringIO</a></li>
551
-
552
558
  </ul>
553
559
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
554
560
  </div>
@@ -605,12 +611,12 @@ cell.
605
611
  <div class="method-source-code"
606
612
  id="new-source">
607
613
  <pre>
608
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 342</span>
609
- 342: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">embeddedLine</span>)
610
- 343: <span class="ruby-ivar">@line</span> = <span class="ruby-identifier">line</span>
611
- 344: <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">addCell</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>
612
- 345: <span class="ruby-ivar">@embeddedLine</span> = <span class="ruby-identifier">embeddedLine</span>
613
- 346: <span class="ruby-keyword kw">end</span></pre>
614
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 377</span>
615
+ 377: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">embeddedLine</span>)
616
+ 378: <span class="ruby-ivar">@line</span> = <span class="ruby-identifier">line</span>
617
+ 379: <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">addCell</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span>
618
+ 380: <span class="ruby-ivar">@embeddedLine</span> = <span class="ruby-identifier">embeddedLine</span>
619
+ 381: <span class="ruby-keyword kw">end</span></pre>
614
620
  </div>
615
621
 
616
622
  </div>
@@ -651,10 +657,10 @@ current line. The return value is the number of added cells.
651
657
  <div class="method-source-code"
652
658
  id="to-csv-source">
653
659
  <pre>
654
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 351</span>
655
- 351: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">lineIdx</span>)
656
- 352: <span class="ruby-ivar">@embeddedLine</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">lineIdx</span>)
657
- 353: <span class="ruby-keyword kw">end</span></pre>
660
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 386</span>
661
+ 386: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">lineIdx</span>)
662
+ 387: <span class="ruby-ivar">@embeddedLine</span>.<span class="ruby-identifier">to_csv</span>(<span class="ruby-identifier">csv</span>, <span class="ruby-identifier">columnIdx</span>, <span class="ruby-identifier">lineIdx</span>)
663
+ 388: <span class="ruby-keyword kw">end</span></pre>
658
664
  </div>
659
665
 
660
666
  </div>
@@ -685,10 +691,10 @@ current line. The return value is the number of added cells.
685
691
  <div class="method-source-code"
686
692
  id="to-html-source">
687
693
  <pre>
688
- <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 355</span>
689
- 355: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
690
- 356: <span class="ruby-keyword kw">nil</span>
691
- 357: <span class="ruby-keyword kw">end</span></pre>
694
+ <span class="ruby-comment cmt"># File lib/reports/ReportTableCell.rb, line 390</span>
695
+ 390: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
696
+ 391: <span class="ruby-keyword kw">nil</span>
697
+ 392: <span class="ruby-keyword kw">end</span></pre>
692
698
  </div>
693
699
 
694
700
  </div>
@@ -136,6 +136,8 @@
136
136
 
137
137
  <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
138
138
 
139
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
140
+
139
141
  <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
140
142
 
141
143
  <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -214,6 +216,8 @@
214
216
 
215
217
  <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
216
218
 
219
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
220
+
217
221
  <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
218
222
 
219
223
  <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -246,6 +250,8 @@
246
250
 
247
251
  <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
248
252
 
253
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
254
+
249
255
  <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
250
256
 
251
257
  <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -526,6 +532,8 @@
526
532
 
527
533
  <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
528
534
 
535
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
536
+
529
537
  <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
530
538
 
531
539
  <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -552,8 +560,6 @@
552
560
 
553
561
  <li><a href="../String.html">String</a></li>
554
562
 
555
- <li><a href="../StringIO.html">StringIO</a></li>
556
-
557
563
  </ul>
558
564
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
559
565
  </div>
@@ -601,17 +607,17 @@
601
607
  <div class="method-source-code"
602
608
  id="check-ey-source">
603
609
  <pre>
604
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 112</span>
605
- 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>)
606
- 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>
607
- 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>)
608
- 115: <span class="ruby-keyword kw">else</span>
609
- 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>
610
- 117: <span class="ruby-node">&quot;for command '#{command}'&quot;</span>)
611
- 118: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
612
- 119: <span class="ruby-keyword kw">end</span>
613
- 120: <span class="ruby-keyword kw">true</span>
614
- 121: <span class="ruby-keyword kw">end</span></pre>
610
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 114</span>
611
+ 114: <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>)
612
+ 115: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">authKey</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@authKey</span>
613
+ 116: <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>)
614
+ 117: <span class="ruby-keyword kw">else</span>
615
+ 118: <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>
616
+ 119: <span class="ruby-node">&quot;for command '#{command}'&quot;</span>)
617
+ 120: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
618
+ 121: <span class="ruby-keyword kw">end</span>
619
+ 122: <span class="ruby-keyword kw">true</span>
620
+ 123: <span class="ruby-keyword kw">end</span></pre>
615
621
  </div>
616
622
 
617
623
  </div>
@@ -642,24 +648,24 @@
642
648
  <div class="method-source-code"
643
649
  id="connect-source">
644
650
  <pre>
645
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 78</span>
646
- 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>)
647
- 79: <span class="ruby-comment cmt"># Set the client lock.</span>
648
- 80: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">lock</span>
649
- 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>)
650
- 82: <span class="ruby-comment cmt"># Make sure that all output to STDOUT and STDERR is sent to the client.</span>
651
- 83: <span class="ruby-comment cmt"># Input is read from the client STDIN. We save a copy of the old file</span>
652
- 84: <span class="ruby-comment cmt"># handles so we can restore then later again.</span>
653
- 85: <span class="ruby-ivar">@stdout</span> = <span class="ruby-identifier">$stdout</span>
654
- 86: <span class="ruby-ivar">@stderr</span> = <span class="ruby-identifier">$stderr</span>
655
- 87: <span class="ruby-ivar">@stdin</span> = <span class="ruby-identifier">$stdin</span>
656
- 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>
657
- 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>
658
- 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>
659
- 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>)
660
- 92: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-identifier">silent</span>
661
- 93: <span class="ruby-keyword kw">true</span>
662
- 94: <span class="ruby-keyword kw">end</span></pre>
651
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 80</span>
652
+ 80: <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>)
653
+ 81: <span class="ruby-comment cmt"># Set the client lock.</span>
654
+ 82: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">lock</span>
655
+ 83: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Rerouting ProjectServer standard IO to client'</span>)
656
+ 84: <span class="ruby-comment cmt"># Make sure that all output to STDOUT and STDERR is sent to the client.</span>
657
+ 85: <span class="ruby-comment cmt"># Input is read from the client STDIN. We save a copy of the old file</span>
658
+ 86: <span class="ruby-comment cmt"># handles so we can restore then later again.</span>
659
+ 87: <span class="ruby-ivar">@stdout</span> = <span class="ruby-identifier">$stdout</span>
660
+ 88: <span class="ruby-ivar">@stderr</span> = <span class="ruby-identifier">$stderr</span>
661
+ 89: <span class="ruby-ivar">@stdin</span> = <span class="ruby-identifier">$stdin</span>
662
+ 90: <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>
663
+ 91: <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>
664
+ 92: <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>
665
+ 93: <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>)
666
+ 94: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-identifier">silent</span>
667
+ 95: <span class="ruby-keyword kw">true</span>
668
+ 96: <span class="ruby-keyword kw">end</span></pre>
663
669
  </div>
664
670
 
665
671
  </div>
@@ -690,18 +696,18 @@
690
696
  <div class="method-source-code"
691
697
  id="disconnect-source">
692
698
  <pre>
693
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 96</span>
694
- 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>
695
- 97: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Restoring IO'</span>)
696
- 98: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">true</span>
697
- 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>
698
- 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>
699
- 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>
700
- 102: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Standard IO has been restored'</span>)
701
- 103: <span class="ruby-comment cmt"># Release the client lock</span>
702
- 104: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">unlock</span>
703
- 105: <span class="ruby-keyword kw">true</span>
704
- 106: <span class="ruby-keyword kw">end</span></pre>
699
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 98</span>
700
+ 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>
701
+ 99: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Restoring IO'</span>)
702
+ 100: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">true</span>
703
+ 101: <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>
704
+ 102: <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>
705
+ 103: <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>
706
+ 104: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Standard IO has been restored'</span>)
707
+ 105: <span class="ruby-comment cmt"># Release the client lock</span>
708
+ 106: <span class="ruby-ivar">@clientConnection</span>.<span class="ruby-identifier">unlock</span>
709
+ 107: <span class="ruby-keyword kw">true</span>
710
+ 108: <span class="ruby-keyword kw">end</span></pre>
705
711
  </div>
706
712
 
707
713
  </div>
@@ -732,10 +738,10 @@
732
738
  <div class="method-source-code"
733
739
  id="generate-uth-ey-source">
734
740
  <pre>
735
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 108</span>
736
- 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateAuthKey</span>
737
- 109: <span class="ruby-identifier">rand</span>(<span class="ruby-value">1000000000</span>).<span class="ruby-identifier">to_s</span>
738
- 110: <span class="ruby-keyword kw">end</span></pre>
741
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 110</span>
742
+ 110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateAuthKey</span>
743
+ 111: <span class="ruby-identifier">rand</span>(<span class="ruby-value">1000000000</span>).<span class="ruby-identifier">to_s</span>
744
+ 112: <span class="ruby-keyword kw">end</span></pre>
739
745
  </div>
740
746
 
741
747
  </div>
@@ -766,24 +772,24 @@
766
772
  <div class="method-source-code"
767
773
  id="init-ntercom-source">
768
774
  <pre>
769
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 55</span>
770
- 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initIntercom</span>
771
- 56: <span class="ruby-comment cmt"># This is the authentication key that clients will need to provide to</span>
772
- 57: <span class="ruby-comment cmt"># execute DRb methods.</span>
773
- 58: <span class="ruby-ivar">@authKey</span> = <span class="ruby-identifier">generateAuthKey</span>
774
- 59:
775
- 60: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
776
- 61: <span class="ruby-comment cmt"># This flag will be set to true by DRb method calls to terminate the</span>
777
- 62: <span class="ruby-comment cmt"># process.</span>
778
- 63: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">false</span>
779
- 64:
780
- 65: <span class="ruby-comment cmt"># This mutex is locked while a client is connected.</span>
781
- 66: <span class="ruby-ivar">@clientConnection</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
782
- 67: <span class="ruby-comment cmt"># This lock protects the @timerStart</span>
783
- 68: <span class="ruby-ivar">@timeLock</span> = <span class="ruby-constant">Monitor</span>.<span class="ruby-identifier">new</span>
784
- 69: <span class="ruby-comment cmt"># The time stamp of the last client interaction.</span>
785
- 70: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-keyword kw">nil</span>
786
- 71: <span class="ruby-keyword kw">end</span></pre>
775
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 57</span>
776
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initIntercom</span>
777
+ 58: <span class="ruby-comment cmt"># This is the authentication key that clients will need to provide to</span>
778
+ 59: <span class="ruby-comment cmt"># execute DRb methods.</span>
779
+ 60: <span class="ruby-ivar">@authKey</span> = <span class="ruby-identifier">generateAuthKey</span>
780
+ 61:
781
+ 62: <span class="ruby-ivar">@log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
782
+ 63: <span class="ruby-comment cmt"># This flag will be set to true by DRb method calls to terminate the</span>
783
+ 64: <span class="ruby-comment cmt"># process.</span>
784
+ 65: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">false</span>
785
+ 66:
786
+ 67: <span class="ruby-comment cmt"># This mutex is locked while a client is connected.</span>
787
+ 68: <span class="ruby-ivar">@clientConnection</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
788
+ 69: <span class="ruby-comment cmt"># This lock protects the @timerStart</span>
789
+ 70: <span class="ruby-ivar">@timeLock</span> = <span class="ruby-constant">Monitor</span>.<span class="ruby-identifier">new</span>
790
+ 71: <span class="ruby-comment cmt"># The time stamp of the last client interaction.</span>
791
+ 72: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-keyword kw">nil</span>
792
+ 73: <span class="ruby-keyword kw">end</span></pre>
787
793
  </div>
788
794
 
789
795
  </div>
@@ -817,13 +823,13 @@ client connection timer.
817
823
  <div class="method-source-code"
818
824
  id="restart-imer-source">
819
825
  <pre>
820
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 125</span>
821
- 125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restartTimer</span>
822
- 126: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
823
- 127: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Reseting client connection timer'</span>)
824
- 128: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
825
- 129: <span class="ruby-keyword kw">end</span>
826
- 130: <span class="ruby-keyword kw">end</span></pre>
826
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 127</span>
827
+ 127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restartTimer</span>
828
+ 128: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
829
+ 129: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Reseting client connection timer'</span>)
830
+ 130: <span class="ruby-ivar">@timerStart</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
831
+ 131: <span class="ruby-keyword kw">end</span>
832
+ 132: <span class="ruby-keyword kw">end</span></pre>
827
833
  </div>
828
834
 
829
835
  </div>
@@ -858,30 +864,30 @@ exit after the timeout has been reached. It shuts down the DRb server.
858
864
  <div class="method-source-code"
859
865
  id="start-erminator-source">
860
866
  <pre>
861
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 146</span>
862
- 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startTerminator</span>
863
- 147: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
864
- 148: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
865
- 149: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@terminate</span>
866
- 150: <span class="ruby-comment cmt"># We wait for the client to propery disconnect. In case this does</span>
867
- 151: <span class="ruby-comment cmt"># not happen, we'll wait for the timeout and exit anyway.</span>
868
- 152: <span class="ruby-identifier">restartTimer</span>
869
- 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>
870
- 154: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
871
- 155: <span class="ruby-keyword kw">end</span>
872
- 156: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">timerExpired?</span>
873
- 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>)
874
- 158: <span class="ruby-keyword kw">else</span>
875
- 159: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Shutting down DRb server'</span>)
876
- 160: <span class="ruby-keyword kw">end</span>
877
- 161: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
878
- 162: <span class="ruby-keyword kw">break</span>
879
- 163: <span class="ruby-keyword kw">else</span>
880
- 164: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
881
- 165: <span class="ruby-keyword kw">end</span>
882
- 166: <span class="ruby-keyword kw">end</span>
883
- 167: <span class="ruby-keyword kw">end</span>
884
- 168: <span class="ruby-keyword kw">end</span></pre>
867
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 148</span>
868
+ 148: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startTerminator</span>
869
+ 149: <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span>
870
+ 150: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
871
+ 151: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@terminate</span>
872
+ 152: <span class="ruby-comment cmt"># We wait for the client to propery disconnect. In case this does</span>
873
+ 153: <span class="ruby-comment cmt"># not happen, we'll wait for the timeout and exit anyway.</span>
874
+ 154: <span class="ruby-identifier">restartTimer</span>
875
+ 155: <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>
876
+ 156: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
877
+ 157: <span class="ruby-keyword kw">end</span>
878
+ 158: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">timerExpired?</span>
879
+ 159: <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>)
880
+ 160: <span class="ruby-keyword kw">else</span>
881
+ 161: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Shutting down DRb server'</span>)
882
+ 162: <span class="ruby-keyword kw">end</span>
883
+ 163: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
884
+ 164: <span class="ruby-keyword kw">break</span>
885
+ 165: <span class="ruby-keyword kw">else</span>
886
+ 166: <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span>
887
+ 167: <span class="ruby-keyword kw">end</span>
888
+ 168: <span class="ruby-keyword kw">end</span>
889
+ 169: <span class="ruby-keyword kw">end</span>
890
+ 170: <span class="ruby-keyword kw">end</span></pre>
885
891
  </div>
886
892
 
887
893
  </div>
@@ -912,11 +918,11 @@ exit after the timeout has been reached. It shuts down the DRb server.
912
918
  <div class="method-source-code"
913
919
  id="terminate-source">
914
920
  <pre>
915
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 73</span>
916
- 73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminate</span>
917
- 74: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Terminating on external request'</span>)
918
- 75: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">true</span>
919
- 76: <span class="ruby-keyword kw">end</span></pre>
921
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 75</span>
922
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminate</span>
923
+ 76: <span class="ruby-ivar">@log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">'Terminating on external request'</span>)
924
+ 77: <span class="ruby-ivar">@terminate</span> = <span class="ruby-keyword kw">true</span>
925
+ 78: <span class="ruby-keyword kw">end</span></pre>
920
926
  </div>
921
927
 
922
928
  </div>
@@ -949,15 +955,15 @@ Check if the client interaction timer has already expired.
949
955
  <div class="method-source-code"
950
956
  id="timer-xpired--source">
951
957
  <pre>
952
- <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 133</span>
953
- 133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timerExpired?</span>
954
- 134: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
955
- 135: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
956
- 136: <span class="ruby-comment cmt"># We should see client interaction every 2 minutes.</span>
957
- 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>)
958
- 138: <span class="ruby-keyword kw">end</span>
959
- 139: <span class="ruby-identifier">res</span>
960
- 140: <span class="ruby-keyword kw">end</span></pre>
958
+ <span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 135</span>
959
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timerExpired?</span>
960
+ 136: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
961
+ 137: <span class="ruby-ivar">@timeLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
962
+ 138: <span class="ruby-comment cmt"># We should see client interaction every 2 minutes.</span>
963
+ 139: <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>)
964
+ 140: <span class="ruby-keyword kw">end</span>
965
+ 141: <span class="ruby-identifier">res</span>
966
+ 142: <span class="ruby-keyword kw">end</span></pre>
961
967
  </div>
962
968
 
963
969
  </div>