taskjuggler 0.2.0 → 0.2.1
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.
- data/CHANGELOG +7 -0
- data/data/tjp.vim +1 -1
- data/lib/exchangebug.rb +42 -0
- data/lib/ruby-signal-bug.rb +55 -0
- data/lib/taskjuggler/DataCache.rb +30 -41
- data/lib/taskjuggler/ResourceScenario.rb +19 -20
- data/lib/taskjuggler/TaskScenario.rb +11 -8
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/prj_cfg.rb +3 -3
- data/test/TestSuite/Export-Reports/refs/DST.tjp +60 -0
- data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +80 -0
- data/test/TestSuite/Export-Reports/tp.tjp +49 -0
- data/test/TestSuite/HTML-Reports/Alerts.html +412 -160
- data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +20 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -6
- data/test/TestSuite/HTML-Reports/reference.html +51 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +86 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/css/tjreport.css +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/details.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-green.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-red.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resource.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/task.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/taskgroup.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-down.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-flat.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.html +1075 -0
- data/test/TestSuite/Scheduler/Correct/Duration.html +610 -0
- data/test/TestSuite/Scheduler/{Errors → Correct}/css/tjmanual.css +0 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +413 -0
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
- data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
- data/test/TestSuite/Syntax/Correct/DST.tjp +11 -0
- data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +32 -0
- data/test/TestSuite/TimeSheets/receiver.log.mod +1056 -0
- data/test/TestSuite/TimeSheets/uu.txt +29 -0
- metadata +672 -1076
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/benchmarks/htmltaskreport-1.html +0 -47702
- data/benchmarks/htmltaskreport-2.html +0 -23345
- data/benchmarks/htmltaskreport-3.html +0 -23265
- data/benchmarks/htmltaskreport-4.html +0 -22135
- data/benchmarks/profile.clt +0 -36082
- data/benchmarks/tj3.profile +0 -0
- data/benchmarks/tj3.profile.grind +0 -6185
- data/benchmarks/tj3.profile.symbols +0 -432
- data/benchmarks/tj3.profile.txt +0 -448
- data/doc/AppConfig.html +0 -1515
- data/doc/CHANGELOG.html +0 -2441
- data/doc/COPYING.html +0 -923
- data/doc/Diff.html +0 -1217
- data/doc/Diff/Hunk.html +0 -1050
- data/doc/Diffable.html +0 -708
- data/doc/DiffableString.html +0 -708
- data/doc/Object.html +0 -744
- data/doc/README_rdoc.html +0 -774
- data/doc/RuntimeConfig.html +0 -880
- data/doc/String.html +0 -1029
- data/doc/TaskJuggler.html +0 -2698
- data/doc/TaskJuggler/Account.html +0 -777
- data/doc/TaskJuggler/AccountAttribute.html +0 -793
- data/doc/TaskJuggler/AccountScenario.html +0 -736
- data/doc/TaskJuggler/Allocation.html +0 -987
- data/doc/TaskJuggler/AllocationAttribute.html +0 -823
- data/doc/TaskJuggler/AttributeBase.html +0 -1379
- data/doc/TaskJuggler/AttributeDefinition.html +0 -839
- data/doc/TaskJuggler/AttributeOverwrite.html +0 -630
- data/doc/TaskJuggler/BatchProcessor.html +0 -1202
- data/doc/TaskJuggler/Booking.html +0 -883
- data/doc/TaskJuggler/BookingListAttribute.html +0 -793
- data/doc/TaskJuggler/BooleanAttribute.html +0 -793
- data/doc/TaskJuggler/CSVFile.html +0 -1152
- data/doc/TaskJuggler/CellSettingPattern.html +0 -724
- data/doc/TaskJuggler/CellSettingPatternList.html +0 -773
- data/doc/TaskJuggler/Charge.html +0 -801
- data/doc/TaskJuggler/ChargeListAttribute.html +0 -757
- data/doc/TaskJuggler/ChargeSet.html +0 -973
- data/doc/TaskJuggler/ChargeSetListAttribute.html +0 -802
- data/doc/TaskJuggler/CollisionDetector.html +0 -1113
- data/doc/TaskJuggler/ColumnListAttribute.html +0 -757
- data/doc/TaskJuggler/ColumnTable.html +0 -787
- data/doc/TaskJuggler/Daemon.html +0 -843
- data/doc/TaskJuggler/DataCache.html +0 -1049
- data/doc/TaskJuggler/DataCacheEntry.html +0 -761
- data/doc/TaskJuggler/DateAttribute.html +0 -761
- data/doc/TaskJuggler/DefinitionListAttribute.html +0 -679
- data/doc/TaskJuggler/DependencyListAttribute.html +0 -797
- data/doc/TaskJuggler/DurationAttribute.html +0 -794
- data/doc/TaskJuggler/FileList.html +0 -817
- data/doc/TaskJuggler/FileRecord.html +0 -726
- data/doc/TaskJuggler/FixnumAttribute.html +0 -715
- data/doc/TaskJuggler/FlagListAttribute.html +0 -793
- data/doc/TaskJuggler/FloatAttribute.html +0 -757
- data/doc/TaskJuggler/FormatListAttribute.html +0 -721
- data/doc/TaskJuggler/GanttChart.html +0 -1511
- data/doc/TaskJuggler/GanttContainer.html +0 -969
- data/doc/TaskJuggler/GanttHeader.html +0 -972
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +0 -786
- data/doc/TaskJuggler/GanttLine.html +0 -1349
- data/doc/TaskJuggler/GanttLoadStack.html +0 -852
- data/doc/TaskJuggler/GanttMilestone.html +0 -950
- data/doc/TaskJuggler/GanttRouter.html +0 -1160
- data/doc/TaskJuggler/GanttTaskBar.html +0 -972
- data/doc/TaskJuggler/HTMLDocument.html +0 -800
- data/doc/TaskJuggler/HTMLElements.html +0 -623
- data/doc/TaskJuggler/HTMLGraphics.html +0 -861
- data/doc/TaskJuggler/ICalReport.html +0 -864
- data/doc/TaskJuggler/ICalendar.html +0 -1035
- data/doc/TaskJuggler/ICalendar/Component.html +0 -969
- data/doc/TaskJuggler/ICalendar/Event.html +0 -742
- data/doc/TaskJuggler/ICalendar/Journal.html +0 -722
- data/doc/TaskJuggler/ICalendar/Person.html +0 -633
- data/doc/TaskJuggler/ICalendar/Todo.html +0 -789
- data/doc/TaskJuggler/Interval.html +0 -1003
- data/doc/TaskJuggler/IntervalList.html +0 -821
- data/doc/TaskJuggler/JobInfo.html +0 -967
- data/doc/TaskJuggler/Journal.html +0 -1272
- data/doc/TaskJuggler/JournalEntry.html +0 -884
- data/doc/TaskJuggler/JournalEntryList.html +0 -1253
- data/doc/TaskJuggler/KeywordArray.html +0 -720
- data/doc/TaskJuggler/KeywordDocumentation.html +0 -2274
- data/doc/TaskJuggler/Limits.html +0 -1019
- data/doc/TaskJuggler/Limits/Limit.html +0 -1022
- data/doc/TaskJuggler/LimitsAttribute.html +0 -759
- data/doc/TaskJuggler/ListAttributeBase.html +0 -727
- data/doc/TaskJuggler/Log.html +0 -1187
- data/doc/TaskJuggler/LogFile.html +0 -1004
- data/doc/TaskJuggler/LogicalAttribute.html +0 -784
- data/doc/TaskJuggler/LogicalExpression.html +0 -825
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +0 -715
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +0 -715
- data/doc/TaskJuggler/LogicalFlag.html +0 -777
- data/doc/TaskJuggler/LogicalFunction.html +0 -1433
- data/doc/TaskJuggler/LogicalOperation.html +0 -1168
- data/doc/TaskJuggler/ManagerResponsibilities.html +0 -760
- data/doc/TaskJuggler/ManagerStatusRecord.html +0 -764
- data/doc/TaskJuggler/Message.html +0 -861
- data/doc/TaskJuggler/MessageHandler.html +0 -1102
- data/doc/TaskJuggler/Navigator.html +0 -967
- data/doc/TaskJuggler/NavigatorElement.html +0 -1018
- data/doc/TaskJuggler/NikuProject.html +0 -748
- data/doc/TaskJuggler/NikuReport.html +0 -1494
- data/doc/TaskJuggler/NikuResource.html +0 -718
- data/doc/TaskJuggler/NodeListAttribute.html +0 -679
- data/doc/TaskJuggler/PlaceHolderCell.html +0 -772
- data/doc/TaskJuggler/ProcessIntercom.html +0 -1041
- data/doc/TaskJuggler/ProcessIntercomIface.html +0 -797
- data/doc/TaskJuggler/Project.html +0 -3741
- data/doc/TaskJuggler/ProjectBroker.html +0 -1700
- data/doc/TaskJuggler/ProjectBrokerIface.html +0 -875
- data/doc/TaskJuggler/ProjectFileParser.html +0 -2127
- data/doc/TaskJuggler/ProjectFileScanner.html +0 -1921
- data/doc/TaskJuggler/ProjectRecord.html +0 -1002
- data/doc/TaskJuggler/ProjectServer.html +0 -1273
- data/doc/TaskJuggler/ProjectServerIface.html +0 -892
- data/doc/TaskJuggler/PropertyAttribute.html +0 -715
- data/doc/TaskJuggler/PropertyList.html +0 -1423
- data/doc/TaskJuggler/PropertySet.html +0 -1816
- data/doc/TaskJuggler/PropertyTreeNode.html +0 -2895
- data/doc/TaskJuggler/Query.html +0 -1783
- data/doc/TaskJuggler/RTFHandlers.html +0 -688
- data/doc/TaskJuggler/RTFNavigator.html +0 -816
- data/doc/TaskJuggler/RTFQuery.html +0 -1107
- data/doc/TaskJuggler/RTFReport.html +0 -844
- data/doc/TaskJuggler/RTFReportLink.html +0 -836
- data/doc/TaskJuggler/RTFWithQuerySupport.html +0 -726
- data/doc/TaskJuggler/RealFormat.html +0 -829
- data/doc/TaskJuggler/RealFormatAttribute.html +0 -679
- data/doc/TaskJuggler/ReferenceAttribute.html +0 -904
- data/doc/TaskJuggler/Report.html +0 -1645
- data/doc/TaskJuggler/ReportBase.html +0 -1192
- data/doc/TaskJuggler/ReportContext.html +0 -861
- data/doc/TaskJuggler/ReportScenario.html +0 -633
- data/doc/TaskJuggler/ReportServer.html +0 -1092
- data/doc/TaskJuggler/ReportServerIface.html +0 -926
- data/doc/TaskJuggler/ReportServerRecord.html +0 -805
- data/doc/TaskJuggler/ReportServlet.html +0 -1053
- data/doc/TaskJuggler/ReportTable.html +0 -1203
- data/doc/TaskJuggler/ReportTableCell.html +0 -1690
- data/doc/TaskJuggler/ReportTableColumn.html +0 -914
- data/doc/TaskJuggler/ReportTableLegend.html +0 -1084
- data/doc/TaskJuggler/ReportTableLine.html +0 -1091
- data/doc/TaskJuggler/Resource.html +0 -1066
- data/doc/TaskJuggler/ResourceListAttribute.html +0 -853
- data/doc/TaskJuggler/ResourceListRE.html +0 -761
- data/doc/TaskJuggler/ResourceScenario.html +0 -2591
- data/doc/TaskJuggler/RichText.html +0 -903
- data/doc/TaskJuggler/RichTextAttribute.html +0 -835
- data/doc/TaskJuggler/RichTextDocument.html +0 -1062
- data/doc/TaskJuggler/RichTextElement.html +0 -1804
- data/doc/TaskJuggler/RichTextFunctionExample.html +0 -823
- data/doc/TaskJuggler/RichTextFunctionHandler.html +0 -774
- data/doc/TaskJuggler/RichTextImage.html +0 -736
- data/doc/TaskJuggler/RichTextIntermediate.html +0 -1309
- data/doc/TaskJuggler/RichTextParser.html +0 -892
- data/doc/TaskJuggler/RichTextScanner.html +0 -1589
- data/doc/TaskJuggler/RichTextSnip.html +0 -1024
- data/doc/TaskJuggler/RichTextSyntaxRules.html +0 -2076
- data/doc/TaskJuggler/Scenario.html +0 -680
- data/doc/TaskJuggler/ScenarioData.html +0 -905
- data/doc/TaskJuggler/ScenarioListAttribute.html +0 -757
- data/doc/TaskJuggler/Scoreboard.html +0 -1265
- data/doc/TaskJuggler/ScoreboardInterval.html +0 -1116
- data/doc/TaskJuggler/SheetHandlerBase.html +0 -1321
- data/doc/TaskJuggler/SheetReceiver.html +0 -1422
- data/doc/TaskJuggler/SheetSender.html +0 -1192
- data/doc/TaskJuggler/Shift.html +0 -775
- data/doc/TaskJuggler/ShiftAssignment.html +0 -1032
- data/doc/TaskJuggler/ShiftAssignments.html +0 -1438
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +0 -759
- data/doc/TaskJuggler/ShiftScenario.html +0 -806
- data/doc/TaskJuggler/SimpleQueryExpander.html +0 -756
- data/doc/TaskJuggler/SortListAttribute.html +0 -715
- data/doc/TaskJuggler/StatusSheetReceiver.html +0 -702
- data/doc/TaskJuggler/StatusSheetReport.html +0 -959
- data/doc/TaskJuggler/StatusSheetSender.html +0 -832
- data/doc/TaskJuggler/StdIoWrapper.html +0 -720
- data/doc/TaskJuggler/StringAttribute.html +0 -757
- data/doc/TaskJuggler/SymbolAttribute.html +0 -715
- data/doc/TaskJuggler/SyntaxReference.html +0 -1264
- data/doc/TaskJuggler/TOCEntry.html +0 -860
- data/doc/TaskJuggler/TSResourceRecord.html +0 -756
- data/doc/TaskJuggler/TSTaskRecord.html +0 -768
- data/doc/TaskJuggler/TableColumnDefinition.html +0 -973
- data/doc/TaskJuggler/TableOfContents.html +0 -814
- data/doc/TaskJuggler/TableReport.html +0 -2580
- data/doc/TaskJuggler/TagFile.html +0 -817
- data/doc/TaskJuggler/TagFile/TagFileEntry.html +0 -841
- data/doc/TaskJuggler/Task.html +0 -914
- data/doc/TaskJuggler/TaskDepListAttribute.html +0 -797
- data/doc/TaskJuggler/TaskDependency.html +0 -856
- data/doc/TaskJuggler/TaskListAttribute.html +0 -797
- data/doc/TaskJuggler/TaskListRE.html +0 -760
- data/doc/TaskJuggler/TaskScenario.html +0 -5237
- data/doc/TaskJuggler/TernarySearchTree.html +0 -1365
- data/doc/TaskJuggler/TextFormatter.html +0 -997
- data/doc/TaskJuggler/TextParser.html +0 -1886
- data/doc/TaskJuggler/TextParser/Macro.html +0 -732
- data/doc/TaskJuggler/TextParser/MacroTable.html +0 -856
- data/doc/TaskJuggler/TextParser/Pattern.html +0 -1767
- data/doc/TaskJuggler/TextParser/Rule.html +0 -1443
- data/doc/TaskJuggler/TextParser/Scanner.html +0 -1542
- data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +0 -685
- data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +0 -751
- data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +0 -748
- data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +0 -1128
- data/doc/TaskJuggler/TextParser/SourceFileInfo.html +0 -784
- data/doc/TaskJuggler/TextParser/StackElement.html +0 -964
- data/doc/TaskJuggler/TextParser/State.html +0 -1039
- data/doc/TaskJuggler/TextParser/StateTransition.html +0 -832
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +0 -735
- data/doc/TaskJuggler/TextParser/TokenDoc.html +0 -766
- data/doc/TaskJuggler/TextReport.html +0 -945
- data/doc/TaskJuggler/TimeInterval.html +0 -841
- data/doc/TaskJuggler/TimeIntervalListAttribute.html +0 -797
- data/doc/TaskJuggler/TimeSheet.html +0 -1288
- data/doc/TaskJuggler/TimeSheetReceiver.html +0 -699
- data/doc/TaskJuggler/TimeSheetRecord.html +0 -1439
- data/doc/TaskJuggler/TimeSheetReport.html +0 -1037
- data/doc/TaskJuggler/TimeSheetSender.html +0 -724
- data/doc/TaskJuggler/TimeSheetSummary.html +0 -983
- data/doc/TaskJuggler/TimeSheets.html +0 -760
- data/doc/TaskJuggler/Tj3.html +0 -896
- data/doc/TaskJuggler/Tj3AppBase.html +0 -966
- data/doc/TaskJuggler/Tj3Client.html +0 -1534
- data/doc/TaskJuggler/Tj3Daemon.html +0 -894
- data/doc/TaskJuggler/Tj3Man.html +0 -792
- data/doc/TaskJuggler/Tj3SheetAppBase.html +0 -782
- data/doc/TaskJuggler/Tj3SsReceiver.html +0 -771
- data/doc/TaskJuggler/Tj3SsSender.html +0 -804
- data/doc/TaskJuggler/Tj3TsReceiver.html +0 -771
- data/doc/TaskJuggler/Tj3TsSender.html +0 -791
- data/doc/TaskJuggler/Tj3TsSummary.html +0 -799
- data/doc/TaskJuggler/TjException.html +0 -716
- data/doc/TaskJuggler/TjRuntimeError.html +0 -630
- data/doc/TaskJuggler/TjTime.html +0 -3179
- data/doc/TaskJuggler/TjpExample.html +0 -921
- data/doc/TaskJuggler/TjpExportRE.html +0 -1851
- data/doc/TaskJuggler/TjpSyntaxRules.html +0 -14721
- data/doc/TaskJuggler/URLParameter.html +0 -715
- data/doc/TaskJuggler/UserManual.html +0 -1248
- data/doc/TaskJuggler/VimSyntax.html +0 -1088
- data/doc/TaskJuggler/WebServer.html +0 -781
- data/doc/TaskJuggler/WelcomePage.html +0 -813
- data/doc/TaskJuggler/WorkingHours.html +0 -1293
- data/doc/TaskJuggler/WorkingHoursAttribute.html +0 -780
- data/doc/TaskJuggler/XMLBlob.html +0 -731
- data/doc/TaskJuggler/XMLComment.html +0 -726
- data/doc/TaskJuggler/XMLDocument.html +0 -827
- data/doc/TaskJuggler/XMLElement.html +0 -1014
- data/doc/TaskJuggler/XMLNamedText.html +0 -687
- data/doc/TaskJuggler/XMLText.html +0 -741
- data/doc/index.html +0 -4664
- data/doc/lib/taskjuggler/AccountScenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Account_rb.html +0 -71
- data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +0 -67
- data/doc/lib/taskjuggler/Allocation_rb.html +0 -71
- data/doc/lib/taskjuggler/AppConfig_rb.html +0 -69
- data/doc/lib/taskjuggler/AttributeBase_rb.html +0 -69
- data/doc/lib/taskjuggler/AttributeDefinition_rb.html +0 -67
- data/doc/lib/taskjuggler/Attributes_rb.html +0 -83
- data/doc/lib/taskjuggler/BatchProcessor_rb.html +0 -71
- data/doc/lib/taskjuggler/Booking_rb.html +0 -67
- data/doc/lib/taskjuggler/ChargeSet_rb.html +0 -69
- data/doc/lib/taskjuggler/Charge_rb.html +0 -69
- data/doc/lib/taskjuggler/DataCache_rb.html +0 -71
- data/doc/lib/taskjuggler/FileList_rb.html +0 -67
- data/doc/lib/taskjuggler/HTMLDocument_rb.html +0 -71
- data/doc/lib/taskjuggler/HTMLElements_rb.html +0 -69
- data/doc/lib/taskjuggler/ICalendar_rb.html +0 -69
- data/doc/lib/taskjuggler/IntervalList_rb.html +0 -69
- data/doc/lib/taskjuggler/Interval_rb.html +0 -69
- data/doc/lib/taskjuggler/Journal_rb.html +0 -67
- data/doc/lib/taskjuggler/KeywordArray_rb.html +0 -67
- data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +0 -77
- data/doc/lib/taskjuggler/Limits_rb.html +0 -69
- data/doc/lib/taskjuggler/LogFile_rb.html +0 -69
- data/doc/lib/taskjuggler/Log_rb.html +0 -71
- data/doc/lib/taskjuggler/LogicalExpression_rb.html +0 -73
- data/doc/lib/taskjuggler/LogicalFunction_rb.html +0 -69
- data/doc/lib/taskjuggler/LogicalOperation_rb.html +0 -69
- data/doc/lib/taskjuggler/MessageHandler_rb.html +0 -69
- data/doc/lib/taskjuggler/ProjectFileParser_rb.html +0 -77
- data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +0 -69
- data/doc/lib/taskjuggler/Project_rb.html +0 -113
- data/doc/lib/taskjuggler/PropertyList_rb.html +0 -67
- data/doc/lib/taskjuggler/PropertySet_rb.html +0 -71
- data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +0 -67
- data/doc/lib/taskjuggler/Query_rb.html +0 -69
- data/doc/lib/taskjuggler/RealFormat_rb.html +0 -67
- data/doc/lib/taskjuggler/ResourceScenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Resource_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/Document_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/Element_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +0 -67
- data/doc/lib/taskjuggler/RichText/Parser_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +0 -69
- data/doc/lib/taskjuggler/RichText/Scanner_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/Snip_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +0 -67
- data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText_rb.html +0 -73
- data/doc/lib/taskjuggler/RuntimeConfig_rb.html +0 -69
- data/doc/lib/taskjuggler/ScenarioData_rb.html +0 -71
- data/doc/lib/taskjuggler/Scenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Scoreboard_rb.html +0 -69
- data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +0 -75
- data/doc/lib/taskjuggler/SheetReceiver_rb.html +0 -81
- data/doc/lib/taskjuggler/SheetSender_rb.html +0 -79
- data/doc/lib/taskjuggler/ShiftAssignments_rb.html +0 -71
- data/doc/lib/taskjuggler/ShiftScenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Shift_rb.html +0 -71
- data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +0 -69
- data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +0 -69
- data/doc/lib/taskjuggler/StatusSheetSender_rb.html +0 -69
- data/doc/lib/taskjuggler/StdIoWrapper_rb.html +0 -67
- data/doc/lib/taskjuggler/SyntaxReference_rb.html +0 -75
- data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +0 -67
- data/doc/lib/taskjuggler/TaskDependency_rb.html +0 -67
- data/doc/lib/taskjuggler/TaskJuggler_rb.html +0 -75
- data/doc/lib/taskjuggler/TaskScenario_rb.html +0 -71
- data/doc/lib/taskjuggler/Task_rb.html +0 -71
- data/doc/lib/taskjuggler/TernarySearchTree_rb.html +0 -69
- data/doc/lib/taskjuggler/TextFormatter_rb.html +0 -69
- data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +0 -71
- data/doc/lib/taskjuggler/TextParser/Rule_rb.html +0 -69
- data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +0 -77
- data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/State_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser_rb.html +0 -79
- data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +0 -69
- data/doc/lib/taskjuggler/TimeSheetSender_rb.html +0 -69
- data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +0 -69
- data/doc/lib/taskjuggler/TimeSheets_rb.html +0 -67
- data/doc/lib/taskjuggler/Tj3AppBase_rb.html +0 -79
- data/doc/lib/taskjuggler/Tj3Config_rb.html +0 -71
- data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +0 -69
- data/doc/lib/taskjuggler/TjException_rb.html +0 -67
- data/doc/lib/taskjuggler/TjTime_rb.html +0 -71
- data/doc/lib/taskjuggler/TjpExample_rb.html +0 -69
- data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +0 -67
- data/doc/lib/taskjuggler/URLParameter_rb.html +0 -69
- data/doc/lib/taskjuggler/UTF8String_rb.html +0 -69
- data/doc/lib/taskjuggler/UserManual_rb.html +0 -81
- data/doc/lib/taskjuggler/VimSyntax_rb.html +0 -69
- data/doc/lib/taskjuggler/WorkingHours_rb.html +0 -71
- data/doc/lib/taskjuggler/XMLDocument_rb.html +0 -69
- data/doc/lib/taskjuggler/XMLElement_rb.html +0 -69
- data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +0 -75
- data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +0 -75
- data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +0 -75
- data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3_rb.html +0 -71
- data/doc/lib/taskjuggler/daemon/Daemon_rb.html +0 -69
- data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +0 -71
- data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +0 -83
- data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +0 -85
- data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +0 -73
- data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +0 -69
- data/doc/lib/taskjuggler/daemon/WebServer_rb.html +0 -81
- data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +0 -71
- data/doc/lib/taskjuggler/deep_copy_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/CSVFile_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttChart_rb.html +0 -75
- data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttLine_rb.html +0 -79
- data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ICalReport_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/Navigator_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/NikuReport_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/ReportBase_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportContext_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/ReportTable_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/Report_rb.html +0 -97
- data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +0 -75
- data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/TableReport_rb.html +0 -77
- data/doc/lib/taskjuggler/reports/TagFile_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +0 -75
- data/doc/lib/taskjuggler/reports/TextReport_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +0 -69
- data/doc/lib/tj3_rb.html +0 -69
- data/doc/lib/tj3client_rb.html +0 -69
- data/doc/lib/tj3d_rb.html +0 -69
- data/doc/lib/tj3man_rb.html +0 -69
- data/doc/lib/tj3ss_receiver_rb.html +0 -69
- data/doc/lib/tj3ss_sender_rb.html +0 -69
- data/doc/lib/tj3ts_receiver_rb.html +0 -69
- data/doc/lib/tj3ts_sender_rb.html +0 -69
- data/doc/lib/tj3ts_summary_rb.html +0 -69
- data/doc/rdoc.css +0 -706
- data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +0 -40
- data/test/TestSuite/HTML-Reports/CellText.html +0 -758
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
- data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -245
- data/test/TestSuite/HTML-Reports/Query.html +0 -31
- data/test/TestSuite/HTML-Reports/depArrows.html +0 -851
- data/test/TestSuite/HTML-Reports/profile.html +0 -37581
- data/test/TestSuite/Scheduler/Errors/R.html +0 -113
- data/test/TestSuite/StatusSheets/dev2.tji +0 -22
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +0 -38
- data/test/TestSuite/TimeSheets/resrep.tji +0 -7
- data/test/TestSuite/TimeSheets/ts.tji +0 -351
- data/test/TestSuite/TimeSheets/tsdef.tji +0 -2
|
@@ -1,1534 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
5
|
-
<head>
|
|
6
|
-
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
7
|
-
|
|
8
|
-
<title>Class: TaskJuggler::Tj3Client</title>
|
|
9
|
-
|
|
10
|
-
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
|
|
11
|
-
|
|
12
|
-
<script src="../js/jquery.js" type="text/javascript"
|
|
13
|
-
charset="utf-8"></script>
|
|
14
|
-
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
|
15
|
-
charset="utf-8"></script>
|
|
16
|
-
<script src="../js/quicksearch.js" type="text/javascript"
|
|
17
|
-
charset="utf-8"></script>
|
|
18
|
-
<script src="../js/darkfish.js" type="text/javascript"
|
|
19
|
-
charset="utf-8"></script>
|
|
20
|
-
|
|
21
|
-
</head>
|
|
22
|
-
<body class="class">
|
|
23
|
-
|
|
24
|
-
<div id="metadata">
|
|
25
|
-
<div id="home-metadata">
|
|
26
|
-
<div id="home-section" class="section">
|
|
27
|
-
<h3 class="section-header">
|
|
28
|
-
<a href="../index.html">Home</a>
|
|
29
|
-
<a href="../index.html#classes">Classes</a>
|
|
30
|
-
<a href="../index.html#methods">Methods</a>
|
|
31
|
-
</h3>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<div id="file-metadata">
|
|
36
|
-
<div id="file-list-section" class="section">
|
|
37
|
-
<h3 class="section-header">In Files</h3>
|
|
38
|
-
<div class="section-body">
|
|
39
|
-
<ul>
|
|
40
|
-
|
|
41
|
-
<li><a href="../lib/taskjuggler/apps/Tj3Client_rb.html?TB_iframe=true&height=550&width=785"
|
|
42
|
-
class="thickbox" title="lib/taskjuggler/apps/Tj3Client.rb">lib/taskjuggler/apps/Tj3Client.rb</a></li>
|
|
43
|
-
|
|
44
|
-
</ul>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
</div>
|
|
50
|
-
|
|
51
|
-
<div id="class-metadata">
|
|
52
|
-
|
|
53
|
-
<!-- Parent Class -->
|
|
54
|
-
|
|
55
|
-
<div id="parent-class-section" class="section">
|
|
56
|
-
<h3 class="section-header">Parent</h3>
|
|
57
|
-
|
|
58
|
-
<p class="link"><a href="Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></p>
|
|
59
|
-
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
<!-- Namespace Contents -->
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<!-- Method Quickref -->
|
|
67
|
-
|
|
68
|
-
<div id="method-list-section" class="section">
|
|
69
|
-
<h3 class="section-header">Methods</h3>
|
|
70
|
-
<ul class="link-list">
|
|
71
|
-
|
|
72
|
-
<li><a href="#method-c-new">::new</a></li>
|
|
73
|
-
|
|
74
|
-
<li><a href="#method-i-addFiles">#addFiles</a></li>
|
|
75
|
-
|
|
76
|
-
<li><a href="#method-i-appMain">#appMain</a></li>
|
|
77
|
-
|
|
78
|
-
<li><a href="#method-i-callDaemon">#callDaemon</a></li>
|
|
79
|
-
|
|
80
|
-
<li><a href="#method-i-checkCommand">#checkCommand</a></li>
|
|
81
|
-
|
|
82
|
-
<li><a href="#method-i-connectDaemon">#connectDaemon</a></li>
|
|
83
|
-
|
|
84
|
-
<li><a href="#method-i-connectToReportServer">#connectToReportServer</a></li>
|
|
85
|
-
|
|
86
|
-
<li><a href="#method-i-disconnectDaemon">#disconnectDaemon</a></li>
|
|
87
|
-
|
|
88
|
-
<li><a href="#method-i-disconnectReportServer">#disconnectReportServer</a></li>
|
|
89
|
-
|
|
90
|
-
<li><a href="#method-i-error">#error</a></li>
|
|
91
|
-
|
|
92
|
-
<li><a href="#method-i-executeCommand">#executeCommand</a></li>
|
|
93
|
-
|
|
94
|
-
<li><a href="#method-i-info">#info</a></li>
|
|
95
|
-
|
|
96
|
-
<li><a href="#method-i-processArguments">#processArguments</a></li>
|
|
97
|
-
|
|
98
|
-
<li><a href="#method-i-splitIdsAndFiles">#splitIdsAndFiles</a></li>
|
|
99
|
-
|
|
100
|
-
</ul>
|
|
101
|
-
</div>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
<!-- Included Modules -->
|
|
105
|
-
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
<div id="project-metadata">
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
<div id="fileindex-section" class="section project-section">
|
|
112
|
-
<h3 class="section-header">Files</h3>
|
|
113
|
-
<ul>
|
|
114
|
-
|
|
115
|
-
<li class="file"><a href="../CHANGELOG.html">CHANGELOG</a></li>
|
|
116
|
-
|
|
117
|
-
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
|
118
|
-
|
|
119
|
-
<li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
|
|
120
|
-
|
|
121
|
-
</ul>
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
<div id="classindex-section" class="section project-section">
|
|
126
|
-
<h3 class="section-header">Class Index
|
|
127
|
-
<span class="search-toggle"><img src="../images/find.png"
|
|
128
|
-
height="16" width="16" alt="[+]"
|
|
129
|
-
title="show/hide quicksearch" /></span></h3>
|
|
130
|
-
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
|
131
|
-
<fieldset>
|
|
132
|
-
<legend>Quicksearch</legend>
|
|
133
|
-
<input type="text" name="quicksearch" value=""
|
|
134
|
-
class="quicksearch-field" />
|
|
135
|
-
</fieldset>
|
|
136
|
-
</form>
|
|
137
|
-
|
|
138
|
-
<ul class="link-list">
|
|
139
|
-
|
|
140
|
-
<li><a href="../TaskJuggler.html">TaskJuggler</a></li>
|
|
141
|
-
|
|
142
|
-
<li><a href="../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
|
|
143
|
-
|
|
144
|
-
<li><a href="../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
|
|
145
|
-
|
|
146
|
-
<li><a href="../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
|
|
147
|
-
|
|
148
|
-
<li><a href="../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
|
|
149
|
-
|
|
150
|
-
<li><a href="../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
|
|
151
|
-
|
|
152
|
-
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
|
|
153
|
-
|
|
154
|
-
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
155
|
-
|
|
156
|
-
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
157
|
-
|
|
158
|
-
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
159
|
-
|
|
160
|
-
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
161
|
-
|
|
162
|
-
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
|
|
163
|
-
|
|
164
|
-
<li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
|
|
165
|
-
|
|
166
|
-
<li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
|
|
167
|
-
|
|
168
|
-
<li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
|
|
169
|
-
|
|
170
|
-
<li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
|
|
171
|
-
|
|
172
|
-
<li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
|
|
173
|
-
|
|
174
|
-
<li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
|
|
175
|
-
|
|
176
|
-
<li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
|
|
177
|
-
|
|
178
|
-
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
|
179
|
-
|
|
180
|
-
<li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
|
|
181
|
-
|
|
182
|
-
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
|
183
|
-
|
|
184
|
-
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
|
185
|
-
|
|
186
|
-
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
|
187
|
-
|
|
188
|
-
<li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
|
|
189
|
-
|
|
190
|
-
<li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
|
|
191
|
-
|
|
192
|
-
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
|
193
|
-
|
|
194
|
-
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
|
195
|
-
|
|
196
|
-
<li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
|
|
197
|
-
|
|
198
|
-
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
199
|
-
|
|
200
|
-
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
201
|
-
|
|
202
|
-
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
203
|
-
|
|
204
|
-
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
205
|
-
|
|
206
|
-
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
207
|
-
|
|
208
|
-
<li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
|
|
209
|
-
|
|
210
|
-
<li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
|
|
211
|
-
|
|
212
|
-
<li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
|
|
213
|
-
|
|
214
|
-
<li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
|
|
215
|
-
|
|
216
|
-
<li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
|
|
217
|
-
|
|
218
|
-
<li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
|
|
219
|
-
|
|
220
|
-
<li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
|
|
221
|
-
|
|
222
|
-
<li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
|
|
223
|
-
|
|
224
|
-
<li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
|
|
225
|
-
|
|
226
|
-
<li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
|
|
227
|
-
|
|
228
|
-
<li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
|
|
229
|
-
|
|
230
|
-
<li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
|
|
231
|
-
|
|
232
|
-
<li><a href="../TaskJuggler/HTMLElements.html">TaskJuggler::HTMLElements</a></li>
|
|
233
|
-
|
|
234
|
-
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
|
235
|
-
|
|
236
|
-
<li><a href="../TaskJuggler/ICalReport.html">TaskJuggler::ICalReport</a></li>
|
|
237
|
-
|
|
238
|
-
<li><a href="../TaskJuggler/ICalendar.html">TaskJuggler::ICalendar</a></li>
|
|
239
|
-
|
|
240
|
-
<li><a href="../TaskJuggler/ICalendar/Component.html">TaskJuggler::ICalendar::Component</a></li>
|
|
241
|
-
|
|
242
|
-
<li><a href="../TaskJuggler/ICalendar/Event.html">TaskJuggler::ICalendar::Event</a></li>
|
|
243
|
-
|
|
244
|
-
<li><a href="../TaskJuggler/ICalendar/Journal.html">TaskJuggler::ICalendar::Journal</a></li>
|
|
245
|
-
|
|
246
|
-
<li><a href="../TaskJuggler/ICalendar/Person.html">TaskJuggler::ICalendar::Person</a></li>
|
|
247
|
-
|
|
248
|
-
<li><a href="../TaskJuggler/ICalendar/Todo.html">TaskJuggler::ICalendar::Todo</a></li>
|
|
249
|
-
|
|
250
|
-
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
251
|
-
|
|
252
|
-
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
253
|
-
|
|
254
|
-
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
255
|
-
|
|
256
|
-
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
|
257
|
-
|
|
258
|
-
<li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
|
|
259
|
-
|
|
260
|
-
<li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
|
|
261
|
-
|
|
262
|
-
<li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
|
|
263
|
-
|
|
264
|
-
<li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
|
|
265
|
-
|
|
266
|
-
<li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
|
|
267
|
-
|
|
268
|
-
<li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
|
|
269
|
-
|
|
270
|
-
<li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
|
|
271
|
-
|
|
272
|
-
<li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
|
|
273
|
-
|
|
274
|
-
<li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
|
|
275
|
-
|
|
276
|
-
<li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
|
|
277
|
-
|
|
278
|
-
<li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
|
|
279
|
-
|
|
280
|
-
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
|
|
281
|
-
|
|
282
|
-
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
283
|
-
|
|
284
|
-
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
285
|
-
|
|
286
|
-
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
287
|
-
|
|
288
|
-
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
289
|
-
|
|
290
|
-
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
|
|
291
|
-
|
|
292
|
-
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
293
|
-
|
|
294
|
-
<li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
|
|
295
|
-
|
|
296
|
-
<li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
|
|
297
|
-
|
|
298
|
-
<li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
|
|
299
|
-
|
|
300
|
-
<li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
|
|
301
|
-
|
|
302
|
-
<li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
|
|
303
|
-
|
|
304
|
-
<li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
|
|
305
|
-
|
|
306
|
-
<li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
|
|
307
|
-
|
|
308
|
-
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
309
|
-
|
|
310
|
-
<li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
311
|
-
|
|
312
|
-
<li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
|
|
313
|
-
|
|
314
|
-
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
315
|
-
|
|
316
|
-
<li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
|
|
317
|
-
|
|
318
|
-
<li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
|
|
319
|
-
|
|
320
|
-
<li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
|
|
321
|
-
|
|
322
|
-
<li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
|
|
323
|
-
|
|
324
|
-
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
325
|
-
|
|
326
|
-
<li><a href="../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
327
|
-
|
|
328
|
-
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
329
|
-
|
|
330
|
-
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
331
|
-
|
|
332
|
-
<li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
|
|
333
|
-
|
|
334
|
-
<li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
|
|
335
|
-
|
|
336
|
-
<li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
|
|
337
|
-
|
|
338
|
-
<li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
|
|
339
|
-
|
|
340
|
-
<li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
|
|
341
|
-
|
|
342
|
-
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
343
|
-
|
|
344
|
-
<li><a href="../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
345
|
-
|
|
346
|
-
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
347
|
-
|
|
348
|
-
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
349
|
-
|
|
350
|
-
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
351
|
-
|
|
352
|
-
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
353
|
-
|
|
354
|
-
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
355
|
-
|
|
356
|
-
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
357
|
-
|
|
358
|
-
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
359
|
-
|
|
360
|
-
<li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
|
|
361
|
-
|
|
362
|
-
<li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
|
|
363
|
-
|
|
364
|
-
<li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
|
|
365
|
-
|
|
366
|
-
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
|
367
|
-
|
|
368
|
-
<li><a href="../TaskJuggler/ReportScenario.html">TaskJuggler::ReportScenario</a></li>
|
|
369
|
-
|
|
370
|
-
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
|
371
|
-
|
|
372
|
-
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
|
373
|
-
|
|
374
|
-
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
375
|
-
|
|
376
|
-
<li><a href="../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
377
|
-
|
|
378
|
-
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
379
|
-
|
|
380
|
-
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
381
|
-
|
|
382
|
-
<li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
|
|
383
|
-
|
|
384
|
-
<li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
|
|
385
|
-
|
|
386
|
-
<li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
|
|
387
|
-
|
|
388
|
-
<li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
|
|
389
|
-
|
|
390
|
-
<li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
|
|
391
|
-
|
|
392
|
-
<li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
|
|
393
|
-
|
|
394
|
-
<li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
|
|
395
|
-
|
|
396
|
-
<li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
|
|
397
|
-
|
|
398
|
-
<li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
|
|
399
|
-
|
|
400
|
-
<li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
|
|
401
|
-
|
|
402
|
-
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
403
|
-
|
|
404
|
-
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
405
|
-
|
|
406
|
-
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
407
|
-
|
|
408
|
-
<li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
|
|
409
|
-
|
|
410
|
-
<li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
|
|
411
|
-
|
|
412
|
-
<li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
|
|
413
|
-
|
|
414
|
-
<li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
|
|
415
|
-
|
|
416
|
-
<li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
|
|
417
|
-
|
|
418
|
-
<li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
|
|
419
|
-
|
|
420
|
-
<li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
|
|
421
|
-
|
|
422
|
-
<li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
|
|
423
|
-
|
|
424
|
-
<li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
|
|
425
|
-
|
|
426
|
-
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
|
427
|
-
|
|
428
|
-
<li><a href="../TaskJuggler/ScoreboardInterval.html">TaskJuggler::ScoreboardInterval</a></li>
|
|
429
|
-
|
|
430
|
-
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
|
431
|
-
|
|
432
|
-
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
|
433
|
-
|
|
434
|
-
<li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
|
|
435
|
-
|
|
436
|
-
<li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
|
|
437
|
-
|
|
438
|
-
<li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
|
|
439
|
-
|
|
440
|
-
<li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
|
|
441
|
-
|
|
442
|
-
<li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
|
|
443
|
-
|
|
444
|
-
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
445
|
-
|
|
446
|
-
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
447
|
-
|
|
448
|
-
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
449
|
-
|
|
450
|
-
<li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
|
|
451
|
-
|
|
452
|
-
<li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
|
|
453
|
-
|
|
454
|
-
<li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
|
|
455
|
-
|
|
456
|
-
<li><a href="../TaskJuggler/StdIoWrapper.html">TaskJuggler::StdIoWrapper</a></li>
|
|
457
|
-
|
|
458
|
-
<li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
|
|
459
|
-
|
|
460
|
-
<li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
|
|
461
|
-
|
|
462
|
-
<li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
|
|
463
|
-
|
|
464
|
-
<li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
|
|
465
|
-
|
|
466
|
-
<li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
|
|
467
|
-
|
|
468
|
-
<li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
|
|
469
|
-
|
|
470
|
-
<li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
|
|
471
|
-
|
|
472
|
-
<li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
|
|
473
|
-
|
|
474
|
-
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
|
475
|
-
|
|
476
|
-
<li><a href="../TaskJuggler/TagFile.html">TaskJuggler::TagFile</a></li>
|
|
477
|
-
|
|
478
|
-
<li><a href="../TaskJuggler/TagFile/TagFileEntry.html">TaskJuggler::TagFile::TagFileEntry</a></li>
|
|
479
|
-
|
|
480
|
-
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
|
481
|
-
|
|
482
|
-
<li><a href="../TaskJuggler/TaskDepListAttribute.html">TaskJuggler::TaskDepListAttribute</a></li>
|
|
483
|
-
|
|
484
|
-
<li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
|
|
485
|
-
|
|
486
|
-
<li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
|
|
487
|
-
|
|
488
|
-
<li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
|
|
489
|
-
|
|
490
|
-
<li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
|
|
491
|
-
|
|
492
|
-
<li><a href="../TaskJuggler/TernarySearchTree.html">TaskJuggler::TernarySearchTree</a></li>
|
|
493
|
-
|
|
494
|
-
<li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
|
|
495
|
-
|
|
496
|
-
<li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
|
|
497
|
-
|
|
498
|
-
<li><a href="../TaskJuggler/TextParser/Macro.html">TaskJuggler::TextParser::Macro</a></li>
|
|
499
|
-
|
|
500
|
-
<li><a href="../TaskJuggler/TextParser/MacroTable.html">TaskJuggler::TextParser::MacroTable</a></li>
|
|
501
|
-
|
|
502
|
-
<li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
|
|
503
|
-
|
|
504
|
-
<li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
|
|
505
|
-
|
|
506
|
-
<li><a href="../TaskJuggler/TextParser/Scanner.html">TaskJuggler::TextParser::Scanner</a></li>
|
|
507
|
-
|
|
508
|
-
<li><a href="../TaskJuggler/TextParser/Scanner/BufferStreamHandle.html">TaskJuggler::TextParser::Scanner::BufferStreamHandle</a></li>
|
|
509
|
-
|
|
510
|
-
<li><a href="../TaskJuggler/TextParser/Scanner/FileStreamHandle.html">TaskJuggler::TextParser::Scanner::FileStreamHandle</a></li>
|
|
511
|
-
|
|
512
|
-
<li><a href="../TaskJuggler/TextParser/Scanner/MacroStackEntry.html">TaskJuggler::TextParser::Scanner::MacroStackEntry</a></li>
|
|
513
|
-
|
|
514
|
-
<li><a href="../TaskJuggler/TextParser/Scanner/StreamHandle.html">TaskJuggler::TextParser::Scanner::StreamHandle</a></li>
|
|
515
|
-
|
|
516
|
-
<li><a href="../TaskJuggler/TextParser/SourceFileInfo.html">TaskJuggler::TextParser::SourceFileInfo</a></li>
|
|
517
|
-
|
|
518
|
-
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
|
519
|
-
|
|
520
|
-
<li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
|
|
521
|
-
|
|
522
|
-
<li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
|
|
523
|
-
|
|
524
|
-
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
|
525
|
-
|
|
526
|
-
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
|
527
|
-
|
|
528
|
-
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
|
529
|
-
|
|
530
|
-
<li><a href="../TaskJuggler/TimeInterval.html">TaskJuggler::TimeInterval</a></li>
|
|
531
|
-
|
|
532
|
-
<li><a href="../TaskJuggler/TimeIntervalListAttribute.html">TaskJuggler::TimeIntervalListAttribute</a></li>
|
|
533
|
-
|
|
534
|
-
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
535
|
-
|
|
536
|
-
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
|
537
|
-
|
|
538
|
-
<li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
|
|
539
|
-
|
|
540
|
-
<li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
|
|
541
|
-
|
|
542
|
-
<li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
|
|
543
|
-
|
|
544
|
-
<li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
|
|
545
|
-
|
|
546
|
-
<li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
|
|
547
|
-
|
|
548
|
-
<li><a href="../TaskJuggler/Tj3.html">TaskJuggler::Tj3</a></li>
|
|
549
|
-
|
|
550
|
-
<li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
|
|
551
|
-
|
|
552
|
-
<li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
|
|
553
|
-
|
|
554
|
-
<li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
|
|
555
|
-
|
|
556
|
-
<li><a href="../TaskJuggler/Tj3Man.html">TaskJuggler::Tj3Man</a></li>
|
|
557
|
-
|
|
558
|
-
<li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
|
|
559
|
-
|
|
560
|
-
<li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
|
|
561
|
-
|
|
562
|
-
<li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
|
|
563
|
-
|
|
564
|
-
<li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
|
|
565
|
-
|
|
566
|
-
<li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
|
|
567
|
-
|
|
568
|
-
<li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
|
|
569
|
-
|
|
570
|
-
<li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
|
|
571
|
-
|
|
572
|
-
<li><a href="../TaskJuggler/TjRuntimeError.html">TaskJuggler::TjRuntimeError</a></li>
|
|
573
|
-
|
|
574
|
-
<li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
|
|
575
|
-
|
|
576
|
-
<li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
|
|
577
|
-
|
|
578
|
-
<li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
|
|
579
|
-
|
|
580
|
-
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
581
|
-
|
|
582
|
-
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
583
|
-
|
|
584
|
-
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
585
|
-
|
|
586
|
-
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
587
|
-
|
|
588
|
-
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
589
|
-
|
|
590
|
-
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
591
|
-
|
|
592
|
-
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
593
|
-
|
|
594
|
-
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
595
|
-
|
|
596
|
-
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
|
|
597
|
-
|
|
598
|
-
<li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
|
|
599
|
-
|
|
600
|
-
<li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
|
|
601
|
-
|
|
602
|
-
<li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
|
|
603
|
-
|
|
604
|
-
<li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
|
|
605
|
-
|
|
606
|
-
<li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
|
|
607
|
-
|
|
608
|
-
<li><a href="../Diff.html">Diff</a></li>
|
|
609
|
-
|
|
610
|
-
<li><a href="../Diff/Hunk.html">Diff::Hunk</a></li>
|
|
611
|
-
|
|
612
|
-
<li><a href="../AppConfig.html">AppConfig</a></li>
|
|
613
|
-
|
|
614
|
-
<li><a href="../Diffable.html">Diffable</a></li>
|
|
615
|
-
|
|
616
|
-
<li><a href="../DiffableString.html">DiffableString</a></li>
|
|
617
|
-
|
|
618
|
-
<li><a href="../Object.html">Object</a></li>
|
|
619
|
-
|
|
620
|
-
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
|
|
621
|
-
|
|
622
|
-
<li><a href="../String.html">String</a></li>
|
|
623
|
-
|
|
624
|
-
</ul>
|
|
625
|
-
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
626
|
-
</div>
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
</div>
|
|
630
|
-
</div>
|
|
631
|
-
|
|
632
|
-
<div id="documentation">
|
|
633
|
-
<h1 class="class">TaskJuggler::Tj3Client</h1>
|
|
634
|
-
|
|
635
|
-
<div id="description">
|
|
636
|
-
<p>
|
|
637
|
-
The <a href="Tj3Client.html">Tj3Client</a> class provides the primary
|
|
638
|
-
interface to the <a href="../TaskJuggler.html">TaskJuggler</a> daemon. It
|
|
639
|
-
exposes a rich commandline interface that supports key operations like
|
|
640
|
-
add/removing a project, generating a report or checking a time or status
|
|
641
|
-
sheet. All connections are made via DRb and tj3client requires a properly
|
|
642
|
-
configured tj3d to work.
|
|
643
|
-
</p>
|
|
644
|
-
|
|
645
|
-
</div>
|
|
646
|
-
|
|
647
|
-
<!-- Constants -->
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
<!-- Attributes -->
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
<!-- Methods -->
|
|
654
|
-
|
|
655
|
-
<div id="public-class-method-details" class="method-section section">
|
|
656
|
-
<h3 class="section-header">Public Class Methods</h3>
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
<div id="new-method" class="method-detail ">
|
|
660
|
-
<a name="method-c-new"></a>
|
|
661
|
-
|
|
662
|
-
<div class="method-heading">
|
|
663
|
-
|
|
664
|
-
<span class="method-name">new</span><span
|
|
665
|
-
class="method-args">()</span>
|
|
666
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
667
|
-
|
|
668
|
-
</div>
|
|
669
|
-
|
|
670
|
-
<div class="method-description">
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
<div class="method-source-code"
|
|
677
|
-
id="new-source">
|
|
678
|
-
<pre>
|
|
679
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 31</span>
|
|
680
|
-
31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
681
|
-
32: <span class="ruby-keyword kw">super</span>
|
|
682
|
-
33:
|
|
683
|
-
34: <span class="ruby-comment cmt"># For security reasons, this will probably not change. All DRb</span>
|
|
684
|
-
35: <span class="ruby-comment cmt"># operations are limited to localhost only. The client and the sever</span>
|
|
685
|
-
36: <span class="ruby-comment cmt"># must have access to the identical file system.</span>
|
|
686
|
-
37: <span class="ruby-ivar">@host</span> = <span class="ruby-value str">'127.0.0.1'</span>
|
|
687
|
-
38: <span class="ruby-comment cmt"># The default port. 'T' and 'J' in ASCII decimal</span>
|
|
688
|
-
39: <span class="ruby-ivar">@port</span> = <span class="ruby-value">8474</span>
|
|
689
|
-
40: <span class="ruby-comment cmt"># The file with the server URI in case port is 0.</span>
|
|
690
|
-
41: <span class="ruby-ivar">@uriFile</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, <span class="ruby-value str">'.tj3d.uri'</span>)
|
|
691
|
-
42: <span class="ruby-comment cmt"># This must must be changed for the communication to work.</span>
|
|
692
|
-
43: <span class="ruby-ivar">@authKey</span> = <span class="ruby-keyword kw">nil</span>
|
|
693
|
-
44: <span class="ruby-comment cmt"># Determines whether report IDs are fix IDs or regular expressions that</span>
|
|
694
|
-
45: <span class="ruby-comment cmt"># match a set of reports.</span>
|
|
695
|
-
46: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">false</span>
|
|
696
|
-
47: <span class="ruby-comment cmt"># Prevents usage of protective sandbox if set to true.</span>
|
|
697
|
-
48: <span class="ruby-ivar">@unsafeMode</span> = <span class="ruby-keyword kw">false</span>
|
|
698
|
-
49: <span class="ruby-comment cmt"># List of requested output formats for reports.</span>
|
|
699
|
-
50: <span class="ruby-ivar">@formats</span> = <span class="ruby-keyword kw">nil</span>
|
|
700
|
-
51:
|
|
701
|
-
52: <span class="ruby-ivar">@mandatoryArgs</span> = <span class="ruby-value str">'<command> [arg1 arg2 ...]'</span>
|
|
702
|
-
53:
|
|
703
|
-
54: <span class="ruby-comment cmt"># This list describes the supported command line commands and their</span>
|
|
704
|
-
55: <span class="ruby-comment cmt"># parameter.</span>
|
|
705
|
-
56: <span class="ruby-comment cmt"># :label : The command name</span>
|
|
706
|
-
57: <span class="ruby-comment cmt"># :args : A list of parameters. If the first character is a '+' the</span>
|
|
707
|
-
58: <span class="ruby-comment cmt"># parameter must be provided 1 or more times. If the first character is</span>
|
|
708
|
-
59: <span class="ruby-comment cmt"># a '*' the parameter must be provided 0 or more times. Repeatable and</span>
|
|
709
|
-
60: <span class="ruby-comment cmt"># optional paramters must follow the mandatory ones.</span>
|
|
710
|
-
61: <span class="ruby-comment cmt"># :descr : A short description of the command used for the help text.</span>
|
|
711
|
-
62: <span class="ruby-ivar">@commands</span> = [
|
|
712
|
-
63: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'status'</span>,
|
|
713
|
-
64: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
|
|
714
|
-
65: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Display the status of the available projects'</span> },
|
|
715
|
-
66: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'terminate'</span>,
|
|
716
|
-
67: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
|
|
717
|
-
68: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Terminate the TaskJuggler daemon'</span> },
|
|
718
|
-
69: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'add'</span>,
|
|
719
|
-
70: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'tjp file'</span>, <span class="ruby-value str">'*tji file'</span>],
|
|
720
|
-
71: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Add a new project or update and existing one'</span> },
|
|
721
|
-
72: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'update'</span>,
|
|
722
|
-
73: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
|
|
723
|
-
74: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Reload all projects that have modified files and '</span><span class="ruby-operator">+</span>
|
|
724
|
-
75: <span class="ruby-value str">'are not being reloaded already'</span> },
|
|
725
|
-
76: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'remove'</span>,
|
|
726
|
-
77: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'+project ID'</span> ],
|
|
727
|
-
78: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Remove the project with the specified ID from the '</span> <span class="ruby-operator">+</span>
|
|
728
|
-
79: <span class="ruby-value str">'daemon'</span> },
|
|
729
|
-
80: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'report'</span>,
|
|
730
|
-
81: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'+report ID'</span>, <span class="ruby-value str">'!='</span>, <span class="ruby-value str">'*tji file'</span>],
|
|
731
|
-
82: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Generate the report with the provided ID for '</span> <span class="ruby-operator">+</span>
|
|
732
|
-
83: <span class="ruby-value str">'the project with the given ID'</span>},
|
|
733
|
-
84: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'list-reports'</span>,
|
|
734
|
-
85: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'!report ID'</span> ],
|
|
735
|
-
86: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'List all available reports of the project or those '</span> <span class="ruby-operator">+</span>
|
|
736
|
-
87: <span class="ruby-value str">'that match the provided report ID'</span> },
|
|
737
|
-
88: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ts'</span>,
|
|
738
|
-
89: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'time sheet'</span> ],
|
|
739
|
-
90: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Check the provided time sheet for correctness '</span> <span class="ruby-operator">+</span>
|
|
740
|
-
91: <span class="ruby-value str">'against the project with the given ID'</span>},
|
|
741
|
-
92: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ss'</span>,
|
|
742
|
-
93: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'project ID'</span>, <span class="ruby-value str">'status sheet'</span> ],
|
|
743
|
-
94: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Check the provided status sheet for correctness '</span> <span class="ruby-operator">+</span>
|
|
744
|
-
95: <span class="ruby-value str">'against the project with the given ID'</span>}
|
|
745
|
-
96: ]
|
|
746
|
-
97: <span class="ruby-keyword kw">end</span></pre>
|
|
747
|
-
</div>
|
|
748
|
-
|
|
749
|
-
</div>
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
</div>
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
</div>
|
|
758
|
-
|
|
759
|
-
<div id="public-instance-method-details" class="method-section section">
|
|
760
|
-
<h3 class="section-header">Public Instance Methods</h3>
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
<div id="app-ain-method" class="method-detail ">
|
|
764
|
-
<a name="method-i-appMain"></a>
|
|
765
|
-
|
|
766
|
-
<div class="method-heading">
|
|
767
|
-
|
|
768
|
-
<span class="method-name">appMain</span><span
|
|
769
|
-
class="method-args">(args)</span>
|
|
770
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
771
|
-
|
|
772
|
-
</div>
|
|
773
|
-
|
|
774
|
-
<div class="method-description">
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
<div class="method-source-code"
|
|
781
|
-
id="app-ain-source">
|
|
782
|
-
<pre>
|
|
783
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 162</span>
|
|
784
|
-
162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">appMain</span>(<span class="ruby-identifier">args</span>)
|
|
785
|
-
163: <span class="ruby-keyword kw">begin</span>
|
|
786
|
-
164: <span class="ruby-comment cmt"># Run a first check of the non-optional command line arguments.</span>
|
|
787
|
-
165: <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
|
|
788
|
-
166: <span class="ruby-comment cmt"># Read some configuration variables. Except for the authKey, they are</span>
|
|
789
|
-
167: <span class="ruby-comment cmt"># all optional.</span>
|
|
790
|
-
168: <span class="ruby-ivar">@rc</span>.<span class="ruby-identifier">configure</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-value str">'global'</span>)
|
|
791
|
-
169:
|
|
792
|
-
170: <span class="ruby-identifier">connectDaemon</span>
|
|
793
|
-
171: <span class="ruby-identifier">retVal</span> = <span class="ruby-identifier">executeCommand</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>])
|
|
794
|
-
172: <span class="ruby-identifier">disconnectDaemon</span>
|
|
795
|
-
173:
|
|
796
|
-
174: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">retVal</span>
|
|
797
|
-
175: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjRuntimeError</span>
|
|
798
|
-
176: <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span>
|
|
799
|
-
177: <span class="ruby-keyword kw">end</span>
|
|
800
|
-
178: <span class="ruby-keyword kw">end</span></pre>
|
|
801
|
-
</div>
|
|
802
|
-
|
|
803
|
-
</div>
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
</div>
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
<div id="process-rguments-method" class="method-detail ">
|
|
812
|
-
<a name="method-i-processArguments"></a>
|
|
813
|
-
|
|
814
|
-
<div class="method-heading">
|
|
815
|
-
|
|
816
|
-
<span class="method-name">processArguments</span><span
|
|
817
|
-
class="method-args">(argv)</span>
|
|
818
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
819
|
-
|
|
820
|
-
</div>
|
|
821
|
-
|
|
822
|
-
<div class="method-description">
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
<div class="method-source-code"
|
|
829
|
-
id="process-rguments-source">
|
|
830
|
-
<pre>
|
|
831
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 99</span>
|
|
832
|
-
99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
|
|
833
|
-
100: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">do</span>
|
|
834
|
-
101: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">The TaskJuggler client is used to send commands and data to the TaskJugglerdaemon. The communication is done via TCP/IP.The following commands are supported:</span>
|
|
835
|
-
102:
|
|
836
|
-
103: <span class="ruby-comment cmt"># Convert the command list into a help text.</span>
|
|
837
|
-
104: <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cmd</span><span class="ruby-operator">|</span>
|
|
838
|
-
105: <span class="ruby-identifier">tail</span> = <span class="ruby-value str">''</span>
|
|
839
|
-
106: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">dup</span>
|
|
840
|
-
107: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
|
841
|
-
108: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'*'</span>
|
|
842
|
-
109: <span class="ruby-node">"[<#{c[1..-1]}> ...]"</span>
|
|
843
|
-
110: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'+'</span>
|
|
844
|
-
111: <span class="ruby-node">"<#{c[1..-1]}> [<#{c[1..-1]}> ...]"</span>
|
|
845
|
-
112: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">c</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'!'</span>
|
|
846
|
-
113: <span class="ruby-identifier">tail</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
|
|
847
|
-
114: <span class="ruby-node">"[#{c[1..-1]} "</span>
|
|
848
|
-
115: <span class="ruby-keyword kw">else</span>
|
|
849
|
-
116: <span class="ruby-node">"<#{c}>"</span>
|
|
850
|
-
117: <span class="ruby-keyword kw">end</span>
|
|
851
|
-
118: <span class="ruby-keyword kw">end</span>
|
|
852
|
-
119: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
|
|
853
|
-
120: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">banner</span> <span class="ruby-operator">+=</span> <span class="ruby-node">" #{cmd[:label] + ' ' + args + tail}"</span> <span class="ruby-operator">+</span>
|
|
854
|
-
121: <span class="ruby-node">"\n\n#{' ' * 10 + format(cmd[:descr], 10)}\n"</span>
|
|
855
|
-
122: <span class="ruby-keyword kw">end</span>
|
|
856
|
-
123: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-p'</span>, <span class="ruby-value str">'--port <NUMBER>'</span>, <span class="ruby-constant">Integer</span>,
|
|
857
|
-
124: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Use the specified TCP/IP port'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
858
|
-
125: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">arg</span>
|
|
859
|
-
126: <span class="ruby-keyword kw">end</span>
|
|
860
|
-
127: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--urifile <FILE>'</span>, <span class="ruby-constant">String</span>,
|
|
861
|
-
128: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'If the port is 0, use this file to get the URI '</span> <span class="ruby-operator">+</span>
|
|
862
|
-
129: <span class="ruby-value str">'of the server.'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
863
|
-
130: <span class="ruby-ivar">@uriFile</span> = <span class="ruby-identifier">arg</span>
|
|
864
|
-
131: <span class="ruby-keyword kw">end</span>
|
|
865
|
-
132: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-r'</span>, <span class="ruby-value str">'--regexp'</span>,
|
|
866
|
-
133: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'The report IDs are not fixed but regular expressions '</span> <span class="ruby-operator">+</span>
|
|
867
|
-
134: <span class="ruby-value str">'that match a set of reports'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
868
|
-
135: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
|
|
869
|
-
136: <span class="ruby-keyword kw">end</span>
|
|
870
|
-
137: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--unsafe'</span>,
|
|
871
|
-
138: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Run the program without sandbox protection. This '</span> <span class="ruby-operator">+</span>
|
|
872
|
-
139: <span class="ruby-value str">'is not recommended for normal operation! It may '</span> <span class="ruby-operator">+</span>
|
|
873
|
-
140: <span class="ruby-value str">'only be used for debugging or testing '</span> <span class="ruby-operator">+</span>
|
|
874
|
-
141: <span class="ruby-value str">'purposes.'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
875
|
-
142: <span class="ruby-ivar">@unsafeMode</span> = <span class="ruby-keyword kw">true</span>
|
|
876
|
-
143: <span class="ruby-keyword kw">end</span>
|
|
877
|
-
144: <span class="ruby-ivar">@opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--format [FORMAT]'</span>, [ <span class="ruby-value">:csv</span>, <span class="ruby-value">:html</span>, <span class="ruby-value">:niku</span>, <span class="ruby-value">:tjp</span> ],
|
|
878
|
-
145: <span class="ruby-identifier">format</span>(<span class="ruby-value str">'Request the report to be generated in the specified'</span> <span class="ruby-operator">+</span>
|
|
879
|
-
146: <span class="ruby-value str">'format. Use multiple options to request multiple '</span> <span class="ruby-operator">+</span>
|
|
880
|
-
147: <span class="ruby-value str">'formats. Supported formats are csv, html, niku and '</span> <span class="ruby-operator">+</span>
|
|
881
|
-
148: <span class="ruby-value str">'tjp. By default, the formats specified in the report '</span> <span class="ruby-operator">+</span>
|
|
882
|
-
149: <span class="ruby-value str">'definition are used.'</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
883
|
-
150: <span class="ruby-ivar">@formats</span> = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@formats</span>
|
|
884
|
-
151: <span class="ruby-ivar">@formats</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
|
885
|
-
152: <span class="ruby-keyword kw">end</span>
|
|
886
|
-
153: <span class="ruby-keyword kw">end</span>
|
|
887
|
-
154: <span class="ruby-keyword kw">end</span></pre>
|
|
888
|
-
</div>
|
|
889
|
-
|
|
890
|
-
</div>
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
</div>
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
</div>
|
|
899
|
-
|
|
900
|
-
<div id="private-instance-method-details" class="method-section section">
|
|
901
|
-
<h3 class="section-header">Private Instance Methods</h3>
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
<div id="add-iles-method" class="method-detail ">
|
|
905
|
-
<a name="method-i-addFiles"></a>
|
|
906
|
-
|
|
907
|
-
<div class="method-heading">
|
|
908
|
-
|
|
909
|
-
<span class="method-name">addFiles</span><span
|
|
910
|
-
class="method-args">(tjiFiles)</span>
|
|
911
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
912
|
-
|
|
913
|
-
</div>
|
|
914
|
-
|
|
915
|
-
<div class="method-description">
|
|
916
|
-
|
|
917
|
-
<p>
|
|
918
|
-
Transfer the <em>tjiFiles</em> to the <em>reportServer</em>.
|
|
919
|
-
</p>
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
<div class="method-source-code"
|
|
924
|
-
id="add-iles-source">
|
|
925
|
-
<pre>
|
|
926
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 441</span>
|
|
927
|
-
441: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
|
|
928
|
-
442: <span class="ruby-identifier">tjiFiles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
|
|
929
|
-
443: <span class="ruby-keyword kw">begin</span>
|
|
930
|
-
444: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">addFile</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">file</span>)
|
|
931
|
-
445: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
932
|
-
446: <span class="ruby-keyword kw">end</span>
|
|
933
|
-
447: <span class="ruby-keyword kw">rescue</span>
|
|
934
|
-
448: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Cannot add file #{file} to ReportServer"</span>)
|
|
935
|
-
449: <span class="ruby-keyword kw">end</span>
|
|
936
|
-
450: <span class="ruby-keyword kw">end</span>
|
|
937
|
-
451: <span class="ruby-keyword kw">true</span>
|
|
938
|
-
452: <span class="ruby-keyword kw">end</span></pre>
|
|
939
|
-
</div>
|
|
940
|
-
|
|
941
|
-
</div>
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
</div>
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
<div id="call-aemon-method" class="method-detail ">
|
|
950
|
-
<a name="method-i-callDaemon"></a>
|
|
951
|
-
|
|
952
|
-
<div class="method-heading">
|
|
953
|
-
|
|
954
|
-
<span class="method-name">callDaemon</span><span
|
|
955
|
-
class="method-args">(command, args)</span>
|
|
956
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
957
|
-
|
|
958
|
-
</div>
|
|
959
|
-
|
|
960
|
-
<div class="method-description">
|
|
961
|
-
|
|
962
|
-
<p>
|
|
963
|
-
Call the <a href="../TaskJuggler.html">TaskJuggler</a> daemon (<a
|
|
964
|
-
href="ProjectBroker.html">ProjectBroker</a>) and execute the provided
|
|
965
|
-
command with the provided arguments.
|
|
966
|
-
</p>
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
<div class="method-source-code"
|
|
971
|
-
id="call-aemon-source">
|
|
972
|
-
<pre>
|
|
973
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 410</span>
|
|
974
|
-
410: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
|
|
975
|
-
411: <span class="ruby-keyword kw">begin</span>
|
|
976
|
-
412: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">command</span>(<span class="ruby-ivar">@authKey</span>, <span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
|
|
977
|
-
413: <span class="ruby-keyword kw">rescue</span>
|
|
978
|
-
414: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Call to TaskJuggler server on host '#{@host}' "</span> <span class="ruby-operator">+</span>
|
|
979
|
-
415: <span class="ruby-node">"port #{@port} failed: #{$!}"</span>)
|
|
980
|
-
416: <span class="ruby-keyword kw">end</span>
|
|
981
|
-
417: <span class="ruby-keyword kw">end</span></pre>
|
|
982
|
-
</div>
|
|
983
|
-
|
|
984
|
-
</div>
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
</div>
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
<div id="check-ommand-method" class="method-detail ">
|
|
993
|
-
<a name="method-i-checkCommand"></a>
|
|
994
|
-
|
|
995
|
-
<div class="method-heading">
|
|
996
|
-
|
|
997
|
-
<span class="method-name">checkCommand</span><span
|
|
998
|
-
class="method-args">(args)</span>
|
|
999
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1000
|
-
|
|
1001
|
-
</div>
|
|
1002
|
-
|
|
1003
|
-
<div class="method-description">
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
<div class="method-source-code"
|
|
1010
|
-
id="check-ommand-source">
|
|
1011
|
-
<pre>
|
|
1012
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 182</span>
|
|
1013
|
-
182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
|
|
1014
|
-
183: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
|
|
1015
|
-
184: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-value str">'You must specify a command!'</span>
|
|
1016
|
-
185: <span class="ruby-keyword kw">else</span>
|
|
1017
|
-
186: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Unknown command #{args[0]}"</span>
|
|
1018
|
-
187: <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">cmd</span><span class="ruby-operator">|</span>
|
|
1019
|
-
188: <span class="ruby-comment cmt"># The first value of args is the command name.</span>
|
|
1020
|
-
189: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:label</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
|
|
1021
|
-
190: <span class="ruby-comment cmt"># Find out how many arguments we need to have and if that's a</span>
|
|
1022
|
-
191: <span class="ruby-comment cmt"># lower limit or a fixed value.</span>
|
|
1023
|
-
192: <span class="ruby-identifier">minArgs</span> = <span class="ruby-value">0</span>
|
|
1024
|
-
193: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">false</span>
|
|
1025
|
-
194: <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
1026
|
-
195: <span class="ruby-comment cmt"># Arguments starting with '+' must have 1 or more showings.</span>
|
|
1027
|
-
196: <span class="ruby-comment cmt"># Arguments starting with '*' may show up 0 or more times.</span>
|
|
1028
|
-
197: <span class="ruby-identifier">minArgs</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-value str">'!*'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>])
|
|
1029
|
-
198: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-value str">'!*+'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>])
|
|
1030
|
-
199: <span class="ruby-keyword kw">end</span>
|
|
1031
|
-
200: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">minArgs</span>
|
|
1032
|
-
201: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Command #{args[0]} must have "</span> <span class="ruby-operator">+</span>
|
|
1033
|
-
202: <span class="ruby-node">"#{varArgs ? 'at least ' : ''}#{minArgs} "</span> <span class="ruby-operator">+</span>
|
|
1034
|
-
203: <span class="ruby-value str">'arguments'</span>
|
|
1035
|
-
204: <span class="ruby-keyword kw">end</span>
|
|
1036
|
-
205: <span class="ruby-keyword kw">end</span>
|
|
1037
|
-
206: <span class="ruby-keyword kw">end</span>
|
|
1038
|
-
207:
|
|
1039
|
-
208: <span class="ruby-identifier">error</span>(<span class="ruby-identifier">errorMessage</span>)
|
|
1040
|
-
209: <span class="ruby-keyword kw">end</span></pre>
|
|
1041
|
-
</div>
|
|
1042
|
-
|
|
1043
|
-
</div>
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
</div>
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
<div id="connect-aemon-method" class="method-detail ">
|
|
1052
|
-
<a name="method-i-connectDaemon"></a>
|
|
1053
|
-
|
|
1054
|
-
<div class="method-heading">
|
|
1055
|
-
|
|
1056
|
-
<span class="method-name">connectDaemon</span><span
|
|
1057
|
-
class="method-args">()</span>
|
|
1058
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1059
|
-
|
|
1060
|
-
</div>
|
|
1061
|
-
|
|
1062
|
-
<div class="method-description">
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
<div class="method-source-code"
|
|
1069
|
-
id="connect-aemon-source">
|
|
1070
|
-
<pre>
|
|
1071
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 211</span>
|
|
1072
|
-
211: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectDaemon</span>
|
|
1073
|
-
212: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@authKey</span>
|
|
1074
|
-
213: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">You must set an authentication key in the configuration file. Create a filenamed .taskjugglerrc or taskjuggler.rc that contains at least the followinglines. Replace 'your_secret_key' with some random character sequence._global: authKey: your_secret_key</span>
|
|
1075
|
-
214: <span class="ruby-keyword kw">end</span>
|
|
1076
|
-
215:
|
|
1077
|
-
216: <span class="ruby-identifier">uri</span> = <span class="ruby-node">"druby://#{@host}:#{@port}"</span>
|
|
1078
|
-
217: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@port</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
1079
|
-
218: <span class="ruby-comment cmt"># If the @port is configured to 0, we need to read the URI to connect</span>
|
|
1080
|
-
219: <span class="ruby-comment cmt"># to the server from the .tj3d.uri file that has been generated by the</span>
|
|
1081
|
-
220: <span class="ruby-comment cmt"># server.</span>
|
|
1082
|
-
221: <span class="ruby-keyword kw">begin</span>
|
|
1083
|
-
222: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-ivar">@uriFile</span>).<span class="ruby-identifier">chomp</span>
|
|
1084
|
-
223: <span class="ruby-keyword kw">rescue</span>
|
|
1085
|
-
224: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'The server port is configured to be 0, but no '</span> <span class="ruby-operator">+</span>
|
|
1086
|
-
225: <span class="ruby-node">".tj3d.uri file can be found: #{$!}"</span>)
|
|
1087
|
-
226: <span class="ruby-keyword kw">end</span>
|
|
1088
|
-
227: <span class="ruby-keyword kw">end</span>
|
|
1089
|
-
228:
|
|
1090
|
-
229: <span class="ruby-comment cmt"># We try to play it safe here. The client also starts a DRb server, so</span>
|
|
1091
|
-
230: <span class="ruby-comment cmt"># we need to make sure it's constricted to localhost only. We require</span>
|
|
1092
|
-
231: <span class="ruby-comment cmt"># the DRb server for the standard IO redirection to work.</span>
|
|
1093
|
-
232: <span class="ruby-identifier">$SAFE</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@unsafeMode</span>
|
|
1094
|
-
233: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">install_acl</span>(<span class="ruby-constant">ACL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">] deny all
|
|
1095
|
-
234: allow 127.0.0.1 ]</span>))
|
|
1096
|
-
235: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">start_service</span>(<span class="ruby-value str">'druby://127.0.0.1:0'</span>)
|
|
1097
|
-
236:
|
|
1098
|
-
237: <span class="ruby-keyword kw">begin</span>
|
|
1099
|
-
238: <span class="ruby-comment cmt"># Get the ProjectBroker object from the tj3d.</span>
|
|
1100
|
-
239: <span class="ruby-ivar">@broker</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">uri</span>)
|
|
1101
|
-
240: <span class="ruby-comment cmt"># Client and server should always come from the same Gem. Since we</span>
|
|
1102
|
-
241: <span class="ruby-comment cmt"># restict communication to localhost, that's probably not a problem.</span>
|
|
1103
|
-
242: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">check</span> = <span class="ruby-ivar">@broker</span>.<span class="ruby-identifier">apiVersion</span>(<span class="ruby-ivar">@authKey</span>, <span class="ruby-value">1</span>)) <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
1104
|
-
243: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'This client is too old for the server. Please '</span> <span class="ruby-operator">+</span>
|
|
1105
|
-
244: <span class="ruby-value str">'upgrade to a more recent version of the software.'</span>)
|
|
1106
|
-
245: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">check</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
1107
|
-
246: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'Authentication failed. Please check your authentication '</span> <span class="ruby-operator">+</span>
|
|
1108
|
-
247: <span class="ruby-value str">'key to match the server key.'</span>)
|
|
1109
|
-
248: <span class="ruby-keyword kw">end</span>
|
|
1110
|
-
249: <span class="ruby-keyword kw">rescue</span>
|
|
1111
|
-
250: <span class="ruby-identifier">error</span>(<span class="ruby-node">"TaskJuggler server on host '#{@host}' port "</span> <span class="ruby-operator">+</span>
|
|
1112
|
-
251: <span class="ruby-node">"#{@port} is not responding"</span>)
|
|
1113
|
-
252: <span class="ruby-keyword kw">end</span>
|
|
1114
|
-
253: <span class="ruby-keyword kw">end</span></pre>
|
|
1115
|
-
</div>
|
|
1116
|
-
|
|
1117
|
-
</div>
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
</div>
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
<div id="connect-o-eport-erver-method" class="method-detail ">
|
|
1126
|
-
<a name="method-i-connectToReportServer"></a>
|
|
1127
|
-
|
|
1128
|
-
<div class="method-heading">
|
|
1129
|
-
|
|
1130
|
-
<span class="method-name">connectToReportServer</span><span
|
|
1131
|
-
class="method-args">(projectId)</span>
|
|
1132
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1133
|
-
|
|
1134
|
-
</div>
|
|
1135
|
-
|
|
1136
|
-
<div class="method-description">
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
<div class="method-source-code"
|
|
1143
|
-
id="connect-o-eport-erver-source">
|
|
1144
|
-
<pre>
|
|
1145
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 370</span>
|
|
1146
|
-
370: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
|
|
1147
|
-
371: <span class="ruby-ivar">@ps_uri</span>, <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:getProject</span>, <span class="ruby-identifier">projectId</span>)
|
|
1148
|
-
372: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ps_uri</span>.<span class="ruby-identifier">nil?</span>
|
|
1149
|
-
373: <span class="ruby-identifier">error</span>(<span class="ruby-node">"No project with ID #{projectId} loaded"</span>)
|
|
1150
|
-
374: <span class="ruby-keyword kw">end</span>
|
|
1151
|
-
375: <span class="ruby-keyword kw">begin</span>
|
|
1152
|
-
376: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@ps_uri</span>)
|
|
1153
|
-
377: <span class="ruby-ivar">@rs_uri</span>, <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">getReportServer</span>(<span class="ruby-ivar">@ps_authKey</span>)
|
|
1154
|
-
378: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-constant">DRbObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-ivar">@rs_uri</span>)
|
|
1155
|
-
379: <span class="ruby-keyword kw">rescue</span>
|
|
1156
|
-
380: <span class="ruby-identifier">error</span>(<span class="ruby-value str">"Cannot get report server"</span>)
|
|
1157
|
-
381: <span class="ruby-keyword kw">end</span>
|
|
1158
|
-
382: <span class="ruby-keyword kw">begin</span>
|
|
1159
|
-
383: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">$stdout</span>, <span class="ruby-identifier">$stderr</span>, <span class="ruby-identifier">$stdin</span>, <span class="ruby-ivar">@silent</span>)
|
|
1160
|
-
384: <span class="ruby-keyword kw">rescue</span>
|
|
1161
|
-
385: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't connect IO: #{$!}"</span>)
|
|
1162
|
-
386: <span class="ruby-keyword kw">end</span>
|
|
1163
|
-
387: <span class="ruby-keyword kw">end</span></pre>
|
|
1164
|
-
</div>
|
|
1165
|
-
|
|
1166
|
-
</div>
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
</div>
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
<div id="disconnect-aemon-method" class="method-detail ">
|
|
1175
|
-
<a name="method-i-disconnectDaemon"></a>
|
|
1176
|
-
|
|
1177
|
-
<div class="method-heading">
|
|
1178
|
-
|
|
1179
|
-
<span class="method-name">disconnectDaemon</span><span
|
|
1180
|
-
class="method-args">()</span>
|
|
1181
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1182
|
-
|
|
1183
|
-
</div>
|
|
1184
|
-
|
|
1185
|
-
<div class="method-description">
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
<div class="method-source-code"
|
|
1192
|
-
id="disconnect-aemon-source">
|
|
1193
|
-
<pre>
|
|
1194
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 262</span>
|
|
1195
|
-
262: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectDaemon</span>
|
|
1196
|
-
263: <span class="ruby-ivar">@broker</span> = <span class="ruby-keyword kw">nil</span>
|
|
1197
|
-
264:
|
|
1198
|
-
265: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
|
|
1199
|
-
266: <span class="ruby-keyword kw">end</span></pre>
|
|
1200
|
-
</div>
|
|
1201
|
-
|
|
1202
|
-
</div>
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
</div>
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
<div id="disconnect-eport-erver-method" class="method-detail ">
|
|
1211
|
-
<a name="method-i-disconnectReportServer"></a>
|
|
1212
|
-
|
|
1213
|
-
<div class="method-heading">
|
|
1214
|
-
|
|
1215
|
-
<span class="method-name">disconnectReportServer</span><span
|
|
1216
|
-
class="method-args">()</span>
|
|
1217
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1218
|
-
|
|
1219
|
-
</div>
|
|
1220
|
-
|
|
1221
|
-
<div class="method-description">
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
<div class="method-source-code"
|
|
1228
|
-
id="disconnect-eport-erver-source">
|
|
1229
|
-
<pre>
|
|
1230
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 389</span>
|
|
1231
|
-
389: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectReportServer</span>
|
|
1232
|
-
390: <span class="ruby-keyword kw">begin</span>
|
|
1233
|
-
391: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-ivar">@rs_authKey</span>)
|
|
1234
|
-
392: <span class="ruby-keyword kw">rescue</span>
|
|
1235
|
-
393: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't disconnect IO: #{$!}"</span>)
|
|
1236
|
-
394: <span class="ruby-keyword kw">end</span>
|
|
1237
|
-
395: <span class="ruby-keyword kw">begin</span>
|
|
1238
|
-
396: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">terminate</span>(<span class="ruby-ivar">@rs_authKey</span>)
|
|
1239
|
-
397: <span class="ruby-keyword kw">rescue</span>
|
|
1240
|
-
398: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Report server termination failed: #{$!}"</span>)
|
|
1241
|
-
399: <span class="ruby-keyword kw">end</span>
|
|
1242
|
-
400: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1243
|
-
401: <span class="ruby-ivar">@rs_uri</span> = <span class="ruby-keyword kw">nil</span>
|
|
1244
|
-
402: <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-keyword kw">nil</span>
|
|
1245
|
-
403: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1246
|
-
404: <span class="ruby-ivar">@ps_uri</span> = <span class="ruby-keyword kw">nil</span>
|
|
1247
|
-
405: <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-keyword kw">nil</span>
|
|
1248
|
-
406: <span class="ruby-keyword kw">end</span></pre>
|
|
1249
|
-
</div>
|
|
1250
|
-
|
|
1251
|
-
</div>
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
</div>
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
<div id="error-method" class="method-detail ">
|
|
1260
|
-
<a name="method-i-error"></a>
|
|
1261
|
-
|
|
1262
|
-
<div class="method-heading">
|
|
1263
|
-
|
|
1264
|
-
<span class="method-name">error</span><span
|
|
1265
|
-
class="method-args">(message, exitVal = 1)</span>
|
|
1266
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1267
|
-
|
|
1268
|
-
</div>
|
|
1269
|
-
|
|
1270
|
-
<div class="method-description">
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
<div class="method-source-code"
|
|
1277
|
-
id="error-source">
|
|
1278
|
-
<pre>
|
|
1279
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 459</span>
|
|
1280
|
-
459: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">exitVal</span> = <span class="ruby-value">1</span>)
|
|
1281
|
-
460: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"ERROR: #{message}"</span>
|
|
1282
|
-
461: <span class="ruby-comment cmt"># Don't call exit in unsafe mode. Raise a StandardError instead.</span>
|
|
1283
|
-
462: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjRuntimeError</span>
|
|
1284
|
-
463: <span class="ruby-keyword kw">end</span></pre>
|
|
1285
|
-
</div>
|
|
1286
|
-
|
|
1287
|
-
</div>
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
</div>
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
<div id="execute-ommand-method" class="method-detail ">
|
|
1296
|
-
<a name="method-i-executeCommand"></a>
|
|
1297
|
-
|
|
1298
|
-
<div class="method-heading">
|
|
1299
|
-
|
|
1300
|
-
<span class="method-name">executeCommand</span><span
|
|
1301
|
-
class="method-args">(command, args)</span>
|
|
1302
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1303
|
-
|
|
1304
|
-
</div>
|
|
1305
|
-
|
|
1306
|
-
<div class="method-description">
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
<div class="method-source-code"
|
|
1313
|
-
id="execute-ommand-source">
|
|
1314
|
-
<pre>
|
|
1315
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 268</span>
|
|
1316
|
-
268: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">executeCommand</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">args</span>)
|
|
1317
|
-
269: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">command</span>
|
|
1318
|
-
270: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'status'</span>
|
|
1319
|
-
271: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:status</span>, [])
|
|
1320
|
-
272: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'terminate'</span>
|
|
1321
|
-
273: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:stop</span>, [])
|
|
1322
|
-
274: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Daemon terminated'</span>)
|
|
1323
|
-
275: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'add'</span>
|
|
1324
|
-
276: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:addProject</span>, [ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, <span class="ruby-identifier">args</span>,
|
|
1325
|
-
277: <span class="ruby-identifier">$stdout</span>, <span class="ruby-identifier">$stderr</span>, <span class="ruby-identifier">$stdin</span>, <span class="ruby-ivar">@silent</span> ])
|
|
1326
|
-
278: <span class="ruby-identifier">info</span>(<span class="ruby-node">"Project(s) #{args.join(', ')} added"</span>)
|
|
1327
|
-
279: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
|
|
1328
|
-
280: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'remove'</span>
|
|
1329
|
-
281: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
1330
|
-
282: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:removeProject</span>, <span class="ruby-identifier">arg</span>)
|
|
1331
|
-
283: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Project '#{arg}' not found in list"</span>)
|
|
1332
|
-
284: <span class="ruby-keyword kw">end</span>
|
|
1333
|
-
285: <span class="ruby-keyword kw">end</span>
|
|
1334
|
-
286: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Project removed'</span>)
|
|
1335
|
-
287: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'update'</span>
|
|
1336
|
-
288: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:update</span>, [])
|
|
1337
|
-
289: <span class="ruby-identifier">info</span>(<span class="ruby-value str">'Reload requested'</span>)
|
|
1338
|
-
290: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
|
|
1339
|
-
291: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
|
|
1340
|
-
292: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
|
|
1341
|
-
293: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
|
|
1342
|
-
294: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
|
|
1343
|
-
295: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
|
|
1344
|
-
296: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
|
|
1345
|
-
297:
|
|
1346
|
-
298: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
|
|
1347
|
-
299: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
|
|
1348
|
-
300: <span class="ruby-identifier">disconnectReportServer</span>
|
|
1349
|
-
301: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'You must provide at least one report ID'</span>)
|
|
1350
|
-
302: <span class="ruby-keyword kw">end</span>
|
|
1351
|
-
303: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
|
|
1352
|
-
304: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
|
|
1353
|
-
305: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
|
|
1354
|
-
306: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
|
|
1355
|
-
307: <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reportId</span><span class="ruby-operator">|</span>
|
|
1356
|
-
308: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">generateReport</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">reportId</span>,
|
|
1357
|
-
309: <span class="ruby-ivar">@regExpMode</span>, <span class="ruby-ivar">@formats</span>, <span class="ruby-keyword kw">nil</span>)
|
|
1358
|
-
310: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
|
|
1359
|
-
311: <span class="ruby-keyword kw">break</span>
|
|
1360
|
-
312: <span class="ruby-keyword kw">end</span>
|
|
1361
|
-
313: <span class="ruby-keyword kw">end</span>
|
|
1362
|
-
314: <span class="ruby-keyword kw">end</span>
|
|
1363
|
-
315: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
|
|
1364
|
-
316: <span class="ruby-identifier">disconnectReportServer</span>
|
|
1365
|
-
317: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">failed</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
|
1366
|
-
318: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'list-reports'</span>
|
|
1367
|
-
319: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
|
|
1368
|
-
320: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
|
|
1369
|
-
321: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
|
|
1370
|
-
322: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
|
|
1371
|
-
323: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
|
|
1372
|
-
324: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
|
|
1373
|
-
325:
|
|
1374
|
-
326: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
|
|
1375
|
-
327: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
|
|
1376
|
-
328: <span class="ruby-comment cmt"># If the user did not provide a report ID we generate a full list.</span>
|
|
1377
|
-
329: <span class="ruby-identifier">reportIds</span> = [ <span class="ruby-value str">'.*'</span> ]
|
|
1378
|
-
330: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
|
|
1379
|
-
331: <span class="ruby-keyword kw">end</span>
|
|
1380
|
-
332: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
|
|
1381
|
-
333: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
|
|
1382
|
-
334: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
|
|
1383
|
-
335: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
|
|
1384
|
-
336: <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reportId</span><span class="ruby-operator">|</span>
|
|
1385
|
-
337: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">listReports</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">reportId</span>, <span class="ruby-ivar">@regExpMode</span>)
|
|
1386
|
-
338: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
|
|
1387
|
-
339: <span class="ruby-keyword kw">break</span>
|
|
1388
|
-
340: <span class="ruby-keyword kw">end</span>
|
|
1389
|
-
341: <span class="ruby-keyword kw">end</span>
|
|
1390
|
-
342: <span class="ruby-keyword kw">end</span>
|
|
1391
|
-
343: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
|
|
1392
|
-
344: <span class="ruby-identifier">disconnectReportServer</span>
|
|
1393
|
-
345: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">failed</span> <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
|
|
1394
|
-
346: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ts'</span>
|
|
1395
|
-
347: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
|
|
1396
|
-
348: <span class="ruby-keyword kw">begin</span>
|
|
1397
|
-
349: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])
|
|
1398
|
-
350: <span class="ruby-keyword kw">rescue</span>
|
|
1399
|
-
351: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Time sheet check failed: #{$!}"</span>)
|
|
1400
|
-
352: <span class="ruby-keyword kw">end</span>
|
|
1401
|
-
353: <span class="ruby-identifier">disconnectReportServer</span>
|
|
1402
|
-
354: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
|
|
1403
|
-
355: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ss'</span>
|
|
1404
|
-
356: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
|
|
1405
|
-
357: <span class="ruby-keyword kw">begin</span>
|
|
1406
|
-
358: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-ivar">@rs_authKey</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span>])
|
|
1407
|
-
359: <span class="ruby-keyword kw">rescue</span>
|
|
1408
|
-
360: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Status sheet check failed: #{$!}"</span>)
|
|
1409
|
-
361: <span class="ruby-keyword kw">end</span>
|
|
1410
|
-
362: <span class="ruby-identifier">disconnectReportServer</span>
|
|
1411
|
-
363: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
|
|
1412
|
-
364: <span class="ruby-keyword kw">else</span>
|
|
1413
|
-
365: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown command #{command}"</span>
|
|
1414
|
-
366: <span class="ruby-keyword kw">end</span>
|
|
1415
|
-
367: <span class="ruby-value">0</span>
|
|
1416
|
-
368: <span class="ruby-keyword kw">end</span></pre>
|
|
1417
|
-
</div>
|
|
1418
|
-
|
|
1419
|
-
</div>
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
</div>
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
<div id="info-method" class="method-detail ">
|
|
1428
|
-
<a name="method-i-info"></a>
|
|
1429
|
-
|
|
1430
|
-
<div class="method-heading">
|
|
1431
|
-
|
|
1432
|
-
<span class="method-name">info</span><span
|
|
1433
|
-
class="method-args">(message)</span>
|
|
1434
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1435
|
-
|
|
1436
|
-
</div>
|
|
1437
|
-
|
|
1438
|
-
<div class="method-description">
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
<div class="method-source-code"
|
|
1445
|
-
id="info-source">
|
|
1446
|
-
<pre>
|
|
1447
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 454</span>
|
|
1448
|
-
454: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">message</span>)
|
|
1449
|
-
455: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@silent</span>
|
|
1450
|
-
456: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{message}"</span>
|
|
1451
|
-
457: <span class="ruby-keyword kw">end</span></pre>
|
|
1452
|
-
</div>
|
|
1453
|
-
|
|
1454
|
-
</div>
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
</div>
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
<div id="split-ds-nd-iles-method" class="method-detail ">
|
|
1463
|
-
<a name="method-i-splitIdsAndFiles"></a>
|
|
1464
|
-
|
|
1465
|
-
<div class="method-heading">
|
|
1466
|
-
|
|
1467
|
-
<span class="method-name">splitIdsAndFiles</span><span
|
|
1468
|
-
class="method-args">(args)</span>
|
|
1469
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
1470
|
-
|
|
1471
|
-
</div>
|
|
1472
|
-
|
|
1473
|
-
<div class="method-description">
|
|
1474
|
-
|
|
1475
|
-
<p>
|
|
1476
|
-
Sort the remaining arguments into a report ID and a TJI file list. If .tji
|
|
1477
|
-
files are present, they must be separated from the report ID list by a
|
|
1478
|
-
’=’.
|
|
1479
|
-
</p>
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
<div class="method-source-code"
|
|
1484
|
-
id="split-ds-nd-iles-source">
|
|
1485
|
-
<pre>
|
|
1486
|
-
<span class="ruby-comment cmt"># File lib/taskjuggler/apps/Tj3Client.rb, line 422</span>
|
|
1487
|
-
422: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
|
|
1488
|
-
423: <span class="ruby-identifier">reportIds</span> = []
|
|
1489
|
-
424: <span class="ruby-identifier">tjiFiles</span> = []
|
|
1490
|
-
425: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">true</span>
|
|
1491
|
-
426: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
1492
|
-
427: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'='</span>
|
|
1493
|
-
428: <span class="ruby-comment cmt"># Switch to tji file list.</span>
|
|
1494
|
-
429: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">false</span>
|
|
1495
|
-
430: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">addToReports</span>
|
|
1496
|
-
431: <span class="ruby-identifier">reportIds</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
|
1497
|
-
432: <span class="ruby-keyword kw">else</span>
|
|
1498
|
-
433: <span class="ruby-identifier">tjiFiles</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
|
1499
|
-
434: <span class="ruby-keyword kw">end</span>
|
|
1500
|
-
435: <span class="ruby-keyword kw">end</span>
|
|
1501
|
-
436:
|
|
1502
|
-
437: [ <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> ]
|
|
1503
|
-
438: <span class="ruby-keyword kw">end</span></pre>
|
|
1504
|
-
</div>
|
|
1505
|
-
|
|
1506
|
-
</div>
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
</div>
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
</div>
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
</div>
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
|
1521
|
-
|
|
1522
|
-
<p>Disabled; run with --debug to generate this.</p>
|
|
1523
|
-
|
|
1524
|
-
</div>
|
|
1525
|
-
|
|
1526
|
-
<div id="validator-badges">
|
|
1527
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
1528
|
-
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
|
1529
|
-
Rdoc Generator</a> 1.1.6</small>.</p>
|
|
1530
|
-
</div>
|
|
1531
|
-
|
|
1532
|
-
</body>
|
|
1533
|
-
</html>
|
|
1534
|
-
|