taskjuggler 0.0.4 → 0.0.5
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/README +1 -1
- data/bin/tj3client +3 -0
- data/bin/tj3d +3 -0
- data/bin/tj3ts_receiver +3 -0
- data/bin/tj3ts_sender +3 -0
- data/bin/tj3ts_summary +3 -0
- data/data/css/tjmanual.css +14 -0
- data/data/css/tjreport.css +233 -21
- data/data/scripts/wz_tooltip.js +20 -20
- data/doc/AppConfig.html +1389 -0
- data/doc/Arguments.html +678 -0
- data/doc/COPYING.html +837 -0
- data/doc/Object.html +996 -0
- data/doc/README.html +523 -0
- data/doc/RuntimeConfig.html +762 -0
- data/doc/String.html +872 -0
- data/doc/TaskJuggler/Account.html +691 -0
- data/doc/TaskJuggler/AccountAttribute.html +707 -0
- data/doc/TaskJuggler/AccountScenario.html +650 -0
- data/doc/TaskJuggler/Allocation.html +898 -0
- data/doc/TaskJuggler/AllocationAttribute.html +737 -0
- data/doc/TaskJuggler/AttributeBase.html +1193 -0
- data/doc/TaskJuggler/AttributeDefinition.html +753 -0
- data/doc/TaskJuggler/BatchProcessor.html +1112 -0
- data/doc/TaskJuggler/Booking.html +797 -0
- data/doc/TaskJuggler/BookingListAttribute.html +709 -0
- data/doc/TaskJuggler/BooleanAttribute.html +707 -0
- data/doc/TaskJuggler/CSVFile.html +924 -0
- data/doc/TaskJuggler/CellSettingPattern.html +638 -0
- data/doc/TaskJuggler/CellSettingPatternList.html +687 -0
- data/doc/TaskJuggler/Charge.html +715 -0
- data/doc/TaskJuggler/ChargeListAttribute.html +671 -0
- data/doc/TaskJuggler/ChargeSet.html +887 -0
- data/doc/TaskJuggler/ChargeSetListAttribute.html +718 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +673 -0
- data/doc/TaskJuggler/ColumnTable.html +701 -0
- data/doc/TaskJuggler/Daemon.html +728 -0
- data/doc/TaskJuggler/DateAttribute.html +675 -0
- data/doc/TaskJuggler/DefinitionListAttribute.html +593 -0
- data/doc/TaskJuggler/DependencyListAttribute.html +713 -0
- data/doc/TaskJuggler/DurationAttribute.html +707 -0
- data/doc/TaskJuggler/FixnumAttribute.html +629 -0
- data/doc/TaskJuggler/FlagListAttribute.html +709 -0
- data/doc/TaskJuggler/FloatAttribute.html +671 -0
- data/doc/TaskJuggler/FormatListAttribute.html +635 -0
- data/doc/TaskJuggler/GanttChart.html +1473 -0
- data/doc/TaskJuggler/GanttContainer.html +885 -0
- data/doc/TaskJuggler/GanttHeader.html +886 -0
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +700 -0
- data/doc/TaskJuggler/GanttLine.html +1263 -0
- data/doc/TaskJuggler/GanttLoadStack.html +766 -0
- data/doc/TaskJuggler/GanttMilestone.html +865 -0
- data/doc/TaskJuggler/GanttRouter.html +1433 -0
- data/doc/TaskJuggler/GanttTaskBar.html +880 -0
- data/doc/TaskJuggler/HTMLDocument.html +719 -0
- data/doc/TaskJuggler/HTMLGraphics.html +775 -0
- data/doc/TaskJuggler/Interval.html +1016 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +713 -0
- data/doc/TaskJuggler/JobInfo.html +881 -0
- data/doc/TaskJuggler/Journal.html +991 -0
- data/doc/TaskJuggler/JournalEntry.html +779 -0
- data/doc/TaskJuggler/JournalEntryList.html +952 -0
- data/doc/TaskJuggler/KeywordArray.html +628 -0
- data/doc/TaskJuggler/KeywordDocumentation.html +1662 -0
- data/doc/TaskJuggler/Limits/Limit.html +826 -0
- data/doc/TaskJuggler/Limits.html +966 -0
- data/doc/TaskJuggler/LimitsAttribute.html +707 -0
- data/doc/TaskJuggler/ListAttributeBase.html +641 -0
- data/doc/TaskJuggler/Log.html +1103 -0
- data/doc/TaskJuggler/LogFile.html +918 -0
- data/doc/TaskJuggler/LogicalAttribute.html +698 -0
- data/doc/TaskJuggler/LogicalExpression.html +739 -0
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +629 -0
- data/doc/TaskJuggler/LogicalFlag.html +681 -0
- data/doc/TaskJuggler/LogicalFunction.html +1218 -0
- data/doc/TaskJuggler/LogicalOperation.html +1078 -0
- data/doc/TaskJuggler/Macro.html +646 -0
- data/doc/TaskJuggler/MacroParser.html +810 -0
- data/doc/TaskJuggler/MacroTable.html +810 -0
- data/doc/TaskJuggler/ManagerResponsibilities.html +674 -0
- data/doc/TaskJuggler/ManagerStatusRecord.html +678 -0
- data/doc/TaskJuggler/Message.html +757 -0
- data/doc/TaskJuggler/MessageHandler.html +679 -0
- data/doc/TaskJuggler/Navigator.html +867 -0
- data/doc/TaskJuggler/NavigatorElement.html +932 -0
- data/doc/TaskJuggler/NikuProject.html +662 -0
- data/doc/TaskJuggler/NikuReport.html +1316 -0
- data/doc/TaskJuggler/NikuResource.html +632 -0
- data/doc/TaskJuggler/OnShiftCache.html +864 -0
- data/doc/TaskJuggler/ProcessIntercom.html +847 -0
- data/doc/TaskJuggler/ProcessIntercomIface.html +664 -0
- data/doc/TaskJuggler/Project.html +3056 -0
- data/doc/TaskJuggler/ProjectBroker.html +1260 -0
- data/doc/TaskJuggler/ProjectBrokerIface.html +734 -0
- data/doc/TaskJuggler/ProjectFileParser.html +1951 -0
- data/doc/TaskJuggler/ProjectRecord.html +859 -0
- data/doc/TaskJuggler/ProjectServer.html +1092 -0
- data/doc/TaskJuggler/ProjectServerIface.html +768 -0
- data/doc/TaskJuggler/PropertyAttribute.html +629 -0
- data/doc/TaskJuggler/PropertyList.html +1336 -0
- data/doc/TaskJuggler/PropertySet.html +1785 -0
- data/doc/TaskJuggler/PropertyTreeNode.html +2482 -0
- data/doc/TaskJuggler/Query.html +1831 -0
- data/doc/TaskJuggler/RTFNavigator.html +729 -0
- data/doc/TaskJuggler/RTFQuery.html +1038 -0
- data/doc/TaskJuggler/RTFReport.html +740 -0
- data/doc/TaskJuggler/RealFormat.html +743 -0
- data/doc/TaskJuggler/RealFormatAttribute.html +593 -0
- data/doc/TaskJuggler/ReferenceAttribute.html +782 -0
- data/doc/TaskJuggler/Report.html +1255 -0
- data/doc/TaskJuggler/ReportBase.html +1198 -0
- data/doc/TaskJuggler/ReportContext.html +711 -0
- data/doc/TaskJuggler/ReportServer.html +988 -0
- data/doc/TaskJuggler/ReportServerIface.html +838 -0
- data/doc/TaskJuggler/ReportServerRecord.html +716 -0
- data/doc/TaskJuggler/ReportTable.html +1106 -0
- data/doc/TaskJuggler/ReportTableCell.html +1536 -0
- data/doc/TaskJuggler/ReportTableColumn.html +828 -0
- data/doc/TaskJuggler/ReportTableLegend.html +999 -0
- data/doc/TaskJuggler/ReportTableLine.html +1003 -0
- data/doc/TaskJuggler/Resource.html +938 -0
- data/doc/TaskJuggler/ResourceListAttribute.html +752 -0
- data/doc/TaskJuggler/ResourceListRE.html +674 -0
- data/doc/TaskJuggler/ResourceScenario.html +2457 -0
- data/doc/TaskJuggler/RichText.html +791 -0
- data/doc/TaskJuggler/RichTextAttribute.html +743 -0
- data/doc/TaskJuggler/RichTextDocument.html +972 -0
- data/doc/TaskJuggler/RichTextElement.html +1615 -0
- data/doc/TaskJuggler/RichTextException.html +667 -0
- data/doc/TaskJuggler/RichTextFunctionExample.html +737 -0
- data/doc/TaskJuggler/RichTextFunctionHandler.html +689 -0
- data/doc/TaskJuggler/RichTextImage.html +650 -0
- data/doc/TaskJuggler/RichTextIntermediate.html +1161 -0
- data/doc/TaskJuggler/RichTextParser.html +756 -0
- data/doc/TaskJuggler/RichTextScanner.html +2010 -0
- data/doc/TaskJuggler/RichTextSnip.html +942 -0
- data/doc/TaskJuggler/RichTextSyntaxRules.html +1722 -0
- data/doc/TaskJuggler/Scenario.html +594 -0
- data/doc/TaskJuggler/ScenarioData.html +815 -0
- data/doc/TaskJuggler/ScenarioListAttribute.html +671 -0
- data/doc/TaskJuggler/Scoreboard.html +1114 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +1115 -0
- data/doc/TaskJuggler/SheetReceiver.html +1293 -0
- data/doc/TaskJuggler/SheetSender.html +1089 -0
- data/doc/TaskJuggler/Shift.html +689 -0
- data/doc/TaskJuggler/ShiftAssignment.html +950 -0
- data/doc/TaskJuggler/ShiftAssignments.html +1379 -0
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +707 -0
- data/doc/TaskJuggler/ShiftScenario.html +720 -0
- data/doc/TaskJuggler/SortListAttribute.html +631 -0
- data/doc/TaskJuggler/SourceFileInfo.html +698 -0
- data/doc/TaskJuggler/StatusSheetReceiver.html +615 -0
- data/doc/TaskJuggler/StatusSheetReport.html +872 -0
- data/doc/TaskJuggler/StatusSheetSender.html +654 -0
- data/doc/TaskJuggler/StringAttribute.html +671 -0
- data/doc/TaskJuggler/SymbolAttribute.html +629 -0
- data/doc/TaskJuggler/SyntaxReference.html +1155 -0
- data/doc/TaskJuggler/TOCEntry.html +723 -0
- data/doc/TaskJuggler/TSResourceRecord.html +670 -0
- data/doc/TaskJuggler/TSTaskRecord.html +682 -0
- data/doc/TaskJuggler/TableColumnDefinition.html +830 -0
- data/doc/TaskJuggler/TableOfContents.html +692 -0
- data/doc/TaskJuggler/TableReport.html +2444 -0
- data/doc/TaskJuggler/Task.html +781 -0
- data/doc/TaskJuggler/TaskDependency.html +730 -0
- data/doc/TaskJuggler/TaskListAttribute.html +713 -0
- data/doc/TaskJuggler/TaskListRE.html +673 -0
- data/doc/TaskJuggler/TaskScenario.html +4380 -0
- data/doc/TaskJuggler/TextFormatter.html +911 -0
- data/doc/TaskJuggler/TextParser/Pattern.html +1482 -0
- data/doc/TaskJuggler/TextParser/Rule.html +1288 -0
- data/doc/TaskJuggler/TextParser/StackElement.html +726 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +648 -0
- data/doc/TaskJuggler/TextParser/TokenDoc.html +680 -0
- data/doc/TaskJuggler/TextParser.html +1670 -0
- data/doc/TaskJuggler/TextReport.html +856 -0
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +831 -0
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +832 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +737 -0
- data/doc/TaskJuggler/TextScanner.html +2430 -0
- data/doc/TaskJuggler/TimeSheet.html +1233 -0
- data/doc/TaskJuggler/TimeSheetReceiver.html +612 -0
- data/doc/TaskJuggler/TimeSheetRecord.html +1352 -0
- data/doc/TaskJuggler/TimeSheetReport.html +948 -0
- data/doc/TaskJuggler/TimeSheetSender.html +637 -0
- data/doc/TaskJuggler/TimeSheetSummary.html +865 -0
- data/doc/TaskJuggler/TimeSheets.html +674 -0
- data/doc/TaskJuggler/Tj3AppBase.html +782 -0
- data/doc/TaskJuggler/Tj3Client.html +1455 -0
- data/doc/TaskJuggler/Tj3Daemon.html +767 -0
- data/doc/TaskJuggler/Tj3SheetAppBase.html +696 -0
- data/doc/TaskJuggler/Tj3SsReceiver.html +682 -0
- data/doc/TaskJuggler/Tj3SsSender.html +708 -0
- data/doc/TaskJuggler/Tj3TsReceiver.html +681 -0
- data/doc/TaskJuggler/Tj3TsSender.html +702 -0
- data/doc/TaskJuggler/Tj3TsSummary.html +710 -0
- data/doc/TaskJuggler/TjException.html +630 -0
- data/doc/TaskJuggler/TjTime.html +2590 -0
- data/doc/TaskJuggler/TjpExample.html +835 -0
- data/doc/TaskJuggler/TjpExportRE.html +1581 -0
- data/doc/TaskJuggler/TjpSyntaxRules.html +13004 -0
- data/doc/TaskJuggler/UserManual.html +1145 -0
- data/doc/TaskJuggler/WorkingHours.html +1101 -0
- data/doc/TaskJuggler/WorkingHoursAttribute.html +694 -0
- data/doc/TaskJuggler/XMLBlob.html +645 -0
- data/doc/TaskJuggler/XMLComment.html +640 -0
- data/doc/TaskJuggler/XMLDocument.html +732 -0
- data/doc/TaskJuggler/XMLElement.html +900 -0
- data/doc/TaskJuggler/XMLNamedText.html +601 -0
- data/doc/TaskJuggler/XMLText.html +655 -0
- data/doc/TaskJuggler.html +2243 -0
- data/doc/index.html +3778 -17
- data/doc/lib/AccountScenario_rb.html +67 -0
- data/doc/lib/Account_rb.html +69 -0
- data/doc/lib/Allocation_rb.html +69 -0
- data/doc/lib/AppConfig_rb.html +69 -0
- data/doc/lib/AttributeBase_rb.html +67 -0
- data/doc/lib/AttributeDefinition_rb.html +65 -0
- data/doc/lib/Attributes_rb.html +81 -0
- data/doc/lib/BatchProcessor_rb.html +69 -0
- data/doc/lib/Booking_rb.html +65 -0
- data/doc/lib/ChargeSet_rb.html +67 -0
- data/doc/lib/Charge_rb.html +67 -0
- data/doc/lib/HTMLDocument_rb.html +67 -0
- data/doc/lib/Interval_rb.html +67 -0
- data/doc/lib/Journal_rb.html +65 -0
- data/doc/lib/KeywordArray_rb.html +65 -0
- data/doc/lib/KeywordDocumentation_rb.html +75 -0
- data/doc/lib/Limits_rb.html +67 -0
- data/doc/lib/LogFile_rb.html +67 -0
- data/doc/lib/Log_rb.html +69 -0
- data/doc/lib/LogicalExpression_rb.html +71 -0
- data/doc/lib/LogicalFunction_rb.html +67 -0
- data/doc/lib/LogicalOperation_rb.html +67 -0
- data/doc/lib/MacroParser_rb.html +69 -0
- data/doc/lib/MacroTable_rb.html +73 -0
- data/doc/lib/MessageHandler_rb.html +65 -0
- data/doc/lib/Message_rb.html +67 -0
- data/doc/lib/ProjectFileParser_rb.html +79 -0
- data/doc/lib/Project_rb.html +109 -0
- data/doc/lib/PropertyList_rb.html +65 -0
- data/doc/lib/PropertySet_rb.html +69 -0
- data/doc/lib/PropertyTreeNode_rb.html +65 -0
- data/doc/lib/Query_rb.html +67 -0
- data/doc/lib/RTFNavigator_rb.html +71 -0
- data/doc/lib/RTFQuery_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +69 -0
- data/doc/lib/RealFormat_rb.html +65 -0
- data/doc/lib/ResourceScenario_rb.html +67 -0
- data/doc/lib/Resource_rb.html +69 -0
- data/doc/lib/RichTextDocument_rb.html +71 -0
- data/doc/lib/RichTextElement_rb.html +73 -0
- data/doc/lib/RichTextFunctionExample_rb.html +71 -0
- data/doc/lib/RichTextFunctionHandler_rb.html +65 -0
- data/doc/lib/RichTextParser_rb.html +71 -0
- data/doc/lib/RichTextScanner_rb.html +67 -0
- data/doc/lib/RichTextSnip_rb.html +69 -0
- data/doc/lib/RichTextSyntaxRules_rb.html +65 -0
- data/doc/lib/RichText_rb.html +69 -0
- data/doc/lib/RuntimeConfig_rb.html +67 -0
- data/doc/lib/ScenarioData_rb.html +69 -0
- data/doc/lib/Scenario_rb.html +67 -0
- data/doc/lib/Scoreboard_rb.html +65 -0
- data/doc/lib/SheetHandlerBase_rb.html +69 -0
- data/doc/lib/SheetReceiver_rb.html +75 -0
- data/doc/lib/SheetSender_rb.html +73 -0
- data/doc/lib/ShiftAssignments_rb.html +67 -0
- data/doc/lib/ShiftScenario_rb.html +67 -0
- data/doc/lib/Shift_rb.html +69 -0
- data/doc/lib/SourceFileInfo_rb.html +65 -0
- data/doc/lib/StatusSheetReceiver_rb.html +67 -0
- data/doc/lib/StatusSheetSender_rb.html +67 -0
- data/doc/lib/SyntaxReference_rb.html +73 -0
- data/doc/lib/TOCEntry_rb.html +69 -0
- data/doc/lib/TableColumnDefinition_rb.html +65 -0
- data/doc/lib/TableOfContents_rb.html +69 -0
- data/doc/lib/TaskDependency_rb.html +65 -0
- data/doc/lib/TaskJuggler_rb.html +73 -0
- data/doc/lib/TaskScenario_rb.html +67 -0
- data/doc/lib/Task_rb.html +69 -0
- data/doc/lib/TextFormatter_rb.html +67 -0
- data/doc/lib/TextParser/Pattern_rb.html +67 -0
- data/doc/lib/TextParser/Rule_rb.html +65 -0
- data/doc/lib/TextParser/StackElement_rb.html +65 -0
- data/doc/lib/TextParser/TokenDoc_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +75 -0
- data/doc/lib/TextScanner_rb.html +79 -0
- data/doc/lib/TimeSheetReceiver_rb.html +67 -0
- data/doc/lib/TimeSheetSender_rb.html +67 -0
- data/doc/lib/TimeSheetSummary_rb.html +67 -0
- data/doc/lib/TimeSheets_rb.html +65 -0
- data/doc/lib/Tj3AppBase_rb.html +77 -0
- data/doc/lib/Tj3Config_rb.html +69 -0
- data/doc/lib/Tj3SheetAppBase_rb.html +67 -0
- data/doc/lib/TjException_rb.html +65 -0
- data/doc/lib/TjTime_rb.html +69 -0
- data/doc/lib/TjpExample_rb.html +67 -0
- data/doc/lib/TjpSyntaxRules_rb.html +65 -0
- data/doc/lib/UTF8String_rb.html +65 -0
- data/doc/lib/UserManual_rb.html +77 -0
- data/doc/lib/WorkingHours_rb.html +67 -0
- data/doc/lib/XMLDocument_rb.html +67 -0
- data/doc/lib/XMLElement_rb.html +67 -0
- data/doc/lib/daemon/Daemon_rb.html +67 -0
- data/doc/lib/daemon/ProcessIntercom_rb.html +67 -0
- data/doc/lib/daemon/ProjectBroker_rb.html +79 -0
- data/doc/lib/daemon/ProjectServer_rb.html +83 -0
- data/doc/lib/daemon/ReportServer_rb.html +73 -0
- data/doc/lib/deep_copy_rb.html +65 -0
- data/doc/lib/reports/CSVFile_rb.html +67 -0
- data/doc/lib/reports/ColumnTable_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +73 -0
- data/doc/lib/reports/GanttContainer_rb.html +67 -0
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +65 -0
- data/doc/lib/reports/GanttHeader_rb.html +67 -0
- data/doc/lib/reports/GanttLine_rb.html +77 -0
- data/doc/lib/reports/GanttLoadStack_rb.html +67 -0
- data/doc/lib/reports/GanttMilestone_rb.html +67 -0
- data/doc/lib/reports/GanttRouter_rb.html +65 -0
- data/doc/lib/reports/GanttTaskBar_rb.html +67 -0
- data/doc/lib/reports/HTMLGraphics_rb.html +65 -0
- data/doc/lib/reports/Navigator_rb.html +67 -0
- data/doc/lib/reports/NikuReport_rb.html +69 -0
- data/doc/lib/reports/ReportBase_rb.html +65 -0
- data/doc/lib/reports/ReportContext_rb.html +65 -0
- data/doc/lib/reports/ReportTableCell_rb.html +65 -0
- data/doc/lib/reports/ReportTableColumn_rb.html +65 -0
- data/doc/lib/reports/ReportTableLegend_rb.html +65 -0
- data/doc/lib/reports/ReportTableLine_rb.html +67 -0
- data/doc/lib/reports/ReportTable_rb.html +69 -0
- data/doc/lib/reports/Report_rb.html +91 -0
- data/doc/lib/reports/ResourceListRE_rb.html +73 -0
- data/doc/lib/reports/StatusSheetReport_rb.html +67 -0
- data/doc/lib/reports/TableReport_rb.html +75 -0
- data/doc/lib/reports/TaskListRE_rb.html +73 -0
- data/doc/lib/reports/TextReport_rb.html +67 -0
- data/doc/lib/reports/TimeSheetReport_rb.html +67 -0
- data/doc/lib/reports/TjpExportRE_rb.html +67 -0
- data/doc/lib/ruby-signal-bug_rb.html +54 -0
- data/doc/lib/taskjuggler3_rb.html +73 -0
- data/doc/lib/tj3client_rb.html +73 -0
- data/doc/lib/tj3d_rb.html +73 -0
- data/doc/lib/tj3man_rb.html +73 -0
- data/doc/lib/tj3ss_receiver_rb.html +69 -0
- data/doc/lib/tj3ss_sender_rb.html +69 -0
- data/doc/lib/tj3ts_receiver_rb.html +69 -0
- data/doc/lib/tj3ts_sender_rb.html +69 -0
- data/doc/lib/tj3ts_summary_rb.html +69 -0
- data/doc/rdoc.css +701 -0
- data/examples/tutorial.tjp +25 -6
- data/lib/Attributes.rb +6 -2
- data/lib/HTMLDocument.rb +18 -2
- data/lib/Journal.rb +47 -4
- data/lib/KeywordArray.rb +1 -1
- data/lib/KeywordDocumentation.rb +17 -77
- data/lib/Log.rb +3 -1
- data/lib/LogFile.rb +72 -0
- data/lib/LogicalExpression.rb +5 -10
- data/lib/LogicalFunction.rb +34 -18
- data/lib/LogicalOperation.rb +32 -18
- data/lib/Project.rb +85 -13
- data/lib/ProjectFileParser.rb +19 -6
- data/lib/PropertyList.rb +12 -2
- data/lib/PropertyTreeNode.rb +23 -9
- data/lib/Query.rb +51 -13
- data/lib/RTFReport.rb +2 -2
- data/lib/Resource.rb +157 -0
- data/lib/ResourceScenario.rb +215 -68
- data/lib/RichText.rb +15 -3
- data/lib/RichTextDocument.rb +2 -4
- data/lib/RichTextElement.rb +87 -25
- data/lib/RichTextScanner.rb +32 -5
- data/lib/RichTextSnip.rb +6 -4
- data/lib/RichTextSyntaxRules.rb +44 -8
- data/lib/RuntimeConfig.rb +93 -0
- data/lib/Scoreboard.rb +6 -6
- data/lib/SheetHandlerBase.rb +215 -0
- data/lib/SheetReceiver.rb +355 -0
- data/lib/SheetSender.rb +264 -0
- data/lib/ShiftAssignments.rb +35 -27
- data/lib/StatusSheetReceiver.rb +45 -0
- data/lib/StatusSheetSender.rb +54 -0
- data/lib/SyntaxReference.rb +2 -7
- data/lib/Task.rb +70 -0
- data/lib/TaskJuggler.rb +114 -12
- data/lib/TaskScenario.rb +131 -22
- data/lib/TextFormatter.rb +177 -0
- data/lib/TextParser.rb +10 -1
- data/lib/TextScanner.rb +63 -33
- data/lib/TimeSheetReceiver.rb +42 -0
- data/lib/TimeSheetSender.rb +55 -0
- data/lib/TimeSheetSummary.rb +149 -0
- data/lib/TimeSheets.rb +406 -0
- data/lib/Tj3AppBase.rb +114 -0
- data/lib/Tj3Config.rb +1 -1
- data/lib/Tj3SheetAppBase.rb +59 -0
- data/lib/TjTime.rb +14 -1
- data/lib/TjpSyntaxRules.rb +573 -211
- data/lib/UTF8String.rb +4 -0
- data/lib/UserManual.rb +8 -7
- data/lib/XMLElement.rb +27 -19
- data/lib/daemon/Daemon.rb +70 -0
- data/lib/daemon/ProcessIntercom.rb +117 -0
- data/lib/daemon/ProjectBroker.rb +450 -0
- data/lib/daemon/ProjectServer.rb +348 -0
- data/lib/daemon/ReportServer.rb +194 -0
- data/lib/reports/ColumnTable.rb +2 -0
- data/lib/reports/GanttChart.rb +5 -7
- data/lib/reports/GanttContainer.rb +5 -8
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttLine.rb +89 -53
- data/lib/reports/GanttMilestone.rb +7 -4
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/HTMLGraphics.rb +24 -9
- data/lib/reports/NikuReport.rb +414 -0
- data/lib/reports/Report.rb +54 -20
- data/lib/reports/ReportBase.rb +21 -0
- data/lib/reports/ReportTable.rb +29 -11
- data/lib/reports/ReportTableCell.rb +154 -86
- data/lib/reports/ReportTableLegend.rb +77 -80
- data/lib/reports/ResourceListRE.rb +2 -3
- data/lib/reports/StatusSheetReport.rb +231 -0
- data/lib/reports/TableReport.rb +74 -65
- data/lib/reports/TaskListRE.rb +2 -4
- data/lib/reports/TextReport.rb +18 -12
- data/lib/reports/TimeSheetReport.rb +145 -80
- data/lib/reports/TjpExportRE.rb +4 -4
- data/lib/ruby-signal-bug.rb +43 -0
- data/lib/taskjuggler3.rb +27 -10
- data/lib/tj3client.rb +411 -77
- data/lib/tj3d.rb +110 -0
- data/lib/tj3ss_receiver.rb +56 -0
- data/lib/tj3ss_sender.rb +84 -0
- data/lib/tj3ts_receiver.rb +59 -0
- data/lib/tj3ts_sender.rb +78 -0
- data/lib/tj3ts_summary.rb +87 -0
- data/manual/Day_To_Day_Juggling +761 -32
- data/manual/Getting_Started +12 -12
- data/manual/Rich_Text_Attributes +13 -1
- data/manual/TaskJuggler_2x_Migration +41 -3
- data/manual/TaskJuggler_Internals +87 -0
- data/manual/The_TaskJuggler_Syntax +1 -2
- data/manual/Tutorial +10 -10
- data/test/TestSuite/CSV-Reports/celltext.tjp +1 -1
- data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
- data/test/TestSuite/HTML-Reports/icons/trend-down.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-flat.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-up.png +0 -0
- data/test/TestSuite/HTML-Reports/reference.html +51 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.html +603 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.tjp +57 -0
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +32 -18
- data/test/TestSuite/Scheduler/Correct/Manager.tjp +9 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +429 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.html +162 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.tjp +67 -0
- data/test/TestSuite/{Syntax/Correct/TimeSheet.tjp → Scheduler/Correct/TimeSheet2.tjp} +21 -8
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +52 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +195 -0
- data/test/TestSuite/{Syntax → 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/{Syntax → Scheduler}/Correct/icons/resource.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/task.png +0 -0
- data/test/TestSuite/{Syntax → 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 +0 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_group.tjp +15 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_self.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/resource_fail_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/resource_warn_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_fail_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_warn_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +21 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +27 -0
- data/test/TestSuite/StatusSheets/boss.tji +45 -0
- data/test/TestSuite/StatusSheets/boss_mail +51 -0
- data/test/TestSuite/StatusSheets/dev2_mail +37 -0
- data/test/TestSuite/StatusSheets/project.tjp +275 -0
- data/test/TestSuite/StatusSheets/run +50 -0
- data/test/TestSuite/Syntax/Correct/Include.tjp +4 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +10 -1
- data/test/TestSuite/Syntax/Correct/Manager.tjp +30 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +66 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +83 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/include/dir2/file3.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/file1.tji +3 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +29 -8
- data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +23 -0
- data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +18 -0
- data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +27 -0
- data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +29 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +31 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +54 -0
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +2 -0
- data/test/TestSuite/TimeSheets/dev2_mail1 +84 -0
- data/test/TestSuite/TimeSheets/dev2_mail2 +87 -0
- data/test/TestSuite/TimeSheets/project.tjp +271 -0
- data/test/TestSuite/TimeSheets/receiver.log +102 -0
- data/test/TestSuite/TimeSheets/run +75 -0
- data/test/TestSuite/TimeSheets/sender.log +794 -0
- data/test/TestSuite/TimeSheets/summary.log +884 -0
- data/test/TestSuite/TimeSheets/timesheets.log +45 -0
- data/test/TestSuite/TimeSheets/tj3d.log +292 -0
- data/test/test_CSV-Reports.rb +5 -3
- data/test/test_RichText.rb +264 -56
- data/test/test_Scheduler.rb +1 -0
- data/test/test_TextFormatter.rb +142 -0
- data/test/test_TjTime.rb +15 -0
- metadata +816 -644
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/doc/classes/AppConfig.html +0 -880
- data/doc/classes/Arguments.html +0 -230
- data/doc/classes/Object.html +0 -229
- data/doc/classes/String.html +0 -399
- data/doc/classes/TaskJuggler/Account.html +0 -257
- data/doc/classes/TaskJuggler/AccountAttribute.html +0 -261
- data/doc/classes/TaskJuggler/AccountScenario.html +0 -218
- data/doc/classes/TaskJuggler/Allocation.html +0 -423
- data/doc/classes/TaskJuggler/AllocationAttribute.html +0 -291
- data/doc/classes/TaskJuggler/AttributeBase.html +0 -704
- data/doc/classes/TaskJuggler/AttributeDefinition.html +0 -276
- data/doc/classes/TaskJuggler/BatchProcessor.html +0 -347
- data/doc/classes/TaskJuggler/Booking.html +0 -311
- data/doc/classes/TaskJuggler/BookingListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/BooleanAttribute.html +0 -261
- data/doc/classes/TaskJuggler/CSVFile.html +0 -329
- data/doc/classes/TaskJuggler/CellSettingPattern.html +0 -201
- data/doc/classes/TaskJuggler/CellSettingPatternList.html +0 -253
- data/doc/classes/TaskJuggler/Charge.html +0 -283
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/ChargeSet.html +0 -444
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +0 -276
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +0 -231
- data/doc/classes/TaskJuggler/ColumnTable.html +0 -262
- data/doc/classes/TaskJuggler/DateAttribute.html +0 -233
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +0 -162
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/DurationAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FixnumAttribute.html +0 -194
- data/doc/classes/TaskJuggler/FlagListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/FloatAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FormatListAttribute.html +0 -197
- data/doc/classes/TaskJuggler/GanttChart.html +0 -696
- data/doc/classes/TaskJuggler/GanttContainer.html +0 -445
- data/doc/classes/TaskJuggler/GanttHeader.html +0 -284
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +0 -249
- data/doc/classes/TaskJuggler/GanttLine.html +0 -402
- data/doc/classes/TaskJuggler/GanttLoadStack.html +0 -331
- data/doc/classes/TaskJuggler/GanttMilestone.html +0 -419
- data/doc/classes/TaskJuggler/GanttRouter.html +0 -431
- data/doc/classes/TaskJuggler/GanttTaskBar.html +0 -433
- data/doc/classes/TaskJuggler/HTMLDocument.html +0 -240
- data/doc/classes/TaskJuggler/HTMLGraphics.html +0 -231
- data/doc/classes/TaskJuggler/Interval.html +0 -558
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/JobInfo.html +0 -340
- data/doc/classes/TaskJuggler/Journal.html +0 -443
- data/doc/classes/TaskJuggler/JournalEntry.html +0 -274
- data/doc/classes/TaskJuggler/JournalEntryList.html +0 -454
- data/doc/classes/TaskJuggler/KeywordArray.html +0 -179
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +0 -846
- data/doc/classes/TaskJuggler/Limits/Limit.html +0 -385
- data/doc/classes/TaskJuggler/Limits.html +0 -422
- data/doc/classes/TaskJuggler/LimitsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ListAttributeBase.html +0 -207
- data/doc/classes/TaskJuggler/Log.html +0 -655
- data/doc/classes/TaskJuggler/LogicalAttribute.html +0 -259
- data/doc/classes/TaskJuggler/LogicalExpression.html +0 -292
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +0 -194
- data/doc/classes/TaskJuggler/LogicalFlag.html +0 -209
- data/doc/classes/TaskJuggler/LogicalFunction.html +0 -339
- data/doc/classes/TaskJuggler/LogicalOperation.html +0 -351
- data/doc/classes/TaskJuggler/Macro.html +0 -198
- data/doc/classes/TaskJuggler/MacroParser.html +0 -360
- data/doc/classes/TaskJuggler/MacroTable.html +0 -370
- data/doc/classes/TaskJuggler/Message.html +0 -285
- data/doc/classes/TaskJuggler/MessageHandler.html +0 -231
- data/doc/classes/TaskJuggler/Navigator.html +0 -313
- data/doc/classes/TaskJuggler/NavigatorElement.html +0 -449
- data/doc/classes/TaskJuggler/OnShiftCache.html +0 -316
- data/doc/classes/TaskJuggler/Project.html +0 -2257
- data/doc/classes/TaskJuggler/ProjectFileParser.html +0 -420
- data/doc/classes/TaskJuggler/PropertyAttribute.html +0 -194
- data/doc/classes/TaskJuggler/PropertyList.html +0 -668
- data/doc/classes/TaskJuggler/PropertySet.html +0 -1286
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +0 -1742
- data/doc/classes/TaskJuggler/Query.html +0 -870
- data/doc/classes/TaskJuggler/RTFNavigator.html +0 -293
- data/doc/classes/TaskJuggler/RTFQuery.html +0 -343
- data/doc/classes/TaskJuggler/RTFReport.html +0 -304
- data/doc/classes/TaskJuggler/RealFormat.html +0 -309
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +0 -162
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +0 -328
- data/doc/classes/TaskJuggler/RemoteServiceManager.html +0 -335
- data/doc/classes/TaskJuggler/Report.html +0 -321
- data/doc/classes/TaskJuggler/ReportBase.html +0 -437
- data/doc/classes/TaskJuggler/ReportContext.html +0 -248
- data/doc/classes/TaskJuggler/ReportServer.html +0 -320
- data/doc/classes/TaskJuggler/ReportTable.html +0 -526
- data/doc/classes/TaskJuggler/ReportTableCell.html +0 -614
- data/doc/classes/TaskJuggler/ReportTableColumn.html +0 -368
- data/doc/classes/TaskJuggler/ReportTableLegend.html +0 -347
- data/doc/classes/TaskJuggler/ReportTableLine.html +0 -481
- data/doc/classes/TaskJuggler/Resource.html +0 -211
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +0 -302
- data/doc/classes/TaskJuggler/ResourceListRE.html +0 -245
- data/doc/classes/TaskJuggler/ResourceScenario.html +0 -1229
- data/doc/classes/TaskJuggler/RichText.html +0 -357
- data/doc/classes/TaskJuggler/RichTextAttribute.html +0 -293
- data/doc/classes/TaskJuggler/RichTextDocument.html +0 -424
- data/doc/classes/TaskJuggler/RichTextElement.html +0 -932
- data/doc/classes/TaskJuggler/RichTextException.html +0 -212
- data/doc/classes/TaskJuggler/RichTextFunctionExample.html +0 -301
- data/doc/classes/TaskJuggler/RichTextFunctionHandler.html +0 -245
- data/doc/classes/TaskJuggler/RichTextIntermediate.html +0 -563
- data/doc/classes/TaskJuggler/RichTextParser.html +0 -321
- data/doc/classes/TaskJuggler/RichTextScanner.html +0 -424
- data/doc/classes/TaskJuggler/RichTextSnip.html +0 -404
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +0 -1105
- data/doc/classes/TaskJuggler/Scenario.html +0 -163
- data/doc/classes/TaskJuggler/ScenarioData.html +0 -358
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/Scoreboard.html +0 -642
- data/doc/classes/TaskJuggler/Shift.html +0 -255
- data/doc/classes/TaskJuggler/ShiftAssignment.html +0 -492
- data/doc/classes/TaskJuggler/ShiftAssignments.html +0 -719
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ShiftScenario.html +0 -282
- data/doc/classes/TaskJuggler/SortListAttribute.html +0 -196
- data/doc/classes/TaskJuggler/SourceFileInfo.html +0 -251
- data/doc/classes/TaskJuggler/StringAttribute.html +0 -229
- data/doc/classes/TaskJuggler/SymbolAttribute.html +0 -194
- data/doc/classes/TaskJuggler/SyntaxReference.html +0 -520
- data/doc/classes/TaskJuggler/TOCEntry.html +0 -246
- data/doc/classes/TaskJuggler/TSResourceRecord.html +0 -197
- data/doc/classes/TaskJuggler/TSTaskRecord.html +0 -215
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +0 -309
- data/doc/classes/TaskJuggler/TableOfContents.html +0 -260
- data/doc/classes/TaskJuggler/TableReport.html +0 -1015
- data/doc/classes/TaskJuggler/Task.html +0 -203
- data/doc/classes/TaskJuggler/TaskDependency.html +0 -255
- data/doc/classes/TaskJuggler/TaskListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/TaskListRE.html +0 -245
- data/doc/classes/TaskJuggler/TaskScenario.html +0 -2543
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +0 -927
- data/doc/classes/TaskJuggler/TextParser/Rule.html +0 -783
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +0 -272
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +0 -212
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +0 -225
- data/doc/classes/TaskJuggler/TextParser.html +0 -754
- data/doc/classes/TaskJuggler/TextReport.html +0 -367
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +0 -355
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +0 -348
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +0 -264
- data/doc/classes/TaskJuggler/TextScanner.html +0 -815
- data/doc/classes/TaskJuggler/TimeSheetReport.html +0 -406
- data/doc/classes/TaskJuggler/TjException.html +0 -185
- data/doc/classes/TaskJuggler/TjTime.html +0 -1904
- data/doc/classes/TaskJuggler/TjpExample.html +0 -314
- data/doc/classes/TaskJuggler/TjpExportRE.html +0 -306
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +0 -10812
- data/doc/classes/TaskJuggler/UserManual.html +0 -605
- data/doc/classes/TaskJuggler/WorkingHours.html +0 -586
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +0 -252
- data/doc/classes/TaskJuggler/XMLBlob.html +0 -207
- data/doc/classes/TaskJuggler/XMLComment.html +0 -206
- data/doc/classes/TaskJuggler/XMLDocument.html +0 -298
- data/doc/classes/TaskJuggler/XMLElement.html +0 -389
- data/doc/classes/TaskJuggler/XMLNamedText.html +0 -174
- data/doc/classes/TaskJuggler/XMLText.html +0 -221
- data/doc/classes/TaskJuggler.html +0 -1573
- data/doc/files/COPYING.html +0 -448
- data/doc/files/README.html +0 -134
- data/doc/files/lib/AccountScenario_rb.html +0 -117
- data/doc/files/lib/Account_rb.html +0 -119
- data/doc/files/lib/Allocation_rb.html +0 -119
- data/doc/files/lib/AppConfig_rb.html +0 -119
- data/doc/files/lib/AttributeBase_rb.html +0 -117
- data/doc/files/lib/AttributeDefinition_rb.html +0 -107
- data/doc/files/lib/Attributes_rb.html +0 -131
- data/doc/files/lib/BatchProcessor_rb.html +0 -119
- data/doc/files/lib/Booking_rb.html +0 -107
- data/doc/files/lib/ChargeSet_rb.html +0 -117
- data/doc/files/lib/Charge_rb.html +0 -117
- data/doc/files/lib/HTMLDocument_rb.html +0 -117
- data/doc/files/lib/Interval_rb.html +0 -117
- data/doc/files/lib/Journal_rb.html +0 -107
- data/doc/files/lib/KeywordArray_rb.html +0 -107
- data/doc/files/lib/KeywordDocumentation_rb.html +0 -123
- data/doc/files/lib/Limits_rb.html +0 -117
- data/doc/files/lib/Log_rb.html +0 -117
- data/doc/files/lib/LogicalExpression_rb.html +0 -121
- data/doc/files/lib/LogicalFunction_rb.html +0 -117
- data/doc/files/lib/LogicalOperation_rb.html +0 -117
- data/doc/files/lib/MacroParser_rb.html +0 -119
- data/doc/files/lib/MacroTable_rb.html +0 -123
- data/doc/files/lib/MessageHandler_rb.html +0 -107
- data/doc/files/lib/Message_rb.html +0 -117
- data/doc/files/lib/ProjectFileParser_rb.html +0 -129
- data/doc/files/lib/Project_rb.html +0 -153
- data/doc/files/lib/PropertyList_rb.html +0 -107
- data/doc/files/lib/PropertySet_rb.html +0 -119
- data/doc/files/lib/PropertyTreeNode_rb.html +0 -107
- data/doc/files/lib/Query_rb.html +0 -117
- data/doc/files/lib/RTFNavigator_rb.html +0 -121
- data/doc/files/lib/RTFQuery_rb.html +0 -121
- data/doc/files/lib/RTFReport_rb.html +0 -119
- data/doc/files/lib/RealFormat_rb.html +0 -107
- data/doc/files/lib/RemoteServiceManager_rb.html +0 -117
- data/doc/files/lib/ReportServer_rb.html +0 -107
- data/doc/files/lib/ResourceScenario_rb.html +0 -117
- data/doc/files/lib/Resource_rb.html +0 -119
- data/doc/files/lib/RichTextDocument_rb.html +0 -121
- data/doc/files/lib/RichTextElement_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionExample_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionHandler_rb.html +0 -107
- data/doc/files/lib/RichTextParser_rb.html +0 -121
- data/doc/files/lib/RichTextScanner_rb.html +0 -117
- data/doc/files/lib/RichTextSnip_rb.html +0 -119
- data/doc/files/lib/RichTextSyntaxRules_rb.html +0 -107
- data/doc/files/lib/RichText_rb.html +0 -119
- data/doc/files/lib/ScenarioData_rb.html +0 -119
- data/doc/files/lib/Scenario_rb.html +0 -117
- data/doc/files/lib/Scoreboard_rb.html +0 -107
- data/doc/files/lib/ShiftAssignments_rb.html +0 -117
- data/doc/files/lib/ShiftScenario_rb.html +0 -117
- data/doc/files/lib/Shift_rb.html +0 -119
- data/doc/files/lib/SourceFileInfo_rb.html +0 -107
- data/doc/files/lib/SyntaxReference_rb.html +0 -123
- data/doc/files/lib/TOCEntry_rb.html +0 -119
- data/doc/files/lib/TableColumnDefinition_rb.html +0 -107
- data/doc/files/lib/TableOfContents_rb.html +0 -119
- data/doc/files/lib/TaskDependency_rb.html +0 -107
- data/doc/files/lib/TaskJuggler_rb.html +0 -125
- data/doc/files/lib/TaskScenario_rb.html +0 -117
- data/doc/files/lib/Task_rb.html +0 -119
- data/doc/files/lib/TextParser/Pattern_rb.html +0 -117
- data/doc/files/lib/TextParser/Rule_rb.html +0 -107
- data/doc/files/lib/TextParser/StackElement_rb.html +0 -107
- data/doc/files/lib/TextParser/TokenDoc_rb.html +0 -107
- data/doc/files/lib/TextParser_rb.html +0 -125
- data/doc/files/lib/TextScanner_rb.html +0 -129
- data/doc/files/lib/Tj3Config_rb.html +0 -119
- data/doc/files/lib/TjException_rb.html +0 -107
- data/doc/files/lib/TjTime_rb.html +0 -119
- data/doc/files/lib/TjpExample_rb.html +0 -117
- data/doc/files/lib/TjpSyntaxRules_rb.html +0 -107
- data/doc/files/lib/UTF8String_rb.html +0 -140
- data/doc/files/lib/UserManual_rb.html +0 -127
- data/doc/files/lib/WorkingHours_rb.html +0 -117
- data/doc/files/lib/XMLDocument_rb.html +0 -117
- data/doc/files/lib/XMLElement_rb.html +0 -117
- data/doc/files/lib/deep_copy_rb.html +0 -107
- data/doc/files/lib/reports/CSVFile_rb.html +0 -117
- data/doc/files/lib/reports/ColumnTable_rb.html +0 -117
- data/doc/files/lib/reports/GanttChart_rb.html +0 -123
- data/doc/files/lib/reports/GanttContainer_rb.html +0 -117
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +0 -107
- data/doc/files/lib/reports/GanttHeader_rb.html +0 -117
- data/doc/files/lib/reports/GanttLine_rb.html +0 -127
- data/doc/files/lib/reports/GanttLoadStack_rb.html +0 -117
- data/doc/files/lib/reports/GanttMilestone_rb.html +0 -117
- data/doc/files/lib/reports/GanttRouter_rb.html +0 -107
- data/doc/files/lib/reports/GanttTaskBar_rb.html +0 -117
- data/doc/files/lib/reports/HTMLGraphics_rb.html +0 -107
- data/doc/files/lib/reports/Navigator_rb.html +0 -117
- data/doc/files/lib/reports/ReportBase_rb.html +0 -107
- data/doc/files/lib/reports/ReportContext_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableCell_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableColumn_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLegend_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLine_rb.html +0 -117
- data/doc/files/lib/reports/ReportTable_rb.html +0 -119
- data/doc/files/lib/reports/Report_rb.html +0 -137
- data/doc/files/lib/reports/ResourceListRE_rb.html +0 -123
- data/doc/files/lib/reports/TableReport_rb.html +0 -125
- data/doc/files/lib/reports/TaskListRE_rb.html +0 -123
- data/doc/files/lib/reports/TextReport_rb.html +0 -117
- data/doc/files/lib/reports/TimeSheetReport_rb.html +0 -117
- data/doc/files/lib/reports/TjpExportRE_rb.html +0 -117
- data/doc/files/lib/taskjuggler3_rb.html +0 -298
- data/doc/files/lib/tj3client_rb.html +0 -280
- data/doc/files/lib/tj3man_rb.html +0 -190
- data/doc/fr_class_index.html +0 -345
- data/doc/fr_file_index.html +0 -247
- data/doc/fr_method_index.html +0 -2355
- data/doc/rdoc-style.css +0 -299
- data/lib/RemoteServiceManager.rb +0 -80
- data/lib/ReportServer.rb +0 -66
- data/test/TestSuite/HTML-Reports/Alerts.html +0 -172
- 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 -80
- data/test/TestSuite/HTML-Reports/Query.html +0 -31
- data/test/TestSuite/HTML-Reports/depArrows.html +0 -842
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +0 -31
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Syntax/Errors/export_bad_extn.tjp +0 -9
@@ -0,0 +1,1455 @@
|
|
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/tj3client_rb.html?TB_iframe=true&height=550&width=785"
|
42
|
+
class="thickbox" title="lib/tj3client.rb">lib/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="#M001033">::new</a></li>
|
73
|
+
|
74
|
+
<li><a href="#M001046">#addFiles</a></li>
|
75
|
+
|
76
|
+
<li><a href="#M001044">#callDaemon</a></li>
|
77
|
+
|
78
|
+
<li><a href="#M001036">#checkCommand</a></li>
|
79
|
+
|
80
|
+
<li><a href="#M001037">#connectDaemon</a></li>
|
81
|
+
|
82
|
+
<li><a href="#M001040">#connectToProjectServer</a></li>
|
83
|
+
|
84
|
+
<li><a href="#M001042">#connectToReportServer</a></li>
|
85
|
+
|
86
|
+
<li><a href="#M001038">#disconnectDaemon</a></li>
|
87
|
+
|
88
|
+
<li><a href="#M001041">#disconnectProjectServer</a></li>
|
89
|
+
|
90
|
+
<li><a href="#M001043">#disconnectReportServer</a></li>
|
91
|
+
|
92
|
+
<li><a href="#M001047">#error</a></li>
|
93
|
+
|
94
|
+
<li><a href="#M001039">#executeCommand</a></li>
|
95
|
+
|
96
|
+
<li><a href="#M001035">#main</a></li>
|
97
|
+
|
98
|
+
<li><a href="#M001034">#processArguments</a></li>
|
99
|
+
|
100
|
+
<li><a href="#M001045">#splitIdsAndFiles</a></li>
|
101
|
+
|
102
|
+
</ul>
|
103
|
+
</div>
|
104
|
+
|
105
|
+
|
106
|
+
<!-- Included Modules -->
|
107
|
+
|
108
|
+
</div>
|
109
|
+
|
110
|
+
<div id="project-metadata">
|
111
|
+
|
112
|
+
|
113
|
+
<div id="fileindex-section" class="section project-section">
|
114
|
+
<h3 class="section-header">Files</h3>
|
115
|
+
<ul>
|
116
|
+
|
117
|
+
<li class="file"><a href="../COPYING.html">COPYING</a></li>
|
118
|
+
|
119
|
+
<li class="file"><a href="../README.html">README</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/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
157
|
+
|
158
|
+
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
159
|
+
|
160
|
+
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
|
161
|
+
|
162
|
+
<li><a href="../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
|
163
|
+
|
164
|
+
<li><a href="../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
|
165
|
+
|
166
|
+
<li><a href="../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
|
167
|
+
|
168
|
+
<li><a href="../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
|
169
|
+
|
170
|
+
<li><a href="../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
|
171
|
+
|
172
|
+
<li><a href="../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
|
173
|
+
|
174
|
+
<li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
|
175
|
+
|
176
|
+
<li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
|
177
|
+
|
178
|
+
<li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
|
179
|
+
|
180
|
+
<li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
|
181
|
+
|
182
|
+
<li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
|
183
|
+
|
184
|
+
<li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
|
185
|
+
|
186
|
+
<li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
|
187
|
+
|
188
|
+
<li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
|
189
|
+
|
190
|
+
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
191
|
+
|
192
|
+
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
193
|
+
|
194
|
+
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
195
|
+
|
196
|
+
<li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
|
197
|
+
|
198
|
+
<li><a href="../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
|
199
|
+
|
200
|
+
<li><a href="../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
|
201
|
+
|
202
|
+
<li><a href="../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
|
203
|
+
|
204
|
+
<li><a href="../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
|
205
|
+
|
206
|
+
<li><a href="../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
|
207
|
+
|
208
|
+
<li><a href="../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
|
209
|
+
|
210
|
+
<li><a href="../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
|
211
|
+
|
212
|
+
<li><a href="../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
|
213
|
+
|
214
|
+
<li><a href="../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
|
215
|
+
|
216
|
+
<li><a href="../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
|
217
|
+
|
218
|
+
<li><a href="../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
|
219
|
+
|
220
|
+
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
|
221
|
+
|
222
|
+
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
223
|
+
|
224
|
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
225
|
+
|
226
|
+
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
227
|
+
|
228
|
+
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
|
229
|
+
|
230
|
+
<li><a href="../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
|
231
|
+
|
232
|
+
<li><a href="../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
|
233
|
+
|
234
|
+
<li><a href="../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
|
235
|
+
|
236
|
+
<li><a href="../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
|
237
|
+
|
238
|
+
<li><a href="../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
|
239
|
+
|
240
|
+
<li><a href="../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
|
241
|
+
|
242
|
+
<li><a href="../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
|
243
|
+
|
244
|
+
<li><a href="../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
|
245
|
+
|
246
|
+
<li><a href="../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
|
247
|
+
|
248
|
+
<li><a href="../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
|
249
|
+
|
250
|
+
<li><a href="../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
|
251
|
+
|
252
|
+
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
|
253
|
+
|
254
|
+
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
255
|
+
|
256
|
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
257
|
+
|
258
|
+
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
259
|
+
|
260
|
+
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
|
261
|
+
|
262
|
+
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
263
|
+
|
264
|
+
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
265
|
+
|
266
|
+
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
267
|
+
|
268
|
+
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
269
|
+
|
270
|
+
<li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
|
271
|
+
|
272
|
+
<li><a href="../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
|
273
|
+
|
274
|
+
<li><a href="../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
|
275
|
+
|
276
|
+
<li><a href="../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
|
277
|
+
|
278
|
+
<li><a href="../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
|
279
|
+
|
280
|
+
<li><a href="../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
|
281
|
+
|
282
|
+
<li><a href="../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
|
283
|
+
|
284
|
+
<li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
285
|
+
|
286
|
+
<li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
287
|
+
|
288
|
+
<li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
289
|
+
|
290
|
+
<li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
|
291
|
+
|
292
|
+
<li><a href="../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
|
293
|
+
|
294
|
+
<li><a href="../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
|
295
|
+
|
296
|
+
<li><a href="../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
|
297
|
+
|
298
|
+
<li><a href="../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
299
|
+
|
300
|
+
<li><a href="../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
301
|
+
|
302
|
+
<li><a href="../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
303
|
+
|
304
|
+
<li><a href="../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
|
305
|
+
|
306
|
+
<li><a href="../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
|
307
|
+
|
308
|
+
<li><a href="../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
|
309
|
+
|
310
|
+
<li><a href="../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
|
311
|
+
|
312
|
+
<li><a href="../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
|
313
|
+
|
314
|
+
<li><a href="../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
315
|
+
|
316
|
+
<li><a href="../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
317
|
+
|
318
|
+
<li><a href="../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
319
|
+
|
320
|
+
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
321
|
+
|
322
|
+
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
323
|
+
|
324
|
+
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
325
|
+
|
326
|
+
<li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
|
327
|
+
|
328
|
+
<li><a href="../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
|
329
|
+
|
330
|
+
<li><a href="../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
|
331
|
+
|
332
|
+
<li><a href="../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
|
333
|
+
|
334
|
+
<li><a href="../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
|
335
|
+
|
336
|
+
<li><a href="../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
|
337
|
+
|
338
|
+
<li><a href="../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
339
|
+
|
340
|
+
<li><a href="../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
341
|
+
|
342
|
+
<li><a href="../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
343
|
+
|
344
|
+
<li><a href="../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
|
345
|
+
|
346
|
+
<li><a href="../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
|
347
|
+
|
348
|
+
<li><a href="../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
|
349
|
+
|
350
|
+
<li><a href="../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
|
351
|
+
|
352
|
+
<li><a href="../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
|
353
|
+
|
354
|
+
<li><a href="../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
|
355
|
+
|
356
|
+
<li><a href="../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
|
357
|
+
|
358
|
+
<li><a href="../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
|
359
|
+
|
360
|
+
<li><a href="../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
|
361
|
+
|
362
|
+
<li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
|
363
|
+
|
364
|
+
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
365
|
+
|
366
|
+
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
367
|
+
|
368
|
+
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
369
|
+
|
370
|
+
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
371
|
+
|
372
|
+
<li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
|
373
|
+
|
374
|
+
<li><a href="../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
|
375
|
+
|
376
|
+
<li><a href="../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
|
377
|
+
|
378
|
+
<li><a href="../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
|
379
|
+
|
380
|
+
<li><a href="../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
|
381
|
+
|
382
|
+
<li><a href="../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
|
383
|
+
|
384
|
+
<li><a href="../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
|
385
|
+
|
386
|
+
<li><a href="../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
|
387
|
+
|
388
|
+
<li><a href="../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
|
389
|
+
|
390
|
+
<li><a href="../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
|
391
|
+
|
392
|
+
<li><a href="../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
|
393
|
+
|
394
|
+
<li><a href="../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
|
395
|
+
|
396
|
+
<li><a href="../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
|
397
|
+
|
398
|
+
<li><a href="../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
|
399
|
+
|
400
|
+
<li><a href="../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
|
401
|
+
|
402
|
+
<li><a href="../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
|
403
|
+
|
404
|
+
<li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
|
405
|
+
|
406
|
+
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
407
|
+
|
408
|
+
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
409
|
+
|
410
|
+
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
411
|
+
|
412
|
+
<li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
|
413
|
+
|
414
|
+
<li><a href="../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
|
415
|
+
|
416
|
+
<li><a href="../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
|
417
|
+
|
418
|
+
<li><a href="../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
|
419
|
+
|
420
|
+
<li><a href="../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
|
421
|
+
|
422
|
+
<li><a href="../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
|
423
|
+
|
424
|
+
<li><a href="../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
|
425
|
+
|
426
|
+
<li><a href="../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
|
427
|
+
|
428
|
+
<li><a href="../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
|
429
|
+
|
430
|
+
<li><a href="../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
|
431
|
+
|
432
|
+
<li><a href="../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
|
433
|
+
|
434
|
+
<li><a href="../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
|
435
|
+
|
436
|
+
<li><a href="../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
|
437
|
+
|
438
|
+
<li><a href="../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
|
439
|
+
|
440
|
+
<li><a href="../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
|
441
|
+
|
442
|
+
<li><a href="../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
|
443
|
+
|
444
|
+
<li><a href="../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
|
445
|
+
|
446
|
+
<li><a href="../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
|
447
|
+
|
448
|
+
<li><a href="../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
|
449
|
+
|
450
|
+
<li><a href="../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
|
451
|
+
|
452
|
+
<li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
|
453
|
+
|
454
|
+
<li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
|
455
|
+
|
456
|
+
<li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
|
457
|
+
|
458
|
+
<li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
|
459
|
+
|
460
|
+
<li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
|
461
|
+
|
462
|
+
<li><a href="../TaskJuggler/TextScanner.html">TaskJuggler::TextScanner</a></li>
|
463
|
+
|
464
|
+
<li><a href="../TaskJuggler/TextScanner/BufferStreamHandle.html">TaskJuggler::TextScanner::BufferStreamHandle</a></li>
|
465
|
+
|
466
|
+
<li><a href="../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
467
|
+
|
468
|
+
<li><a href="../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
469
|
+
|
470
|
+
<li><a href="../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
471
|
+
|
472
|
+
<li><a href="../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
|
473
|
+
|
474
|
+
<li><a href="../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
|
475
|
+
|
476
|
+
<li><a href="../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
|
477
|
+
|
478
|
+
<li><a href="../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
|
479
|
+
|
480
|
+
<li><a href="../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
|
481
|
+
|
482
|
+
<li><a href="../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
|
483
|
+
|
484
|
+
<li><a href="../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
|
485
|
+
|
486
|
+
<li><a href="../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
|
487
|
+
|
488
|
+
<li><a href="../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
|
489
|
+
|
490
|
+
<li><a href="../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
|
491
|
+
|
492
|
+
<li><a href="../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
|
493
|
+
|
494
|
+
<li><a href="../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
|
495
|
+
|
496
|
+
<li><a href="../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
|
497
|
+
|
498
|
+
<li><a href="../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
|
499
|
+
|
500
|
+
<li><a href="../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
|
501
|
+
|
502
|
+
<li><a href="../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
|
503
|
+
|
504
|
+
<li><a href="../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
|
505
|
+
|
506
|
+
<li><a href="../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
|
507
|
+
|
508
|
+
<li><a href="../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
|
509
|
+
|
510
|
+
<li><a href="../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
511
|
+
|
512
|
+
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
513
|
+
|
514
|
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
515
|
+
|
516
|
+
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
517
|
+
|
518
|
+
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
|
519
|
+
|
520
|
+
<li><a href="../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
|
521
|
+
|
522
|
+
<li><a href="../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
|
523
|
+
|
524
|
+
<li><a href="../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
|
525
|
+
|
526
|
+
<li><a href="../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
|
527
|
+
|
528
|
+
<li><a href="../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
|
529
|
+
|
530
|
+
<li><a href="../AppConfig.html">AppConfig</a></li>
|
531
|
+
|
532
|
+
<li><a href="../Arguments.html">Arguments</a></li>
|
533
|
+
|
534
|
+
<li><a href="../Object.html">Object</a></li>
|
535
|
+
|
536
|
+
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
|
537
|
+
|
538
|
+
<li><a href="../String.html">String</a></li>
|
539
|
+
|
540
|
+
</ul>
|
541
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
542
|
+
</div>
|
543
|
+
|
544
|
+
|
545
|
+
</div>
|
546
|
+
</div>
|
547
|
+
|
548
|
+
<div id="documentation">
|
549
|
+
<h1 class="class">TaskJuggler::Tj3Client</h1>
|
550
|
+
|
551
|
+
<div id="description">
|
552
|
+
<p>
|
553
|
+
The <a href="Tj3Client.html">Tj3Client</a> class provides the primary
|
554
|
+
interface to the <a href="../TaskJuggler.html">TaskJuggler</a> daemon. It
|
555
|
+
exposes a rich commandline interface that supports key operations like
|
556
|
+
add/removing a project, generating a report or checking a time or status
|
557
|
+
sheet. All connections are made via DRb and tj3client requires a properly
|
558
|
+
configured tj3d to work.
|
559
|
+
</p>
|
560
|
+
|
561
|
+
</div>
|
562
|
+
|
563
|
+
<!-- Constants -->
|
564
|
+
|
565
|
+
|
566
|
+
<!-- Attributes -->
|
567
|
+
|
568
|
+
|
569
|
+
<!-- Methods -->
|
570
|
+
|
571
|
+
<div id="public-class-method-details" class="method-section section">
|
572
|
+
<h3 class="section-header">Public Class Methods</h3>
|
573
|
+
|
574
|
+
|
575
|
+
<div id="new-method" class="method-detail ">
|
576
|
+
<a name="M001033"></a>
|
577
|
+
|
578
|
+
<div class="method-heading">
|
579
|
+
|
580
|
+
<span class="method-name">new</span><span
|
581
|
+
class="method-args">()</span>
|
582
|
+
<span class="method-click-advice">click to toggle source</span>
|
583
|
+
|
584
|
+
</div>
|
585
|
+
|
586
|
+
<div class="method-description">
|
587
|
+
|
588
|
+
|
589
|
+
|
590
|
+
|
591
|
+
|
592
|
+
<div class="method-source-code"
|
593
|
+
id="new-source">
|
594
|
+
<pre>
|
595
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 30</span>
|
596
|
+
30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
597
|
+
31: <span class="ruby-keyword kw">super</span>
|
598
|
+
32:
|
599
|
+
33: <span class="ruby-comment cmt"># For security reasons, this will probably not change. All DRb</span>
|
600
|
+
34: <span class="ruby-comment cmt"># operations are limited to localhost only. The client and the sever</span>
|
601
|
+
35: <span class="ruby-comment cmt"># must have access to the identical file system.</span>
|
602
|
+
36: <span class="ruby-ivar">@host</span> = <span class="ruby-value str">'127.0.0.1'</span>
|
603
|
+
37: <span class="ruby-comment cmt"># The default port. 'T' and 'J' in ASCII decimal</span>
|
604
|
+
38: <span class="ruby-ivar">@port</span> = <span class="ruby-value">8474</span>
|
605
|
+
39: <span class="ruby-comment cmt"># This must must be changed for the communication to work.</span>
|
606
|
+
40: <span class="ruby-ivar">@authKey</span> = <span class="ruby-keyword kw">nil</span>
|
607
|
+
41: <span class="ruby-comment cmt"># Determines whether report IDs are fix IDs or regular expressions that</span>
|
608
|
+
42: <span class="ruby-comment cmt"># match a set of reports.</span>
|
609
|
+
43: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">false</span>
|
610
|
+
44:
|
611
|
+
45: <span class="ruby-ivar">@mandatoryArgs</span> = <span class="ruby-value str">'<command> [arg1 arg2 ...]'</span>
|
612
|
+
46:
|
613
|
+
47: <span class="ruby-comment cmt"># This list describes the supported command line commands and their</span>
|
614
|
+
48: <span class="ruby-comment cmt"># parameter.</span>
|
615
|
+
49: <span class="ruby-comment cmt"># :label : The command name</span>
|
616
|
+
50: <span class="ruby-comment cmt"># :args : A list of parameters. If the first character is a '+' the</span>
|
617
|
+
51: <span class="ruby-comment cmt"># parameter must be provided 1 or more times. If the first character is</span>
|
618
|
+
52: <span class="ruby-comment cmt"># a '*' the parameter must be provided 0 or more times. Repeatable and</span>
|
619
|
+
53: <span class="ruby-comment cmt"># optional paramters must follow the mandatory ones.</span>
|
620
|
+
54: <span class="ruby-comment cmt"># :descr : A short description of the command used for the help text.</span>
|
621
|
+
55: <span class="ruby-ivar">@commands</span> = [
|
622
|
+
56: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'status'</span>,
|
623
|
+
57: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
|
624
|
+
58: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Display the status of the available projects'</span> },
|
625
|
+
59: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'terminate'</span>,
|
626
|
+
60: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [],
|
627
|
+
61: <span class="ruby-value">:descr</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Terminate the TaskJuggler daemon'</span> },
|
628
|
+
62: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'add'</span>,
|
629
|
+
63: <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>],
|
630
|
+
64: <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> },
|
631
|
+
65: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'remove'</span>,
|
632
|
+
66: <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">'+project ID'</span> ],
|
633
|
+
67: <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 daemon'</span> },
|
634
|
+
68: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'report'</span>,
|
635
|
+
69: <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>],
|
636
|
+
70: <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>
|
637
|
+
71: <span class="ruby-value str">'the project with the given ID'</span>},
|
638
|
+
72: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'list-reports'</span>,
|
639
|
+
73: <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> ],
|
640
|
+
74: <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>
|
641
|
+
75: <span class="ruby-value str">'that match the provided report ID'</span> },
|
642
|
+
76: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ts'</span>,
|
643
|
+
77: <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> ],
|
644
|
+
78: <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>
|
645
|
+
79: <span class="ruby-value str">'against the project with the given ID'</span>},
|
646
|
+
80: { <span class="ruby-value">:label</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'check-ss'</span>,
|
647
|
+
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">'status sheet'</span> ],
|
648
|
+
82: <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>
|
649
|
+
83: <span class="ruby-value str">'against the project with the given ID'</span>}
|
650
|
+
84: ]
|
651
|
+
85: <span class="ruby-keyword kw">end</span></pre>
|
652
|
+
</div>
|
653
|
+
|
654
|
+
</div>
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
</div>
|
660
|
+
|
661
|
+
|
662
|
+
</div>
|
663
|
+
|
664
|
+
<div id="public-instance-method-details" class="method-section section">
|
665
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
666
|
+
|
667
|
+
|
668
|
+
<div id="main-method" class="method-detail ">
|
669
|
+
<a name="M001035"></a>
|
670
|
+
|
671
|
+
<div class="method-heading">
|
672
|
+
|
673
|
+
<span class="method-name">main</span><span
|
674
|
+
class="method-args">()</span>
|
675
|
+
<span class="method-click-advice">click to toggle source</span>
|
676
|
+
|
677
|
+
</div>
|
678
|
+
|
679
|
+
<div class="method-description">
|
680
|
+
|
681
|
+
|
682
|
+
|
683
|
+
|
684
|
+
|
685
|
+
<div class="method-source-code"
|
686
|
+
id="main-source">
|
687
|
+
<pre>
|
688
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 129</span>
|
689
|
+
129: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
|
690
|
+
130: <span class="ruby-identifier">args</span> = <span class="ruby-keyword kw">super</span>
|
691
|
+
131: <span class="ruby-comment cmt"># Run a first check of the non-option command line arguments.</span>
|
692
|
+
132: <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
|
693
|
+
133: <span class="ruby-comment cmt"># Read some configuration variables. Except for the authKey, they are</span>
|
694
|
+
134: <span class="ruby-comment cmt"># all optional.</span>
|
695
|
+
135: <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>)
|
696
|
+
136:
|
697
|
+
137: <span class="ruby-identifier">connectDaemon</span>
|
698
|
+
138: <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>])
|
699
|
+
139: <span class="ruby-identifier">disconnectDaemon</span>
|
700
|
+
140:
|
701
|
+
141: <span class="ruby-identifier">retVal</span>
|
702
|
+
142: <span class="ruby-keyword kw">end</span></pre>
|
703
|
+
</div>
|
704
|
+
|
705
|
+
</div>
|
706
|
+
|
707
|
+
|
708
|
+
|
709
|
+
|
710
|
+
</div>
|
711
|
+
|
712
|
+
|
713
|
+
<div id="process-rguments-method" class="method-detail ">
|
714
|
+
<a name="M001034"></a>
|
715
|
+
|
716
|
+
<div class="method-heading">
|
717
|
+
|
718
|
+
<span class="method-name">processArguments</span><span
|
719
|
+
class="method-args">(argv)</span>
|
720
|
+
<span class="method-click-advice">click to toggle source</span>
|
721
|
+
|
722
|
+
</div>
|
723
|
+
|
724
|
+
<div class="method-description">
|
725
|
+
|
726
|
+
|
727
|
+
|
728
|
+
|
729
|
+
|
730
|
+
<div class="method-source-code"
|
731
|
+
id="process-rguments-source">
|
732
|
+
<pre>
|
733
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 87</span>
|
734
|
+
87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
|
735
|
+
88: <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">do</span>
|
736
|
+
89: <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>
|
737
|
+
90:
|
738
|
+
91: <span class="ruby-comment cmt"># Convert the command list into a help text.</span>
|
739
|
+
92: <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>
|
740
|
+
93: <span class="ruby-identifier">tail</span> = <span class="ruby-value str">''</span>
|
741
|
+
94: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">cmd</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">dup</span>
|
742
|
+
95: <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>
|
743
|
+
96: <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>
|
744
|
+
97: <span class="ruby-node">"[<#{c[1..-1]}> ...]"</span>
|
745
|
+
98: <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>
|
746
|
+
99: <span class="ruby-node">"<#{c[1..-1]}> [<#{c[1..-1]}> ...]"</span>
|
747
|
+
100: <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>
|
748
|
+
101: <span class="ruby-identifier">tail</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
|
749
|
+
102: <span class="ruby-node">"[#{c[1..-1]} "</span>
|
750
|
+
103: <span class="ruby-keyword kw">else</span>
|
751
|
+
104: <span class="ruby-node">"<#{c}>"</span>
|
752
|
+
105: <span class="ruby-keyword kw">end</span>
|
753
|
+
106: <span class="ruby-keyword kw">end</span>
|
754
|
+
107: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
|
755
|
+
108: <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>
|
756
|
+
109: <span class="ruby-node">"\n\n#{' ' * 10 + format(cmd[:descr], 10)}\n"</span>
|
757
|
+
110: <span class="ruby-keyword kw">end</span>
|
758
|
+
111: <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>,
|
759
|
+
112: <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>
|
760
|
+
113: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">arg</span>
|
761
|
+
114: <span class="ruby-keyword kw">end</span>
|
762
|
+
115: <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>,
|
763
|
+
116: <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>
|
764
|
+
117: <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>
|
765
|
+
118: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
|
766
|
+
119: <span class="ruby-keyword kw">end</span>
|
767
|
+
120: <span class="ruby-keyword kw">end</span>
|
768
|
+
121: <span class="ruby-keyword kw">end</span></pre>
|
769
|
+
</div>
|
770
|
+
|
771
|
+
</div>
|
772
|
+
|
773
|
+
|
774
|
+
|
775
|
+
|
776
|
+
</div>
|
777
|
+
|
778
|
+
|
779
|
+
</div>
|
780
|
+
|
781
|
+
<div id="private-instance-method-details" class="method-section section">
|
782
|
+
<h3 class="section-header">Private Instance Methods</h3>
|
783
|
+
|
784
|
+
|
785
|
+
<div id="add-iles-method" class="method-detail ">
|
786
|
+
<a name="M001046"></a>
|
787
|
+
|
788
|
+
<div class="method-heading">
|
789
|
+
|
790
|
+
<span class="method-name">addFiles</span><span
|
791
|
+
class="method-args">(tjiFiles)</span>
|
792
|
+
<span class="method-click-advice">click to toggle source</span>
|
793
|
+
|
794
|
+
</div>
|
795
|
+
|
796
|
+
<div class="method-description">
|
797
|
+
|
798
|
+
<p>
|
799
|
+
Transfer the <em>tjiFiles</em> to the <em>reportServer</em>.
|
800
|
+
</p>
|
801
|
+
|
802
|
+
|
803
|
+
|
804
|
+
<div class="method-source-code"
|
805
|
+
id="add-iles-source">
|
806
|
+
<pre>
|
807
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 421</span>
|
808
|
+
421: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
|
809
|
+
422: <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>
|
810
|
+
423: <span class="ruby-keyword kw">begin</span>
|
811
|
+
424: <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>)
|
812
|
+
425: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
813
|
+
426: <span class="ruby-keyword kw">end</span>
|
814
|
+
427: <span class="ruby-keyword kw">rescue</span>
|
815
|
+
428: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Cannot add file #{file} to ReportServer"</span>)
|
816
|
+
429: <span class="ruby-keyword kw">end</span>
|
817
|
+
430: <span class="ruby-keyword kw">end</span>
|
818
|
+
431: <span class="ruby-keyword kw">true</span>
|
819
|
+
432: <span class="ruby-keyword kw">end</span></pre>
|
820
|
+
</div>
|
821
|
+
|
822
|
+
</div>
|
823
|
+
|
824
|
+
|
825
|
+
|
826
|
+
|
827
|
+
</div>
|
828
|
+
|
829
|
+
|
830
|
+
<div id="call-aemon-method" class="method-detail ">
|
831
|
+
<a name="M001044"></a>
|
832
|
+
|
833
|
+
<div class="method-heading">
|
834
|
+
|
835
|
+
<span class="method-name">callDaemon</span><span
|
836
|
+
class="method-args">(command, args)</span>
|
837
|
+
<span class="method-click-advice">click to toggle source</span>
|
838
|
+
|
839
|
+
</div>
|
840
|
+
|
841
|
+
<div class="method-description">
|
842
|
+
|
843
|
+
<p>
|
844
|
+
Call the <a href="../TaskJuggler.html">TaskJuggler</a> daemon (<a
|
845
|
+
href="ProjectBroker.html">ProjectBroker</a>) and execute the provided
|
846
|
+
command with the provided arguments.
|
847
|
+
</p>
|
848
|
+
|
849
|
+
|
850
|
+
|
851
|
+
<div class="method-source-code"
|
852
|
+
id="call-aemon-source">
|
853
|
+
<pre>
|
854
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 390</span>
|
855
|
+
390: <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>)
|
856
|
+
391: <span class="ruby-keyword kw">begin</span>
|
857
|
+
392: <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>)
|
858
|
+
393: <span class="ruby-keyword kw">rescue</span>
|
859
|
+
394: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Call to TaskJuggler server on host '#{@host}' "</span> <span class="ruby-operator">+</span>
|
860
|
+
395: <span class="ruby-node">"port #{@port} failed: #{$!}"</span>)
|
861
|
+
396: <span class="ruby-keyword kw">end</span>
|
862
|
+
397: <span class="ruby-keyword kw">end</span></pre>
|
863
|
+
</div>
|
864
|
+
|
865
|
+
</div>
|
866
|
+
|
867
|
+
|
868
|
+
|
869
|
+
|
870
|
+
</div>
|
871
|
+
|
872
|
+
|
873
|
+
<div id="check-ommand-method" class="method-detail ">
|
874
|
+
<a name="M001036"></a>
|
875
|
+
|
876
|
+
<div class="method-heading">
|
877
|
+
|
878
|
+
<span class="method-name">checkCommand</span><span
|
879
|
+
class="method-args">(args)</span>
|
880
|
+
<span class="method-click-advice">click to toggle source</span>
|
881
|
+
|
882
|
+
</div>
|
883
|
+
|
884
|
+
<div class="method-description">
|
885
|
+
|
886
|
+
|
887
|
+
|
888
|
+
|
889
|
+
|
890
|
+
<div class="method-source-code"
|
891
|
+
id="check-ommand-source">
|
892
|
+
<pre>
|
893
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 146</span>
|
894
|
+
146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkCommand</span>(<span class="ruby-identifier">args</span>)
|
895
|
+
147: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
|
896
|
+
148: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-value str">'You must specify a command!'</span>
|
897
|
+
149: <span class="ruby-keyword kw">else</span>
|
898
|
+
150: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Unknown command #{args[0]}"</span>
|
899
|
+
151: <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>
|
900
|
+
152: <span class="ruby-comment cmt"># The first value of args is the command name.</span>
|
901
|
+
153: <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>]
|
902
|
+
154: <span class="ruby-comment cmt"># Find out how many arguments we need to have and if that's a</span>
|
903
|
+
155: <span class="ruby-comment cmt"># lower limit or a fixed value.</span>
|
904
|
+
156: <span class="ruby-identifier">minArgs</span> = <span class="ruby-value">0</span>
|
905
|
+
157: <span class="ruby-identifier">varArgs</span> = <span class="ruby-keyword kw">false</span>
|
906
|
+
158: <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>
|
907
|
+
159: <span class="ruby-comment cmt"># Arguments starting with '+' must have 1 or more showings.</span>
|
908
|
+
160: <span class="ruby-comment cmt"># Arguments starting with '*' may show up 0 or more times.</span>
|
909
|
+
161: <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>])
|
910
|
+
162: <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>])
|
911
|
+
163: <span class="ruby-keyword kw">end</span>
|
912
|
+
164: <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>
|
913
|
+
165: <span class="ruby-identifier">errorMessage</span> = <span class="ruby-node">"Command #{args[0]} must have "</span> <span class="ruby-operator">+</span>
|
914
|
+
166: <span class="ruby-node">"#{varArgs ? 'at least ' : ''}#{minArgs} "</span> <span class="ruby-operator">+</span>
|
915
|
+
167: <span class="ruby-value str">'arguments'</span>
|
916
|
+
168: <span class="ruby-keyword kw">end</span>
|
917
|
+
169: <span class="ruby-keyword kw">end</span>
|
918
|
+
170: <span class="ruby-keyword kw">end</span>
|
919
|
+
171:
|
920
|
+
172: <span class="ruby-identifier">error</span>(<span class="ruby-identifier">errorMessage</span>)
|
921
|
+
173: <span class="ruby-keyword kw">end</span></pre>
|
922
|
+
</div>
|
923
|
+
|
924
|
+
</div>
|
925
|
+
|
926
|
+
|
927
|
+
|
928
|
+
|
929
|
+
</div>
|
930
|
+
|
931
|
+
|
932
|
+
<div id="connect-aemon-method" class="method-detail ">
|
933
|
+
<a name="M001037"></a>
|
934
|
+
|
935
|
+
<div class="method-heading">
|
936
|
+
|
937
|
+
<span class="method-name">connectDaemon</span><span
|
938
|
+
class="method-args">()</span>
|
939
|
+
<span class="method-click-advice">click to toggle source</span>
|
940
|
+
|
941
|
+
</div>
|
942
|
+
|
943
|
+
<div class="method-description">
|
944
|
+
|
945
|
+
|
946
|
+
|
947
|
+
|
948
|
+
|
949
|
+
<div class="method-source-code"
|
950
|
+
id="connect-aemon-source">
|
951
|
+
<pre>
|
952
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 175</span>
|
953
|
+
175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectDaemon</span>
|
954
|
+
176: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@authKey</span>
|
955
|
+
177: <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>
|
956
|
+
178: <span class="ruby-keyword kw">end</span>
|
957
|
+
179:
|
958
|
+
180: <span class="ruby-comment cmt"># We try to play it safe here. The client also starts a DRb server, so</span>
|
959
|
+
181: <span class="ruby-comment cmt"># we need to make sure it's constricted to localhost only. We require</span>
|
960
|
+
182: <span class="ruby-comment cmt"># the DRb server for the standard IO redirection to work.</span>
|
961
|
+
183: <span class="ruby-identifier">$SAFE</span> = <span class="ruby-value">1</span>
|
962
|
+
184: <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
|
963
|
+
185: allow 127.0.0.1 ]</span>))
|
964
|
+
186: <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>)
|
965
|
+
187:
|
966
|
+
188: <span class="ruby-keyword kw">begin</span>
|
967
|
+
189: <span class="ruby-comment cmt"># Get the ProjectBroker object from the tj3d.</span>
|
968
|
+
190: <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-node">"druby://#{@host}:#{@port}"</span>)
|
969
|
+
191: <span class="ruby-comment cmt"># Client and server should always come from the same Gem. Since we</span>
|
970
|
+
192: <span class="ruby-comment cmt"># restict communication to localhost, that's probably not a problem.</span>
|
971
|
+
193: <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>
|
972
|
+
194: <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>
|
973
|
+
195: <span class="ruby-value str">'upgrade to a more recent version of the software.'</span>)
|
974
|
+
196: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">check</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
975
|
+
197: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'Authentication failed. Please check your authentication '</span> <span class="ruby-operator">+</span>
|
976
|
+
198: <span class="ruby-value str">'key to match the server key.'</span>)
|
977
|
+
199: <span class="ruby-keyword kw">end</span>
|
978
|
+
200: <span class="ruby-keyword kw">rescue</span>
|
979
|
+
201: <span class="ruby-identifier">error</span>(<span class="ruby-node">"TaskJuggler server on host '#{@host}' port "</span> <span class="ruby-operator">+</span>
|
980
|
+
202: <span class="ruby-node">"#{@port} is not responding: #{$!}"</span>)
|
981
|
+
203: <span class="ruby-keyword kw">end</span>
|
982
|
+
204: <span class="ruby-keyword kw">end</span></pre>
|
983
|
+
</div>
|
984
|
+
|
985
|
+
</div>
|
986
|
+
|
987
|
+
|
988
|
+
|
989
|
+
|
990
|
+
</div>
|
991
|
+
|
992
|
+
|
993
|
+
<div id="connect-o-roject-erver-method" class="method-detail ">
|
994
|
+
<a name="M001040"></a>
|
995
|
+
|
996
|
+
<div class="method-heading">
|
997
|
+
|
998
|
+
<span class="method-name">connectToProjectServer</span><span
|
999
|
+
class="method-args">()</span>
|
1000
|
+
<span class="method-click-advice">click to toggle source</span>
|
1001
|
+
|
1002
|
+
</div>
|
1003
|
+
|
1004
|
+
<div class="method-description">
|
1005
|
+
|
1006
|
+
|
1007
|
+
|
1008
|
+
|
1009
|
+
|
1010
|
+
<div class="method-source-code"
|
1011
|
+
id="connect-o-roject-erver-source">
|
1012
|
+
<pre>
|
1013
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 323</span>
|
1014
|
+
323: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectToProjectServer</span>
|
1015
|
+
324: <span class="ruby-ivar">@ps_uri</span>, <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:addProject</span>, [])
|
1016
|
+
325: <span class="ruby-keyword kw">begin</span>
|
1017
|
+
326: <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>)
|
1018
|
+
327: <span class="ruby-keyword kw">rescue</span>
|
1019
|
+
328: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't get ProjectServer object: #{$!}"</span>)
|
1020
|
+
329: <span class="ruby-keyword kw">end</span>
|
1021
|
+
330: <span class="ruby-keyword kw">begin</span>
|
1022
|
+
331: <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-ivar">@ps_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>)
|
1023
|
+
332: <span class="ruby-keyword kw">rescue</span>
|
1024
|
+
333: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't connect IO: #{$!}"</span>)
|
1025
|
+
334: <span class="ruby-keyword kw">end</span>
|
1026
|
+
335: <span class="ruby-keyword kw">end</span></pre>
|
1027
|
+
</div>
|
1028
|
+
|
1029
|
+
</div>
|
1030
|
+
|
1031
|
+
|
1032
|
+
|
1033
|
+
|
1034
|
+
</div>
|
1035
|
+
|
1036
|
+
|
1037
|
+
<div id="connect-o-eport-erver-method" class="method-detail ">
|
1038
|
+
<a name="M001042"></a>
|
1039
|
+
|
1040
|
+
<div class="method-heading">
|
1041
|
+
|
1042
|
+
<span class="method-name">connectToReportServer</span><span
|
1043
|
+
class="method-args">(projectId)</span>
|
1044
|
+
<span class="method-click-advice">click to toggle source</span>
|
1045
|
+
|
1046
|
+
</div>
|
1047
|
+
|
1048
|
+
<div class="method-description">
|
1049
|
+
|
1050
|
+
|
1051
|
+
|
1052
|
+
|
1053
|
+
|
1054
|
+
<div class="method-source-code"
|
1055
|
+
id="connect-o-eport-erver-source">
|
1056
|
+
<pre>
|
1057
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 345</span>
|
1058
|
+
345: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
|
1059
|
+
346: <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>)
|
1060
|
+
347: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ps_uri</span>.<span class="ruby-identifier">nil?</span>
|
1061
|
+
348: <span class="ruby-identifier">error</span>(<span class="ruby-node">"No project with ID #{projectId} loaded"</span>)
|
1062
|
+
349: <span class="ruby-keyword kw">end</span>
|
1063
|
+
350: <span class="ruby-keyword kw">begin</span>
|
1064
|
+
351: <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>)
|
1065
|
+
352: <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>)
|
1066
|
+
353: <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>)
|
1067
|
+
354: <span class="ruby-keyword kw">rescue</span>
|
1068
|
+
355: <span class="ruby-identifier">error</span>(<span class="ruby-value str">"Cannot get report server"</span>)
|
1069
|
+
356: <span class="ruby-keyword kw">end</span>
|
1070
|
+
357: <span class="ruby-keyword kw">begin</span>
|
1071
|
+
358: <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>)
|
1072
|
+
359: <span class="ruby-keyword kw">rescue</span>
|
1073
|
+
360: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't connect IO: #{$!}"</span>)
|
1074
|
+
361: <span class="ruby-keyword kw">end</span>
|
1075
|
+
362: <span class="ruby-keyword kw">end</span></pre>
|
1076
|
+
</div>
|
1077
|
+
|
1078
|
+
</div>
|
1079
|
+
|
1080
|
+
|
1081
|
+
|
1082
|
+
|
1083
|
+
</div>
|
1084
|
+
|
1085
|
+
|
1086
|
+
<div id="disconnect-aemon-method" class="method-detail ">
|
1087
|
+
<a name="M001038"></a>
|
1088
|
+
|
1089
|
+
<div class="method-heading">
|
1090
|
+
|
1091
|
+
<span class="method-name">disconnectDaemon</span><span
|
1092
|
+
class="method-args">()</span>
|
1093
|
+
<span class="method-click-advice">click to toggle source</span>
|
1094
|
+
|
1095
|
+
</div>
|
1096
|
+
|
1097
|
+
<div class="method-description">
|
1098
|
+
|
1099
|
+
|
1100
|
+
|
1101
|
+
|
1102
|
+
|
1103
|
+
<div class="method-source-code"
|
1104
|
+
id="disconnect-aemon-source">
|
1105
|
+
<pre>
|
1106
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 213</span>
|
1107
|
+
213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectDaemon</span>
|
1108
|
+
214: <span class="ruby-ivar">@broker</span> = <span class="ruby-keyword kw">nil</span>
|
1109
|
+
215:
|
1110
|
+
216: <span class="ruby-constant">DRb</span>.<span class="ruby-identifier">stop_service</span>
|
1111
|
+
217: <span class="ruby-keyword kw">end</span></pre>
|
1112
|
+
</div>
|
1113
|
+
|
1114
|
+
</div>
|
1115
|
+
|
1116
|
+
|
1117
|
+
|
1118
|
+
|
1119
|
+
</div>
|
1120
|
+
|
1121
|
+
|
1122
|
+
<div id="disconnect-roject-erver-method" class="method-detail ">
|
1123
|
+
<a name="M001041"></a>
|
1124
|
+
|
1125
|
+
<div class="method-heading">
|
1126
|
+
|
1127
|
+
<span class="method-name">disconnectProjectServer</span><span
|
1128
|
+
class="method-args">()</span>
|
1129
|
+
<span class="method-click-advice">click to toggle source</span>
|
1130
|
+
|
1131
|
+
</div>
|
1132
|
+
|
1133
|
+
<div class="method-description">
|
1134
|
+
|
1135
|
+
|
1136
|
+
|
1137
|
+
|
1138
|
+
|
1139
|
+
<div class="method-source-code"
|
1140
|
+
id="disconnect-roject-erver-source">
|
1141
|
+
<pre>
|
1142
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 337</span>
|
1143
|
+
337: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectProjectServer</span>
|
1144
|
+
338: <span class="ruby-keyword kw">begin</span>
|
1145
|
+
339: <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-ivar">@ps_authKey</span>)
|
1146
|
+
340: <span class="ruby-keyword kw">rescue</span>
|
1147
|
+
341: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't disconnect IO: #{$!}"</span>)
|
1148
|
+
342: <span class="ruby-keyword kw">end</span>
|
1149
|
+
343: <span class="ruby-keyword kw">end</span></pre>
|
1150
|
+
</div>
|
1151
|
+
|
1152
|
+
</div>
|
1153
|
+
|
1154
|
+
|
1155
|
+
|
1156
|
+
|
1157
|
+
</div>
|
1158
|
+
|
1159
|
+
|
1160
|
+
<div id="disconnect-eport-erver-method" class="method-detail ">
|
1161
|
+
<a name="M001043"></a>
|
1162
|
+
|
1163
|
+
<div class="method-heading">
|
1164
|
+
|
1165
|
+
<span class="method-name">disconnectReportServer</span><span
|
1166
|
+
class="method-args">()</span>
|
1167
|
+
<span class="method-click-advice">click to toggle source</span>
|
1168
|
+
|
1169
|
+
</div>
|
1170
|
+
|
1171
|
+
<div class="method-description">
|
1172
|
+
|
1173
|
+
|
1174
|
+
|
1175
|
+
|
1176
|
+
|
1177
|
+
<div class="method-source-code"
|
1178
|
+
id="disconnect-eport-erver-source">
|
1179
|
+
<pre>
|
1180
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 364</span>
|
1181
|
+
364: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnectReportServer</span>
|
1182
|
+
365: <span class="ruby-keyword kw">begin</span>
|
1183
|
+
366: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-ivar">@rs_authKey</span>)
|
1184
|
+
367: <span class="ruby-keyword kw">rescue</span>
|
1185
|
+
368: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Can't disconnect IO: #{$!}"</span>)
|
1186
|
+
369: <span class="ruby-keyword kw">end</span>
|
1187
|
+
370: <span class="ruby-keyword kw">begin</span>
|
1188
|
+
371: <span class="ruby-ivar">@reportServer</span>.<span class="ruby-identifier">terminate</span>(<span class="ruby-ivar">@rs_authKey</span>)
|
1189
|
+
372: <span class="ruby-keyword kw">rescue</span>
|
1190
|
+
373: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Report server termination failed: #{$!}"</span>)
|
1191
|
+
374: <span class="ruby-keyword kw">end</span>
|
1192
|
+
375: <span class="ruby-ivar">@reportServer</span> = <span class="ruby-keyword kw">nil</span>
|
1193
|
+
376: <span class="ruby-keyword kw">begin</span>
|
1194
|
+
377: <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">dropReportServer</span>(<span class="ruby-ivar">@ps_authKey</span>, <span class="ruby-ivar">@rs_uri</span>)
|
1195
|
+
378: <span class="ruby-keyword kw">rescue</span>
|
1196
|
+
379: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Cannot drop report server: #{$!}"</span>)
|
1197
|
+
380: <span class="ruby-keyword kw">end</span>
|
1198
|
+
381: <span class="ruby-ivar">@rs_uri</span> = <span class="ruby-keyword kw">nil</span>
|
1199
|
+
382: <span class="ruby-ivar">@rs_authKey</span> = <span class="ruby-keyword kw">nil</span>
|
1200
|
+
383: <span class="ruby-ivar">@projectServer</span> = <span class="ruby-keyword kw">nil</span>
|
1201
|
+
384: <span class="ruby-ivar">@ps_uri</span> = <span class="ruby-keyword kw">nil</span>
|
1202
|
+
385: <span class="ruby-ivar">@ps_authKey</span> = <span class="ruby-keyword kw">nil</span>
|
1203
|
+
386: <span class="ruby-keyword kw">end</span></pre>
|
1204
|
+
</div>
|
1205
|
+
|
1206
|
+
</div>
|
1207
|
+
|
1208
|
+
|
1209
|
+
|
1210
|
+
|
1211
|
+
</div>
|
1212
|
+
|
1213
|
+
|
1214
|
+
<div id="error-method" class="method-detail ">
|
1215
|
+
<a name="M001047"></a>
|
1216
|
+
|
1217
|
+
<div class="method-heading">
|
1218
|
+
|
1219
|
+
<span class="method-name">error</span><span
|
1220
|
+
class="method-args">(message)</span>
|
1221
|
+
<span class="method-click-advice">click to toggle source</span>
|
1222
|
+
|
1223
|
+
</div>
|
1224
|
+
|
1225
|
+
<div class="method-description">
|
1226
|
+
|
1227
|
+
|
1228
|
+
|
1229
|
+
|
1230
|
+
|
1231
|
+
<div class="method-source-code"
|
1232
|
+
id="error-source">
|
1233
|
+
<pre>
|
1234
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 434</span>
|
1235
|
+
434: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">message</span>)
|
1236
|
+
435: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"ERROR: #{message}"</span>
|
1237
|
+
436: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
1238
|
+
437: <span class="ruby-keyword kw">end</span></pre>
|
1239
|
+
</div>
|
1240
|
+
|
1241
|
+
</div>
|
1242
|
+
|
1243
|
+
|
1244
|
+
|
1245
|
+
|
1246
|
+
</div>
|
1247
|
+
|
1248
|
+
|
1249
|
+
<div id="execute-ommand-method" class="method-detail ">
|
1250
|
+
<a name="M001039"></a>
|
1251
|
+
|
1252
|
+
<div class="method-heading">
|
1253
|
+
|
1254
|
+
<span class="method-name">executeCommand</span><span
|
1255
|
+
class="method-args">(command, args)</span>
|
1256
|
+
<span class="method-click-advice">click to toggle source</span>
|
1257
|
+
|
1258
|
+
</div>
|
1259
|
+
|
1260
|
+
<div class="method-description">
|
1261
|
+
|
1262
|
+
|
1263
|
+
|
1264
|
+
|
1265
|
+
|
1266
|
+
<div class="method-source-code"
|
1267
|
+
id="execute-ommand-source">
|
1268
|
+
<pre>
|
1269
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 219</span>
|
1270
|
+
219: <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>)
|
1271
|
+
220: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">command</span>
|
1272
|
+
221: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'status'</span>
|
1273
|
+
222: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:status</span>, [])
|
1274
|
+
223: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'terminate'</span>
|
1275
|
+
224: <span class="ruby-identifier">callDaemon</span>(<span class="ruby-value">:stop</span>, [])
|
1276
|
+
225: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'add'</span>
|
1277
|
+
226: <span class="ruby-comment cmt"># Ask the daemon to create a new ProjectServer process and return a</span>
|
1278
|
+
227: <span class="ruby-comment cmt"># DRbObject to access it.</span>
|
1279
|
+
228: <span class="ruby-identifier">connectToProjectServer</span>
|
1280
|
+
229: <span class="ruby-comment cmt"># Ask the server to load the files in _args_ into the ProjectServer.</span>
|
1281
|
+
230: <span class="ruby-keyword kw">begin</span>
|
1282
|
+
231: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@projectServer</span>.<span class="ruby-identifier">loadProject</span>(<span class="ruby-ivar">@ps_authKey</span>, [ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span>, *<span class="ruby-identifier">args</span> ])
|
1283
|
+
232: <span class="ruby-keyword kw">rescue</span>
|
1284
|
+
233: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Loading of project failed: #{$!}"</span>)
|
1285
|
+
234: <span class="ruby-keyword kw">end</span>
|
1286
|
+
235: <span class="ruby-identifier">disconnectProjectServer</span>
|
1287
|
+
236: <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>
|
1288
|
+
237: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'remove'</span>
|
1289
|
+
238: <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>
|
1290
|
+
239: <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>)
|
1291
|
+
240: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Project '#{arg}' not found in list"</span>)
|
1292
|
+
241: <span class="ruby-keyword kw">end</span>
|
1293
|
+
242: <span class="ruby-keyword kw">end</span>
|
1294
|
+
243: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
|
1295
|
+
244: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
|
1296
|
+
245: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
|
1297
|
+
246: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
|
1298
|
+
247: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
|
1299
|
+
248: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
|
1300
|
+
249: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
|
1301
|
+
250:
|
1302
|
+
251: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
|
1303
|
+
252: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
|
1304
|
+
253: <span class="ruby-identifier">disconnectReportServer</span>
|
1305
|
+
254: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'You must provide at least one report ID'</span>)
|
1306
|
+
255: <span class="ruby-keyword kw">end</span>
|
1307
|
+
256: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
|
1308
|
+
257: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
|
1309
|
+
258: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
|
1310
|
+
259: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
|
1311
|
+
260: <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>
|
1312
|
+
261: <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>,
|
1313
|
+
262: <span class="ruby-ivar">@regExpMode</span>)
|
1314
|
+
263: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
|
1315
|
+
264: <span class="ruby-keyword kw">break</span>
|
1316
|
+
265: <span class="ruby-keyword kw">end</span>
|
1317
|
+
266: <span class="ruby-keyword kw">end</span>
|
1318
|
+
267: <span class="ruby-keyword kw">end</span>
|
1319
|
+
268: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
|
1320
|
+
269: <span class="ruby-identifier">disconnectReportServer</span>
|
1321
|
+
270: <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>
|
1322
|
+
271: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'list-reports'</span>
|
1323
|
+
272: <span class="ruby-comment cmt"># The first value of args is the project ID. The following values</span>
|
1324
|
+
273: <span class="ruby-comment cmt"># could be either report IDs or TJI file # names ('.' or '*.tji').</span>
|
1325
|
+
274: <span class="ruby-identifier">projectId</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
|
1326
|
+
275: <span class="ruby-comment cmt"># Ask the ProjectServer to launch a new ReportServer process and</span>
|
1327
|
+
276: <span class="ruby-comment cmt"># provide a DRbObject reference to it.</span>
|
1328
|
+
277: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">projectId</span>)
|
1329
|
+
278:
|
1330
|
+
279: <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> = <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
|
1331
|
+
280: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportIds</span>.<span class="ruby-identifier">empty?</span>
|
1332
|
+
281: <span class="ruby-comment cmt"># If the user did not provide a report ID we generate a full list.</span>
|
1333
|
+
282: <span class="ruby-identifier">reportIds</span> = [ <span class="ruby-value str">'.*'</span> ]
|
1334
|
+
283: <span class="ruby-ivar">@regExpMode</span> = <span class="ruby-keyword kw">true</span>
|
1335
|
+
284: <span class="ruby-keyword kw">end</span>
|
1336
|
+
285: <span class="ruby-comment cmt"># Send the provided .tji files to the ReportServer.</span>
|
1337
|
+
286: <span class="ruby-identifier">failed</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">addFiles</span>(<span class="ruby-identifier">tjiFiles</span>)
|
1338
|
+
287: <span class="ruby-comment cmt"># Ask the ReportServer to generate the reports with the provided IDs.</span>
|
1339
|
+
288: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">failed</span>
|
1340
|
+
289: <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>
|
1341
|
+
290: <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>)
|
1342
|
+
291: <span class="ruby-identifier">failed</span> = <span class="ruby-keyword kw">true</span>
|
1343
|
+
292: <span class="ruby-keyword kw">break</span>
|
1344
|
+
293: <span class="ruby-keyword kw">end</span>
|
1345
|
+
294: <span class="ruby-keyword kw">end</span>
|
1346
|
+
295: <span class="ruby-keyword kw">end</span>
|
1347
|
+
296: <span class="ruby-comment cmt"># Terminate the ReportServer</span>
|
1348
|
+
297: <span class="ruby-identifier">disconnectReportServer</span>
|
1349
|
+
298: <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>
|
1350
|
+
299: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ts'</span>
|
1351
|
+
300: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
|
1352
|
+
301: <span class="ruby-keyword kw">begin</span>
|
1353
|
+
302: <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>])
|
1354
|
+
303: <span class="ruby-keyword kw">rescue</span>
|
1355
|
+
304: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Time sheet check failed: #{$!}"</span>)
|
1356
|
+
305: <span class="ruby-keyword kw">end</span>
|
1357
|
+
306: <span class="ruby-identifier">disconnectReportServer</span>
|
1358
|
+
307: <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>
|
1359
|
+
308: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'check-ss'</span>
|
1360
|
+
309: <span class="ruby-identifier">connectToReportServer</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>])
|
1361
|
+
310: <span class="ruby-keyword kw">begin</span>
|
1362
|
+
311: <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>])
|
1363
|
+
312: <span class="ruby-keyword kw">rescue</span>
|
1364
|
+
313: <span class="ruby-identifier">error</span>(<span class="ruby-node">"Status sheet check failed: #{$!}"</span>)
|
1365
|
+
314: <span class="ruby-keyword kw">end</span>
|
1366
|
+
315: <span class="ruby-identifier">disconnectReportServer</span>
|
1367
|
+
316: <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>
|
1368
|
+
317: <span class="ruby-keyword kw">else</span>
|
1369
|
+
318: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown command #{command}"</span>
|
1370
|
+
319: <span class="ruby-keyword kw">end</span>
|
1371
|
+
320: <span class="ruby-value">0</span>
|
1372
|
+
321: <span class="ruby-keyword kw">end</span></pre>
|
1373
|
+
</div>
|
1374
|
+
|
1375
|
+
</div>
|
1376
|
+
|
1377
|
+
|
1378
|
+
|
1379
|
+
|
1380
|
+
</div>
|
1381
|
+
|
1382
|
+
|
1383
|
+
<div id="split-ds-nd-iles-method" class="method-detail ">
|
1384
|
+
<a name="M001045"></a>
|
1385
|
+
|
1386
|
+
<div class="method-heading">
|
1387
|
+
|
1388
|
+
<span class="method-name">splitIdsAndFiles</span><span
|
1389
|
+
class="method-args">(args)</span>
|
1390
|
+
<span class="method-click-advice">click to toggle source</span>
|
1391
|
+
|
1392
|
+
</div>
|
1393
|
+
|
1394
|
+
<div class="method-description">
|
1395
|
+
|
1396
|
+
<p>
|
1397
|
+
Sort the remaining arguments into a report ID and a TJI file list. If .tji
|
1398
|
+
files are present, they must be separated from the report ID list by a
|
1399
|
+
’=’.
|
1400
|
+
</p>
|
1401
|
+
|
1402
|
+
|
1403
|
+
|
1404
|
+
<div class="method-source-code"
|
1405
|
+
id="split-ds-nd-iles-source">
|
1406
|
+
<pre>
|
1407
|
+
<span class="ruby-comment cmt"># File lib/tj3client.rb, line 402</span>
|
1408
|
+
402: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">splitIdsAndFiles</span>(<span class="ruby-identifier">args</span>)
|
1409
|
+
403: <span class="ruby-identifier">reportIds</span> = []
|
1410
|
+
404: <span class="ruby-identifier">tjiFiles</span> = []
|
1411
|
+
405: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">true</span>
|
1412
|
+
406: <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>
|
1413
|
+
407: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'='</span>
|
1414
|
+
408: <span class="ruby-comment cmt"># Switch to tji file list.</span>
|
1415
|
+
409: <span class="ruby-identifier">addToReports</span> = <span class="ruby-keyword kw">false</span>
|
1416
|
+
410: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">addToReports</span>
|
1417
|
+
411: <span class="ruby-identifier">reportIds</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
1418
|
+
412: <span class="ruby-keyword kw">else</span>
|
1419
|
+
413: <span class="ruby-identifier">tjiFiles</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
1420
|
+
414: <span class="ruby-keyword kw">end</span>
|
1421
|
+
415: <span class="ruby-keyword kw">end</span>
|
1422
|
+
416:
|
1423
|
+
417: [ <span class="ruby-identifier">reportIds</span>, <span class="ruby-identifier">tjiFiles</span> ]
|
1424
|
+
418: <span class="ruby-keyword kw">end</span></pre>
|
1425
|
+
</div>
|
1426
|
+
|
1427
|
+
</div>
|
1428
|
+
|
1429
|
+
|
1430
|
+
|
1431
|
+
|
1432
|
+
</div>
|
1433
|
+
|
1434
|
+
|
1435
|
+
</div>
|
1436
|
+
|
1437
|
+
|
1438
|
+
</div>
|
1439
|
+
|
1440
|
+
|
1441
|
+
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
1442
|
+
|
1443
|
+
<p>Disabled; run with --debug to generate this.</p>
|
1444
|
+
|
1445
|
+
</div>
|
1446
|
+
|
1447
|
+
<div id="validator-badges">
|
1448
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
1449
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
1450
|
+
Rdoc Generator</a> 1.1.6</small>.</p>
|
1451
|
+
</div>
|
1452
|
+
|
1453
|
+
</body>
|
1454
|
+
</html>
|
1455
|
+
|