taskjuggler 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +160 -0
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/data/css/tjreport.css +7 -2
- data/doc/AppConfig.html +10 -4
- data/doc/Arguments.html +10 -4
- data/doc/CHANGELOG.html +171 -5
- data/doc/COPYING.html +10 -4
- data/doc/Object.html +11 -107
- data/doc/README.html +10 -4
- data/doc/RuntimeConfig.html +10 -4
- data/doc/String.html +16 -11
- data/doc/StringIO.html +10 -4
- data/doc/TaskJuggler.html +506 -435
- data/doc/TaskJuggler/Account.html +10 -4
- data/doc/TaskJuggler/AccountAttribute.html +10 -4
- data/doc/TaskJuggler/AccountScenario.html +10 -4
- data/doc/TaskJuggler/Allocation.html +69 -60
- data/doc/TaskJuggler/AllocationAttribute.html +10 -4
- data/doc/TaskJuggler/AttributeBase.html +10 -4
- data/doc/TaskJuggler/AttributeDefinition.html +10 -4
- data/doc/TaskJuggler/BatchProcessor.html +202 -192
- data/doc/TaskJuggler/Booking.html +10 -4
- data/doc/TaskJuggler/BookingListAttribute.html +10 -4
- data/doc/TaskJuggler/BooleanAttribute.html +10 -4
- data/doc/TaskJuggler/CSVFile.html +10 -4
- data/doc/TaskJuggler/CellSettingPattern.html +10 -4
- data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
- data/doc/TaskJuggler/Charge.html +10 -4
- data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
- data/doc/TaskJuggler/ChargeSet.html +10 -4
- data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnTable.html +10 -4
- data/doc/TaskJuggler/Daemon.html +71 -52
- data/doc/TaskJuggler/DateAttribute.html +10 -4
- data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
- data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
- data/doc/TaskJuggler/DurationAttribute.html +10 -4
- data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
- data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
- data/doc/TaskJuggler/FixnumAttribute.html +10 -4
- data/doc/TaskJuggler/FlagListAttribute.html +10 -4
- data/doc/TaskJuggler/FloatAttribute.html +10 -4
- data/doc/TaskJuggler/FormatListAttribute.html +10 -4
- data/doc/TaskJuggler/GanttChart.html +10 -4
- data/doc/TaskJuggler/GanttContainer.html +14 -8
- data/doc/TaskJuggler/GanttHeader.html +10 -4
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
- data/doc/TaskJuggler/GanttLine.html +29 -24
- data/doc/TaskJuggler/GanttLoadStack.html +10 -4
- data/doc/TaskJuggler/GanttMilestone.html +10 -4
- data/doc/TaskJuggler/GanttRouter.html +10 -4
- data/doc/TaskJuggler/GanttTaskBar.html +20 -10
- data/doc/TaskJuggler/HTMLDocument.html +10 -4
- data/doc/TaskJuggler/HTMLGraphics.html +10 -4
- data/doc/TaskJuggler/Interval.html +10 -4
- data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
- data/doc/TaskJuggler/JobInfo.html +10 -4
- data/doc/TaskJuggler/Journal.html +227 -160
- data/doc/TaskJuggler/JournalEntry.html +10 -4
- data/doc/TaskJuggler/JournalEntryList.html +158 -72
- data/doc/TaskJuggler/KeywordArray.html +21 -9
- data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
- data/doc/TaskJuggler/Limits.html +13 -8
- data/doc/TaskJuggler/Limits/Limit.html +10 -4
- data/doc/TaskJuggler/LimitsAttribute.html +10 -4
- data/doc/TaskJuggler/ListAttributeBase.html +10 -4
- data/doc/TaskJuggler/Log.html +10 -4
- data/doc/TaskJuggler/LogFile.html +10 -4
- data/doc/TaskJuggler/LogicalAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalExpression.html +11 -5
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalFlag.html +10 -4
- data/doc/TaskJuggler/LogicalFunction.html +132 -124
- data/doc/TaskJuggler/LogicalOperation.html +10 -4
- data/doc/TaskJuggler/Macro.html +16 -10
- data/doc/TaskJuggler/MacroTable.html +44 -38
- data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
- data/doc/TaskJuggler/Message.html +92 -68
- data/doc/TaskJuggler/MessageHandler.html +349 -28
- data/doc/TaskJuggler/Navigator.html +10 -4
- data/doc/TaskJuggler/NavigatorElement.html +10 -4
- data/doc/TaskJuggler/NikuProject.html +10 -4
- data/doc/TaskJuggler/NikuReport.html +10 -4
- data/doc/TaskJuggler/NikuResource.html +10 -4
- data/doc/TaskJuggler/NodeListAttribute.html +10 -4
- data/doc/TaskJuggler/OnShiftCache.html +10 -4
- data/doc/TaskJuggler/ProcessIntercom.html +118 -111
- data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
- data/doc/TaskJuggler/Project.html +886 -913
- data/doc/TaskJuggler/ProjectBroker.html +442 -331
- data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
- data/doc/TaskJuggler/ProjectFileParser.html +320 -317
- data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
- data/doc/TaskJuggler/ProjectRecord.html +119 -56
- data/doc/TaskJuggler/ProjectServer.html +282 -237
- data/doc/TaskJuggler/ProjectServerIface.html +45 -39
- data/doc/TaskJuggler/PropertyAttribute.html +10 -4
- data/doc/TaskJuggler/PropertyList.html +177 -173
- data/doc/TaskJuggler/PropertySet.html +11 -5
- data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
- data/doc/TaskJuggler/Query.html +280 -256
- data/doc/TaskJuggler/RTFHandlers.html +10 -4
- data/doc/TaskJuggler/RTFNavigator.html +33 -26
- data/doc/TaskJuggler/RTFQuery.html +135 -169
- data/doc/TaskJuggler/RTFReport.html +63 -56
- data/doc/TaskJuggler/RTFReportLink.html +58 -47
- data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
- data/doc/TaskJuggler/RealFormat.html +10 -4
- data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
- data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
- data/doc/TaskJuggler/Report.html +333 -290
- data/doc/TaskJuggler/ReportBase.html +182 -174
- data/doc/TaskJuggler/ReportContext.html +10 -4
- data/doc/TaskJuggler/ReportServer.html +144 -126
- data/doc/TaskJuggler/ReportServerIface.html +50 -44
- data/doc/TaskJuggler/ReportServerRecord.html +38 -32
- data/doc/TaskJuggler/ReportServlet.html +144 -137
- data/doc/TaskJuggler/ReportTable.html +10 -4
- data/doc/TaskJuggler/ReportTableCell.html +169 -164
- data/doc/TaskJuggler/ReportTableColumn.html +10 -4
- data/doc/TaskJuggler/ReportTableLegend.html +10 -4
- data/doc/TaskJuggler/ReportTableLine.html +10 -4
- data/doc/TaskJuggler/Resource.html +121 -115
- data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
- data/doc/TaskJuggler/ResourceListRE.html +10 -4
- data/doc/TaskJuggler/ResourceScenario.html +13 -7
- data/doc/TaskJuggler/RichText.html +61 -37
- data/doc/TaskJuggler/RichTextAttribute.html +10 -4
- data/doc/TaskJuggler/RichTextDocument.html +91 -81
- data/doc/TaskJuggler/RichTextElement.html +378 -317
- data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
- data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
- data/doc/TaskJuggler/RichTextImage.html +10 -4
- data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
- data/doc/TaskJuggler/RichTextParser.html +48 -40
- data/doc/TaskJuggler/RichTextScanner.html +328 -906
- data/doc/TaskJuggler/RichTextSnip.html +59 -57
- data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
- data/doc/TaskJuggler/Scenario.html +10 -4
- data/doc/TaskJuggler/ScenarioData.html +33 -30
- data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
- data/doc/TaskJuggler/Scoreboard.html +10 -4
- data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
- data/doc/TaskJuggler/SheetReceiver.html +334 -313
- data/doc/TaskJuggler/SheetSender.html +10 -4
- data/doc/TaskJuggler/Shift.html +10 -4
- data/doc/TaskJuggler/ShiftAssignment.html +10 -4
- data/doc/TaskJuggler/ShiftAssignments.html +10 -4
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
- data/doc/TaskJuggler/ShiftScenario.html +10 -4
- data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
- data/doc/TaskJuggler/SortListAttribute.html +10 -4
- data/doc/TaskJuggler/SourceFileInfo.html +10 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
- data/doc/TaskJuggler/StatusSheetReport.html +10 -4
- data/doc/TaskJuggler/StatusSheetSender.html +10 -4
- data/doc/TaskJuggler/StringAttribute.html +10 -4
- data/doc/TaskJuggler/SymbolAttribute.html +10 -4
- data/doc/TaskJuggler/SyntaxReference.html +260 -230
- data/doc/TaskJuggler/TOCEntry.html +99 -42
- data/doc/TaskJuggler/TSResourceRecord.html +10 -4
- data/doc/TaskJuggler/TSTaskRecord.html +10 -4
- data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
- data/doc/TaskJuggler/TableOfContents.html +54 -12
- data/doc/TaskJuggler/TableReport.html +877 -872
- data/doc/TaskJuggler/Task.html +117 -68
- data/doc/TaskJuggler/TaskDependency.html +10 -4
- data/doc/TaskJuggler/TaskListAttribute.html +10 -4
- data/doc/TaskJuggler/TaskListRE.html +10 -4
- data/doc/TaskJuggler/TaskScenario.html +1681 -1563
- data/doc/TaskJuggler/TextFormatter.html +10 -4
- data/doc/TaskJuggler/TextParser.html +567 -534
- data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
- data/doc/TaskJuggler/TextParser/Rule.html +26 -15
- data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
- data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
- data/doc/TaskJuggler/TextReport.html +15 -6
- data/doc/TaskJuggler/TextScanner.html +319 -287
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +138 -175
- data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
- data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
- data/doc/TaskJuggler/TimeSheetReport.html +47 -42
- data/doc/TaskJuggler/TimeSheetSender.html +10 -4
- data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
- data/doc/TaskJuggler/TimeSheets.html +22 -16
- data/doc/TaskJuggler/Tj3AppBase.html +10 -4
- data/doc/TaskJuggler/Tj3Client.html +399 -365
- data/doc/TaskJuggler/Tj3Daemon.html +107 -94
- data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
- data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3SsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3TsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
- data/doc/TaskJuggler/TjException.html +10 -4
- data/doc/TaskJuggler/TjTime.html +145 -140
- data/doc/TaskJuggler/TjpExample.html +10 -4
- data/doc/TaskJuggler/TjpExportRE.html +122 -118
- data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
- data/doc/TaskJuggler/URLParameter.html +10 -4
- data/doc/TaskJuggler/UserManual.html +162 -155
- data/doc/TaskJuggler/VimSyntax.html +1028 -0
- data/doc/TaskJuggler/WebServer.html +45 -27
- data/doc/TaskJuggler/WorkingHours.html +10 -4
- data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
- data/doc/TaskJuggler/XMLBlob.html +10 -4
- data/doc/TaskJuggler/XMLComment.html +10 -4
- data/doc/TaskJuggler/XMLDocument.html +10 -4
- data/doc/TaskJuggler/XMLElement.html +10 -4
- data/doc/TaskJuggler/XMLNamedText.html +10 -4
- data/doc/TaskJuggler/XMLText.html +10 -4
- data/doc/index.html +735 -677
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/{Message_rb.html → FileList_rb.html} +3 -5
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +1 -1
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +1 -1
- data/doc/lib/LogFile_rb.html +1 -1
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +1 -1
- data/doc/lib/LogicalOperation_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -3
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +4 -2
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/PropertySet_rb.html +1 -1
- data/doc/lib/PropertyTreeNode_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RTFHandlers_rb.html +1 -1
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +2 -2
- data/doc/lib/RTFReportLink_rb.html +4 -2
- data/doc/lib/RTFReport_rb.html +1 -1
- data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +1 -1
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +3 -1
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +3 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +5 -1
- data/doc/lib/SheetReceiver_rb.html +3 -1
- data/doc/lib/SheetSender_rb.html +1 -1
- data/doc/lib/ShiftAssignments_rb.html +1 -1
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SimpleQueryExpander_rb.html +67 -0
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +1 -1
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +1 -1
- data/doc/lib/Task_rb.html +1 -1
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +1 -1
- data/doc/lib/TextParser/StackElement_rb.html +1 -1
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +3 -1
- data/doc/lib/TextScanner_rb.html +1 -3
- data/doc/lib/TimeSheetReceiver_rb.html +1 -1
- data/doc/lib/TimeSheetSender_rb.html +1 -1
- data/doc/lib/TimeSheetSummary_rb.html +1 -1
- data/doc/lib/TimeSheets_rb.html +1 -1
- data/doc/lib/Tj3AppBase_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/URLParameter_rb.html +1 -1
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +1 -1
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
- data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
- data/doc/lib/daemon/ProjectServer_rb.html +1 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -3
- data/doc/lib/daemon/WebServer_rb.html +1 -1
- data/doc/lib/deep_copy_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/NikuReport_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportContext_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/ResourceListRE_rb.html +1 -1
- data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/reports/TaskListRE_rb.html +1 -1
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
- data/doc/lib/reports/TjpExportRE_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/doc/lib/tj3client_rb.html +1 -1
- data/doc/lib/tj3d_rb.html +1 -1
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +1 -1
- data/doc/lib/tj3ts_receiver_rb.html +1 -1
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/lib/Allocation.rb +8 -5
- data/lib/BatchProcessor.rb +7 -3
- data/lib/FileList.rb +58 -0
- data/lib/Journal.rb +73 -33
- data/lib/KeywordArray.rb +4 -0
- data/lib/KeywordDocumentation.rb +45 -11
- data/lib/Limits.rb +0 -1
- data/lib/LogicalExpression.rb +1 -1
- data/lib/LogicalFunction.rb +14 -12
- data/lib/MacroTable.rb +3 -4
- data/lib/MessageHandler.rb +136 -7
- data/lib/Project.rb +72 -86
- data/lib/ProjectFileParser.rb +30 -33
- data/lib/ProjectFileScanner.rb +7 -16
- data/lib/PropertyList.rb +25 -27
- data/lib/PropertySet.rb +1 -1
- data/lib/PropertyTreeNode.rb +9 -12
- data/lib/Query.rb +5 -4
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +4 -11
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +10 -4
- data/lib/RTFWithQuerySupport.rb +45 -0
- data/lib/Resource.rb +20 -20
- data/lib/ResourceScenario.rb +3 -3
- data/lib/RichText.rb +15 -7
- data/lib/RichTextDocument.rb +8 -4
- data/lib/RichTextElement.rb +35 -12
- data/lib/RichTextFunctionHandler.rb +11 -12
- data/lib/RichTextParser.rb +5 -3
- data/lib/RichTextScanner.rb +144 -565
- data/lib/RichTextSnip.rb +3 -7
- data/lib/RichTextSyntaxRules.rb +51 -32
- data/lib/ScenarioData.rb +16 -25
- data/lib/SheetHandlerBase.rb +59 -2
- data/lib/SheetReceiver.rb +36 -18
- data/lib/SimpleQueryExpander.rb +58 -0
- data/lib/SyntaxReference.rb +9 -5
- data/lib/TOCEntry.rb +2 -0
- data/lib/TableOfContents.rb +4 -0
- data/lib/Task.rb +23 -12
- data/lib/TaskJuggler.rb +72 -33
- data/lib/TaskScenario.rb +131 -53
- data/lib/TextParser.rb +43 -30
- data/lib/TextParser/Pattern.rb +17 -13
- data/lib/TextParser/Rule.rb +5 -0
- data/lib/TextScanner.rb +46 -25
- data/lib/TimeSheetSummary.rb +9 -7
- data/lib/TimeSheets.rb +14 -23
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +1 -2
- data/lib/TjpSyntaxRules.rb +128 -104
- data/lib/UTF8String.rb +0 -1
- data/lib/UserManual.rb +5 -4
- data/lib/VimSyntax.rb +223 -0
- data/lib/daemon/Daemon.rb +9 -0
- data/lib/daemon/ProcessIntercom.rb +19 -4
- data/lib/daemon/ProjectBroker.rb +149 -68
- data/lib/daemon/ProjectServer.rb +119 -79
- data/lib/daemon/ReportServer.rb +42 -31
- data/lib/daemon/WebServer.rb +21 -2
- data/lib/deep_copy.rb +1 -1
- data/lib/reports/GanttContainer.rb +2 -2
- data/lib/reports/GanttLine.rb +2 -3
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/Report.rb +62 -57
- data/lib/reports/ReportBase.rb +6 -4
- data/lib/reports/ReportTableCell.rb +13 -14
- data/lib/reports/TableReport.rb +2 -1
- data/lib/reports/TextReport.rb +3 -0
- data/lib/reports/TimeSheetReport.rb +2 -3
- data/lib/reports/TjpExportRE.rb +0 -2
- data/lib/tj3client.rb +31 -3
- data/lib/tj3d.rb +8 -1
- data/manual/Day_To_Day_Juggling +2 -95
- data/manual/How_To_Contribute +2 -1
- data/manual/Rich_Text_Attributes +37 -3
- data/manual/Software +203 -0
- data/test/MessageChecker.rb +4 -4
- data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
- data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
- data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
- data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
- data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
- data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/StatusSheets/resrep.tji +7 -0
- data/test/TestSuite/StatusSheets/run +6 -4
- data/test/TestSuite/StatusSheets/tj3d.log +312 -0
- data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
- data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/run +6 -5
- data/test/TestSuite/TimeSheets/statussheets.log +1 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_PropertySet.rb +2 -2
- data/test/test_RichText.rb +178 -387
- data/test/test_SimpleQueryExpander.rb +55 -0
- data/test/test_deep_copy.rb +2 -2
- metadata +854 -834
- data/lib/MacroParser.rb +0 -77
- data/lib/Message.rb +0 -56
- data/lib/ruby-signal-bug.rb +0 -43
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
|
@@ -68,6 +68,8 @@
|
|
|
68
68
|
|
|
69
69
|
<li><a href="#method-i-terminate">#terminate</a></li>
|
|
70
70
|
|
|
71
|
+
<li><a href="#method-i-trap">#trap</a></li>
|
|
72
|
+
|
|
71
73
|
</ul>
|
|
72
74
|
</div>
|
|
73
75
|
|
|
@@ -160,6 +162,10 @@
|
|
|
160
162
|
|
|
161
163
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
162
164
|
|
|
165
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
166
|
+
|
|
167
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
168
|
+
|
|
163
169
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
164
170
|
|
|
165
171
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -232,8 +238,6 @@
|
|
|
232
238
|
|
|
233
239
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
234
240
|
|
|
235
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
236
|
-
|
|
237
241
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
238
242
|
|
|
239
243
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -298,6 +302,8 @@
|
|
|
298
302
|
|
|
299
303
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
300
304
|
|
|
305
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
306
|
+
|
|
301
307
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
302
308
|
|
|
303
309
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -344,8 +350,6 @@
|
|
|
344
350
|
|
|
345
351
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
346
352
|
|
|
347
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
348
|
-
|
|
349
353
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
350
354
|
|
|
351
355
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -386,6 +390,8 @@
|
|
|
386
390
|
|
|
387
391
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
388
392
|
|
|
393
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
394
|
+
|
|
389
395
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
390
396
|
|
|
391
397
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -496,6 +502,8 @@
|
|
|
496
502
|
|
|
497
503
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
498
504
|
|
|
505
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
506
|
+
|
|
499
507
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
500
508
|
|
|
501
509
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -573,12 +581,12 @@
|
|
|
573
581
|
<div class="method-source-code"
|
|
574
582
|
id="connect-source">
|
|
575
583
|
<pre>
|
|
576
|
-
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
584
|
+
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 39</span>
|
|
585
|
+
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">connect</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span>, <span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">silent</span>)
|
|
586
|
+
40: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'connect'</span>)
|
|
587
|
+
41:
|
|
588
|
+
42: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">connect</span>(<span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span>, <span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">silent</span>) }
|
|
589
|
+
43: <span class="ruby-keyword kw">end</span></pre>
|
|
582
590
|
</div>
|
|
583
591
|
|
|
584
592
|
</div>
|
|
@@ -609,12 +617,12 @@
|
|
|
609
617
|
<div class="method-source-code"
|
|
610
618
|
id="disconnect-source">
|
|
611
619
|
<pre>
|
|
612
|
-
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
620
|
+
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 45</span>
|
|
621
|
+
45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>(<span class="ruby-identifier">authKey</span>)
|
|
622
|
+
46: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'disconnect'</span>)
|
|
623
|
+
47:
|
|
624
|
+
48: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">disconnect</span> }
|
|
625
|
+
49: <span class="ruby-keyword kw">end</span></pre>
|
|
618
626
|
</div>
|
|
619
627
|
|
|
620
628
|
</div>
|
|
@@ -645,12 +653,57 @@
|
|
|
645
653
|
<div class="method-source-code"
|
|
646
654
|
id="terminate-source">
|
|
647
655
|
<pre>
|
|
648
|
-
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
656
|
+
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 33</span>
|
|
657
|
+
33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminate</span>(<span class="ruby-identifier">authKey</span>)
|
|
658
|
+
34: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">checkKey</span>(<span class="ruby-identifier">authKey</span>, <span class="ruby-value str">'terminate'</span>)
|
|
659
|
+
35:
|
|
660
|
+
36: <span class="ruby-identifier">trap</span> { <span class="ruby-ivar">@server</span>.<span class="ruby-identifier">terminate</span> }
|
|
661
|
+
37: <span class="ruby-keyword kw">end</span></pre>
|
|
662
|
+
</div>
|
|
663
|
+
|
|
664
|
+
</div>
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
</div>
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
<div id="trap-method" class="method-detail ">
|
|
673
|
+
<a name="method-i-trap"></a>
|
|
674
|
+
|
|
675
|
+
<div class="method-heading">
|
|
676
|
+
|
|
677
|
+
<span class="method-name">trap</span><span
|
|
678
|
+
class="method-args">()</span>
|
|
679
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
680
|
+
|
|
681
|
+
</div>
|
|
682
|
+
|
|
683
|
+
<div class="method-description">
|
|
684
|
+
|
|
685
|
+
<p>
|
|
686
|
+
This function catches all unhandled exceptions in the passed block.
|
|
687
|
+
</p>
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
<div class="method-source-code"
|
|
692
|
+
id="trap-source">
|
|
693
|
+
<pre>
|
|
694
|
+
<span class="ruby-comment cmt"># File lib/daemon/ProcessIntercom.rb, line 20</span>
|
|
695
|
+
20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">trap</span>
|
|
696
|
+
21: <span class="ruby-identifier">log</span> = <span class="ruby-constant">LogFile</span>.<span class="ruby-identifier">instance</span>
|
|
697
|
+
22:
|
|
698
|
+
23: <span class="ruby-keyword kw">begin</span>
|
|
699
|
+
24: <span class="ruby-keyword kw">yield</span>
|
|
700
|
+
25: <span class="ruby-keyword kw">rescue</span>
|
|
701
|
+
26: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>
|
|
702
|
+
27: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>)
|
|
703
|
+
28: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">$!</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>))
|
|
704
|
+
29: <span class="ruby-identifier">log</span>.<span class="ruby-identifier">fatal</span>(<span class="ruby-node">"Unexpected exception: #{$!}"</span>)
|
|
705
|
+
30: <span class="ruby-keyword kw">end</span>
|
|
706
|
+
31: <span class="ruby-keyword kw">end</span></pre>
|
|
654
707
|
</div>
|
|
655
708
|
|
|
656
709
|
</div>
|
|
@@ -137,8 +137,6 @@
|
|
|
137
137
|
|
|
138
138
|
<li><a href="#method-i-scoreboardSize">#scoreboardSize</a></li>
|
|
139
139
|
|
|
140
|
-
<li><a href="#method-i-sendMessage">#sendMessage</a></li>
|
|
141
|
-
|
|
142
140
|
<li><a href="#method-i-shift">#shift</a></li>
|
|
143
141
|
|
|
144
142
|
<li><a href="#method-i-slotsToDays">#slotsToDays</a></li>
|
|
@@ -243,6 +241,10 @@
|
|
|
243
241
|
|
|
244
242
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
245
243
|
|
|
244
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
245
|
+
|
|
246
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
247
|
+
|
|
246
248
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
247
249
|
|
|
248
250
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -315,8 +317,6 @@
|
|
|
315
317
|
|
|
316
318
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
317
319
|
|
|
318
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
319
|
-
|
|
320
320
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
321
321
|
|
|
322
322
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -381,6 +381,8 @@
|
|
|
381
381
|
|
|
382
382
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
383
383
|
|
|
384
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
385
|
+
|
|
384
386
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
385
387
|
|
|
386
388
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -427,8 +429,6 @@
|
|
|
427
429
|
|
|
428
430
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
429
431
|
|
|
430
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
431
|
-
|
|
432
432
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
433
433
|
|
|
434
434
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -469,6 +469,8 @@
|
|
|
469
469
|
|
|
470
470
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
471
471
|
|
|
472
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
473
|
+
|
|
472
474
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
473
475
|
|
|
474
476
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -579,6 +581,8 @@
|
|
|
579
581
|
|
|
580
582
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
581
583
|
|
|
584
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
585
|
+
|
|
582
586
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
583
587
|
|
|
584
588
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -768,6 +772,21 @@ list of known Attributes.
|
|
|
768
772
|
|
|
769
773
|
|
|
770
774
|
|
|
775
|
+
</div>
|
|
776
|
+
</div>
|
|
777
|
+
|
|
778
|
+
<div id="input-iles-attribute-method" class="method-detail">
|
|
779
|
+
<a name="inputFiles"></a>
|
|
780
|
+
|
|
781
|
+
<div class="method-heading attribute-method-heading">
|
|
782
|
+
<span class="method-name">inputFiles</span><span
|
|
783
|
+
class="attribute-access-type">[R]</span>
|
|
784
|
+
</div>
|
|
785
|
+
|
|
786
|
+
<div class="method-description">
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
771
790
|
</div>
|
|
772
791
|
</div>
|
|
773
792
|
|
|
@@ -856,24 +875,24 @@ granularity is reduced.
|
|
|
856
875
|
<div class="method-source-code"
|
|
857
876
|
id="max-chedule-ranularity-source">
|
|
858
877
|
<pre>
|
|
859
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
878
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 806</span>
|
|
879
|
+
806: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Project</span>.<span class="ruby-identifier">maxScheduleGranularity</span>
|
|
880
|
+
807: <span class="ruby-identifier">refTime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">gm</span>(<span class="ruby-value">2000</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>)
|
|
881
|
+
808: <span class="ruby-keyword kw">case</span> (<span class="ruby-identifier">min</span> = <span class="ruby-identifier">refTime</span>.<span class="ruby-identifier">getlocal</span>.<span class="ruby-identifier">min</span>)
|
|
882
|
+
809: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
|
|
883
|
+
810: <span class="ruby-comment cmt"># We are hour-aligned to UTC; scheduleGranularity is 1 hour</span>
|
|
884
|
+
811: <span class="ruby-value">60</span> * <span class="ruby-value">60</span>
|
|
885
|
+
812: <span class="ruby-keyword kw">when</span> <span class="ruby-value">30</span>
|
|
886
|
+
813: <span class="ruby-comment cmt"># We are half-hour off from UTC; scheduleGranularity is 30 minutes</span>
|
|
887
|
+
814: <span class="ruby-value">30</span> * <span class="ruby-value">60</span>
|
|
888
|
+
815: <span class="ruby-keyword kw">when</span> <span class="ruby-value">15</span>, <span class="ruby-value">45</span>
|
|
889
|
+
816: <span class="ruby-comment cmt"># We are 15 or 45 minutes off from UTC; scheduleGranularity is 15</span>
|
|
890
|
+
817: <span class="ruby-comment cmt"># minutes</span>
|
|
891
|
+
818: <span class="ruby-value">15</span> * <span class="ruby-value">60</span>
|
|
892
|
+
819: <span class="ruby-keyword kw">else</span>
|
|
893
|
+
820: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown Time zone alignment #{min}"</span>
|
|
894
|
+
821: <span class="ruby-keyword kw">end</span>
|
|
895
|
+
822: <span class="ruby-keyword kw">end</span></pre>
|
|
877
896
|
</div>
|
|
878
897
|
|
|
879
898
|
</div>
|
|
@@ -910,356 +929,359 @@ The constructor will set default values for all project attributes.
|
|
|
910
929
|
<div class="method-source-code"
|
|
911
930
|
id="new-source">
|
|
912
931
|
<pre>
|
|
913
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
932
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 60</span>
|
|
933
|
+
60: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">messageHandler</span>)
|
|
934
|
+
61: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
|
|
935
|
+
62: <span class="ruby-ivar">@attributes</span> = {
|
|
936
|
+
63: <span class="ruby-comment cmt"># This nested Array defines the supported alert levels. The lowest</span>
|
|
937
|
+
64: <span class="ruby-comment cmt"># level comes first at index 0 and the level rises from there on.</span>
|
|
938
|
+
65: <span class="ruby-comment cmt"># Currently, these levels are hardcoded. Each level entry has 3</span>
|
|
939
|
+
66: <span class="ruby-comment cmt"># members: the tjp syntax token, the user visible name and the</span>
|
|
940
|
+
67: <span class="ruby-comment cmt"># associated color as RGB byte array.</span>
|
|
941
|
+
68: <span class="ruby-value str">'alertLevels'</span> =<span class="ruby-operator">></span> [
|
|
942
|
+
69: [ <span class="ruby-value str">'green'</span>, <span class="ruby-value str">'Green'</span>, <span class="ruby-value str">'#008000'</span> ],
|
|
943
|
+
70: [ <span class="ruby-value str">'yellow'</span>, <span class="ruby-value str">'Yellow'</span>, <span class="ruby-value str">'#BEA800'</span> ],
|
|
944
|
+
71: [ <span class="ruby-value str">'red'</span>, <span class="ruby-value str">'Red'</span>, <span class="ruby-value str">'#C00000'</span> ] ],
|
|
945
|
+
72: <span class="ruby-value str">'copyright'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
946
|
+
73: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
947
|
+
74: <span class="ruby-value str">'currency'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"EUR"</span>,
|
|
948
|
+
75: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">RealFormat</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'-'</span>, <span class="ruby-value str">''</span>, <span class="ruby-value str">''</span>, <span class="ruby-value str">','</span>, <span class="ruby-value">2</span> ]),
|
|
949
|
+
76: <span class="ruby-value str">'dailyworkinghours'</span> =<span class="ruby-operator">></span> <span class="ruby-value">8.0</span>,
|
|
950
|
+
77: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
951
|
+
78: <span class="ruby-value str">'flags'</span> =<span class="ruby-operator">></span> [],
|
|
952
|
+
79: <span class="ruby-value str">'journal'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Journal</span>.<span class="ruby-identifier">new</span>,
|
|
953
|
+
80: <span class="ruby-value str">'limits'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
954
|
+
81: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">></span> <span class="ruby-value">:shortauto</span>,
|
|
955
|
+
82: <span class="ruby-value str">'name'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">name</span>,
|
|
956
|
+
83: <span class="ruby-value str">'navigators'</span> =<span class="ruby-operator">></span> {},
|
|
957
|
+
84: <span class="ruby-value str">'now'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">align</span>(<span class="ruby-value">3600</span>),
|
|
958
|
+
85: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">RealFormat</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'-'</span>, <span class="ruby-value str">''</span>, <span class="ruby-value str">''</span>, <span class="ruby-value str">'.'</span>, <span class="ruby-value">1</span>]),
|
|
959
|
+
86: <span class="ruby-value str">'priority'</span> =<span class="ruby-operator">></span> <span class="ruby-value">500</span>,
|
|
960
|
+
87: <span class="ruby-value str">'projectid'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">id</span> <span class="ruby-operator">||</span> <span class="ruby-value str">"prj"</span>,
|
|
961
|
+
88: <span class="ruby-value str">'projectids'</span> =<span class="ruby-operator">></span> [ <span class="ruby-identifier">id</span> ],
|
|
962
|
+
89: <span class="ruby-value str">'rate'</span> =<span class="ruby-operator">></span> <span class="ruby-value">0.0</span>,
|
|
963
|
+
90: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
964
|
+
91: <span class="ruby-value str">'scheduleGranularity'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Project</span>.<span class="ruby-identifier">maxScheduleGranularity</span>,
|
|
965
|
+
92: <span class="ruby-value str">'shortTimeFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"%H:%M"</span>,
|
|
966
|
+
93: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
967
|
+
94: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"%Y-%m-%d"</span>,
|
|
968
|
+
95: <span class="ruby-value str">'timezone'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
969
|
+
96: <span class="ruby-value str">'trackingScenarioIdx'</span> =<span class="ruby-operator">></span> <span class="ruby-value">0</span>,
|
|
970
|
+
97: <span class="ruby-value str">'vacations'</span> =<span class="ruby-operator">></span> [],
|
|
971
|
+
98: <span class="ruby-value str">'version'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">version</span> <span class="ruby-operator">||</span> <span class="ruby-value str">"1.0"</span>,
|
|
972
|
+
99: <span class="ruby-value str">'weekStartsMonday'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">true</span>,
|
|
973
|
+
100: <span class="ruby-value str">'workinghours'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">WorkingHours</span>.<span class="ruby-identifier">new</span>,
|
|
974
|
+
101: <span class="ruby-value str">'yearlyworkingdays'</span> =<span class="ruby-operator">></span> <span class="ruby-value">260.714</span>
|
|
975
|
+
102: }
|
|
976
|
+
103:
|
|
977
|
+
104: <span class="ruby-comment cmt"># Before we can add any properties to this project, we need to define the</span>
|
|
978
|
+
105: <span class="ruby-comment cmt"># attributes that each of the property types will be using. In TaskJuggler</span>
|
|
979
|
+
106: <span class="ruby-comment cmt"># lingo, properties of a project are resources, tasks, accounts, shifts</span>
|
|
980
|
+
107: <span class="ruby-comment cmt"># and scenarios. Each of these properties can have lots of further</span>
|
|
981
|
+
108: <span class="ruby-comment cmt"># information attached to it. These bits of information are called</span>
|
|
982
|
+
109: <span class="ruby-comment cmt"># attributes. An attribute is defined by the AttributeDefinition class.</span>
|
|
983
|
+
110: <span class="ruby-comment cmt"># The PropertySet objects need to be fed with a list of such attribute</span>
|
|
984
|
+
111: <span class="ruby-comment cmt"># definitions to register the attributes with the properties.</span>
|
|
985
|
+
112: <span class="ruby-ivar">@scenarios</span> = <span class="ruby-constant">PropertySet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">true</span>)
|
|
986
|
+
113: <span class="ruby-identifier">attrs</span> = [
|
|
987
|
+
114: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
988
|
+
115: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
989
|
+
116: [ <span class="ruby-value str">'enabled'</span>, <span class="ruby-value str">'Enabled'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
990
|
+
117: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span> ],
|
|
991
|
+
118: [ <span class="ruby-value str">'minslackrate'</span>, <span class="ruby-value str">'Min. Slack Rate'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
992
|
+
119: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">1.0</span> ],
|
|
993
|
+
120: [ <span class="ruby-value str">'projection'</span>, <span class="ruby-value str">'Projection Mode'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
994
|
+
121: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span> ],
|
|
995
|
+
122: [ <span class="ruby-value str">'strict'</span>, <span class="ruby-value str">'Strict Bookings'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
996
|
+
123: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span> ]
|
|
997
|
+
124: ]
|
|
998
|
+
125: <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@scenarios</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
|
|
999
|
+
126:
|
|
1000
|
+
127: <span class="ruby-ivar">@shifts</span> = <span class="ruby-constant">PropertySet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">true</span>)
|
|
1001
|
+
128: <span class="ruby-identifier">attrs</span> = [
|
|
1002
|
+
129: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
1003
|
+
130: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
1004
|
+
131: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1005
|
+
132: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">1</span> ],
|
|
1006
|
+
133: [ <span class="ruby-value str">'replace'</span>, <span class="ruby-value str">'Replace'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1007
|
+
134: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span> ],
|
|
1008
|
+
135: [ <span class="ruby-value str">'timezone'</span>, <span class="ruby-value str">'Time Zone'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1009
|
+
136: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1010
|
+
137: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1011
|
+
138: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1012
|
+
139: [ <span class="ruby-value str">'vacations'</span>, <span class="ruby-value str">'Vacations'</span>, <span class="ruby-constant">IntervalListAttribute</span>,
|
|
1013
|
+
140: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1014
|
+
141: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1015
|
+
142: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1016
|
+
143: [ <span class="ruby-value str">'workinghours'</span>, <span class="ruby-value str">'Working Hours'</span>, <span class="ruby-constant">WorkingHoursAttribute</span>,
|
|
1017
|
+
144: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ]
|
|
1018
|
+
145: ]
|
|
1019
|
+
146: <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@shifts</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
|
|
1020
|
+
147:
|
|
1021
|
+
148: <span class="ruby-ivar">@accounts</span> = <span class="ruby-constant">PropertySet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">true</span>)
|
|
1022
|
+
149: <span class="ruby-identifier">attrs</span> = [
|
|
1023
|
+
150: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
1024
|
+
151: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
1025
|
+
152: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1026
|
+
153: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">1</span> ],
|
|
1027
|
+
154: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
1028
|
+
155: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1029
|
+
156: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1030
|
+
157: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1031
|
+
158: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1032
|
+
159: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ]
|
|
1033
|
+
160: ]
|
|
1034
|
+
161: <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@accounts</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
|
|
1035
|
+
162:
|
|
1036
|
+
163: <span class="ruby-ivar">@resources</span> = <span class="ruby-constant">PropertySet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">true</span>)
|
|
1037
|
+
164: <span class="ruby-identifier">attrs</span> = [
|
|
1038
|
+
165: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
1039
|
+
166: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
1040
|
+
167: [ <span class="ruby-value str">'alloctdeffort'</span>, <span class="ruby-value str">'Alloctd. Effort'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1041
|
+
168: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0.0</span> ],
|
|
1042
|
+
169: [ <span class="ruby-value str">'criticalness'</span>, <span class="ruby-value str">'Criticalness'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1043
|
+
170: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0.0</span> ],
|
|
1044
|
+
171: [ <span class="ruby-value str">'duties'</span>, <span class="ruby-value str">'Duties'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
1045
|
+
172: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1046
|
+
173: [ <span class="ruby-value str">'directreports'</span>, <span class="ruby-value str">'Direct Reports'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
1047
|
+
174: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1048
|
+
175: [ <span class="ruby-value str">'efficiency'</span>,<span class="ruby-value str">'Efficiency'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1049
|
+
176: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1.0</span> ],
|
|
1050
|
+
177: [ <span class="ruby-value str">'effort'</span>, <span class="ruby-value str">'Total Effort'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1051
|
+
178: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0</span> ],
|
|
1052
|
+
179: [ <span class="ruby-value str">'email'</span>, <span class="ruby-value str">'Email'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1053
|
+
180: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1054
|
+
181: [ <span class="ruby-value str">'fail'</span>, <span class="ruby-value str">'Failure Condition'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1055
|
+
182: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1056
|
+
183: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
1057
|
+
184: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1058
|
+
185: [ <span class="ruby-value str">'fte'</span>, <span class="ruby-value str">'FTE'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1059
|
+
186: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1.0</span> ],
|
|
1060
|
+
187: [ <span class="ruby-value str">'headcount'</span>, <span class="ruby-value str">'Headcount'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1061
|
+
188: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1</span> ],
|
|
1062
|
+
189: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1063
|
+
190: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">1</span> ],
|
|
1064
|
+
191: [ <span class="ruby-value str">'limits'</span>, <span class="ruby-value str">'Limits'</span>, <span class="ruby-constant">LimitsAttribute</span>,
|
|
1065
|
+
192: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1066
|
+
193: [ <span class="ruby-value str">'managers'</span>, <span class="ruby-value str">'Managers'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
1067
|
+
194: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1068
|
+
195: [ <span class="ruby-value str">'rate'</span>, <span class="ruby-value str">'Rate'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1069
|
+
196: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0.0</span> ],
|
|
1070
|
+
197: [ <span class="ruby-value str">'reports'</span>, <span class="ruby-value str">'Reports'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
1071
|
+
198: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1072
|
+
199: [ <span class="ruby-value str">'shifts'</span>, <span class="ruby-value str">'Shifts'</span>, <span class="ruby-constant">ShiftAssignmentsAttribute</span>,
|
|
1073
|
+
200: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1074
|
+
201: [ <span class="ruby-value str">'timezone'</span>, <span class="ruby-value str">'Time Zone'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1075
|
+
202: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1076
|
+
203: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1077
|
+
204: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1078
|
+
205: [ <span class="ruby-value str">'vacations'</span>, <span class="ruby-value str">'Vacations'</span>, <span class="ruby-constant">IntervalListAttribute</span>,
|
|
1079
|
+
206: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1080
|
+
207: [ <span class="ruby-value str">'warn'</span>, <span class="ruby-value str">'Warning Condition'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1081
|
+
208: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1082
|
+
209: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1083
|
+
210: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1084
|
+
211: [ <span class="ruby-value str">'workinghours'</span>, <span class="ruby-value str">'Working Hours'</span>, <span class="ruby-constant">WorkingHoursAttribute</span>,
|
|
1085
|
+
212: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ]
|
|
1086
|
+
213: ]
|
|
1087
|
+
214: <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@resources</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
|
|
1088
|
+
215:
|
|
1089
|
+
216: <span class="ruby-ivar">@tasks</span> = <span class="ruby-constant">PropertySet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>)
|
|
1090
|
+
217: <span class="ruby-identifier">attrs</span> = [
|
|
1091
|
+
218: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
1092
|
+
219: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
1093
|
+
220: [ <span class="ruby-value str">'allocate'</span>, <span class="ruby-value str">'Allocations'</span>, <span class="ruby-constant">AllocationAttribute</span>,
|
|
1094
|
+
221: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1095
|
+
222: [ <span class="ruby-value str">'assignedresources'</span>, <span class="ruby-value str">'Assigned Resources'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
1096
|
+
223: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1097
|
+
224: [ <span class="ruby-value str">'booking'</span>, <span class="ruby-value str">'Bookings'</span>, <span class="ruby-constant">BookingListAttribute</span>,
|
|
1098
|
+
225: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1099
|
+
226: [ <span class="ruby-value str">'charge'</span>, <span class="ruby-value str">'Charges'</span>, <span class="ruby-constant">ChargeListAttribute</span>,
|
|
1100
|
+
227: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1101
|
+
228: [ <span class="ruby-value str">'chargeset'</span>, <span class="ruby-value str">'Charge Sets'</span>, <span class="ruby-constant">ChargeSetListAttribute</span>,
|
|
1102
|
+
229: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1103
|
+
230: [ <span class="ruby-value str">'complete'</span>, <span class="ruby-value str">'Completion'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1104
|
+
231: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1105
|
+
232: [ <span class="ruby-value str">'criticalness'</span>, <span class="ruby-value str">'Criticalness'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1106
|
+
233: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0.0</span> ],
|
|
1107
|
+
234: [ <span class="ruby-value str">'depends'</span>, <span class="ruby-value str">'Preceding tasks'</span>, <span class="ruby-constant">DependencyListAttribute</span>,
|
|
1108
|
+
235: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1109
|
+
236: [ <span class="ruby-value str">'duration'</span>, <span class="ruby-value str">'Duration'</span>, <span class="ruby-constant">DurationAttribute</span>,
|
|
1110
|
+
237: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0</span> ],
|
|
1111
|
+
238: [ <span class="ruby-value str">'effort'</span>, <span class="ruby-value str">'Effort'</span>, <span class="ruby-constant">DurationAttribute</span>,
|
|
1112
|
+
239: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0</span> ],
|
|
1113
|
+
240: [ <span class="ruby-value str">'end'</span>, <span class="ruby-value str">'End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1114
|
+
241: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1115
|
+
242: [ <span class="ruby-value str">'endpreds'</span>, <span class="ruby-value str">'End Preds.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
1116
|
+
243: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1117
|
+
244: [ <span class="ruby-value str">'endsuccs'</span>, <span class="ruby-value str">'End Succs.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
1118
|
+
245: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1119
|
+
246: [ <span class="ruby-value str">'fail'</span>, <span class="ruby-value str">'Failure Condition'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1120
|
+
247: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1121
|
+
248: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
1122
|
+
249: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1123
|
+
250: [ <span class="ruby-value str">'forward'</span>, <span class="ruby-value str">'Scheduling'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1124
|
+
251: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span> ],
|
|
1125
|
+
252: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1126
|
+
253: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">1</span> ],
|
|
1127
|
+
254: [ <span class="ruby-value str">'length'</span>, <span class="ruby-value str">'Length'</span>, <span class="ruby-constant">DurationAttribute</span>,
|
|
1128
|
+
255: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0</span> ],
|
|
1129
|
+
256: [ <span class="ruby-value str">'limits'</span>, <span class="ruby-value str">'Limits'</span>, <span class="ruby-constant">LimitsAttribute</span>,
|
|
1130
|
+
257: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1131
|
+
258: [ <span class="ruby-value str">'maxend'</span>, <span class="ruby-value str">'Max. End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1132
|
+
259: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1133
|
+
260: [ <span class="ruby-value str">'maxstart'</span>, <span class="ruby-value str">'Max. Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1134
|
+
261: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1135
|
+
262: [ <span class="ruby-value str">'milestone'</span>, <span class="ruby-value str">'Milestone'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1136
|
+
263: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span> ],
|
|
1137
|
+
264: [ <span class="ruby-value str">'minend'</span>, <span class="ruby-value str">'Min. End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1138
|
+
265: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1139
|
+
266: [ <span class="ruby-value str">'minstart'</span>, <span class="ruby-value str">'Min. Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1140
|
+
267: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1141
|
+
268: [ <span class="ruby-value str">'note'</span>, <span class="ruby-value str">'Note'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1142
|
+
269: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1143
|
+
270: [ <span class="ruby-value str">'pathcriticalness'</span>, <span class="ruby-value str">'Path Criticalness'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
1144
|
+
271: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">0.0</span> ],
|
|
1145
|
+
272: [ <span class="ruby-value str">'precedes'</span>, <span class="ruby-value str">'Following tasks'</span>, <span class="ruby-constant">DependencyListAttribute</span>,
|
|
1146
|
+
273: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1147
|
+
274: [ <span class="ruby-value str">'priority'</span>, <span class="ruby-value str">'Priority'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1148
|
+
275: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">500</span> ],
|
|
1149
|
+
276: [ <span class="ruby-value str">'projectid'</span>, <span class="ruby-value str">'Project ID'</span>, <span class="ruby-constant">SymbolAttribute</span>,
|
|
1150
|
+
277: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1151
|
+
278: [ <span class="ruby-value str">'responsible'</span>, <span class="ruby-value str">'Responsible'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
1152
|
+
279: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1153
|
+
280: [ <span class="ruby-value str">'scheduled'</span>, <span class="ruby-value str">'Scheduled'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1154
|
+
281: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span> ],
|
|
1155
|
+
282: [ <span class="ruby-value str">'shifts'</span>, <span class="ruby-value str">'Shifts'</span>, <span class="ruby-constant">ShiftAssignmentsAttribute</span>,
|
|
1156
|
+
283: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1157
|
+
284: [ <span class="ruby-value str">'start'</span>, <span class="ruby-value str">'Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1158
|
+
285: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1159
|
+
286: [ <span class="ruby-value str">'startpreds'</span>, <span class="ruby-value str">'Start Preds.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
1160
|
+
287: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1161
|
+
288: [ <span class="ruby-value str">'startsuccs'</span>, <span class="ruby-value str">'Start Succs.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
1162
|
+
289: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1163
|
+
290: [ <span class="ruby-value str">'status'</span>, <span class="ruby-value str">'Task Status'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1164
|
+
291: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value str">""</span> ],
|
|
1165
|
+
292: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1166
|
+
293: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1167
|
+
294: [ <span class="ruby-value str">'warn'</span>, <span class="ruby-value str">'Warning Condition'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1168
|
+
295: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1169
|
+
296: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1170
|
+
297: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ]
|
|
1171
|
+
298: ]
|
|
1172
|
+
299: <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
|
|
1173
|
+
300:
|
|
1174
|
+
301: <span class="ruby-ivar">@reports</span> = <span class="ruby-constant">PropertySet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>)
|
|
1175
|
+
302: <span class="ruby-identifier">attrs</span> = [
|
|
1176
|
+
303: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
1177
|
+
304: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
1178
|
+
305: [ <span class="ruby-value str">'caption'</span>, <span class="ruby-value str">'Caption'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1179
|
+
306: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1180
|
+
307: [ <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'Center'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1181
|
+
308: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1182
|
+
309: [ <span class="ruby-value str">'columns'</span>, <span class="ruby-value str">'Columns'</span>, <span class="ruby-constant">ColumnListAttribute</span>,
|
|
1183
|
+
310: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [] ],
|
|
1184
|
+
311: [ <span class="ruby-value str">'costAccount'</span>, <span class="ruby-value str">'Cost Account'</span>, <span class="ruby-constant">AccountAttribute</span>,
|
|
1185
|
+
312: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1186
|
+
313: [ <span class="ruby-value str">'currencyFormat'</span>, <span class="ruby-value str">'Currency Format'</span>, <span class="ruby-constant">RealFormatAttribute</span>,
|
|
1187
|
+
314: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1188
|
+
315: [ <span class="ruby-value str">'definitions'</span>, <span class="ruby-value str">'Definitions'</span>, <span class="ruby-constant">DefinitionListAttribute</span>,
|
|
1189
|
+
316: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ]) ],
|
|
1190
|
+
317: [ <span class="ruby-value str">'end'</span>, <span class="ruby-value str">'End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1191
|
+
318: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1192
|
+
319: [ <span class="ruby-value str">'epilog'</span>, <span class="ruby-value str">'Epilog'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1193
|
+
320: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1194
|
+
321: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
1195
|
+
322: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
1196
|
+
323: [ <span class="ruby-value str">'footer'</span>, <span class="ruby-value str">'Footer'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1197
|
+
324: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1198
|
+
325: [ <span class="ruby-value str">'formats'</span>, <span class="ruby-value str">'Formats'</span>, <span class="ruby-constant">FormatListAttribute</span>,
|
|
1199
|
+
326: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [] ],
|
|
1200
|
+
327: [ <span class="ruby-value str">'ganttBars'</span>, <span class="ruby-value str">'Gantt Bars'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1201
|
+
328: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span> ],
|
|
1202
|
+
329: [ <span class="ruby-value str">'header'</span>, <span class="ruby-value str">'Header'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1203
|
+
330: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1204
|
+
331: [ <span class="ruby-value str">'headline'</span>, <span class="ruby-value str">'Headline'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1205
|
+
332: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1206
|
+
333: [ <span class="ruby-value str">'hideResource'</span>, <span class="ruby-value str">'Hide Resource'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1207
|
+
334: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1208
|
+
335: [ <span class="ruby-value str">'hideTask'</span>, <span class="ruby-value str">'Hide Task'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1209
|
+
336: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1210
|
+
337: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
1211
|
+
338: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value">1</span> ],
|
|
1212
|
+
339: [ <span class="ruby-value str">'interactive'</span>, <span class="ruby-value str">'Interactive'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1213
|
+
340: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span> ],
|
|
1214
|
+
341: [ <span class="ruby-value str">'left'</span>, <span class="ruby-value str">'Left'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1215
|
+
342: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1216
|
+
343: [ <span class="ruby-value str">'loadUnit'</span>, <span class="ruby-value str">'Load Unit'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1217
|
+
344: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1218
|
+
345: [ <span class="ruby-value str">'now'</span>, <span class="ruby-value str">'Now'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1219
|
+
346: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1220
|
+
347: [ <span class="ruby-value str">'numberFormat'</span>, <span class="ruby-value str">'Number Format'</span>, <span class="ruby-constant">RealFormatAttribute</span>,
|
|
1221
|
+
348: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1222
|
+
349: [ <span class="ruby-value str">'openNodes'</span>, <span class="ruby-value str">'Open Nodes'</span>, <span class="ruby-constant">NodeListAttribute</span>,
|
|
1223
|
+
350: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1224
|
+
351: [ <span class="ruby-value str">'prolog'</span>, <span class="ruby-value str">'Prolog'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1225
|
+
352: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span>],
|
|
1226
|
+
353: [ <span class="ruby-value str">'resourceAttributes'</span>, <span class="ruby-value str">'Resource Attributes'</span>, <span class="ruby-constant">FormatListAttribute</span>,
|
|
1227
|
+
354: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ]) ],
|
|
1228
|
+
355: [ <span class="ruby-value str">'resourceRoot'</span>, <span class="ruby-value str">'resource Root'</span>, <span class="ruby-constant">PropertyAttribute</span>,
|
|
1229
|
+
356: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1230
|
+
357: [ <span class="ruby-value str">'revenueAccount'</span>, <span class="ruby-value str">'Revenue Account'</span>, <span class="ruby-constant">AccountAttribute</span>,
|
|
1231
|
+
358: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1232
|
+
359: [ <span class="ruby-value str">'right'</span>, <span class="ruby-value str">'Right'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
1233
|
+
360: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1234
|
+
361: [ <span class="ruby-value str">'rollupResource'</span>, <span class="ruby-value str">'Rollup Resource'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1235
|
+
362: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1236
|
+
363: [ <span class="ruby-value str">'rollupTask'</span>, <span class="ruby-value str">'Rollup Task'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
1237
|
+
364: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1238
|
+
365: [ <span class="ruby-value str">'scenarios'</span>, <span class="ruby-value str">'Scenarios'</span>, <span class="ruby-constant">ScenarioListAttribute</span>,
|
|
1239
|
+
366: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [ <span class="ruby-value">0</span> ] ],
|
|
1240
|
+
367: [ <span class="ruby-value str">'selfcontained'</span>, <span class="ruby-value str">'Selfcontained'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1241
|
+
368: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span> ],
|
|
1242
|
+
369: [ <span class="ruby-value str">'shortTimeFormat'</span>, <span class="ruby-value str">'Short Time Format'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1243
|
+
370: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1244
|
+
371: [ <span class="ruby-value str">'sortResources'</span>, <span class="ruby-value str">'Sort Resources'</span>, <span class="ruby-constant">SortListAttribute</span>,
|
|
1245
|
+
372: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [[ <span class="ruby-value str">'seqno'</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1</span> ]] ],
|
|
1246
|
+
373: [ <span class="ruby-value str">'sortTasks'</span>, <span class="ruby-value str">'Sort Tasks'</span>, <span class="ruby-constant">SortListAttribute</span>,
|
|
1247
|
+
374: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [[ <span class="ruby-value str">'seqno'</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1</span> ]] ],
|
|
1248
|
+
375: [ <span class="ruby-value str">'start'</span>, <span class="ruby-value str">'Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
1249
|
+
376: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1250
|
+
377: [ <span class="ruby-value str">'taskAttributes'</span>, <span class="ruby-value str">'Task Attributes'</span>, <span class="ruby-constant">FormatListAttribute</span>,
|
|
1251
|
+
378: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ]) ],
|
|
1252
|
+
379: [ <span class="ruby-value str">'taskRoot'</span>, <span class="ruby-value str">'Task Root'</span>, <span class="ruby-constant">PropertyAttribute</span>,
|
|
1253
|
+
380: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1254
|
+
381: [ <span class="ruby-value str">'timeFormat'</span>, <span class="ruby-value str">'Time Format'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1255
|
+
382: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1256
|
+
383: [ <span class="ruby-value str">'timezone'</span>, <span class="ruby-value str">'Time Zone'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1257
|
+
384: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1258
|
+
385: [ <span class="ruby-value str">'title'</span>, <span class="ruby-value str">'Title'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1259
|
+
386: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span> ],
|
|
1260
|
+
387: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1261
|
+
388: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1262
|
+
389: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
1263
|
+
390: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-value str">""</span> ],
|
|
1264
|
+
391: [ <span class="ruby-value str">'weekStartsMonday'</span>, <span class="ruby-value str">'Week Starts Monday'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
1265
|
+
392: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span> ]
|
|
1266
|
+
393: ]
|
|
1267
|
+
394: <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">addAttributeType</span>(<span class="ruby-constant">AttributeDefinition</span>.<span class="ruby-identifier">new</span>(*<span class="ruby-identifier">a</span>)) }
|
|
1268
|
+
395:
|
|
1269
|
+
396: <span class="ruby-constant">Scenario</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-value str">'plan'</span>, <span class="ruby-value str">'Plan Scenario'</span>, <span class="ruby-keyword kw">nil</span>)
|
|
1270
|
+
397:
|
|
1271
|
+
398: <span class="ruby-comment cmt"># A list of files that contained the project data.</span>
|
|
1272
|
+
399: <span class="ruby-ivar">@inputFiles</span> = <span class="ruby-constant">FileList</span>.<span class="ruby-identifier">new</span>
|
|
1273
|
+
400:
|
|
1274
|
+
401: <span class="ruby-ivar">@timeSheets</span> = <span class="ruby-constant">TimeSheets</span>.<span class="ruby-identifier">new</span>
|
|
1275
|
+
402:
|
|
1276
|
+
403: <span class="ruby-comment cmt"># The ReportContext provides additional settings to the report that can</span>
|
|
1277
|
+
404: <span class="ruby-comment cmt"># complement or replace the report attributes. Reports can include other</span>
|
|
1278
|
+
405: <span class="ruby-comment cmt"># reports. During report generation, only one context is active, but the</span>
|
|
1279
|
+
406: <span class="ruby-comment cmt"># context of enclosing reports needs to be preserved. Therefor we use a</span>
|
|
1280
|
+
407: <span class="ruby-comment cmt"># stack to implement this.</span>
|
|
1281
|
+
408: <span class="ruby-ivar">@reportContexts</span> = []
|
|
1282
|
+
409: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
|
|
1283
|
+
410: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">false</span>
|
|
1284
|
+
411: <span class="ruby-keyword kw">end</span></pre>
|
|
1263
1285
|
</div>
|
|
1264
1286
|
|
|
1265
1287
|
</div>
|
|
@@ -1300,13 +1322,13 @@ attribute.
|
|
|
1300
1322
|
<div class="method-source-code"
|
|
1301
1323
|
id="--source">
|
|
1302
1324
|
<pre>
|
|
1303
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1325
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 420</span>
|
|
1326
|
+
420: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">name</span>)
|
|
1327
|
+
421: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>)
|
|
1328
|
+
422: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown project attribute #{name}"</span>
|
|
1329
|
+
423: <span class="ruby-keyword kw">end</span>
|
|
1330
|
+
424: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">name</span>]
|
|
1331
|
+
425: <span class="ruby-keyword kw">end</span></pre>
|
|
1310
1332
|
</div>
|
|
1311
1333
|
|
|
1312
1334
|
</div>
|
|
@@ -1340,13 +1362,13 @@ to <em>value</em>.
|
|
|
1340
1362
|
<div class="method-source-code"
|
|
1341
1363
|
id="--source">
|
|
1342
1364
|
<pre>
|
|
1343
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1365
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 428</span>
|
|
1366
|
+
428: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
|
|
1367
|
+
429: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>)
|
|
1368
|
+
430: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown project attribute #{name}"</span>
|
|
1369
|
+
431: <span class="ruby-keyword kw">end</span>
|
|
1370
|
+
432: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
|
|
1371
|
+
433: <span class="ruby-keyword kw">end</span></pre>
|
|
1350
1372
|
</div>
|
|
1351
1373
|
|
|
1352
1374
|
</div>
|
|
@@ -1380,10 +1402,10 @@ return nil if it does not exist.
|
|
|
1380
1402
|
<div class="method-source-code"
|
|
1381
1403
|
id="account-source">
|
|
1382
1404
|
<pre>
|
|
1383
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1405
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 536</span>
|
|
1406
|
+
536: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">account</span>(<span class="ruby-identifier">id</span>)
|
|
1407
|
+
537: <span class="ruby-ivar">@accounts</span>[<span class="ruby-identifier">id</span>]
|
|
1408
|
+
538: <span class="ruby-keyword kw">end</span></pre>
|
|
1387
1409
|
</div>
|
|
1388
1410
|
|
|
1389
1411
|
</div>
|
|
@@ -1419,11 +1441,11 @@ pound sign.
|
|
|
1419
1441
|
<div class="method-source-code"
|
|
1420
1442
|
id="alert-evel-olor-source">
|
|
1421
1443
|
<pre>
|
|
1422
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1444
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 468</span>
|
|
1445
|
+
468: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelColor</span>(<span class="ruby-identifier">levelIndex</span>)
|
|
1446
|
+
469: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'unknown'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">levelIndex</span>]
|
|
1447
|
+
470: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">levelIndex</span>][<span class="ruby-value">2</span>]
|
|
1448
|
+
471: <span class="ruby-keyword kw">end</span></pre>
|
|
1427
1449
|
</div>
|
|
1428
1450
|
|
|
1429
1451
|
</div>
|
|
@@ -1457,11 +1479,11 @@ Return the ID or keyword of the alert level with the given
|
|
|
1457
1479
|
<div class="method-source-code"
|
|
1458
1480
|
id="alert-evel-d-source">
|
|
1459
1481
|
<pre>
|
|
1460
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1482
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 453</span>
|
|
1483
|
+
453: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelId</span>(<span class="ruby-identifier">levelIndex</span>)
|
|
1484
|
+
454: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'unknown'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">levelIndex</span>]
|
|
1485
|
+
455: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">levelIndex</span>][<span class="ruby-value">0</span>]
|
|
1486
|
+
456: <span class="ruby-keyword kw">end</span></pre>
|
|
1465
1487
|
</div>
|
|
1466
1488
|
|
|
1467
1489
|
</div>
|
|
@@ -1495,15 +1517,15 @@ the index of it. If no level is found, nil is returned.
|
|
|
1495
1517
|
<div class="method-source-code"
|
|
1496
1518
|
id="alert-evel-ndex-source">
|
|
1497
1519
|
<pre>
|
|
1498
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1520
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 442</span>
|
|
1521
|
+
442: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelIndex</span>(<span class="ruby-identifier">levelName</span>)
|
|
1522
|
+
443: <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
1523
|
+
444: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">levelName</span>
|
|
1524
|
+
445: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">i</span>
|
|
1525
|
+
446: <span class="ruby-keyword kw">end</span>
|
|
1526
|
+
447: <span class="ruby-keyword kw">end</span>
|
|
1527
|
+
448: <span class="ruby-keyword kw">nil</span>
|
|
1528
|
+
449: <span class="ruby-keyword kw">end</span></pre>
|
|
1507
1529
|
</div>
|
|
1508
1530
|
|
|
1509
1531
|
</div>
|
|
@@ -1537,11 +1559,11 @@ Return the user readable name of the alert level with the given
|
|
|
1537
1559
|
<div class="method-source-code"
|
|
1538
1560
|
id="alert-evel-ame-source">
|
|
1539
1561
|
<pre>
|
|
1540
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1562
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 460</span>
|
|
1563
|
+
460: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelName</span>(<span class="ruby-identifier">levelIndex</span>)
|
|
1564
|
+
461: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'unknown'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">levelIndex</span>]
|
|
1565
|
+
462: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'alertLevels'</span>][<span class="ruby-identifier">levelIndex</span>][<span class="ruby-value">1</span>]
|
|
1566
|
+
463: <span class="ruby-keyword kw">end</span></pre>
|
|
1545
1567
|
</div>
|
|
1546
1568
|
|
|
1547
1569
|
</div>
|
|
@@ -1576,14 +1598,14 @@ tasks over resources here.
|
|
|
1576
1598
|
<div class="method-source-code"
|
|
1577
1599
|
id="attribute-ame-source">
|
|
1578
1600
|
<pre>
|
|
1579
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1601
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 827</span>
|
|
1602
|
+
827: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">id</span>)
|
|
1603
|
+
828: <span class="ruby-comment cmt"># We have to see if the attribute id is a task or resource attribute and</span>
|
|
1604
|
+
829: <span class="ruby-comment cmt"># return it's name.</span>
|
|
1605
|
+
830: (<span class="ruby-identifier">name</span> = <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">id</span>)).<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span>
|
|
1606
|
+
831: (<span class="ruby-identifier">name</span> = <span class="ruby-ivar">@resources</span>.<span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">id</span>)).<span class="ruby-identifier">nil?</span>
|
|
1607
|
+
832: <span class="ruby-identifier">name</span>
|
|
1608
|
+
833: <span class="ruby-keyword kw">end</span></pre>
|
|
1587
1609
|
</div>
|
|
1588
1610
|
|
|
1589
1611
|
</div>
|
|
@@ -1614,10 +1636,10 @@ tasks over resources here.
|
|
|
1614
1636
|
<div class="method-source-code"
|
|
1615
1637
|
id="check-ime-heets-source">
|
|
1616
1638
|
<pre>
|
|
1617
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1639
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 691</span>
|
|
1640
|
+
691: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkTimeSheets</span>
|
|
1641
|
+
692: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">check</span>
|
|
1642
|
+
693: <span class="ruby-keyword kw">end</span></pre>
|
|
1621
1643
|
</div>
|
|
1622
1644
|
|
|
1623
1645
|
</div>
|
|
@@ -1651,10 +1673,10 @@ setting of the global ‘dailyworkinghours’ attribute.
|
|
|
1651
1673
|
<div class="method-source-code"
|
|
1652
1674
|
id="convert-o-aily-oad-source">
|
|
1653
1675
|
<pre>
|
|
1654
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1676
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 761</span>
|
|
1677
|
+
761: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convertToDailyLoad</span>(<span class="ruby-identifier">seconds</span>)
|
|
1678
|
+
762: <span class="ruby-identifier">seconds</span> <span class="ruby-operator">/</span> (<span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'dailyworkinghours'</span>] * <span class="ruby-value">3600.0</span>)
|
|
1679
|
+
763: <span class="ruby-keyword kw">end</span></pre>
|
|
1658
1680
|
</div>
|
|
1659
1681
|
|
|
1660
1682
|
</div>
|
|
@@ -1688,10 +1710,10 @@ can be set to other values by the user.
|
|
|
1688
1710
|
<div class="method-source-code"
|
|
1689
1711
|
id="daily-orking-ours-source">
|
|
1690
1712
|
<pre>
|
|
1691
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1713
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 475</span>
|
|
1714
|
+
475: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dailyWorkingHours</span>
|
|
1715
|
+
476: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'dailyworkinghours'</span>].<span class="ruby-identifier">to_f</span>
|
|
1716
|
+
477: <span class="ruby-keyword kw">end</span></pre>
|
|
1695
1717
|
</div>
|
|
1696
1718
|
|
|
1697
1719
|
</div>
|
|
@@ -1727,21 +1749,21 @@ time frame.
|
|
|
1727
1749
|
<div class="method-source-code"
|
|
1728
1750
|
id="date-o-dx-source">
|
|
1729
1751
|
<pre>
|
|
1730
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1752
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 787</span>
|
|
1753
|
+
787: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
|
|
1754
|
+
788: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">date</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'end'</span>])
|
|
1755
|
+
789: <span class="ruby-comment cmt"># Date is out of range.</span>
|
|
1756
|
+
790: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
|
|
1757
|
+
791: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'start'</span>]
|
|
1758
|
+
792: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">scoreboardSize</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'end'</span>]
|
|
1759
|
+
793: <span class="ruby-keyword kw">else</span>
|
|
1760
|
+
794: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Date #{date} is out of project time range "</span> <span class="ruby-operator">+</span>
|
|
1761
|
+
795: <span class="ruby-node">"(#{@attributes['start']} - #{@attributes['end']})"</span>
|
|
1762
|
+
796: <span class="ruby-keyword kw">end</span>
|
|
1763
|
+
797: <span class="ruby-keyword kw">end</span>
|
|
1764
|
+
798: <span class="ruby-comment cmt"># Calculate the corresponding index.</span>
|
|
1765
|
+
799: ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'start'</span>]) <span class="ruby-operator">/</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>]).<span class="ruby-identifier">to_i</span>
|
|
1766
|
+
800: <span class="ruby-keyword kw">end</span></pre>
|
|
1745
1767
|
</div>
|
|
1746
1768
|
|
|
1747
1769
|
</div>
|
|
@@ -1776,10 +1798,10 @@ of the whole project.
|
|
|
1776
1798
|
<div class="method-source-code"
|
|
1777
1799
|
id="deep-clone-source">
|
|
1778
1800
|
<pre>
|
|
1779
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1801
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 415</span>
|
|
1802
|
+
415: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
1803
|
+
416: <span class="ruby-keyword kw">self</span>
|
|
1804
|
+
417: <span class="ruby-keyword kw">end</span></pre>
|
|
1783
1805
|
</div>
|
|
1784
1806
|
|
|
1785
1807
|
</div>
|
|
@@ -1812,12 +1834,10 @@ This function sends an error message to the message handler.
|
|
|
1812
1834
|
<div class="method-source-code"
|
|
1813
1835
|
id="error-source">
|
|
1814
1836
|
<pre>
|
|
1815
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
863: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>
|
|
1820
|
-
864: <span class="ruby-keyword kw">end</span></pre>
|
|
1837
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 849</span>
|
|
1838
|
+
849: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>)
|
|
1839
|
+
850: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>)
|
|
1840
|
+
851: <span class="ruby-keyword kw">end</span></pre>
|
|
1821
1841
|
</div>
|
|
1822
1842
|
|
|
1823
1843
|
</div>
|
|
@@ -1848,38 +1868,37 @@ This function sends an error message to the message handler.
|
|
|
1848
1868
|
<div class="method-source-code"
|
|
1849
1869
|
id="generate-eport-source">
|
|
1850
1870
|
<pre>
|
|
1851
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1871
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 647</span>
|
|
1872
|
+
647: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>, <span class="ruby-identifier">dynamicAttributes</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1873
|
+
648: <span class="ruby-identifier">reportList</span> = <span class="ruby-identifier">regExpMode</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">reportList</span> = <span class="ruby-identifier">matchingReports</span>(<span class="ruby-identifier">reportId</span>) <span class="ruby-operator">:</span>
|
|
1874
|
+
649: [ <span class="ruby-identifier">reportId</span> ]
|
|
1875
|
+
650: <span class="ruby-identifier">reportList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">id</span><span class="ruby-operator">|</span>
|
|
1876
|
+
651: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">report</span> = <span class="ruby-ivar">@reports</span>[<span class="ruby-identifier">id</span>])
|
|
1877
|
+
652: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'unknown_report_id'</span>,
|
|
1878
|
+
653: <span class="ruby-node">"Request to generate unknown report #{id}"</span>)
|
|
1879
|
+
654: <span class="ruby-keyword kw">end</span>
|
|
1880
|
+
655: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Report #{report.name}"</span>)
|
|
1881
|
+
656: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">context</span> = <span class="ruby-constant">ReportContext</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">report</span>))
|
|
1882
|
+
657:
|
|
1883
|
+
658: <span class="ruby-comment cmt"># If we have dynamic attributes we need to backup the old attributes</span>
|
|
1884
|
+
659: <span class="ruby-comment cmt"># first, then parse the dynamicAttributes String replacing the</span>
|
|
1885
|
+
660: <span class="ruby-comment cmt"># original values.</span>
|
|
1886
|
+
661: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dynamicAttributes</span>
|
|
1887
|
+
662: <span class="ruby-identifier">context</span>.<span class="ruby-identifier">attributeBackup</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">backupAttributes</span>
|
|
1888
|
+
663: <span class="ruby-identifier">parser</span> = <span class="ruby-constant">ProjectFileParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@messageHandler</span>)
|
|
1889
|
+
664: <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">parseReportAttributes</span>(<span class="ruby-identifier">report</span>, <span class="ruby-identifier">dynamicAttributes</span>)
|
|
1890
|
+
665: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'interactive'</span>, <span class="ruby-keyword kw">true</span>)
|
|
1859
1891
|
666: <span class="ruby-keyword kw">end</span>
|
|
1860
|
-
667:
|
|
1861
|
-
668: <span class="ruby-
|
|
1892
|
+
667:
|
|
1893
|
+
668: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1862
1894
|
669:
|
|
1863
|
-
670: <span class="ruby-
|
|
1864
|
-
671:
|
|
1865
|
-
672: <span class="ruby-
|
|
1866
|
-
673: <span class="ruby-
|
|
1867
|
-
674: <span class="ruby-
|
|
1868
|
-
675:
|
|
1869
|
-
676:
|
|
1870
|
-
677: <span class="ruby-identifier">parser</span>.<span class="ruby-identifier">parseReportAttributes</span>(<span class="ruby-identifier">report</span>, <span class="ruby-identifier">dynamicAttributes</span>)
|
|
1871
|
-
678: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'interactive'</span>, <span class="ruby-keyword kw">true</span>)
|
|
1872
|
-
679: <span class="ruby-keyword kw">end</span>
|
|
1873
|
-
680:
|
|
1874
|
-
681: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1875
|
-
682:
|
|
1876
|
-
683: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dynamicAttributes</span>
|
|
1877
|
-
684: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">restoreAttributes</span>(<span class="ruby-identifier">context</span>.<span class="ruby-identifier">attributeBackup</span>)
|
|
1878
|
-
685: <span class="ruby-keyword kw">end</span>
|
|
1879
|
-
686: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">pop</span>
|
|
1880
|
-
687: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1881
|
-
688: <span class="ruby-keyword kw">end</span>
|
|
1882
|
-
689: <span class="ruby-keyword kw">end</span></pre>
|
|
1895
|
+
670: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dynamicAttributes</span>
|
|
1896
|
+
671: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">restoreAttributes</span>(<span class="ruby-identifier">context</span>.<span class="ruby-identifier">attributeBackup</span>)
|
|
1897
|
+
672: <span class="ruby-keyword kw">end</span>
|
|
1898
|
+
673: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">pop</span>
|
|
1899
|
+
674: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1900
|
+
675: <span class="ruby-keyword kw">end</span>
|
|
1901
|
+
676: <span class="ruby-keyword kw">end</span></pre>
|
|
1883
1902
|
</div>
|
|
1884
1903
|
|
|
1885
1904
|
</div>
|
|
@@ -1914,50 +1933,46 @@ href="Project.html#method-i-schedule">Project#schedule</a> has been called.
|
|
|
1914
1933
|
<div class="method-source-code"
|
|
1915
1934
|
id="generate-eports-source">
|
|
1916
1935
|
<pre>
|
|
1917
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
654: <span class="ruby-keyword kw">end</span>
|
|
1958
|
-
655:
|
|
1959
|
-
656: <span class="ruby-keyword kw">true</span>
|
|
1960
|
-
657: <span class="ruby-keyword kw">end</span></pre>
|
|
1936
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 607</span>
|
|
1937
|
+
607: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReports</span>(<span class="ruby-identifier">maxCpuCores</span>)
|
|
1938
|
+
608: <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">index</span>
|
|
1939
|
+
609: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">maxCpuCores</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
1940
|
+
610: <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
|
|
1941
|
+
611: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>).<span class="ruby-identifier">empty?</span>
|
|
1942
|
+
612: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Report #{report.name}"</span>)
|
|
1943
|
+
613: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">push</span>(<span class="ruby-constant">ReportContext</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">report</span>))
|
|
1944
|
+
614: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1945
|
+
615: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">pop</span>
|
|
1946
|
+
616: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1947
|
+
617: <span class="ruby-keyword kw">end</span>
|
|
1948
|
+
618: <span class="ruby-keyword kw">else</span>
|
|
1949
|
+
619: <span class="ruby-comment cmt"># Kickoff the generation of all reports by pushing the jobs into the</span>
|
|
1950
|
+
620: <span class="ruby-comment cmt"># BatchProcessor queue.</span>
|
|
1951
|
+
621: <span class="ruby-identifier">bp</span> = <span class="ruby-constant">BatchProcessor</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">maxCpuCores</span>)
|
|
1952
|
+
622: <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
|
|
1953
|
+
623: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>).<span class="ruby-identifier">empty?</span>
|
|
1954
|
+
624: <span class="ruby-identifier">bp</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">report</span>) {
|
|
1955
|
+
625: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">push</span>(<span class="ruby-constant">ReportContext</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">report</span>))
|
|
1956
|
+
626: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1957
|
+
627: <span class="ruby-ivar">@reportContexts</span>.<span class="ruby-identifier">pop</span>
|
|
1958
|
+
628: <span class="ruby-identifier">res</span>
|
|
1959
|
+
629: }
|
|
1960
|
+
630: <span class="ruby-keyword kw">end</span>
|
|
1961
|
+
631: <span class="ruby-comment cmt"># Now wait for all the jobs to finish.</span>
|
|
1962
|
+
632: <span class="ruby-identifier">bp</span>.<span class="ruby-identifier">wait</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
|
|
1963
|
+
633: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Report #{report.tag.name}"</span>)
|
|
1964
|
+
634: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">stdout</span>)
|
|
1965
|
+
635: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">stderr</span>)
|
|
1966
|
+
636: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">retVal</span>.<span class="ruby-identifier">signaled?</span>
|
|
1967
|
+
637: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'rg_signal'</span>, <span class="ruby-value str">"Signal raised"</span>)
|
|
1968
|
+
638: <span class="ruby-keyword kw">end</span>
|
|
1969
|
+
639: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">retVal</span>.<span class="ruby-identifier">success?</span>
|
|
1970
|
+
640: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'rg_abort'</span>, <span class="ruby-value str">"Process aborted"</span>)
|
|
1971
|
+
641: <span class="ruby-keyword kw">end</span>
|
|
1972
|
+
642: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1973
|
+
643: <span class="ruby-keyword kw">end</span>
|
|
1974
|
+
644: <span class="ruby-keyword kw">end</span>
|
|
1975
|
+
645: <span class="ruby-keyword kw">end</span></pre>
|
|
1961
1976
|
</div>
|
|
1962
1977
|
|
|
1963
1978
|
</div>
|
|
@@ -1993,13 +2008,13 @@ raised.
|
|
|
1993
2008
|
<div class="method-source-code"
|
|
1994
2009
|
id="idx-o-ate-source">
|
|
1995
2010
|
<pre>
|
|
1996
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2011
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 777</span>
|
|
2012
|
+
777: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
2013
|
+
778: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&&</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">></span> <span class="ruby-identifier">scoreboardSize</span>)
|
|
2014
|
+
779: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Scoreboard index out of range"</span>
|
|
2015
|
+
780: <span class="ruby-keyword kw">end</span>
|
|
2016
|
+
781: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">idx</span> * <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>]
|
|
2017
|
+
782: <span class="ruby-keyword kw">end</span></pre>
|
|
2003
2018
|
</div>
|
|
2004
2019
|
|
|
2005
2020
|
</div>
|
|
@@ -2037,29 +2052,29 @@ defined and the slot lies within a defined working time period.
|
|
|
2037
2052
|
<div class="method-source-code"
|
|
2038
2053
|
id="is-orking-ime-source">
|
|
2039
2054
|
<pre>
|
|
2040
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2055
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 736</span>
|
|
2056
|
+
736: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isWorkingTime</span>(*<span class="ruby-identifier">args</span>)
|
|
2057
|
+
737: <span class="ruby-comment cmt"># Normalize argument(s) to Interval</span>
|
|
2058
|
+
738: <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>
|
|
2059
|
+
739: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Interval</span>)
|
|
2060
|
+
740: <span class="ruby-identifier">iv</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
|
|
2061
|
+
741: <span class="ruby-keyword kw">else</span>
|
|
2062
|
+
742: <span class="ruby-identifier">iv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span>
|
|
2063
|
+
743: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
|
|
2064
|
+
744: <span class="ruby-keyword kw">end</span>
|
|
2065
|
+
745: <span class="ruby-keyword kw">else</span>
|
|
2066
|
+
746: <span class="ruby-identifier">iv</span> = <span class="ruby-constant">Interval</span>.<span class="ruby-identifier">new</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>])
|
|
2067
|
+
747: <span class="ruby-keyword kw">end</span>
|
|
2068
|
+
748:
|
|
2069
|
+
749: <span class="ruby-comment cmt"># Check if the interval has overlap with any of the global vacations.</span>
|
|
2070
|
+
750: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'vacations'</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">vacation</span><span class="ruby-operator">|</span>
|
|
2071
|
+
751: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vacation</span>.<span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">iv</span>)
|
|
2072
|
+
752: <span class="ruby-keyword kw">end</span>
|
|
2073
|
+
753:
|
|
2074
|
+
754: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'workinghours'</span>].<span class="ruby-identifier">timeOff?</span>(<span class="ruby-identifier">iv</span>)
|
|
2075
|
+
755:
|
|
2076
|
+
756: <span class="ruby-keyword kw">true</span>
|
|
2077
|
+
757: <span class="ruby-keyword kw">end</span></pre>
|
|
2063
2078
|
</div>
|
|
2064
2079
|
|
|
2065
2080
|
</div>
|
|
@@ -2090,19 +2105,19 @@ defined and the slot lies within a defined working time period.
|
|
|
2090
2105
|
<div class="method-source-code"
|
|
2091
2106
|
id="list-eports-source">
|
|
2092
2107
|
<pre>
|
|
2093
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2108
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 678</span>
|
|
2109
|
+
678: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listReports</span>(<span class="ruby-identifier">reportId</span>, <span class="ruby-identifier">regExpMode</span>)
|
|
2110
|
+
679: <span class="ruby-identifier">reportList</span> = <span class="ruby-identifier">regExpMode</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">reportList</span> = <span class="ruby-identifier">matchingReports</span>(<span class="ruby-identifier">reportId</span>) <span class="ruby-operator">:</span>
|
|
2111
|
+
680: <span class="ruby-ivar">@reports</span>[<span class="ruby-identifier">reportId</span>] <span class="ruby-operator">?</span> [ <span class="ruby-identifier">reportId</span> ] <span class="ruby-operator">:</span> []
|
|
2112
|
+
681: <span class="ruby-identifier">puts</span> <span class="ruby-node">"No match for #{reportId}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reportList</span>.<span class="ruby-identifier">empty?</span>
|
|
2113
|
+
682: <span class="ruby-identifier">reportList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">id</span><span class="ruby-operator">|</span>
|
|
2114
|
+
683: <span class="ruby-identifier">report</span> = <span class="ruby-ivar">@reports</span>[<span class="ruby-identifier">id</span>]
|
|
2115
|
+
684: <span class="ruby-identifier">formats</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>)
|
|
2116
|
+
685: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">formats</span>.<span class="ruby-identifier">empty?</span>
|
|
2117
|
+
686:
|
|
2118
|
+
687: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%s\t%s\t%s"</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">formats</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>), <span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span>)
|
|
2119
|
+
688: <span class="ruby-keyword kw">end</span>
|
|
2120
|
+
689: <span class="ruby-keyword kw">end</span></pre>
|
|
2106
2121
|
</div>
|
|
2107
2122
|
|
|
2108
2123
|
</div>
|
|
@@ -2135,10 +2150,10 @@ Return the average number of working days per month.
|
|
|
2135
2150
|
<div class="method-source-code"
|
|
2136
2151
|
id="monthly-orking-ays-source">
|
|
2137
2152
|
<pre>
|
|
2138
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2153
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 485</span>
|
|
2154
|
+
485: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">monthlyWorkingDays</span>
|
|
2155
|
+
486: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'yearlyworkingdays'</span>] <span class="ruby-operator">/</span> <span class="ruby-value">12.0</span>
|
|
2156
|
+
487: <span class="ruby-keyword kw">end</span></pre>
|
|
2142
2157
|
</div>
|
|
2143
2158
|
|
|
2144
2159
|
</div>
|
|
@@ -2172,10 +2187,10 @@ return nil if it does not exist.
|
|
|
2172
2187
|
<div class="method-source-code"
|
|
2173
2188
|
id="report-source">
|
|
2174
2189
|
<pre>
|
|
2175
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2190
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 551</span>
|
|
2191
|
+
551: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">report</span>(<span class="ruby-identifier">id</span>)
|
|
2192
|
+
552: <span class="ruby-ivar">@reports</span>[<span class="ruby-identifier">id</span>]
|
|
2193
|
+
553: <span class="ruby-keyword kw">end</span></pre>
|
|
2179
2194
|
</div>
|
|
2180
2195
|
|
|
2181
2196
|
</div>
|
|
@@ -2209,13 +2224,13 @@ return nil if it does not exist.
|
|
|
2209
2224
|
<div class="method-source-code"
|
|
2210
2225
|
id="report-y-ame-source">
|
|
2211
2226
|
<pre>
|
|
2212
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2227
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 557</span>
|
|
2228
|
+
557: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reportByName</span>(<span class="ruby-identifier">name</span>)
|
|
2229
|
+
558: <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
|
|
2230
|
+
559: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">report</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span>
|
|
2231
|
+
560: <span class="ruby-keyword kw">end</span>
|
|
2232
|
+
561: <span class="ruby-keyword kw">nil</span>
|
|
2233
|
+
562: <span class="ruby-keyword kw">end</span></pre>
|
|
2219
2234
|
</div>
|
|
2220
2235
|
|
|
2221
2236
|
</div>
|
|
@@ -2249,10 +2264,10 @@ return nil if it does not exist.
|
|
|
2249
2264
|
<div class="method-source-code"
|
|
2250
2265
|
id="resource-source">
|
|
2251
2266
|
<pre>
|
|
2252
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2267
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 546</span>
|
|
2268
|
+
546: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resource</span>(<span class="ruby-identifier">id</span>)
|
|
2269
|
+
547: <span class="ruby-ivar">@resources</span>[<span class="ruby-identifier">id</span>]
|
|
2270
|
+
548: <span class="ruby-keyword kw">end</span></pre>
|
|
2256
2271
|
</div>
|
|
2257
2272
|
|
|
2258
2273
|
</div>
|
|
@@ -2286,17 +2301,17 @@ or <em>index</em>.
|
|
|
2286
2301
|
<div class="method-source-code"
|
|
2287
2302
|
id="scenario-source">
|
|
2288
2303
|
<pre>
|
|
2289
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2304
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 504</span>
|
|
2305
|
+
504: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">arg</span>)
|
|
2306
|
+
505: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>)
|
|
2307
|
+
506: <span class="ruby-ivar">@scenarios</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sc</span><span class="ruby-operator">|</span>
|
|
2308
|
+
507: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sc</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sc</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>
|
|
2309
|
+
508: <span class="ruby-keyword kw">end</span>
|
|
2310
|
+
509: <span class="ruby-keyword kw">else</span>
|
|
2311
|
+
510: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scenarios</span>[<span class="ruby-identifier">arg</span>]
|
|
2312
|
+
511: <span class="ruby-keyword kw">end</span>
|
|
2313
|
+
512: <span class="ruby-keyword kw">nil</span>
|
|
2314
|
+
513: <span class="ruby-keyword kw">end</span></pre>
|
|
2300
2315
|
</div>
|
|
2301
2316
|
|
|
2302
2317
|
</div>
|
|
@@ -2329,10 +2344,10 @@ Return the number of defined scenarios for the project.
|
|
|
2329
2344
|
<div class="method-source-code"
|
|
2330
2345
|
id="scenario-ount-source">
|
|
2331
2346
|
<pre>
|
|
2332
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2347
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 436</span>
|
|
2348
|
+
436: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioCount</span>
|
|
2349
|
+
437: <span class="ruby-ivar">@scenarios</span>.<span class="ruby-identifier">items</span>
|
|
2350
|
+
438: <span class="ruby-keyword kw">end</span></pre>
|
|
2336
2351
|
</div>
|
|
2337
2352
|
|
|
2338
2353
|
</div>
|
|
@@ -2366,16 +2381,16 @@ specified by <em>scenario</em> or <em>id</em>.
|
|
|
2366
2381
|
<div class="method-source-code"
|
|
2367
2382
|
id="scenario-dx-source">
|
|
2368
2383
|
<pre>
|
|
2369
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2384
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 520</span>
|
|
2385
|
+
520: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">sc</span>)
|
|
2386
|
+
521: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sc</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Scenario</span>)
|
|
2387
|
+
522: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">sc</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
|
2388
|
+
523: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@scenarios</span>[<span class="ruby-identifier">sc</span>].<span class="ruby-identifier">nil?</span>
|
|
2389
|
+
524: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
2390
|
+
525: <span class="ruby-keyword kw">else</span>
|
|
2391
|
+
526: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scenarios</span>[<span class="ruby-identifier">sc</span>].<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
|
2392
|
+
527: <span class="ruby-keyword kw">end</span>
|
|
2393
|
+
528: <span class="ruby-keyword kw">end</span></pre>
|
|
2379
2394
|
</div>
|
|
2380
2395
|
|
|
2381
2396
|
</div>
|
|
@@ -2410,50 +2425,44 @@ stores the result in the data structures again.
|
|
|
2410
2425
|
<div class="method-source-code"
|
|
2411
2426
|
id="schedule-source">
|
|
2412
2427
|
<pre>
|
|
2413
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2428
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 567</span>
|
|
2429
|
+
567: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">schedule</span>
|
|
2430
|
+
568: [ <span class="ruby-ivar">@shifts</span>, <span class="ruby-ivar">@resources</span>, <span class="ruby-ivar">@tasks</span> ].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
|
|
2431
|
+
569: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">inheritAttributesFromScenario</span>
|
|
2432
|
+
570: <span class="ruby-comment cmt"># Set all index counters to their proper values.</span>
|
|
2433
|
+
571: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">index</span>
|
|
2434
|
+
572: <span class="ruby-keyword kw">end</span>
|
|
2435
|
+
573:
|
|
2436
|
+
574: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">empty?</span>
|
|
2437
|
+
575: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'no_tasks'</span>, <span class="ruby-value str">"No tasks defined"</span>)
|
|
2438
|
+
576: <span class="ruby-keyword kw">end</span>
|
|
2439
|
+
577:
|
|
2440
|
+
578: <span class="ruby-ivar">@scenarios</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sc</span><span class="ruby-operator">|</span>
|
|
2441
|
+
579: <span class="ruby-comment cmt"># Skip disabled scenarios</span>
|
|
2442
|
+
580: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">sc</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'enabled'</span>)
|
|
2426
2443
|
581:
|
|
2427
|
-
582:
|
|
2428
|
-
583:
|
|
2429
|
-
584:
|
|
2430
|
-
585:
|
|
2431
|
-
586:
|
|
2432
|
-
587:
|
|
2433
|
-
588:
|
|
2434
|
-
589:
|
|
2435
|
-
590:
|
|
2436
|
-
591:
|
|
2437
|
-
592:
|
|
2438
|
-
593:
|
|
2439
|
-
594:
|
|
2440
|
-
595:
|
|
2441
|
-
596:
|
|
2442
|
-
597:
|
|
2443
|
-
598:
|
|
2444
|
-
599:
|
|
2445
|
-
600:
|
|
2446
|
-
601:
|
|
2447
|
-
602:
|
|
2448
|
-
603:
|
|
2449
|
-
604: <span class="ruby-keyword kw">end</span>
|
|
2450
|
-
605: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
2451
|
-
606: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
2452
|
-
607: <span class="ruby-keyword kw">end</span>
|
|
2453
|
-
608:
|
|
2454
|
-
609: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">warnOnDelta</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@warnTsDeltas</span>
|
|
2455
|
-
610: <span class="ruby-keyword kw">true</span>
|
|
2456
|
-
611: <span class="ruby-keyword kw">end</span></pre>
|
|
2444
|
+
582: <span class="ruby-identifier">scIdx</span> = <span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">sc</span>)
|
|
2445
|
+
583:
|
|
2446
|
+
584: <span class="ruby-comment cmt"># All user provided values are set now. The next step is to</span>
|
|
2447
|
+
585: <span class="ruby-comment cmt"># propagate inherited values. These values must be marked as</span>
|
|
2448
|
+
586: <span class="ruby-comment cmt"># inherited by setting the mode to 1. As we always call</span>
|
|
2449
|
+
587: <span class="ruby-comment cmt"># PropertyTreeNode#inherit this is just a safeguard.</span>
|
|
2450
|
+
588: <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">setMode</span>(<span class="ruby-value">1</span>)
|
|
2451
|
+
589: <span class="ruby-identifier">prepareScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2452
|
+
590:
|
|
2453
|
+
591: <span class="ruby-comment cmt"># Now change to mode 2 so all values that are modified are marked</span>
|
|
2454
|
+
592: <span class="ruby-comment cmt"># as computed.</span>
|
|
2455
|
+
593: <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">setMode</span>(<span class="ruby-value">2</span>)
|
|
2456
|
+
594: <span class="ruby-comment cmt"># Schedule the scenario.</span>
|
|
2457
|
+
595: <span class="ruby-identifier">scheduleScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2458
|
+
596:
|
|
2459
|
+
597: <span class="ruby-comment cmt"># Complete the data sets, and check the result.</span>
|
|
2460
|
+
598: <span class="ruby-identifier">finishScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2461
|
+
599: <span class="ruby-keyword kw">end</span>
|
|
2462
|
+
600:
|
|
2463
|
+
601: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">warnOnDelta</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@warnTsDeltas</span>
|
|
2464
|
+
602: <span class="ruby-keyword kw">true</span>
|
|
2465
|
+
603: <span class="ruby-keyword kw">end</span></pre>
|
|
2457
2466
|
</div>
|
|
2458
2467
|
|
|
2459
2468
|
</div>
|
|
@@ -2489,48 +2498,11 @@ number of entries in the scoreboards.
|
|
|
2489
2498
|
<div class="method-source-code"
|
|
2490
2499
|
id="scoreboard-ize-source">
|
|
2491
2500
|
<pre>
|
|
2492
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
</div>
|
|
2498
|
-
|
|
2499
|
-
</div>
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
</div>
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
<div id="send-essage-method" class="method-detail ">
|
|
2508
|
-
<a name="method-i-sendMessage"></a>
|
|
2509
|
-
|
|
2510
|
-
<div class="method-heading">
|
|
2511
|
-
|
|
2512
|
-
<span class="method-name">sendMessage</span><span
|
|
2513
|
-
class="method-args">(message)</span>
|
|
2514
|
-
<span class="method-click-advice">click to toggle source</span>
|
|
2515
|
-
|
|
2516
|
-
</div>
|
|
2517
|
-
|
|
2518
|
-
<div class="method-description">
|
|
2519
|
-
|
|
2520
|
-
<p>
|
|
2521
|
-
Pass a message (error or warning) to the message handler. <em>message</em>
|
|
2522
|
-
is a <a href="../String.html">String</a> that contains the message.
|
|
2523
|
-
</p>
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
<div class="method-source-code"
|
|
2528
|
-
id="send-essage-source">
|
|
2529
|
-
<pre>
|
|
2530
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line 417</span>
|
|
2531
|
-
417: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">message</span>)
|
|
2532
|
-
418: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
|
2533
|
-
419: <span class="ruby-keyword kw">end</span></pre>
|
|
2501
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 769</span>
|
|
2502
|
+
769: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scoreboardSize</span>
|
|
2503
|
+
770: ((<span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'end'</span>] <span class="ruby-operator">-</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'start'</span>]) <span class="ruby-operator">/</span>
|
|
2504
|
+
771: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>]).<span class="ruby-identifier">to_i</span>
|
|
2505
|
+
772: <span class="ruby-keyword kw">end</span></pre>
|
|
2534
2506
|
</div>
|
|
2535
2507
|
|
|
2536
2508
|
</div>
|
|
@@ -2564,10 +2536,10 @@ nil if it does not exist.
|
|
|
2564
2536
|
<div class="method-source-code"
|
|
2565
2537
|
id="shift-source">
|
|
2566
2538
|
<pre>
|
|
2567
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2539
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 531</span>
|
|
2540
|
+
531: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift</span>(<span class="ruby-identifier">id</span>)
|
|
2541
|
+
532: <span class="ruby-ivar">@shifts</span>[<span class="ruby-identifier">id</span>]
|
|
2542
|
+
533: <span class="ruby-keyword kw">end</span></pre>
|
|
2571
2543
|
</div>
|
|
2572
2544
|
|
|
2573
2545
|
</div>
|
|
@@ -2600,10 +2572,10 @@ Convert timeSlots to working days.
|
|
|
2600
2572
|
<div class="method-source-code"
|
|
2601
2573
|
id="slots-o-ays-source">
|
|
2602
2574
|
<pre>
|
|
2603
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2575
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 495</span>
|
|
2576
|
+
495: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">slotsToDays</span>(<span class="ruby-identifier">slots</span>)
|
|
2577
|
+
496: <span class="ruby-identifier">slots</span> * <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>] <span class="ruby-operator">/</span> (<span class="ruby-value">60</span> * <span class="ruby-value">60</span> * <span class="ruby-identifier">dailyWorkingHours</span>)
|
|
2578
|
+
497: <span class="ruby-keyword kw">end</span></pre>
|
|
2607
2579
|
</div>
|
|
2608
2580
|
|
|
2609
2581
|
</div>
|
|
@@ -2637,10 +2609,10 @@ nil if it does not exist.
|
|
|
2637
2609
|
<div class="method-source-code"
|
|
2638
2610
|
id="task-source">
|
|
2639
2611
|
<pre>
|
|
2640
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2612
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 541</span>
|
|
2613
|
+
541: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">task</span>(<span class="ruby-identifier">id</span>)
|
|
2614
|
+
542: <span class="ruby-ivar">@tasks</span>[<span class="ruby-identifier">id</span>]
|
|
2615
|
+
543: <span class="ruby-keyword kw">end</span></pre>
|
|
2644
2616
|
</div>
|
|
2645
2617
|
|
|
2646
2618
|
</div>
|
|
@@ -2673,16 +2645,18 @@ Print the attribute values. It’s used for debugging only.
|
|
|
2673
2645
|
<div class="method-source-code"
|
|
2674
2646
|
id="to-s-source">
|
|
2675
2647
|
<pre>
|
|
2676
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2648
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 836</span>
|
|
2649
|
+
836: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
2650
|
+
837: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"STOP!"</span>
|
|
2651
|
+
838: <span class="ruby-identifier">str</span> = <span class="ruby-value str">''</span>
|
|
2652
|
+
839: <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
|
|
2653
|
+
840: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>
|
|
2654
|
+
841: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{attribute}: "</span> <span class="ruby-operator">+</span>
|
|
2655
|
+
842: <span class="ruby-node">"#{value.is_a?(PropertyTreeNode) ? value.fullId : value}"</span>
|
|
2656
|
+
843: <span class="ruby-keyword kw">end</span>
|
|
2657
|
+
844: <span class="ruby-keyword kw">end</span>
|
|
2658
|
+
845: <span class="ruby-identifier">str</span>
|
|
2659
|
+
846: <span class="ruby-keyword kw">end</span></pre>
|
|
2686
2660
|
</div>
|
|
2687
2661
|
|
|
2688
2662
|
</div>
|
|
@@ -2715,10 +2689,10 @@ Return the average number of working days per week.
|
|
|
2715
2689
|
<div class="method-source-code"
|
|
2716
2690
|
id="weekly-orking-ays-source">
|
|
2717
2691
|
<pre>
|
|
2718
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2692
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 480</span>
|
|
2693
|
+
480: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weeklyWorkingDays</span>
|
|
2694
|
+
481: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'yearlyworkingdays'</span>] <span class="ruby-operator">/</span> <span class="ruby-value">52.1429</span>
|
|
2695
|
+
482: <span class="ruby-keyword kw">end</span></pre>
|
|
2722
2696
|
</div>
|
|
2723
2697
|
|
|
2724
2698
|
</div>
|
|
@@ -2751,10 +2725,10 @@ Return the average number of working days per year.
|
|
|
2751
2725
|
<div class="method-source-code"
|
|
2752
2726
|
id="yearly-orking-ays-source">
|
|
2753
2727
|
<pre>
|
|
2754
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2728
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 490</span>
|
|
2729
|
+
490: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">yearlyWorkingDays</span>
|
|
2730
|
+
491: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'yearlyworkingdays'</span>].<span class="ruby-identifier">to_f</span>
|
|
2731
|
+
492: <span class="ruby-keyword kw">end</span></pre>
|
|
2758
2732
|
</div>
|
|
2759
2733
|
|
|
2760
2734
|
</div>
|
|
@@ -2791,31 +2765,31 @@ Return the average number of working days per year.
|
|
|
2791
2765
|
<div class="method-source-code"
|
|
2792
2766
|
id="finish-cenario-source">
|
|
2793
2767
|
<pre>
|
|
2794
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2768
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 922</span>
|
|
2769
|
+
922: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">finishScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2770
|
+
923: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Checking scenario #{scenario(scIdx).get('name')}"</span>)
|
|
2771
|
+
924: <span class="ruby-identifier">total</span> = <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">items</span>
|
|
2772
|
+
925: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2773
|
+
926: <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2774
|
+
927: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">finishScheduling</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2775
|
+
928: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2776
|
+
929: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>((<span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">total</span>) * <span class="ruby-value">0.5</span>)
|
|
2777
|
+
930: <span class="ruby-keyword kw">end</span>
|
|
2778
|
+
931:
|
|
2779
|
+
932: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2780
|
+
933: <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2781
|
+
934: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">postScheduleCheck</span>(<span class="ruby-identifier">scIdx</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
|
2782
|
+
935: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2783
|
+
936: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.5</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">total</span>) * <span class="ruby-value">0.5</span>)
|
|
2784
|
+
937: <span class="ruby-keyword kw">end</span>
|
|
2785
|
+
938:
|
|
2786
|
+
939: <span class="ruby-comment cmt"># This should be really fast so we don't log progess.</span>
|
|
2787
|
+
940: <span class="ruby-ivar">@resources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
|
2788
|
+
941: <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">postScheduleCheck</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2803
2789
|
942: <span class="ruby-keyword kw">end</span>
|
|
2804
2790
|
943:
|
|
2805
|
-
944: <span class="ruby-
|
|
2806
|
-
945:
|
|
2807
|
-
946: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">postScheduleCheck</span>(<span class="ruby-identifier">scIdx</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
|
2808
|
-
947: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2809
|
-
948: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.5</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">total</span>) * <span class="ruby-value">0.5</span>)
|
|
2810
|
-
949: <span class="ruby-keyword kw">end</span>
|
|
2811
|
-
950:
|
|
2812
|
-
951: <span class="ruby-comment cmt"># This should be really fast so we don't log progess.</span>
|
|
2813
|
-
952: <span class="ruby-ivar">@resources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
|
2814
|
-
953: <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">postScheduleCheck</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2815
|
-
954: <span class="ruby-keyword kw">end</span>
|
|
2816
|
-
955:
|
|
2817
|
-
956: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2818
|
-
957: <span class="ruby-keyword kw">end</span></pre>
|
|
2791
|
+
944: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2792
|
+
945: <span class="ruby-keyword kw">end</span></pre>
|
|
2819
2793
|
</div>
|
|
2820
2794
|
|
|
2821
2795
|
</div>
|
|
@@ -2846,72 +2820,73 @@ Return the average number of working days per year.
|
|
|
2846
2820
|
<div class="method-source-code"
|
|
2847
2821
|
id="prepare-cenario-source">
|
|
2848
2822
|
<pre>
|
|
2849
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2823
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 855</span>
|
|
2824
|
+
855: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prepareScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2825
|
+
856: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-value str">"Preparing scenario "</span> <span class="ruby-operator">+</span>
|
|
2826
|
+
857: <span class="ruby-node">"#{scenario(scIdx).get('name')}"</span>)
|
|
2827
|
+
858: <span class="ruby-identifier">resources</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@resources</span>)
|
|
2828
|
+
859: <span class="ruby-identifier">tasks</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@tasks</span>)
|
|
2829
|
+
860:
|
|
2830
|
+
861: <span class="ruby-comment cmt"># Compile a list of leaf resources that are actually used in this</span>
|
|
2831
|
+
862: <span class="ruby-comment cmt"># project.</span>
|
|
2832
|
+
863: <span class="ruby-identifier">usedResources</span> = []
|
|
2833
|
+
864: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2834
|
+
865: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">candidates</span>(<span class="ruby-identifier">scIdx</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
|
2835
|
+
866: <span class="ruby-identifier">usedResources</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">resource</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">usedResources</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">resource</span>)
|
|
2836
|
+
867: <span class="ruby-keyword kw">end</span>
|
|
2837
|
+
868: <span class="ruby-keyword kw">end</span>
|
|
2838
|
+
869: <span class="ruby-identifier">total</span> = <span class="ruby-identifier">usedResources</span>.<span class="ruby-identifier">length</span>
|
|
2839
|
+
870: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2840
|
+
871: <span class="ruby-identifier">usedResources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
|
2841
|
+
872: <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">prepareScheduling</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2842
|
+
873: <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">preScheduleCheck</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2843
|
+
874: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2844
|
+
875: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>((<span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">total</span>) * <span class="ruby-value">0.8</span>)
|
|
2845
|
+
876: <span class="ruby-keyword kw">end</span>
|
|
2846
|
+
877:
|
|
2847
|
+
878: <span class="ruby-identifier">resources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">setDirectReports</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2848
|
+
879: <span class="ruby-identifier">resources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">setReports</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2849
|
+
880:
|
|
2850
|
+
881: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">prepareScheduling</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2851
|
+
882: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-constant">Xref</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2852
|
+
883: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">propagateInitialValues</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2853
|
+
884: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">preScheduleCheck</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2854
|
+
885:
|
|
2855
|
+
886: <span class="ruby-comment cmt"># Check for dependency loops in the task graph.</span>
|
|
2856
|
+
887: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">resetLoopFlags</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2857
|
+
888: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2858
|
+
889: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">checkForLoops</span>(<span class="ruby-identifier">scIdx</span>, [], <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
|
2859
|
+
890: <span class="ruby-keyword kw">end</span>
|
|
2860
|
+
891: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.85</span>)
|
|
2861
|
+
892: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">resetLoopFlags</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2862
|
+
893: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2863
|
+
894: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">checkForLoops</span>(<span class="ruby-identifier">scIdx</span>, [], <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
|
2864
|
+
895: <span class="ruby-keyword kw">end</span>
|
|
2865
|
+
896: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.87</span>)
|
|
2879
2866
|
897:
|
|
2880
|
-
898: <span class="ruby-comment cmt">#
|
|
2881
|
-
899: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">
|
|
2882
|
-
900: <span class="ruby-
|
|
2883
|
-
901:
|
|
2884
|
-
902: <span class="ruby-
|
|
2885
|
-
903: <span class="ruby-
|
|
2886
|
-
904: <span class="ruby-
|
|
2887
|
-
905: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-
|
|
2888
|
-
906:
|
|
2889
|
-
907: <span class="ruby-
|
|
2890
|
-
908: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0
|
|
2867
|
+
898: <span class="ruby-comment cmt"># Compute the criticalness of the tasks and their pathes.</span>
|
|
2868
|
+
899: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">countResourceAllocations</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2869
|
+
900: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.88</span>)
|
|
2870
|
+
901: <span class="ruby-identifier">resources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span> <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">calcCriticalness</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2871
|
+
902: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.9</span>)
|
|
2872
|
+
903: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">calcCriticalness</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2873
|
+
904: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.95</span>)
|
|
2874
|
+
905: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">calcPathCriticalness</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2875
|
+
906: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0.99</span>)
|
|
2876
|
+
907: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">check</span>
|
|
2877
|
+
908: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">1.0</span>)
|
|
2891
2878
|
909:
|
|
2892
|
-
910: <span class="ruby-
|
|
2893
|
-
911: <span class="ruby-
|
|
2894
|
-
912: <span class="ruby-
|
|
2895
|
-
913:
|
|
2896
|
-
914:
|
|
2897
|
-
915:
|
|
2898
|
-
916:
|
|
2899
|
-
917:
|
|
2900
|
-
918:
|
|
2901
|
-
919: <span class="ruby-
|
|
2902
|
-
920:
|
|
2903
|
-
921:
|
|
2904
|
-
922: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2905
|
-
923: <span class="ruby-comment cmt"># This is used for debugging only</span>
|
|
2906
|
-
924: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">false</span>
|
|
2907
|
-
925: <span class="ruby-identifier">resources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
|
2908
|
-
926: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{resource}"</span>
|
|
2909
|
-
927: <span class="ruby-keyword kw">end</span>
|
|
2910
|
-
928: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2911
|
-
929: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{task}"</span>
|
|
2912
|
-
930: <span class="ruby-keyword kw">end</span>
|
|
2913
|
-
931: <span class="ruby-keyword kw">end</span>
|
|
2914
|
-
932: <span class="ruby-keyword kw">end</span></pre>
|
|
2879
|
+
910: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2880
|
+
911: <span class="ruby-comment cmt"># This is used for debugging only</span>
|
|
2881
|
+
912: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">false</span>
|
|
2882
|
+
913: <span class="ruby-identifier">resources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
|
|
2883
|
+
914: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{resource}"</span>
|
|
2884
|
+
915: <span class="ruby-keyword kw">end</span>
|
|
2885
|
+
916: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2886
|
+
917: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{task}"</span>
|
|
2887
|
+
918: <span class="ruby-keyword kw">end</span>
|
|
2888
|
+
919: <span class="ruby-keyword kw">end</span>
|
|
2889
|
+
920: <span class="ruby-keyword kw">end</span></pre>
|
|
2915
2890
|
</div>
|
|
2916
2891
|
|
|
2917
2892
|
</div>
|
|
@@ -2945,87 +2920,85 @@ index <tt>scIdx</tt>.
|
|
|
2945
2920
|
<div class="method-source-code"
|
|
2946
2921
|
id="schedule-cenario-source">
|
|
2947
2922
|
<pre>
|
|
2948
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2923
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 948</span>
|
|
2924
|
+
948: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scheduleScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2925
|
+
949: <span class="ruby-identifier">tasks</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@tasks</span>)
|
|
2926
|
+
950: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">task</span>.<span class="ruby-identifier">leaf?</span> }
|
|
2927
|
+
951:
|
|
2928
|
+
952: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">enter</span>(<span class="ruby-value str">'scheduleScenario'</span>, <span class="ruby-node">"#{tasks.length} leaf tasks"</span>)
|
|
2929
|
+
953: <span class="ruby-comment cmt"># The sorting of the work item list determines which tasks will get their</span>
|
|
2930
|
+
954: <span class="ruby-comment cmt"># resources first. The first sorting criterium is the user specified task</span>
|
|
2931
|
+
955: <span class="ruby-comment cmt"># priority. The second criterium is the scheduler determined priority</span>
|
|
2932
|
+
956: <span class="ruby-comment cmt"># stored in the pathcriticalness attribute. That way, the user can always</span>
|
|
2933
|
+
957: <span class="ruby-comment cmt"># override the scheduler determined priority. To always have a defined</span>
|
|
2934
|
+
958: <span class="ruby-comment cmt"># order, the third criterium is the sequence number.</span>
|
|
2935
|
+
959: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">setSorting</span>([ [ <span class="ruby-value str">'priority'</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">scIdx</span> ],
|
|
2936
|
+
960: [ <span class="ruby-value str">'pathcriticalness'</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">scIdx</span> ],
|
|
2937
|
+
961: [ <span class="ruby-value str">'seqno'</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">1</span> ] ])
|
|
2938
|
+
962: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">sort!</span>
|
|
2939
|
+
963: <span class="ruby-identifier">totalTasks</span> = <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">length</span>
|
|
2940
|
+
964:
|
|
2941
|
+
965: <span class="ruby-comment cmt"># Enter the main scheduling loop. This loop is only terminated when all</span>
|
|
2942
|
+
966: <span class="ruby-comment cmt"># tasks have been scheduled or another thread has set the breakFlag to</span>
|
|
2943
|
+
967: <span class="ruby-comment cmt"># true.</span>
|
|
2944
|
+
968: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-value str">"Scheduling scenario "</span> <span class="ruby-operator">+</span>
|
|
2945
|
+
969: <span class="ruby-node">"#{scenario(scIdx).get('name')}"</span>)
|
|
2946
|
+
970: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
|
2947
|
+
971: <span class="ruby-comment cmt"># The main scheduler loop only needs to look at the first task that is</span>
|
|
2948
|
+
972: <span class="ruby-comment cmt"># ready to be scheduled.</span>
|
|
2949
|
+
973: <span class="ruby-identifier">workItems</span> = <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">to_ary</span>
|
|
2950
|
+
974:
|
|
2951
|
+
975: <span class="ruby-comment cmt"># Count the already completed tasks.</span>
|
|
2952
|
+
976: <span class="ruby-identifier">completedTasks</span> = <span class="ruby-value">0</span>
|
|
2953
|
+
977: <span class="ruby-identifier">workItems</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
|
|
2954
|
+
978: <span class="ruby-identifier">completedTasks</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>[<span class="ruby-value str">'scheduled'</span>, <span class="ruby-identifier">scIdx</span>]
|
|
2955
|
+
979: <span class="ruby-keyword kw">end</span>
|
|
2956
|
+
980:
|
|
2957
|
+
981: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-identifier">completedTasks</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">totalTasks</span>)
|
|
2958
|
+
982: <span class="ruby-comment cmt"># Remove all tasks that are not ready for scheduling yet.</span>
|
|
2959
|
+
983: <span class="ruby-identifier">workItems</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">task</span>.<span class="ruby-identifier">readyForScheduling?</span>(<span class="ruby-identifier">scIdx</span>) }
|
|
2960
|
+
984:
|
|
2961
|
+
985: <span class="ruby-comment cmt"># Check if we are done.</span>
|
|
2962
|
+
986: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">workItems</span>.<span class="ruby-identifier">empty?</span>
|
|
2963
|
+
987:
|
|
2964
|
+
988: <span class="ruby-comment cmt"># The first task in the list is the one with the highes priority and</span>
|
|
2965
|
+
989: <span class="ruby-comment cmt"># the largest path criticalness that is ready to be scheduled.</span>
|
|
2966
|
+
990: <span class="ruby-identifier">task</span> = <span class="ruby-identifier">workItems</span>[<span class="ruby-value">0</span>]
|
|
2967
|
+
991: <span class="ruby-comment cmt"># Schedule it.</span>
|
|
2968
|
+
992: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span>.<span class="ruby-identifier">schedule</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2969
|
+
993: <span class="ruby-constant">Log</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"Task #{task.fullId}: #{task['start', scIdx]} -> "</span> <span class="ruby-operator">+</span>
|
|
2970
|
+
994: <span class="ruby-node">"#{task['end', scIdx]}"</span>
|
|
2971
|
+
995: <span class="ruby-keyword kw">end</span>
|
|
2972
|
+
996: <span class="ruby-keyword kw">end</span>
|
|
2973
|
+
997: <span class="ruby-identifier">unscheduledTasks</span> = []
|
|
2974
|
+
998: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unscheduledTasks</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">t</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">t</span>[<span class="ruby-value str">'scheduled'</span>, <span class="ruby-identifier">scIdx</span>] }
|
|
2988
2975
|
999:
|
|
2989
|
-
1000:
|
|
2990
|
-
1001:
|
|
2991
|
-
1002:
|
|
2992
|
-
1003: <span class="ruby-
|
|
2993
|
-
1004:
|
|
2994
|
-
1005: <span class="ruby-
|
|
2995
|
-
1006:
|
|
2996
|
-
1007: <span class="ruby-keyword kw">
|
|
2997
|
-
1008:
|
|
2998
|
-
1009:
|
|
2999
|
-
1010:
|
|
3000
|
-
1011:
|
|
3001
|
-
1012:
|
|
3002
|
-
1013:
|
|
3003
|
-
1014:
|
|
3004
|
-
1015:
|
|
3005
|
-
1016:
|
|
3006
|
-
1017:
|
|
3007
|
-
1018: <span class="ruby-
|
|
3008
|
-
1019: <span class="ruby-
|
|
3009
|
-
1020:
|
|
3010
|
-
1021:
|
|
3011
|
-
1022:
|
|
3012
|
-
1023:
|
|
3013
|
-
1024:
|
|
3014
|
-
1025:
|
|
3015
|
-
1026: <span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>))
|
|
3016
|
-
1027: <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">message</span>)
|
|
3017
|
-
1028:
|
|
3018
|
-
1029: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
3019
|
-
1030: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">>=</span> <span class="ruby-value">10</span>
|
|
3020
|
-
1031: <span class="ruby-keyword kw">end</span>
|
|
3021
|
-
1032: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
3022
|
-
1033: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
3023
|
-
1034: <span class="ruby-keyword kw">end</span>
|
|
3024
|
-
1035:
|
|
3025
|
-
1036: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
3026
|
-
1037: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'scheduleScenario'</span>, <span class="ruby-node">"Scheduling of scenario #{scIdx} finished"</span>)
|
|
3027
|
-
1038: <span class="ruby-keyword kw">true</span>
|
|
3028
|
-
1039: <span class="ruby-keyword kw">end</span></pre>
|
|
2976
|
+
1000: <span class="ruby-comment cmt"># Check for unscheduled tasks and report the first 10 of them as</span>
|
|
2977
|
+
1001: <span class="ruby-comment cmt"># warnings.</span>
|
|
2978
|
+
1002: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">unscheduledTasks</span>.<span class="ruby-identifier">empty?</span>
|
|
2979
|
+
1003: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">warning</span>(
|
|
2980
|
+
1004: <span class="ruby-value str">'unscheduled_tasks'</span>,
|
|
2981
|
+
1005: <span class="ruby-node">"#{unscheduledTasks.length} tasks could not be scheduled"</span>)
|
|
2982
|
+
1006: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2983
|
+
1007: <span class="ruby-identifier">unscheduledTasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
|
|
2984
|
+
1008: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">warning</span>(
|
|
2985
|
+
1009: <span class="ruby-value str">'unscheduled_task'</span>,
|
|
2986
|
+
1010: <span class="ruby-node">"Task #{t.fullId}: "</span> <span class="ruby-operator">+</span>
|
|
2987
|
+
1011: <span class="ruby-node">"#{t['start', scIdx] ? t['start', scIdx] : '<?>'} -> "</span> <span class="ruby-operator">+</span>
|
|
2988
|
+
1012: <span class="ruby-node">"#{t['end', scIdx] ? t['end', scIdx] : '<?>'}"</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">t</span>,
|
|
2989
|
+
1013: <span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>))
|
|
2990
|
+
1014:
|
|
2991
|
+
1015: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2992
|
+
1016: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">>=</span> <span class="ruby-value">10</span>
|
|
2993
|
+
1017: <span class="ruby-keyword kw">end</span>
|
|
2994
|
+
1018: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2995
|
+
1019: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
2996
|
+
1020: <span class="ruby-keyword kw">end</span>
|
|
2997
|
+
1021:
|
|
2998
|
+
1022: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2999
|
+
1023: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">exit</span>(<span class="ruby-value str">'scheduleScenario'</span>, <span class="ruby-node">"Scheduling of scenario #{scIdx} finished"</span>)
|
|
3000
|
+
1024: <span class="ruby-keyword kw">true</span>
|
|
3001
|
+
1025: <span class="ruby-keyword kw">end</span></pre>
|
|
3029
3002
|
</div>
|
|
3030
3003
|
|
|
3031
3004
|
</div>
|
|
@@ -3062,15 +3035,15 @@ index <tt>scIdx</tt>.
|
|
|
3062
3035
|
<div class="method-source-code"
|
|
3063
3036
|
id="matching-eports-source">
|
|
3064
3037
|
<pre>
|
|
3065
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3038
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 1029</span>
|
|
3039
|
+
1029: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matchingReports</span>(<span class="ruby-identifier">reportId</span>)
|
|
3040
|
+
1030: <span class="ruby-identifier">list</span> = []
|
|
3041
|
+
1031: <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
|
|
3042
|
+
1032: <span class="ruby-identifier">id</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">fullId</span>
|
|
3043
|
+
1033: <span class="ruby-identifier">list</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">reportId</span>) <span class="ruby-operator">=~</span> <span class="ruby-identifier">id</span>
|
|
3044
|
+
1034: <span class="ruby-keyword kw">end</span>
|
|
3045
|
+
1035: <span class="ruby-identifier">list</span>
|
|
3046
|
+
1036: <span class="ruby-keyword kw">end</span></pre>
|
|
3074
3047
|
</div>
|
|
3075
3048
|
|
|
3076
3049
|
</div>
|