taskjuggler 0.0.3 → 0.0.4
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/benchmarks/UTF-8-Strings.rb +58 -0
- data/data/css/tjmanual.css +52 -0
- data/data/css/tjreport.css +195 -0
- data/data/icons/details.png +0 -0
- data/data/icons/flag-green.png +0 -0
- data/data/icons/flag-red.png +0 -0
- data/data/icons/flag-yellow.png +0 -0
- data/data/icons/resource.png +0 -0
- data/data/icons/resourcegroup.png +0 -0
- data/data/icons/task.png +0 -0
- data/data/icons/taskgroup.png +0 -0
- data/data/icons/trend-down.png +0 -0
- data/data/icons/trend-flat.png +0 -0
- data/data/icons/trend-up.png +0 -0
- data/data/scripts/wz_tooltip.js +1301 -0
- data/doc/classes/AppConfig.html +298 -230
- data/doc/classes/Arguments.html +8 -8
- data/doc/classes/Object.html +7 -7
- data/doc/classes/String.html +89 -89
- data/doc/classes/TaskJuggler.html +396 -264
- data/doc/classes/TaskJuggler/Account.html +18 -18
- data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
- data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
- data/doc/classes/TaskJuggler/Allocation.html +30 -30
- data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
- data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
- data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
- data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
- data/doc/classes/TaskJuggler/Booking.html +18 -18
- data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
- data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
- data/doc/classes/TaskJuggler/CSVFile.html +24 -24
- data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
- data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
- data/doc/classes/TaskJuggler/Charge.html +18 -18
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
- data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
- data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
- data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
- data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
- data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
- data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
- data/doc/classes/TaskJuggler/GanttChart.html +48 -48
- data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
- data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
- data/doc/classes/TaskJuggler/GanttLine.html +24 -24
- data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
- data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
- data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
- data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
- data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
- data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
- data/doc/classes/TaskJuggler/Interval.html +57 -57
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
- data/doc/classes/TaskJuggler/JobInfo.html +68 -12
- data/doc/classes/TaskJuggler/Journal.html +266 -20
- data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
- data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
- data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
- data/doc/classes/TaskJuggler/Limits.html +36 -36
- data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
- data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
- data/doc/classes/TaskJuggler/Log.html +145 -107
- data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
- data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
- data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
- data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
- data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
- data/doc/classes/TaskJuggler/Macro.html +6 -6
- data/doc/classes/TaskJuggler/MacroParser.html +36 -36
- data/doc/classes/TaskJuggler/MacroTable.html +37 -37
- data/doc/classes/TaskJuggler/Message.html +12 -12
- data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
- data/doc/classes/TaskJuggler/Navigator.html +110 -46
- data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
- data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
- data/doc/classes/TaskJuggler/Project.html +1158 -893
- data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
- data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
- data/doc/classes/TaskJuggler/PropertyList.html +225 -155
- data/doc/classes/TaskJuggler/PropertySet.html +375 -332
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
- data/doc/classes/TaskJuggler/Query.html +404 -139
- data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
- data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
- data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
- data/doc/classes/TaskJuggler/RealFormat.html +18 -18
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
- data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
- data/doc/classes/TaskJuggler/Report.html +66 -64
- data/doc/classes/TaskJuggler/ReportBase.html +112 -123
- data/doc/classes/TaskJuggler/ReportContext.html +43 -38
- data/doc/classes/TaskJuggler/ReportServer.html +320 -0
- data/doc/classes/TaskJuggler/ReportTable.html +42 -42
- data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
- data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
- data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
- data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
- data/doc/classes/TaskJuggler/Resource.html +12 -12
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
- data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
- data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
- data/doc/classes/TaskJuggler/RichText.html +64 -248
- data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
- data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
- data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
- data/doc/classes/TaskJuggler/RichTextException.html +13 -13
- data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
- data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
- data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
- data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
- data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
- data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
- data/doc/classes/TaskJuggler/Scenario.html +6 -6
- data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
- data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
- data/doc/classes/TaskJuggler/Shift.html +18 -18
- data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
- data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
- data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
- data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
- data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
- data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
- data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
- data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
- data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
- data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
- data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
- data/doc/classes/TaskJuggler/TableReport.html +447 -468
- data/doc/classes/TaskJuggler/Task.html +12 -12
- data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
- data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
- data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
- data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
- data/doc/classes/TaskJuggler/TextParser.html +215 -194
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
- data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
- data/doc/classes/TaskJuggler/TextReport.html +77 -74
- data/doc/classes/TaskJuggler/TextScanner.html +294 -281
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
- data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
- data/doc/classes/TaskJuggler/TjException.html +6 -6
- data/doc/classes/TaskJuggler/TjTime.html +522 -513
- data/doc/classes/TaskJuggler/TjpExample.html +25 -25
- data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
- data/doc/classes/TaskJuggler/UserManual.html +212 -213
- data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
- data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
- data/doc/classes/TaskJuggler/XMLComment.html +21 -21
- data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
- data/doc/classes/TaskJuggler/XMLElement.html +86 -50
- data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
- data/doc/classes/TaskJuggler/XMLText.html +36 -36
- data/doc/files/COPYING.html +1 -1
- data/doc/files/README.html +1 -1
- data/doc/files/lib/AccountScenario_rb.html +3 -2
- data/doc/files/lib/Account_rb.html +3 -2
- data/doc/files/lib/Allocation_rb.html +3 -2
- data/doc/files/lib/AppConfig_rb.html +5 -2
- data/doc/files/lib/AttributeBase_rb.html +3 -2
- data/doc/files/lib/AttributeDefinition_rb.html +3 -2
- data/doc/files/lib/Attributes_rb.html +3 -2
- data/doc/files/lib/BatchProcessor_rb.html +4 -3
- data/doc/files/lib/Booking_rb.html +3 -2
- data/doc/files/lib/ChargeSet_rb.html +3 -2
- data/doc/files/lib/Charge_rb.html +3 -2
- data/doc/files/lib/HTMLDocument_rb.html +3 -2
- data/doc/files/lib/Interval_rb.html +3 -2
- data/doc/files/lib/Journal_rb.html +4 -3
- data/doc/files/lib/KeywordArray_rb.html +3 -2
- data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
- data/doc/files/lib/Limits_rb.html +3 -2
- data/doc/files/lib/Log_rb.html +3 -2
- data/doc/files/lib/LogicalExpression_rb.html +3 -2
- data/doc/files/lib/LogicalFunction_rb.html +3 -2
- data/doc/files/lib/LogicalOperation_rb.html +3 -2
- data/doc/files/lib/MacroParser_rb.html +3 -2
- data/doc/files/lib/MacroTable_rb.html +3 -2
- data/doc/files/lib/MessageHandler_rb.html +3 -2
- data/doc/files/lib/Message_rb.html +3 -2
- data/doc/files/lib/ProjectFileParser_rb.html +7 -4
- data/doc/files/lib/Project_rb.html +3 -2
- data/doc/files/lib/PropertyList_rb.html +3 -2
- data/doc/files/lib/PropertySet_rb.html +3 -2
- data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
- data/doc/files/lib/Query_rb.html +3 -2
- data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
- data/doc/files/lib/RTFQuery_rb.html +121 -0
- data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
- data/doc/files/lib/RealFormat_rb.html +3 -2
- data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
- data/doc/files/lib/ReportServer_rb.html +107 -0
- data/doc/files/lib/ResourceScenario_rb.html +3 -2
- data/doc/files/lib/Resource_rb.html +3 -2
- data/doc/files/lib/RichTextDocument_rb.html +4 -3
- data/doc/files/lib/RichTextElement_rb.html +3 -2
- data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
- data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
- data/doc/files/lib/RichTextParser_rb.html +3 -2
- data/doc/files/lib/RichTextScanner_rb.html +3 -2
- data/doc/files/lib/RichTextSnip_rb.html +3 -2
- data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
- data/doc/files/lib/RichText_rb.html +3 -2
- data/doc/files/lib/ScenarioData_rb.html +3 -2
- data/doc/files/lib/Scenario_rb.html +3 -2
- data/doc/files/lib/Scoreboard_rb.html +3 -2
- data/doc/files/lib/ShiftAssignments_rb.html +3 -2
- data/doc/files/lib/ShiftScenario_rb.html +3 -2
- data/doc/files/lib/Shift_rb.html +3 -2
- data/doc/files/lib/SourceFileInfo_rb.html +3 -2
- data/doc/files/lib/SyntaxReference_rb.html +3 -2
- data/doc/files/lib/TOCEntry_rb.html +3 -2
- data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
- data/doc/files/lib/TableOfContents_rb.html +3 -2
- data/doc/files/lib/TaskDependency_rb.html +3 -2
- data/doc/files/lib/TaskJuggler_rb.html +7 -2
- data/doc/files/lib/TaskScenario_rb.html +3 -2
- data/doc/files/lib/Task_rb.html +3 -2
- data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
- data/doc/files/lib/TextParser/Rule_rb.html +4 -3
- data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
- data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
- data/doc/files/lib/TextParser_rb.html +3 -2
- data/doc/files/lib/TextScanner_rb.html +3 -2
- data/doc/files/lib/Tj3Config_rb.html +3 -2
- data/doc/files/lib/TjException_rb.html +3 -2
- data/doc/files/lib/TjTime_rb.html +3 -2
- data/doc/files/lib/TjpExample_rb.html +3 -2
- data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
- data/doc/files/lib/UTF8String_rb.html +14 -6
- data/doc/files/lib/UserManual_rb.html +6 -3
- data/doc/files/lib/WorkingHours_rb.html +3 -2
- data/doc/files/lib/XMLDocument_rb.html +3 -2
- data/doc/files/lib/XMLElement_rb.html +3 -2
- data/doc/files/lib/deep_copy_rb.html +3 -2
- data/doc/files/lib/reports/CSVFile_rb.html +3 -2
- data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
- data/doc/files/lib/reports/GanttChart_rb.html +3 -2
- data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
- data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
- data/doc/files/lib/reports/GanttLine_rb.html +3 -2
- data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
- data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
- data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
- data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
- data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
- data/doc/files/lib/reports/Navigator_rb.html +3 -2
- data/doc/files/lib/reports/ReportBase_rb.html +3 -2
- data/doc/files/lib/reports/ReportContext_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
- data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
- data/doc/files/lib/reports/ReportTable_rb.html +3 -2
- data/doc/files/lib/reports/Report_rb.html +7 -2
- data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
- data/doc/files/lib/reports/TableReport_rb.html +3 -2
- data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
- data/doc/files/lib/reports/TextReport_rb.html +4 -3
- data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
- data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
- data/doc/files/lib/taskjuggler3_rb.html +94 -77
- data/doc/files/lib/tj3client_rb.html +280 -0
- data/doc/files/lib/tj3man_rb.html +10 -9
- data/doc/fr_class_index.html +27 -5
- data/doc/fr_file_index.html +15 -7
- data/doc/fr_method_index.html +1312 -1020
- data/examples/tutorial.tjp +113 -14
- data/gem_spec.rb +2 -1
- data/lib/Account.rb +1 -1
- data/lib/AccountScenario.rb +1 -1
- data/lib/Allocation.rb +1 -1
- data/lib/AppConfig.rb +23 -10
- data/lib/AttributeBase.rb +34 -6
- data/lib/AttributeDefinition.rb +1 -1
- data/lib/Attributes.rb +51 -16
- data/lib/BatchProcessor.rb +204 -77
- data/lib/Booking.rb +1 -1
- data/lib/Charge.rb +1 -1
- data/lib/ChargeSet.rb +1 -1
- data/lib/HTMLDocument.rb +2 -2
- data/lib/Interval.rb +1 -1
- data/lib/Journal.rb +231 -9
- data/lib/KeywordArray.rb +1 -1
- data/lib/KeywordDocumentation.rb +6 -4
- data/lib/Limits.rb +1 -1
- data/lib/Log.rb +8 -1
- data/lib/LogicalExpression.rb +14 -13
- data/lib/LogicalFunction.rb +88 -14
- data/lib/LogicalOperation.rb +124 -53
- data/lib/MacroParser.rb +1 -1
- data/lib/MacroTable.rb +2 -2
- data/lib/Message.rb +1 -1
- data/lib/MessageHandler.rb +7 -3
- data/lib/Project.rb +93 -14
- data/lib/ProjectFileParser.rb +30 -15
- data/lib/PropertyList.rb +103 -36
- data/lib/PropertySet.rb +22 -10
- data/lib/PropertyTreeNode.rb +120 -15
- data/lib/Query.rb +119 -48
- data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
- data/lib/RTFQuery.rb +166 -0
- data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
- data/lib/RealFormat.rb +1 -1
- data/lib/RemoteServiceManager.rb +80 -0
- data/lib/ReportServer.rb +66 -0
- data/lib/Resource.rb +1 -1
- data/lib/ResourceScenario.rb +48 -19
- data/lib/RichText.rb +98 -41
- data/lib/RichTextDocument.rb +10 -8
- data/lib/RichTextElement.rb +72 -28
- data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
- data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
- data/lib/RichTextParser.rb +6 -3
- data/lib/RichTextScanner.rb +91 -19
- data/lib/RichTextSnip.rb +8 -3
- data/lib/RichTextSyntaxRules.rb +103 -45
- data/lib/Scenario.rb +1 -1
- data/lib/ScenarioData.rb +2 -2
- data/lib/Scoreboard.rb +1 -1
- data/lib/Shift.rb +1 -1
- data/lib/ShiftAssignments.rb +1 -1
- data/lib/ShiftScenario.rb +1 -1
- data/lib/SourceFileInfo.rb +1 -1
- data/lib/SyntaxReference.rb +2 -2
- data/lib/TOCEntry.rb +1 -1
- data/lib/TableColumnDefinition.rb +59 -16
- data/lib/TableOfContents.rb +1 -1
- data/lib/Task.rb +1 -1
- data/lib/TaskDependency.rb +1 -1
- data/lib/TaskJuggler.rb +31 -8
- data/lib/TaskScenario.rb +165 -16
- data/lib/TextParser.rb +36 -22
- data/lib/TextParser/Pattern.rb +3 -3
- data/lib/TextParser/Rule.rb +2 -2
- data/lib/TextParser/StackElement.rb +4 -3
- data/lib/TextParser/TokenDoc.rb +2 -2
- data/lib/TextScanner.rb +52 -37
- data/lib/Tj3Config.rb +6 -5
- data/lib/TjException.rb +1 -1
- data/lib/TjTime.rb +12 -3
- data/lib/TjpExample.rb +1 -1
- data/lib/TjpSyntaxRules.rb +1044 -150
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +18 -70
- data/lib/WorkingHours.rb +3 -3
- data/lib/XMLDocument.rb +3 -2
- data/lib/XMLElement.rb +6 -1
- data/lib/deep_copy.rb +1 -1
- data/lib/reports/CSVFile.rb +1 -1
- data/lib/reports/ColumnTable.rb +9 -9
- data/lib/reports/GanttChart.rb +1 -1
- data/lib/reports/GanttContainer.rb +1 -1
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttHeaderScaleItem.rb +1 -1
- data/lib/reports/GanttLine.rb +40 -40
- data/lib/reports/GanttLoadStack.rb +1 -1
- data/lib/reports/GanttMilestone.rb +1 -1
- data/lib/reports/GanttRouter.rb +1 -1
- data/lib/reports/GanttTaskBar.rb +1 -1
- data/lib/reports/HTMLGraphics.rb +1 -1
- data/lib/reports/Navigator.rb +149 -22
- data/lib/reports/Report.rb +115 -172
- data/lib/reports/ReportBase.rb +22 -27
- data/lib/reports/ReportContext.rb +29 -15
- data/lib/reports/ReportTable.rb +1 -1
- data/lib/reports/ReportTableCell.rb +120 -27
- data/lib/reports/ReportTableColumn.rb +3 -3
- data/lib/reports/ReportTableLegend.rb +1 -1
- data/lib/reports/ReportTableLine.rb +10 -2
- data/lib/reports/ResourceListRE.rb +5 -1
- data/lib/reports/TableReport.rb +237 -287
- data/lib/reports/TaskListRE.rb +5 -1
- data/lib/reports/TextReport.rb +7 -4
- data/lib/reports/TimeSheetReport.rb +233 -0
- data/lib/reports/TjpExportRE.rb +2 -2
- data/lib/taskjuggler3.rb +27 -11
- data/lib/tj3client.rb +110 -0
- data/lib/tj3man.rb +4 -4
- data/manual/Getting_Started +0 -50
- data/manual/How_To_Contribute +6 -13
- data/manual/Installation +102 -28
- data/manual/Intro +11 -1
- data/manual/Reporting_Bugs +23 -7
- data/manual/Rich_Text_Attributes +59 -6
- data/manual/TaskJuggler_2x_Migration +27 -0
- data/manual/The_TaskJuggler_Syntax +104 -0
- data/manual/Tutorial +10 -9
- data/prj_cfg.rb +8 -2
- data/tasks/csts.rake +1 -1
- data/tasks/manual.rake +5 -3
- data/test/MessageChecker.rb +1 -1
- data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
- data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
- data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
- data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
- data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
- data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
- data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
- data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
- data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
- data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
- data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
- data/test/all.rb +2 -2
- data/test/test_BatchProcessor.rb +42 -13
- data/test/test_CSV-Reports.rb +1 -1
- data/test/test_Journal.rb +176 -0
- data/test/test_Limits.rb +1 -1
- data/test/test_LogicalExpression.rb +14 -5
- data/test/test_MacroTable.rb +1 -1
- data/test/test_Project.rb +1 -1
- data/test/test_PropertySet.rb +1 -1
- data/test/test_Query.rb +1 -1
- data/test/test_RealFormat.rb +1 -1
- data/test/test_RichText.rb +30 -20
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +2 -2
- data/test/test_Syntax.rb +1 -1
- data/test/test_TextScanner.rb +1 -1
- data/test/test_TjTime.rb +1 -1
- data/test/test_TjpExample.rb +1 -1
- data/test/test_UTF8String.rb +1 -1
- data/test/test_WorkingHours.rb +1 -1
- data/test/test_deep_copy.rb +2 -2
- metadata +610 -532
- data/doc/files/lib/ms_test_rb.html +0 -90
- data/examples/ContactList.html +0 -1467
- data/examples/Deliveries.html +0 -485
- data/examples/Development.html +0 -2525
- data/examples/Overview.html +0 -747
- data/examples/Resource Graph.html +0 -616
- data/lib/ms_test.rb +0 -27
- data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
|
@@ -117,67 +117,79 @@ list of known Attributes.
|
|
|
117
117
|
|
|
118
118
|
<div class="name-list">
|
|
119
119
|
|
|
120
|
-
<a href="#
|
|
120
|
+
<a href="#M000756">[]</a>
|
|
121
121
|
|
|
122
|
-
<a href="#
|
|
122
|
+
<a href="#M000757">[]=</a>
|
|
123
123
|
|
|
124
|
-
<a href="#
|
|
124
|
+
<a href="#M000770">account</a>
|
|
125
125
|
|
|
126
|
-
<a href="#
|
|
126
|
+
<a href="#M000762">alertLevelColor</a>
|
|
127
127
|
|
|
128
|
-
<a href="#
|
|
128
|
+
<a href="#M000760">alertLevelId</a>
|
|
129
129
|
|
|
130
|
-
<a href="#
|
|
130
|
+
<a href="#M000759">alertLevelIndex</a>
|
|
131
131
|
|
|
132
|
-
<a href="#
|
|
132
|
+
<a href="#M000761">alertLevelName</a>
|
|
133
133
|
|
|
134
|
-
<a href="#
|
|
134
|
+
<a href="#M000784">attributeName</a>
|
|
135
135
|
|
|
136
|
-
<a href="#
|
|
136
|
+
<a href="#M000779">convertToDailyLoad</a>
|
|
137
137
|
|
|
138
|
-
<a href="#
|
|
138
|
+
<a href="#M000763">dailyWorkingHours</a>
|
|
139
139
|
|
|
140
|
-
<a href="#
|
|
140
|
+
<a href="#M000782">dateToIdx</a>
|
|
141
141
|
|
|
142
|
-
<a href="#
|
|
142
|
+
<a href="#M000754">deep_clone</a>
|
|
143
143
|
|
|
144
|
-
<a href="#
|
|
144
|
+
<a href="#M000786">error</a>
|
|
145
145
|
|
|
146
|
-
<a href="#
|
|
146
|
+
<a href="#M000788">finishScenario</a>
|
|
147
147
|
|
|
148
|
-
<a href="#
|
|
148
|
+
<a href="#M000777">generateReport</a>
|
|
149
149
|
|
|
150
|
-
<a href="#
|
|
150
|
+
<a href="#M000776">generateReports</a>
|
|
151
151
|
|
|
152
|
-
<a href="#
|
|
152
|
+
<a href="#M000781">idxToDate</a>
|
|
153
153
|
|
|
154
|
-
<a href="#
|
|
154
|
+
<a href="#M000778">isWorkingTime</a>
|
|
155
155
|
|
|
156
|
-
<a href="#
|
|
156
|
+
<a href="#M000783">maxScheduleGranularity</a>
|
|
157
157
|
|
|
158
|
-
<a href="#
|
|
158
|
+
<a href="#M000765">monthlyWorkingDays</a>
|
|
159
159
|
|
|
160
|
-
<a href="#
|
|
160
|
+
<a href="#M000753">new</a>
|
|
161
161
|
|
|
162
|
-
<a href="#
|
|
162
|
+
<a href="#M000787">prepareScenario</a>
|
|
163
163
|
|
|
164
|
-
<a href="#
|
|
164
|
+
<a href="#M000773">report</a>
|
|
165
165
|
|
|
166
|
-
<a href="#
|
|
166
|
+
<a href="#M000774">reportByName</a>
|
|
167
167
|
|
|
168
|
-
<a href="#
|
|
168
|
+
<a href="#M000772">resource</a>
|
|
169
169
|
|
|
170
|
-
<a href="#
|
|
170
|
+
<a href="#M000767">scenario</a>
|
|
171
171
|
|
|
172
|
-
<a href="#
|
|
172
|
+
<a href="#M000758">scenarioCount</a>
|
|
173
173
|
|
|
174
|
-
<a href="#
|
|
174
|
+
<a href="#M000768">scenarioIdx</a>
|
|
175
175
|
|
|
176
|
-
<a href="#
|
|
176
|
+
<a href="#M000775">schedule</a>
|
|
177
177
|
|
|
178
|
-
<a href="#
|
|
178
|
+
<a href="#M000789">scheduleScenario</a>
|
|
179
179
|
|
|
180
|
-
<a href="#
|
|
180
|
+
<a href="#M000780">scoreboardSize</a>
|
|
181
|
+
|
|
182
|
+
<a href="#M000755">sendMessage</a>
|
|
183
|
+
|
|
184
|
+
<a href="#M000769">shift</a>
|
|
185
|
+
|
|
186
|
+
<a href="#M000771">task</a>
|
|
187
|
+
|
|
188
|
+
<a href="#M000785">to_s</a>
|
|
189
|
+
|
|
190
|
+
<a href="#M000764">weeklyWorkingDays</a>
|
|
191
|
+
|
|
192
|
+
<a href="#M000766">yearlyWorkingDays</a>
|
|
181
193
|
|
|
182
194
|
</div>
|
|
183
195
|
</div>
|
|
@@ -280,12 +292,12 @@ list of known Attributes.
|
|
|
280
292
|
<h3 class="section-bar">Public Class methods</h3>
|
|
281
293
|
|
|
282
294
|
|
|
283
|
-
<div id="method-
|
|
284
|
-
<a name="
|
|
295
|
+
<div id="method-M000783" class="method-detail">
|
|
296
|
+
<a name="M000783"></a>
|
|
285
297
|
|
|
286
298
|
<div class="method-heading">
|
|
287
299
|
|
|
288
|
-
<a href="#
|
|
300
|
+
<a href="#M000783" class="method-signature">
|
|
289
301
|
|
|
290
302
|
<span class="method-name">maxScheduleGranularity</span><span class="method-args">()</span>
|
|
291
303
|
|
|
@@ -303,27 +315,27 @@ granularity is reduced.
|
|
|
303
315
|
</p>
|
|
304
316
|
|
|
305
317
|
<p><a class="source-toggle" href="#"
|
|
306
|
-
onclick="toggleCode('
|
|
307
|
-
<div class="method-source-code" id="
|
|
318
|
+
onclick="toggleCode('M000783-source');return false;">[Source]</a></p>
|
|
319
|
+
<div class="method-source-code" id="M000783-source">
|
|
308
320
|
<pre>
|
|
309
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
321
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 743</span>
|
|
322
|
+
743: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Project</span>.<span class="ruby-identifier">maxScheduleGranularity</span>
|
|
323
|
+
744: <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>)
|
|
324
|
+
745: <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>)
|
|
325
|
+
746: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
|
|
326
|
+
747: <span class="ruby-comment cmt"># We are hour-aligned to UTC; scheduleGranularity is 1 hour</span>
|
|
327
|
+
748: <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>
|
|
328
|
+
749: <span class="ruby-keyword kw">when</span> <span class="ruby-value">30</span>
|
|
329
|
+
750: <span class="ruby-comment cmt"># We are half-hour off from UTC; scheduleGranularity is 30 minutes</span>
|
|
330
|
+
751: <span class="ruby-value">30</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>
|
|
331
|
+
752: <span class="ruby-keyword kw">when</span> <span class="ruby-value">15</span>, <span class="ruby-value">45</span>
|
|
332
|
+
753: <span class="ruby-comment cmt"># We are 15 or 45 minutes off from UTC; scheduleGranularity is 15</span>
|
|
333
|
+
754: <span class="ruby-comment cmt"># minutes</span>
|
|
334
|
+
755: <span class="ruby-value">15</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>
|
|
335
|
+
756: <span class="ruby-keyword kw">else</span>
|
|
336
|
+
757: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown Time zone alignment #{min}"</span>
|
|
337
|
+
758: <span class="ruby-keyword kw">end</span>
|
|
338
|
+
759: <span class="ruby-keyword kw">end</span>
|
|
327
339
|
</pre>
|
|
328
340
|
</div>
|
|
329
341
|
|
|
@@ -331,12 +343,12 @@ granularity is reduced.
|
|
|
331
343
|
</div>
|
|
332
344
|
|
|
333
345
|
|
|
334
|
-
<div id="method-
|
|
335
|
-
<a name="
|
|
346
|
+
<div id="method-M000753" class="method-detail">
|
|
347
|
+
<a name="M000753"></a>
|
|
336
348
|
|
|
337
349
|
<div class="method-heading">
|
|
338
350
|
|
|
339
|
-
<a href="#
|
|
351
|
+
<a href="#M000753" class="method-signature">
|
|
340
352
|
|
|
341
353
|
<span class="method-name">new</span><span class="method-args">(id, name, version, messageHandler)</span>
|
|
342
354
|
|
|
@@ -355,313 +367,334 @@ The constructor will set default values for all project attributes.
|
|
|
355
367
|
</p>
|
|
356
368
|
|
|
357
369
|
<p><a class="source-toggle" href="#"
|
|
358
|
-
onclick="toggleCode('
|
|
359
|
-
<div class="method-source-code" id="
|
|
370
|
+
onclick="toggleCode('M000753-source');return false;">[Source]</a></p>
|
|
371
|
+
<div class="method-source-code" id="M000753-source">
|
|
360
372
|
<pre>
|
|
361
373
|
<span class="ruby-comment cmt"># File lib/Project.rb, line 56</span>
|
|
362
374
|
56: <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>)
|
|
363
375
|
57: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
|
|
364
376
|
58: <span class="ruby-ivar">@attributes</span> = {
|
|
365
|
-
59: <span class="ruby-
|
|
366
|
-
60: <span class="ruby-
|
|
367
|
-
61: <span class="ruby-
|
|
368
|
-
62: <span class="ruby-
|
|
369
|
-
63: <span class="ruby-
|
|
370
|
-
64: <span class="ruby-value str">'
|
|
371
|
-
65:
|
|
372
|
-
66:
|
|
373
|
-
67:
|
|
374
|
-
68: <span class="ruby-value str">'
|
|
375
|
-
69: <span class="ruby-value str">'
|
|
376
|
-
70: <span class="ruby-value str">'
|
|
377
|
-
71: <span class="ruby-value str">'
|
|
378
|
-
72: <span class="ruby-value str">'
|
|
379
|
-
73: <span class="ruby-value str">'
|
|
380
|
-
74: <span class="ruby-value str">'
|
|
381
|
-
75: <span class="ruby-value str">'
|
|
382
|
-
76: <span class="ruby-value str">'
|
|
383
|
-
77: <span class="ruby-value str">'
|
|
384
|
-
78: <span class="ruby-value str">'
|
|
385
|
-
79: <span class="ruby-value str">'
|
|
386
|
-
80: <span class="ruby-value str">'
|
|
387
|
-
81: <span class="ruby-value str">'
|
|
388
|
-
82: <span class="ruby-value str">'
|
|
389
|
-
83: <span class="ruby-value str">'
|
|
390
|
-
84: <span class="ruby-value str">'
|
|
391
|
-
85: <span class="ruby-value str">'
|
|
392
|
-
86: <span class="ruby-value str">'
|
|
393
|
-
87: <span class="ruby-value str">'
|
|
394
|
-
88:
|
|
395
|
-
89:
|
|
396
|
-
90:
|
|
397
|
-
91:
|
|
398
|
-
92:
|
|
399
|
-
93:
|
|
400
|
-
94:
|
|
401
|
-
95:
|
|
402
|
-
96:
|
|
403
|
-
97:
|
|
404
|
-
98:
|
|
405
|
-
99:
|
|
406
|
-
100:
|
|
407
|
-
101:
|
|
408
|
-
102:
|
|
409
|
-
103:
|
|
410
|
-
104:
|
|
411
|
-
105:
|
|
412
|
-
106:
|
|
413
|
-
107:
|
|
414
|
-
108:
|
|
415
|
-
109:
|
|
416
|
-
110:
|
|
417
|
-
111:
|
|
418
|
-
112:
|
|
419
|
-
113:
|
|
420
|
-
114:
|
|
421
|
-
115:
|
|
422
|
-
116: <span class="ruby-
|
|
423
|
-
117:
|
|
424
|
-
118:
|
|
425
|
-
119:
|
|
426
|
-
120:
|
|
427
|
-
121:
|
|
428
|
-
122:
|
|
429
|
-
123:
|
|
430
|
-
124:
|
|
431
|
-
125:
|
|
432
|
-
126:
|
|
433
|
-
127: [ <span class="ruby-value str">'
|
|
434
|
-
128: <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
|
|
435
|
-
129: [ <span class="ruby-value str">'
|
|
436
|
-
130: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
437
|
-
131:
|
|
438
|
-
132:
|
|
439
|
-
133:
|
|
440
|
-
134:
|
|
441
|
-
135:
|
|
442
|
-
136:
|
|
443
|
-
137: <span class="ruby-
|
|
444
|
-
138:
|
|
445
|
-
139:
|
|
446
|
-
140:
|
|
447
|
-
141:
|
|
448
|
-
142:
|
|
449
|
-
143:
|
|
450
|
-
144:
|
|
451
|
-
145: <span class="ruby-identifier">attrs</span
|
|
452
|
-
146:
|
|
453
|
-
147:
|
|
454
|
-
148:
|
|
455
|
-
149:
|
|
456
|
-
150: <span class="ruby-
|
|
457
|
-
151:
|
|
458
|
-
152:
|
|
459
|
-
153:
|
|
460
|
-
154:
|
|
461
|
-
155:
|
|
462
|
-
156:
|
|
463
|
-
157:
|
|
464
|
-
158:
|
|
465
|
-
159:
|
|
466
|
-
160:
|
|
467
|
-
161:
|
|
468
|
-
162:
|
|
469
|
-
163: [ <span class="ruby-value str">'
|
|
470
|
-
164: <span class="ruby-keyword kw">
|
|
471
|
-
165: [ <span class="ruby-value str">'
|
|
472
|
-
166: <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">
|
|
473
|
-
167: [ <span class="ruby-value str">'
|
|
474
|
-
168: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
475
|
-
169: [ <span class="ruby-value str">'
|
|
476
|
-
170: <span class="ruby-keyword kw">
|
|
477
|
-
171: [ <span class="ruby-value str">'
|
|
478
|
-
172: <span class="ruby-keyword kw">
|
|
479
|
-
173: [ <span class="ruby-value str">'
|
|
480
|
-
174: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
481
|
-
175: [ <span class="ruby-value str">'
|
|
482
|
-
176: <span class="ruby-keyword kw">true</span>,
|
|
483
|
-
177: [ <span class="ruby-value str">'
|
|
484
|
-
178: <span class="ruby-keyword kw">
|
|
485
|
-
179: [ <span class="ruby-value str">'
|
|
486
|
-
180: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">
|
|
487
|
-
181: [ <span class="ruby-value str">'
|
|
488
|
-
182: <span class="ruby-keyword kw">
|
|
489
|
-
183: [ <span class="ruby-value str">'
|
|
490
|
-
184: <span class="ruby-keyword kw">
|
|
491
|
-
185: [ <span class="ruby-value str">'
|
|
492
|
-
186: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-
|
|
493
|
-
187:
|
|
494
|
-
188:
|
|
495
|
-
189:
|
|
496
|
-
190:
|
|
497
|
-
191:
|
|
498
|
-
192:
|
|
499
|
-
193: <span class="ruby-
|
|
500
|
-
194:
|
|
501
|
-
195:
|
|
502
|
-
196:
|
|
503
|
-
197:
|
|
504
|
-
198:
|
|
505
|
-
199:
|
|
506
|
-
200:
|
|
507
|
-
201:
|
|
508
|
-
202:
|
|
509
|
-
203:
|
|
510
|
-
204:
|
|
511
|
-
205:
|
|
512
|
-
206: [ <span class="ruby-value str">'
|
|
513
|
-
207: <span class="ruby-keyword kw">
|
|
514
|
-
208: [ <span class="ruby-value str">'
|
|
515
|
-
209: <span class="ruby-keyword kw">
|
|
516
|
-
210: [ <span class="ruby-value str">'
|
|
517
|
-
211: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
518
|
-
212: [ <span class="ruby-value str">'
|
|
519
|
-
213: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
520
|
-
214: [ <span class="ruby-value str">'
|
|
521
|
-
215: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
522
|
-
216: [ <span class="ruby-value str">'
|
|
523
|
-
217: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
524
|
-
218: [ <span class="ruby-value str">'
|
|
525
|
-
219: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
526
|
-
220: [ <span class="ruby-value str">'
|
|
377
|
+
59: <span class="ruby-comment cmt"># This nested Array defines the supported alert levels. The lowest</span>
|
|
378
|
+
60: <span class="ruby-comment cmt"># level comes first at index 0 and the level rises from there on.</span>
|
|
379
|
+
61: <span class="ruby-comment cmt"># Currently, these levels are hardcoded. Each level entry has 3</span>
|
|
380
|
+
62: <span class="ruby-comment cmt"># members: the tjp syntax token, the user visible name and the</span>
|
|
381
|
+
63: <span class="ruby-comment cmt"># associated color as RGB byte array.</span>
|
|
382
|
+
64: <span class="ruby-value str">'alertLevels'</span> =<span class="ruby-operator">></span> [
|
|
383
|
+
65: [ <span class="ruby-value str">'green'</span>, <span class="ruby-value str">'Green'</span>, <span class="ruby-value str">'#008000'</span> ],
|
|
384
|
+
66: [ <span class="ruby-value str">'yellow'</span>, <span class="ruby-value str">'Yellow'</span>, <span class="ruby-value str">'#BEA800'</span> ],
|
|
385
|
+
67: [ <span class="ruby-value str">'red'</span>, <span class="ruby-value str">'Red'</span>, <span class="ruby-value str">'#C00000'</span> ] ],
|
|
386
|
+
68: <span class="ruby-value str">'copyright'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
387
|
+
69: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
388
|
+
70: <span class="ruby-value str">'currency'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"EUR"</span>,
|
|
389
|
+
71: <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> ]),
|
|
390
|
+
72: <span class="ruby-value str">'dailyworkinghours'</span> =<span class="ruby-operator">></span> <span class="ruby-value">8.0</span>,
|
|
391
|
+
73: <span class="ruby-value str">'end'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
392
|
+
74: <span class="ruby-value str">'flags'</span> =<span class="ruby-operator">></span> [],
|
|
393
|
+
75: <span class="ruby-value str">'journal'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Journal</span>.<span class="ruby-identifier">new</span>,
|
|
394
|
+
76: <span class="ruby-value str">'limits'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
395
|
+
77: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:shortauto</span>,
|
|
396
|
+
78: <span class="ruby-value str">'name'</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">name</span>,
|
|
397
|
+
79: <span class="ruby-value str">'navigators'</span> =<span class="ruby-operator">></span> {},
|
|
398
|
+
80: <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>),
|
|
399
|
+
81: <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>]),
|
|
400
|
+
82: <span class="ruby-value str">'priority'</span> =<span class="ruby-operator">></span> <span class="ruby-value">500</span>,
|
|
401
|
+
83: <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>,
|
|
402
|
+
84: <span class="ruby-value str">'projectids'</span> =<span class="ruby-operator">></span> [ <span class="ruby-identifier">id</span> ],
|
|
403
|
+
85: <span class="ruby-value str">'rate'</span> =<span class="ruby-operator">></span> <span class="ruby-value">0</span><span class="ruby-value">.0</span>,
|
|
404
|
+
86: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
405
|
+
87: <span class="ruby-value str">'scheduleGranularity'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Project</span>.<span class="ruby-identifier">maxScheduleGranularity</span>,
|
|
406
|
+
88: <span class="ruby-value str">'shortTimeFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"%H:%M"</span>,
|
|
407
|
+
89: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
408
|
+
90: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"%Y-%m-%d"</span>,
|
|
409
|
+
91: <span class="ruby-value str">'timezone'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>,
|
|
410
|
+
92: <span class="ruby-value str">'trackingScenarioIdx'</span> =<span class="ruby-operator">></span> <span class="ruby-value">0</span>,
|
|
411
|
+
93: <span class="ruby-value str">'vacations'</span> =<span class="ruby-operator">></span> [],
|
|
412
|
+
94: <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>,
|
|
413
|
+
95: <span class="ruby-value str">'weekStartsMonday'</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">true</span>,
|
|
414
|
+
96: <span class="ruby-value str">'workinghours'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">WorkingHours</span>.<span class="ruby-identifier">new</span>,
|
|
415
|
+
97: <span class="ruby-value str">'yearlyworkingdays'</span> =<span class="ruby-operator">></span> <span class="ruby-value">260.714</span>
|
|
416
|
+
98: }
|
|
417
|
+
99:
|
|
418
|
+
100: <span class="ruby-comment cmt"># Before we can add any properties to this project, we need to define the</span>
|
|
419
|
+
101: <span class="ruby-comment cmt"># attributes that each of the property types will be using. In TaskJuggler</span>
|
|
420
|
+
102: <span class="ruby-comment cmt"># lingo, properties of a project are resources, tasks, accounts, shifts</span>
|
|
421
|
+
103: <span class="ruby-comment cmt"># and scenarios. Each of these properties can have lots of further</span>
|
|
422
|
+
104: <span class="ruby-comment cmt"># information attached to it. These bits of information are called</span>
|
|
423
|
+
105: <span class="ruby-comment cmt"># attributes. An attribute is defined by the AttributeDefinition class.</span>
|
|
424
|
+
106: <span class="ruby-comment cmt"># The PropertySet objects need to be fed with a list of such attribute</span>
|
|
425
|
+
107: <span class="ruby-comment cmt"># definitions to register the attributes with the properties.</span>
|
|
426
|
+
108: <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>)
|
|
427
|
+
109: <span class="ruby-identifier">attrs</span> = [
|
|
428
|
+
110: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
429
|
+
111: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
430
|
+
112: [ <span class="ruby-value str">'enabled'</span>, <span class="ruby-value str">'Enabled'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
431
|
+
113: <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> ],
|
|
432
|
+
114: [ <span class="ruby-value str">'minslackrate'</span>, <span class="ruby-value str">'Min. Slack Rate'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
433
|
+
115: <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> ],
|
|
434
|
+
116: [ <span class="ruby-value str">'projection'</span>, <span class="ruby-value str">'Projection Mode'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
435
|
+
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">false</span> ],
|
|
436
|
+
118: [ <span class="ruby-value str">'strict'</span>, <span class="ruby-value str">'Strict Bookings'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
437
|
+
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-keyword kw">false</span> ]
|
|
438
|
+
120: ]
|
|
439
|
+
121: <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-operator">*</span><span class="ruby-identifier">a</span>)) }
|
|
440
|
+
122:
|
|
441
|
+
123: <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>)
|
|
442
|
+
124: <span class="ruby-identifier">attrs</span> = [
|
|
443
|
+
125: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
444
|
+
126: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
445
|
+
127: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
446
|
+
128: <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> ],
|
|
447
|
+
129: [ <span class="ruby-value str">'replace'</span>, <span class="ruby-value str">'Replace'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
448
|
+
130: <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> ],
|
|
449
|
+
131: [ <span class="ruby-value str">'timezone'</span>, <span class="ruby-value str">'Time Zone'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
450
|
+
132: <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> ],
|
|
451
|
+
133: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
452
|
+
134: <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> ],
|
|
453
|
+
135: [ <span class="ruby-value str">'vacations'</span>, <span class="ruby-value str">'Vacations'</span>, <span class="ruby-constant">IntervalListAttribute</span>,
|
|
454
|
+
136: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
455
|
+
137: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
456
|
+
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> ],
|
|
457
|
+
139: [ <span class="ruby-value str">'workinghours'</span>, <span class="ruby-value str">'Working Hours'</span>, <span class="ruby-constant">WorkingHoursAttribute</span>,
|
|
458
|
+
140: <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> ]
|
|
459
|
+
141: ]
|
|
460
|
+
142: <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-operator">*</span><span class="ruby-identifier">a</span>)) }
|
|
461
|
+
143:
|
|
462
|
+
144: <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>)
|
|
463
|
+
145: <span class="ruby-identifier">attrs</span> = [
|
|
464
|
+
146: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
465
|
+
147: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
466
|
+
148: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
467
|
+
149: <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> ],
|
|
468
|
+
150: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
469
|
+
151: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
470
|
+
152: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
471
|
+
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 str">""</span> ],
|
|
472
|
+
154: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
473
|
+
155: <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> ]
|
|
474
|
+
156: ]
|
|
475
|
+
157: <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-operator">*</span><span class="ruby-identifier">a</span>)) }
|
|
476
|
+
158:
|
|
477
|
+
159: <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>)
|
|
478
|
+
160: <span class="ruby-identifier">attrs</span> = [
|
|
479
|
+
161: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
480
|
+
162: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
481
|
+
163: [ <span class="ruby-value str">'alloctdeffort'</span>, <span class="ruby-value str">'Alloctd. Effort'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
482
|
+
164: <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><span class="ruby-value">.0</span> ],
|
|
483
|
+
165: [ <span class="ruby-value str">'criticalness'</span>, <span class="ruby-value str">'Criticalness'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
484
|
+
166: <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><span class="ruby-value">.0</span> ],
|
|
485
|
+
167: [ <span class="ruby-value str">'duties'</span>, <span class="ruby-value str">'Duties'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
486
|
+
168: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
487
|
+
169: [ <span class="ruby-value str">'efficiency'</span>,<span class="ruby-value str">'Efficiency'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
488
|
+
170: <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> ],
|
|
489
|
+
171: [ <span class="ruby-value str">'effort'</span>, <span class="ruby-value str">'Total Effort'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
490
|
+
172: <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> ],
|
|
491
|
+
173: [ <span class="ruby-value str">'email'</span>, <span class="ruby-value str">'Email'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
492
|
+
174: <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> ],
|
|
493
|
+
175: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
494
|
+
176: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
495
|
+
177: [ <span class="ruby-value str">'fte'</span>, <span class="ruby-value str">'FTE'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
496
|
+
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">1.0</span> ],
|
|
497
|
+
179: [ <span class="ruby-value str">'headcount'</span>, <span class="ruby-value str">'Headcount'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
498
|
+
180: <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> ],
|
|
499
|
+
181: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
500
|
+
182: <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> ],
|
|
501
|
+
183: [ <span class="ruby-value str">'limits'</span>, <span class="ruby-value str">'Limits'</span>, <span class="ruby-constant">LimitsAttribute</span>,
|
|
502
|
+
184: <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> ],
|
|
503
|
+
185: [ <span class="ruby-value str">'rate'</span>, <span class="ruby-value str">'Rate'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
504
|
+
186: <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</span><span class="ruby-value">.0</span> ],
|
|
505
|
+
187: [ <span class="ruby-value str">'shifts'</span>, <span class="ruby-value str">'Shifts'</span>, <span class="ruby-constant">ShiftAssignmentsAttribute</span>,
|
|
506
|
+
188: <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> ],
|
|
507
|
+
189: [ <span class="ruby-value str">'timezone'</span>, <span class="ruby-value str">'Time Zone'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
508
|
+
190: <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> ],
|
|
509
|
+
191: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
510
|
+
192: <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> ],
|
|
511
|
+
193: [ <span class="ruby-value str">'vacations'</span>, <span class="ruby-value str">'Vacations'</span>, <span class="ruby-constant">IntervalListAttribute</span>,
|
|
512
|
+
194: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
513
|
+
195: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
514
|
+
196: <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> ],
|
|
515
|
+
197: [ <span class="ruby-value str">'workinghours'</span>, <span class="ruby-value str">'Working Hours'</span>, <span class="ruby-constant">WorkingHoursAttribute</span>,
|
|
516
|
+
198: <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> ]
|
|
517
|
+
199: ]
|
|
518
|
+
200: <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-operator">*</span><span class="ruby-identifier">a</span>)) }
|
|
519
|
+
201:
|
|
520
|
+
202: <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>)
|
|
521
|
+
203: <span class="ruby-identifier">attrs</span> = [
|
|
522
|
+
204: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
523
|
+
205: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
524
|
+
206: [ <span class="ruby-value str">'allocate'</span>, <span class="ruby-value str">'Allocations'</span>, <span class="ruby-constant">AllocationAttribute</span>,
|
|
525
|
+
207: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
526
|
+
208: [ <span class="ruby-value str">'assignedresources'</span>, <span class="ruby-value str">'Assigned Resources'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
527
|
+
209: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
528
|
+
210: [ <span class="ruby-value str">'booking'</span>, <span class="ruby-value str">'Bookings'</span>, <span class="ruby-constant">BookingListAttribute</span>,
|
|
529
|
+
211: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
530
|
+
212: [ <span class="ruby-value str">'charge'</span>, <span class="ruby-value str">'Charges'</span>, <span class="ruby-constant">ChargeListAttribute</span>,
|
|
531
|
+
213: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
532
|
+
214: [ <span class="ruby-value str">'chargeset'</span>, <span class="ruby-value str">'Charge Sets'</span>, <span class="ruby-constant">ChargeSetListAttribute</span>,
|
|
533
|
+
215: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
534
|
+
216: [ <span class="ruby-value str">'complete'</span>, <span class="ruby-value str">'Completion'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
535
|
+
217: <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> ],
|
|
536
|
+
218: [ <span class="ruby-value str">'criticalness'</span>, <span class="ruby-value str">'Criticalness'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
537
|
+
219: <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><span class="ruby-value">.0</span> ],
|
|
538
|
+
220: [ <span class="ruby-value str">'depends'</span>, <span class="ruby-value str">'Preceding tasks'</span>, <span class="ruby-constant">DependencyListAttribute</span>,
|
|
527
539
|
221: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
528
|
-
222: [ <span class="ruby-value str">'
|
|
529
|
-
223: <span class="ruby-keyword kw">
|
|
530
|
-
224: [ <span class="ruby-value str">'
|
|
531
|
-
225: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">
|
|
532
|
-
226: [ <span class="ruby-value str">'
|
|
533
|
-
227: <span class="ruby-keyword kw">
|
|
534
|
-
228: [ <span class="ruby-value str">'
|
|
535
|
-
229: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
536
|
-
230: [ <span class="ruby-value str">'
|
|
537
|
-
231: <span class="ruby-keyword kw">
|
|
538
|
-
232: [ <span class="ruby-value str">'
|
|
539
|
-
233: <span class="ruby-keyword kw">
|
|
540
|
-
234: [ <span class="ruby-value str">'
|
|
541
|
-
235: <span class="ruby-keyword kw">
|
|
542
|
-
236: [ <span class="ruby-value str">'
|
|
543
|
-
237: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">
|
|
544
|
-
238: [ <span class="ruby-value str">'
|
|
545
|
-
239: <span class="ruby-keyword kw">
|
|
546
|
-
240: [ <span class="ruby-value str">'
|
|
547
|
-
241: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">
|
|
548
|
-
242: [ <span class="ruby-value str">'
|
|
549
|
-
243: <span class="ruby-keyword kw">
|
|
550
|
-
244: [ <span class="ruby-value str">'
|
|
551
|
-
245: <span class="ruby-keyword kw">
|
|
552
|
-
246: [ <span class="ruby-value str">'
|
|
553
|
-
247: <span class="ruby-keyword kw">
|
|
554
|
-
248: [ <span class="ruby-value str">'
|
|
555
|
-
249: <span class="ruby-keyword kw">
|
|
556
|
-
250: [ <span class="ruby-value str">'
|
|
557
|
-
251: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
558
|
-
252: [ <span class="ruby-value str">'
|
|
559
|
-
253: <span class="ruby-keyword kw">
|
|
560
|
-
254: [ <span class="ruby-value str">'
|
|
561
|
-
255: <span class="ruby-keyword kw">
|
|
562
|
-
256: [ <span class="ruby-value str">'
|
|
563
|
-
257: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>,
|
|
564
|
-
258: [ <span class="ruby-value str">'
|
|
565
|
-
259: <span class="ruby-keyword kw">
|
|
566
|
-
260: [ <span class="ruby-value str">'
|
|
567
|
-
261: <span class="ruby-keyword kw">
|
|
568
|
-
262: [ <span class="ruby-value str">'
|
|
569
|
-
263: <span class="ruby-keyword kw">
|
|
570
|
-
264: [ <span class="ruby-value str">'
|
|
571
|
-
265: <span class="ruby-keyword kw">
|
|
572
|
-
266:
|
|
573
|
-
267:
|
|
574
|
-
268:
|
|
575
|
-
269:
|
|
576
|
-
270:
|
|
577
|
-
271:
|
|
578
|
-
272: <span class="ruby-
|
|
579
|
-
273:
|
|
580
|
-
274:
|
|
581
|
-
275:
|
|
582
|
-
276:
|
|
583
|
-
277:
|
|
584
|
-
278:
|
|
585
|
-
279:
|
|
586
|
-
280:
|
|
587
|
-
281:
|
|
588
|
-
282:
|
|
589
|
-
283:
|
|
590
|
-
284:
|
|
591
|
-
285:
|
|
592
|
-
286:
|
|
593
|
-
287: [ <span class="ruby-value str">'
|
|
540
|
+
222: [ <span class="ruby-value str">'duration'</span>, <span class="ruby-value str">'Duration'</span>, <span class="ruby-constant">DurationAttribute</span>,
|
|
541
|
+
223: <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> ],
|
|
542
|
+
224: [ <span class="ruby-value str">'effort'</span>, <span class="ruby-value str">'Effort'</span>, <span class="ruby-constant">DurationAttribute</span>,
|
|
543
|
+
225: <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> ],
|
|
544
|
+
226: [ <span class="ruby-value str">'end'</span>, <span class="ruby-value str">'End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
545
|
+
227: <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> ],
|
|
546
|
+
228: [ <span class="ruby-value str">'endpreds'</span>, <span class="ruby-value str">'End Preds.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
547
|
+
229: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
548
|
+
230: [ <span class="ruby-value str">'endsuccs'</span>, <span class="ruby-value str">'End Succs.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
549
|
+
231: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
550
|
+
232: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
551
|
+
233: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
552
|
+
234: [ <span class="ruby-value str">'forward'</span>, <span class="ruby-value str">'Scheduling'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
553
|
+
235: <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> ],
|
|
554
|
+
236: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
555
|
+
237: <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> ],
|
|
556
|
+
238: [ <span class="ruby-value str">'length'</span>, <span class="ruby-value str">'Length'</span>, <span class="ruby-constant">DurationAttribute</span>,
|
|
557
|
+
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> ],
|
|
558
|
+
240: [ <span class="ruby-value str">'limits'</span>, <span class="ruby-value str">'Limits'</span>, <span class="ruby-constant">LimitsAttribute</span>,
|
|
559
|
+
241: <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> ],
|
|
560
|
+
242: [ <span class="ruby-value str">'maxend'</span>, <span class="ruby-value str">'Max. End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
561
|
+
243: <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> ],
|
|
562
|
+
244: [ <span class="ruby-value str">'maxstart'</span>, <span class="ruby-value str">'Max. Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
563
|
+
245: <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> ],
|
|
564
|
+
246: [ <span class="ruby-value str">'milestone'</span>, <span class="ruby-value str">'Milestone'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
565
|
+
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">false</span> ],
|
|
566
|
+
248: [ <span class="ruby-value str">'minend'</span>, <span class="ruby-value str">'Min. End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
567
|
+
249: <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> ],
|
|
568
|
+
250: [ <span class="ruby-value str">'minstart'</span>, <span class="ruby-value str">'Min. Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
569
|
+
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">nil</span> ],
|
|
570
|
+
252: [ <span class="ruby-value str">'note'</span>, <span class="ruby-value str">'Note'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
571
|
+
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-keyword kw">nil</span> ],
|
|
572
|
+
254: [ <span class="ruby-value str">'pathcriticalness'</span>, <span class="ruby-value str">'Path Criticalness'</span>, <span class="ruby-constant">FloatAttribute</span>,
|
|
573
|
+
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><span class="ruby-value">.0</span> ],
|
|
574
|
+
256: [ <span class="ruby-value str">'precedes'</span>, <span class="ruby-value str">'Following tasks'</span>, <span class="ruby-constant">DependencyListAttribute</span>,
|
|
575
|
+
257: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
576
|
+
258: [ <span class="ruby-value str">'priority'</span>, <span class="ruby-value str">'Priority'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
577
|
+
259: <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> ],
|
|
578
|
+
260: [ <span class="ruby-value str">'projectid'</span>, <span class="ruby-value str">'Project ID'</span>, <span class="ruby-constant">SymbolAttribute</span>,
|
|
579
|
+
261: <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> ],
|
|
580
|
+
262: [ <span class="ruby-value str">'responsible'</span>, <span class="ruby-value str">'Responsible'</span>, <span class="ruby-constant">ResourceListAttribute</span>,
|
|
581
|
+
263: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
582
|
+
264: [ <span class="ruby-value str">'scheduled'</span>, <span class="ruby-value str">'Scheduled'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
583
|
+
265: <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> ],
|
|
584
|
+
266: [ <span class="ruby-value str">'shifts'</span>, <span class="ruby-value str">'Shifts'</span>, <span class="ruby-constant">ShiftAssignmentsAttribute</span>,
|
|
585
|
+
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> ],
|
|
586
|
+
268: [ <span class="ruby-value str">'start'</span>, <span class="ruby-value str">'Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
587
|
+
269: <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> ],
|
|
588
|
+
270: [ <span class="ruby-value str">'startpreds'</span>, <span class="ruby-value str">'Start Preds.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
589
|
+
271: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
590
|
+
272: [ <span class="ruby-value str">'startsuccs'</span>, <span class="ruby-value str">'Start Succs.'</span>, <span class="ruby-constant">TaskListAttribute</span>,
|
|
591
|
+
273: <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
592
|
+
274: [ <span class="ruby-value str">'status'</span>, <span class="ruby-value str">'Task Status'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
593
|
+
275: <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> ],
|
|
594
|
+
276: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
595
|
+
277: <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> ],
|
|
596
|
+
278: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
597
|
+
279: <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> ]
|
|
598
|
+
280: ]
|
|
599
|
+
281: <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-operator">*</span><span class="ruby-identifier">a</span>)) }
|
|
600
|
+
282:
|
|
601
|
+
283: <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>)
|
|
602
|
+
284: <span class="ruby-identifier">attrs</span> = [
|
|
603
|
+
285: <span class="ruby-comment cmt"># ID Name Type</span>
|
|
604
|
+
286: <span class="ruby-comment cmt"># Inh. Inh.Prj Scen. Default</span>
|
|
605
|
+
287: [ <span class="ruby-value str">'caption'</span>, <span class="ruby-value str">'Caption'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
594
606
|
288: <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> ],
|
|
595
|
-
289: [ <span class="ruby-value str">'
|
|
607
|
+
289: [ <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'Center'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
596
608
|
290: <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> ],
|
|
597
|
-
291: [ <span class="ruby-value str">'
|
|
609
|
+
291: [ <span class="ruby-value str">'columns'</span>, <span class="ruby-value str">'Columns'</span>, <span class="ruby-constant">ColumnListAttribute</span>,
|
|
598
610
|
292: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [] ],
|
|
599
|
-
293: [ <span class="ruby-value str">'
|
|
600
|
-
294: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
601
|
-
295: [ <span class="ruby-value str">'
|
|
602
|
-
296: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
603
|
-
297: [ <span class="ruby-value str">'
|
|
604
|
-
298: <span class="ruby-keyword kw">
|
|
605
|
-
299: [ <span class="ruby-value str">'
|
|
606
|
-
300: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
607
|
-
301: [ <span class="ruby-value str">'
|
|
608
|
-
302: <span class="ruby-keyword kw">
|
|
609
|
-
303: [ <span class="ruby-value str">'
|
|
610
|
-
304: <span class="ruby-keyword kw">
|
|
611
|
-
305: [ <span class="ruby-value str">'
|
|
611
|
+
293: [ <span class="ruby-value str">'costAccount'</span>, <span class="ruby-value str">'Cost Account'</span>, <span class="ruby-constant">AccountAttribute</span>,
|
|
612
|
+
294: <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> ],
|
|
613
|
+
295: [ <span class="ruby-value str">'currencyFormat'</span>, <span class="ruby-value str">'Currency Format'</span>, <span class="ruby-constant">RealFormatAttribute</span>,
|
|
614
|
+
296: <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> ],
|
|
615
|
+
297: [ <span class="ruby-value str">'definitions'</span>, <span class="ruby-value str">'Definitions'</span>, <span class="ruby-constant">DefinitionListAttribute</span>,
|
|
616
|
+
298: <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> ]) ],
|
|
617
|
+
299: [ <span class="ruby-value str">'end'</span>, <span class="ruby-value str">'End'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
618
|
+
300: <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> ],
|
|
619
|
+
301: [ <span class="ruby-value str">'epilog'</span>, <span class="ruby-value str">'Epilog'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
620
|
+
302: <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> ],
|
|
621
|
+
303: [ <span class="ruby-value str">'flags'</span>, <span class="ruby-value str">'Flags'</span>, <span class="ruby-constant">FlagListAttribute</span>,
|
|
622
|
+
304: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>, [] ],
|
|
623
|
+
305: [ <span class="ruby-value str">'footer'</span>, <span class="ruby-value str">'Footer'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
612
624
|
306: <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> ],
|
|
613
|
-
307: [ <span class="ruby-value str">'
|
|
614
|
-
308: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
615
|
-
309: [ <span class="ruby-value str">'
|
|
616
|
-
310: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
617
|
-
311: [ <span class="ruby-value str">'
|
|
618
|
-
312: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
619
|
-
313: [ <span class="ruby-value str">'
|
|
620
|
-
314: <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>],
|
|
621
|
-
315: [ <span class="ruby-value str">'
|
|
622
|
-
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-
|
|
623
|
-
317: [ <span class="ruby-value str">'
|
|
625
|
+
307: [ <span class="ruby-value str">'formats'</span>, <span class="ruby-value str">'Formats'</span>, <span class="ruby-constant">FormatListAttribute</span>,
|
|
626
|
+
308: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, [] ],
|
|
627
|
+
309: [ <span class="ruby-value str">'ganttBars'</span>, <span class="ruby-value str">'Gantt Bars'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
628
|
+
310: <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> ],
|
|
629
|
+
311: [ <span class="ruby-value str">'header'</span>, <span class="ruby-value str">'Header'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
630
|
+
312: <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> ],
|
|
631
|
+
313: [ <span class="ruby-value str">'headline'</span>, <span class="ruby-value str">'Headline'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
632
|
+
314: <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> ],
|
|
633
|
+
315: [ <span class="ruby-value str">'hideResource'</span>, <span class="ruby-value str">'Hide Resource'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
634
|
+
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-keyword kw">nil</span> ],
|
|
635
|
+
317: [ <span class="ruby-value str">'hideTask'</span>, <span class="ruby-value str">'Hide Task'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
624
636
|
318: <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> ],
|
|
625
|
-
319: [ <span class="ruby-value str">'
|
|
626
|
-
320: <span class="ruby-keyword kw">
|
|
627
|
-
321: [ <span class="ruby-value str">'
|
|
637
|
+
319: [ <span class="ruby-value str">'index'</span>, <span class="ruby-value str">'Index'</span>, <span class="ruby-constant">FixnumAttribute</span>,
|
|
638
|
+
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-value">-1</span> ],
|
|
639
|
+
321: [ <span class="ruby-value str">'left'</span>, <span class="ruby-value str">'Left'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
628
640
|
322: <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> ],
|
|
629
|
-
323: [ <span class="ruby-value str">'
|
|
630
|
-
324: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
631
|
-
325: [ <span class="ruby-value str">'
|
|
632
|
-
326: <span class="ruby-keyword kw">true</span>,
|
|
633
|
-
327: [ <span class="ruby-value str">'
|
|
634
|
-
328: <span class="ruby-keyword kw">true</span>,
|
|
635
|
-
329: [ <span class="ruby-value str">'
|
|
636
|
-
330: <span class="ruby-keyword kw">
|
|
637
|
-
331: [ <span class="ruby-value str">'
|
|
638
|
-
332: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>,
|
|
639
|
-
333: [ <span class="ruby-value str">'
|
|
640
|
-
334: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>,
|
|
641
|
-
335: [ <span class="ruby-value str">'
|
|
641
|
+
323: [ <span class="ruby-value str">'loadUnit'</span>, <span class="ruby-value str">'Load Unit'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
642
|
+
324: <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> ],
|
|
643
|
+
325: [ <span class="ruby-value str">'now'</span>, <span class="ruby-value str">'Now'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
644
|
+
326: <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> ],
|
|
645
|
+
327: [ <span class="ruby-value str">'numberFormat'</span>, <span class="ruby-value str">'Number Format'</span>, <span class="ruby-constant">RealFormatAttribute</span>,
|
|
646
|
+
328: <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> ],
|
|
647
|
+
329: [ <span class="ruby-value str">'prolog'</span>, <span class="ruby-value str">'Prolog'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
648
|
+
330: <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>],
|
|
649
|
+
331: [ <span class="ruby-value str">'resourceAttributes'</span>, <span class="ruby-value str">'Resource Attributes'</span>, <span class="ruby-constant">FormatListAttribute</span>,
|
|
650
|
+
332: <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> ]) ],
|
|
651
|
+
333: [ <span class="ruby-value str">'resourceRoot'</span>, <span class="ruby-value str">'resource Root'</span>, <span class="ruby-constant">PropertyAttribute</span>,
|
|
652
|
+
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> ],
|
|
653
|
+
335: [ <span class="ruby-value str">'revenueAccount'</span>, <span class="ruby-value str">'Revenue Account'</span>, <span class="ruby-constant">AccountAttribute</span>,
|
|
642
654
|
336: <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> ],
|
|
643
|
-
337: [ <span class="ruby-value str">'
|
|
644
|
-
338: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-
|
|
645
|
-
339: [ <span class="ruby-value str">'
|
|
655
|
+
337: [ <span class="ruby-value str">'right'</span>, <span class="ruby-value str">'Right'</span>, <span class="ruby-constant">RichTextAttribute</span>,
|
|
656
|
+
338: <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> ],
|
|
657
|
+
339: [ <span class="ruby-value str">'rollupResource'</span>, <span class="ruby-value str">'Rollup Resource'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
646
658
|
340: <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> ],
|
|
647
|
-
341: [ <span class="ruby-value str">'
|
|
648
|
-
342: <span class="ruby-keyword kw">true</span>,
|
|
649
|
-
343: [ <span class="ruby-value str">'
|
|
650
|
-
344: <span class="ruby-keyword kw">true</span>,
|
|
651
|
-
345: [ <span class="ruby-value str">'
|
|
652
|
-
346: <span class="ruby-keyword kw">
|
|
653
|
-
347: [ <span class="ruby-value str">'
|
|
654
|
-
348: <span class="ruby-keyword kw">
|
|
655
|
-
349: [ <span class="ruby-value str">'
|
|
656
|
-
350: <span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">
|
|
657
|
-
351:
|
|
658
|
-
352:
|
|
659
|
-
353:
|
|
660
|
-
354:
|
|
661
|
-
355:
|
|
662
|
-
356:
|
|
663
|
-
357:
|
|
664
|
-
358:
|
|
659
|
+
341: [ <span class="ruby-value str">'rollupTask'</span>, <span class="ruby-value str">'Rollup Task'</span>, <span class="ruby-constant">LogicalExpressionAttribute</span>,
|
|
660
|
+
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> ],
|
|
661
|
+
343: [ <span class="ruby-value str">'scenarios'</span>, <span class="ruby-value str">'Scenarios'</span>, <span class="ruby-constant">ScenarioListAttribute</span>,
|
|
662
|
+
344: <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> ] ],
|
|
663
|
+
345: [ <span class="ruby-value str">'selfcontained'</span>, <span class="ruby-value str">'Selfcontained'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
664
|
+
346: <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> ],
|
|
665
|
+
347: [ <span class="ruby-value str">'shortTimeFormat'</span>, <span class="ruby-value str">'Short Time Format'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
666
|
+
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> ],
|
|
667
|
+
349: [ <span class="ruby-value str">'sortResources'</span>, <span class="ruby-value str">'Sort Resources'</span>, <span class="ruby-constant">SortListAttribute</span>,
|
|
668
|
+
350: <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> ]] ],
|
|
669
|
+
351: [ <span class="ruby-value str">'sortTasks'</span>, <span class="ruby-value str">'Sort Tasks'</span>, <span class="ruby-constant">SortListAttribute</span>,
|
|
670
|
+
352: <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> ]] ],
|
|
671
|
+
353: [ <span class="ruby-value str">'start'</span>, <span class="ruby-value str">'Start'</span>, <span class="ruby-constant">DateAttribute</span>,
|
|
672
|
+
354: <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> ],
|
|
673
|
+
355: [ <span class="ruby-value str">'taskAttributes'</span>, <span class="ruby-value str">'Task Attributes'</span>, <span class="ruby-constant">FormatListAttribute</span>,
|
|
674
|
+
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-constant">KeywordArray</span>.<span class="ruby-identifier">new</span>([ <span class="ruby-value str">'*'</span> ]) ],
|
|
675
|
+
357: [ <span class="ruby-value str">'taskRoot'</span>, <span class="ruby-value str">'Task Root'</span>, <span class="ruby-constant">PropertyAttribute</span>,
|
|
676
|
+
358: <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> ],
|
|
677
|
+
359: [ <span class="ruby-value str">'timeFormat'</span>, <span class="ruby-value str">'Time Format'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
678
|
+
360: <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> ],
|
|
679
|
+
361: [ <span class="ruby-value str">'timezone'</span>, <span class="ruby-value str">'Time Zone'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
680
|
+
362: <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> ],
|
|
681
|
+
363: [ <span class="ruby-value str">'title'</span>, <span class="ruby-value str">'Title'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
682
|
+
364: <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> ],
|
|
683
|
+
365: [ <span class="ruby-value str">'tree'</span>, <span class="ruby-value str">'Tree Index'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
684
|
+
366: <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> ],
|
|
685
|
+
367: [ <span class="ruby-value str">'wbs'</span>, <span class="ruby-value str">'WBS'</span>, <span class="ruby-constant">StringAttribute</span>,
|
|
686
|
+
368: <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> ],
|
|
687
|
+
369: [ <span class="ruby-value str">'weekStartsMonday'</span>, <span class="ruby-value str">'Week Starts Monday'</span>, <span class="ruby-constant">BooleanAttribute</span>,
|
|
688
|
+
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">false</span> ]
|
|
689
|
+
371: ]
|
|
690
|
+
372: <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-operator">*</span><span class="ruby-identifier">a</span>)) }
|
|
691
|
+
373:
|
|
692
|
+
374: <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>)
|
|
693
|
+
375:
|
|
694
|
+
376: <span class="ruby-comment cmt"># This holds a reference to the ReportContext for each Thread.</span>
|
|
695
|
+
377: <span class="ruby-ivar">@reportContext</span> = <span class="ruby-keyword kw">nil</span>
|
|
696
|
+
378: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
|
|
697
|
+
379: <span class="ruby-keyword kw">end</span>
|
|
665
698
|
</pre>
|
|
666
699
|
</div>
|
|
667
700
|
|
|
@@ -672,12 +705,12 @@ The constructor will set default values for all project attributes.
|
|
|
672
705
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
673
706
|
|
|
674
707
|
|
|
675
|
-
<div id="method-
|
|
676
|
-
<a name="
|
|
708
|
+
<div id="method-M000756" class="method-detail">
|
|
709
|
+
<a name="M000756"></a>
|
|
677
710
|
|
|
678
711
|
<div class="method-heading">
|
|
679
712
|
|
|
680
|
-
<a href="#
|
|
713
|
+
<a href="#M000756" class="method-signature">
|
|
681
714
|
|
|
682
715
|
<span class="method-name">[]</span><span class="method-args">(name)</span>
|
|
683
716
|
|
|
@@ -694,16 +727,16 @@ attribute.
|
|
|
694
727
|
</p>
|
|
695
728
|
|
|
696
729
|
<p><a class="source-toggle" href="#"
|
|
697
|
-
onclick="toggleCode('
|
|
698
|
-
<div class="method-source-code" id="
|
|
730
|
+
onclick="toggleCode('M000756-source');return false;">[Source]</a></p>
|
|
731
|
+
<div class="method-source-code" id="M000756-source">
|
|
699
732
|
<pre>
|
|
700
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
733
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 394</span>
|
|
734
|
+
394: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">name</span>)
|
|
735
|
+
395: <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>)
|
|
736
|
+
396: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown project attribute #{name}"</span>
|
|
737
|
+
397: <span class="ruby-keyword kw">end</span>
|
|
738
|
+
398: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">name</span>]
|
|
739
|
+
399: <span class="ruby-keyword kw">end</span>
|
|
707
740
|
</pre>
|
|
708
741
|
</div>
|
|
709
742
|
|
|
@@ -711,12 +744,12 @@ attribute.
|
|
|
711
744
|
</div>
|
|
712
745
|
|
|
713
746
|
|
|
714
|
-
<div id="method-
|
|
715
|
-
<a name="
|
|
747
|
+
<div id="method-M000757" class="method-detail">
|
|
748
|
+
<a name="M000757"></a>
|
|
716
749
|
|
|
717
750
|
<div class="method-heading">
|
|
718
751
|
|
|
719
|
-
<a href="#
|
|
752
|
+
<a href="#M000757" class="method-signature">
|
|
720
753
|
|
|
721
754
|
<span class="method-name">[]=</span><span class="method-args">(name, value)</span>
|
|
722
755
|
|
|
@@ -732,16 +765,16 @@ to <em>value</em>.
|
|
|
732
765
|
</p>
|
|
733
766
|
|
|
734
767
|
<p><a class="source-toggle" href="#"
|
|
735
|
-
onclick="toggleCode('
|
|
736
|
-
<div class="method-source-code" id="
|
|
768
|
+
onclick="toggleCode('M000757-source');return false;">[Source]</a></p>
|
|
769
|
+
<div class="method-source-code" id="M000757-source">
|
|
737
770
|
<pre>
|
|
738
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
771
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 402</span>
|
|
772
|
+
402: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
|
|
773
|
+
403: <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>)
|
|
774
|
+
404: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown project attribute #{name}"</span>
|
|
775
|
+
405: <span class="ruby-keyword kw">end</span>
|
|
776
|
+
406: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
|
|
777
|
+
407: <span class="ruby-keyword kw">end</span>
|
|
745
778
|
</pre>
|
|
746
779
|
</div>
|
|
747
780
|
|
|
@@ -749,12 +782,12 @@ to <em>value</em>.
|
|
|
749
782
|
</div>
|
|
750
783
|
|
|
751
784
|
|
|
752
|
-
<div id="method-
|
|
753
|
-
<a name="
|
|
785
|
+
<div id="method-M000770" class="method-detail">
|
|
786
|
+
<a name="M000770"></a>
|
|
754
787
|
|
|
755
788
|
<div class="method-heading">
|
|
756
789
|
|
|
757
|
-
<a href="#
|
|
790
|
+
<a href="#M000770" class="method-signature">
|
|
758
791
|
|
|
759
792
|
<span class="method-name">account</span><span class="method-args">(id)</span>
|
|
760
793
|
|
|
@@ -770,13 +803,127 @@ return nil if it does not exist.
|
|
|
770
803
|
</p>
|
|
771
804
|
|
|
772
805
|
<p><a class="source-toggle" href="#"
|
|
773
|
-
onclick="toggleCode('
|
|
774
|
-
<div class="method-source-code" id="
|
|
806
|
+
onclick="toggleCode('M000770-source');return false;">[Source]</a></p>
|
|
807
|
+
<div class="method-source-code" id="M000770-source">
|
|
808
|
+
<pre>
|
|
809
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 505</span>
|
|
810
|
+
505: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">account</span>(<span class="ruby-identifier">id</span>)
|
|
811
|
+
506: <span class="ruby-ivar">@accounts</span>[<span class="ruby-identifier">id</span>]
|
|
812
|
+
507: <span class="ruby-keyword kw">end</span>
|
|
813
|
+
</pre>
|
|
814
|
+
</div>
|
|
815
|
+
|
|
816
|
+
</div>
|
|
817
|
+
</div>
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
<div id="method-M000762" class="method-detail">
|
|
821
|
+
<a name="M000762"></a>
|
|
822
|
+
|
|
823
|
+
<div class="method-heading">
|
|
824
|
+
|
|
825
|
+
<a href="#M000762" class="method-signature">
|
|
826
|
+
|
|
827
|
+
<span class="method-name">alertLevelColor</span><span class="method-args">(levelIndex)</span>
|
|
828
|
+
|
|
829
|
+
</a>
|
|
830
|
+
|
|
831
|
+
</div>
|
|
832
|
+
|
|
833
|
+
<div class="method-description">
|
|
834
|
+
|
|
835
|
+
<p>
|
|
836
|
+
Return the color of the alert level with the given <em>levelIndex</em>. Or
|
|
837
|
+
nil if the level does not exist. The color is an RGB encoded byte array,
|
|
838
|
+
stored as hexadecimal <a href="../String.html">String</a>, prefixed with a
|
|
839
|
+
pound sign.
|
|
840
|
+
</p>
|
|
841
|
+
|
|
842
|
+
<p><a class="source-toggle" href="#"
|
|
843
|
+
onclick="toggleCode('M000762-source');return false;">[Source]</a></p>
|
|
844
|
+
<div class="method-source-code" id="M000762-source">
|
|
845
|
+
<pre>
|
|
846
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 442</span>
|
|
847
|
+
442: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelColor</span>(<span class="ruby-identifier">levelIndex</span>)
|
|
848
|
+
443: <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>]
|
|
849
|
+
444: <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>]
|
|
850
|
+
445: <span class="ruby-keyword kw">end</span>
|
|
851
|
+
</pre>
|
|
852
|
+
</div>
|
|
853
|
+
|
|
854
|
+
</div>
|
|
855
|
+
</div>
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
<div id="method-M000760" class="method-detail">
|
|
859
|
+
<a name="M000760"></a>
|
|
860
|
+
|
|
861
|
+
<div class="method-heading">
|
|
862
|
+
|
|
863
|
+
<a href="#M000760" class="method-signature">
|
|
864
|
+
|
|
865
|
+
<span class="method-name">alertLevelId</span><span class="method-args">(levelIndex)</span>
|
|
866
|
+
|
|
867
|
+
</a>
|
|
868
|
+
|
|
869
|
+
</div>
|
|
870
|
+
|
|
871
|
+
<div class="method-description">
|
|
872
|
+
|
|
873
|
+
<p>
|
|
874
|
+
Return the ID or keyword of the alert level with the given
|
|
875
|
+
<em>levelIndex</em>. Or nil if the level does not exist.
|
|
876
|
+
</p>
|
|
877
|
+
|
|
878
|
+
<p><a class="source-toggle" href="#"
|
|
879
|
+
onclick="toggleCode('M000760-source');return false;">[Source]</a></p>
|
|
880
|
+
<div class="method-source-code" id="M000760-source">
|
|
881
|
+
<pre>
|
|
882
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 427</span>
|
|
883
|
+
427: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelId</span>(<span class="ruby-identifier">levelIndex</span>)
|
|
884
|
+
428: <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>]
|
|
885
|
+
429: <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>]
|
|
886
|
+
430: <span class="ruby-keyword kw">end</span>
|
|
887
|
+
</pre>
|
|
888
|
+
</div>
|
|
889
|
+
|
|
890
|
+
</div>
|
|
891
|
+
</div>
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
<div id="method-M000759" class="method-detail">
|
|
895
|
+
<a name="M000759"></a>
|
|
896
|
+
|
|
897
|
+
<div class="method-heading">
|
|
898
|
+
|
|
899
|
+
<a href="#M000759" class="method-signature">
|
|
900
|
+
|
|
901
|
+
<span class="method-name">alertLevelIndex</span><span class="method-args">(levelName)</span>
|
|
902
|
+
|
|
903
|
+
</a>
|
|
904
|
+
|
|
905
|
+
</div>
|
|
906
|
+
|
|
907
|
+
<div class="method-description">
|
|
908
|
+
|
|
909
|
+
<p>
|
|
910
|
+
Try to match <em>levelName</em> to a defined alert level name and return
|
|
911
|
+
the index of it. If no level is found, nil is returned.
|
|
912
|
+
</p>
|
|
913
|
+
|
|
914
|
+
<p><a class="source-toggle" href="#"
|
|
915
|
+
onclick="toggleCode('M000759-source');return false;">[Source]</a></p>
|
|
916
|
+
<div class="method-source-code" id="M000759-source">
|
|
775
917
|
<pre>
|
|
776
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
918
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 416</span>
|
|
919
|
+
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelIndex</span>(<span class="ruby-identifier">levelName</span>)
|
|
920
|
+
417: <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>
|
|
921
|
+
418: <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>
|
|
922
|
+
419: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">i</span>
|
|
923
|
+
420: <span class="ruby-keyword kw">end</span>
|
|
924
|
+
421: <span class="ruby-keyword kw">end</span>
|
|
925
|
+
422: <span class="ruby-keyword kw">nil</span>
|
|
926
|
+
423: <span class="ruby-keyword kw">end</span>
|
|
780
927
|
</pre>
|
|
781
928
|
</div>
|
|
782
929
|
|
|
@@ -784,12 +931,48 @@ return nil if it does not exist.
|
|
|
784
931
|
</div>
|
|
785
932
|
|
|
786
933
|
|
|
787
|
-
<div id="method-
|
|
788
|
-
<a name="
|
|
934
|
+
<div id="method-M000761" class="method-detail">
|
|
935
|
+
<a name="M000761"></a>
|
|
789
936
|
|
|
790
937
|
<div class="method-heading">
|
|
791
938
|
|
|
792
|
-
<a href="#
|
|
939
|
+
<a href="#M000761" class="method-signature">
|
|
940
|
+
|
|
941
|
+
<span class="method-name">alertLevelName</span><span class="method-args">(levelIndex)</span>
|
|
942
|
+
|
|
943
|
+
</a>
|
|
944
|
+
|
|
945
|
+
</div>
|
|
946
|
+
|
|
947
|
+
<div class="method-description">
|
|
948
|
+
|
|
949
|
+
<p>
|
|
950
|
+
Return the user readable name of the alert level with the given
|
|
951
|
+
<em>levelIndex</em>. Or nil if the level does not exist.
|
|
952
|
+
</p>
|
|
953
|
+
|
|
954
|
+
<p><a class="source-toggle" href="#"
|
|
955
|
+
onclick="toggleCode('M000761-source');return false;">[Source]</a></p>
|
|
956
|
+
<div class="method-source-code" id="M000761-source">
|
|
957
|
+
<pre>
|
|
958
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 434</span>
|
|
959
|
+
434: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alertLevelName</span>(<span class="ruby-identifier">levelIndex</span>)
|
|
960
|
+
435: <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>]
|
|
961
|
+
436: <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>]
|
|
962
|
+
437: <span class="ruby-keyword kw">end</span>
|
|
963
|
+
</pre>
|
|
964
|
+
</div>
|
|
965
|
+
|
|
966
|
+
</div>
|
|
967
|
+
</div>
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
<div id="method-M000784" class="method-detail">
|
|
971
|
+
<a name="M000784"></a>
|
|
972
|
+
|
|
973
|
+
<div class="method-heading">
|
|
974
|
+
|
|
975
|
+
<a href="#M000784" class="method-signature">
|
|
793
976
|
|
|
794
977
|
<span class="method-name">attributeName</span><span class="method-args">(id)</span>
|
|
795
978
|
|
|
@@ -806,17 +989,17 @@ tasks over resources here.
|
|
|
806
989
|
</p>
|
|
807
990
|
|
|
808
991
|
<p><a class="source-toggle" href="#"
|
|
809
|
-
onclick="toggleCode('
|
|
810
|
-
<div class="method-source-code" id="
|
|
992
|
+
onclick="toggleCode('M000784-source');return false;">[Source]</a></p>
|
|
993
|
+
<div class="method-source-code" id="M000784-source">
|
|
811
994
|
<pre>
|
|
812
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
995
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 764</span>
|
|
996
|
+
764: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeName</span>(<span class="ruby-identifier">id</span>)
|
|
997
|
+
765: <span class="ruby-comment cmt"># We have to see if the attribute id is a task or resource attribute and</span>
|
|
998
|
+
766: <span class="ruby-comment cmt"># return it's name.</span>
|
|
999
|
+
767: (<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>
|
|
1000
|
+
768: (<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>
|
|
1001
|
+
769: <span class="ruby-identifier">name</span>
|
|
1002
|
+
770: <span class="ruby-keyword kw">end</span>
|
|
820
1003
|
</pre>
|
|
821
1004
|
</div>
|
|
822
1005
|
|
|
@@ -824,12 +1007,12 @@ tasks over resources here.
|
|
|
824
1007
|
</div>
|
|
825
1008
|
|
|
826
1009
|
|
|
827
|
-
<div id="method-
|
|
828
|
-
<a name="
|
|
1010
|
+
<div id="method-M000779" class="method-detail">
|
|
1011
|
+
<a name="M000779"></a>
|
|
829
1012
|
|
|
830
1013
|
<div class="method-heading">
|
|
831
1014
|
|
|
832
|
-
<a href="#
|
|
1015
|
+
<a href="#M000779" class="method-signature">
|
|
833
1016
|
|
|
834
1017
|
<span class="method-name">convertToDailyLoad</span><span class="method-args">(seconds)</span>
|
|
835
1018
|
|
|
@@ -845,13 +1028,13 @@ setting of the global ‘dailyworkinghours’ attribute.
|
|
|
845
1028
|
</p>
|
|
846
1029
|
|
|
847
1030
|
<p><a class="source-toggle" href="#"
|
|
848
|
-
onclick="toggleCode('
|
|
849
|
-
<div class="method-source-code" id="
|
|
1031
|
+
onclick="toggleCode('M000779-source');return false;">[Source]</a></p>
|
|
1032
|
+
<div class="method-source-code" id="M000779-source">
|
|
850
1033
|
<pre>
|
|
851
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
1034
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 698</span>
|
|
1035
|
+
698: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">convertToDailyLoad</span>(<span class="ruby-identifier">seconds</span>)
|
|
1036
|
+
699: <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-operator">*</span> <span class="ruby-value">3600.0</span>)
|
|
1037
|
+
700: <span class="ruby-keyword kw">end</span>
|
|
855
1038
|
</pre>
|
|
856
1039
|
</div>
|
|
857
1040
|
|
|
@@ -859,12 +1042,12 @@ setting of the global ‘dailyworkinghours’ attribute.
|
|
|
859
1042
|
</div>
|
|
860
1043
|
|
|
861
1044
|
|
|
862
|
-
<div id="method-
|
|
863
|
-
<a name="
|
|
1045
|
+
<div id="method-M000763" class="method-detail">
|
|
1046
|
+
<a name="M000763"></a>
|
|
864
1047
|
|
|
865
1048
|
<div class="method-heading">
|
|
866
1049
|
|
|
867
|
-
<a href="#
|
|
1050
|
+
<a href="#M000763" class="method-signature">
|
|
868
1051
|
|
|
869
1052
|
<span class="method-name">dailyWorkingHours</span><span class="method-args">()</span>
|
|
870
1053
|
|
|
@@ -880,13 +1063,13 @@ can be set to other values by the user.
|
|
|
880
1063
|
</p>
|
|
881
1064
|
|
|
882
1065
|
<p><a class="source-toggle" href="#"
|
|
883
|
-
onclick="toggleCode('
|
|
884
|
-
<div class="method-source-code" id="
|
|
1066
|
+
onclick="toggleCode('M000763-source');return false;">[Source]</a></p>
|
|
1067
|
+
<div class="method-source-code" id="M000763-source">
|
|
885
1068
|
<pre>
|
|
886
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
1069
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 449</span>
|
|
1070
|
+
449: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dailyWorkingHours</span>
|
|
1071
|
+
450: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'dailyworkinghours'</span>].<span class="ruby-identifier">to_f</span>
|
|
1072
|
+
451: <span class="ruby-keyword kw">end</span>
|
|
890
1073
|
</pre>
|
|
891
1074
|
</div>
|
|
892
1075
|
|
|
@@ -894,12 +1077,12 @@ can be set to other values by the user.
|
|
|
894
1077
|
</div>
|
|
895
1078
|
|
|
896
1079
|
|
|
897
|
-
<div id="method-
|
|
898
|
-
<a name="
|
|
1080
|
+
<div id="method-M000782" class="method-detail">
|
|
1081
|
+
<a name="M000782"></a>
|
|
899
1082
|
|
|
900
1083
|
<div class="method-heading">
|
|
901
1084
|
|
|
902
|
-
<a href="#
|
|
1085
|
+
<a href="#M000782" class="method-signature">
|
|
903
1086
|
|
|
904
1087
|
<span class="method-name">dateToIdx</span><span class="method-args">(date, forceIntoProject = false)</span>
|
|
905
1088
|
|
|
@@ -917,24 +1100,24 @@ time frame.
|
|
|
917
1100
|
</p>
|
|
918
1101
|
|
|
919
1102
|
<p><a class="source-toggle" href="#"
|
|
920
|
-
onclick="toggleCode('
|
|
921
|
-
<div class="method-source-code" id="
|
|
1103
|
+
onclick="toggleCode('M000782-source');return false;">[Source]</a></p>
|
|
1104
|
+
<div class="method-source-code" id="M000782-source">
|
|
922
1105
|
<pre>
|
|
923
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
1106
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 724</span>
|
|
1107
|
+
724: <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>)
|
|
1108
|
+
725: <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>])
|
|
1109
|
+
726: <span class="ruby-comment cmt"># Date is out of range.</span>
|
|
1110
|
+
727: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
|
|
1111
|
+
728: <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>]
|
|
1112
|
+
729: <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>]
|
|
1113
|
+
730: <span class="ruby-keyword kw">else</span>
|
|
1114
|
+
731: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Date #{date} is out of project time range "</span> <span class="ruby-operator">+</span>
|
|
1115
|
+
732: <span class="ruby-node">"(#{@attributes['start']} - #{@attributes['end']})"</span>
|
|
1116
|
+
733: <span class="ruby-keyword kw">end</span>
|
|
1117
|
+
734: <span class="ruby-keyword kw">end</span>
|
|
1118
|
+
735: <span class="ruby-comment cmt"># Calculate the corresponding index.</span>
|
|
1119
|
+
736: ((<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>
|
|
1120
|
+
737: <span class="ruby-keyword kw">end</span>
|
|
938
1121
|
</pre>
|
|
939
1122
|
</div>
|
|
940
1123
|
|
|
@@ -942,12 +1125,12 @@ time frame.
|
|
|
942
1125
|
</div>
|
|
943
1126
|
|
|
944
1127
|
|
|
945
|
-
<div id="method-
|
|
946
|
-
<a name="
|
|
1128
|
+
<div id="method-M000754" class="method-detail">
|
|
1129
|
+
<a name="M000754"></a>
|
|
947
1130
|
|
|
948
1131
|
<div class="method-heading">
|
|
949
1132
|
|
|
950
|
-
<a href="#
|
|
1133
|
+
<a href="#M000754" class="method-signature">
|
|
951
1134
|
|
|
952
1135
|
<span class="method-name">deep_clone</span><span class="method-args">()</span>
|
|
953
1136
|
|
|
@@ -958,19 +1141,54 @@ time frame.
|
|
|
958
1141
|
<div class="method-description">
|
|
959
1142
|
|
|
960
1143
|
<p>
|
|
961
|
-
Overload the <a href="Project.html#
|
|
1144
|
+
Overload the <a href="Project.html#M000754">deep_clone</a> function so that
|
|
962
1145
|
references to the project don’t lead to deep copying of the whole
|
|
963
1146
|
project.
|
|
964
1147
|
</p>
|
|
965
1148
|
|
|
966
1149
|
<p><a class="source-toggle" href="#"
|
|
967
|
-
onclick="toggleCode('
|
|
968
|
-
<div class="method-source-code" id="
|
|
1150
|
+
onclick="toggleCode('M000754-source');return false;">[Source]</a></p>
|
|
1151
|
+
<div class="method-source-code" id="M000754-source">
|
|
1152
|
+
<pre>
|
|
1153
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 383</span>
|
|
1154
|
+
383: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
1155
|
+
384: <span class="ruby-keyword kw">self</span>
|
|
1156
|
+
385: <span class="ruby-keyword kw">end</span>
|
|
1157
|
+
</pre>
|
|
1158
|
+
</div>
|
|
1159
|
+
|
|
1160
|
+
</div>
|
|
1161
|
+
</div>
|
|
1162
|
+
|
|
1163
|
+
|
|
1164
|
+
<div id="method-M000786" class="method-detail">
|
|
1165
|
+
<a name="M000786"></a>
|
|
1166
|
+
|
|
1167
|
+
<div class="method-heading">
|
|
1168
|
+
|
|
1169
|
+
<a href="#M000786" class="method-signature">
|
|
1170
|
+
|
|
1171
|
+
<span class="method-name">error</span><span class="method-args">(id, text)</span>
|
|
1172
|
+
|
|
1173
|
+
</a>
|
|
1174
|
+
|
|
1175
|
+
</div>
|
|
1176
|
+
|
|
1177
|
+
<div class="method-description">
|
|
1178
|
+
|
|
1179
|
+
<p>
|
|
1180
|
+
This function sends an error message to the message handler.
|
|
1181
|
+
</p>
|
|
1182
|
+
|
|
1183
|
+
<p><a class="source-toggle" href="#"
|
|
1184
|
+
onclick="toggleCode('M000786-source');return false;">[Source]</a></p>
|
|
1185
|
+
<div class="method-source-code" id="M000786-source">
|
|
969
1186
|
<pre>
|
|
970
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
1187
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 784</span>
|
|
1188
|
+
784: <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>)
|
|
1189
|
+
785: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-value str">'error'</span>, <span class="ruby-identifier">text</span>)
|
|
1190
|
+
786: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
|
1191
|
+
787: <span class="ruby-keyword kw">end</span>
|
|
974
1192
|
</pre>
|
|
975
1193
|
</div>
|
|
976
1194
|
|
|
@@ -978,12 +1196,49 @@ project.
|
|
|
978
1196
|
</div>
|
|
979
1197
|
|
|
980
1198
|
|
|
981
|
-
<div id="method-
|
|
982
|
-
<a name="
|
|
1199
|
+
<div id="method-M000777" class="method-detail">
|
|
1200
|
+
<a name="M000777"></a>
|
|
983
1201
|
|
|
984
1202
|
<div class="method-heading">
|
|
985
1203
|
|
|
986
|
-
<a href="#
|
|
1204
|
+
<a href="#M000777" class="method-signature">
|
|
1205
|
+
|
|
1206
|
+
<span class="method-name">generateReport</span><span class="method-args">(reportId)</span>
|
|
1207
|
+
|
|
1208
|
+
</a>
|
|
1209
|
+
|
|
1210
|
+
</div>
|
|
1211
|
+
|
|
1212
|
+
<div class="method-description">
|
|
1213
|
+
|
|
1214
|
+
<p><a class="source-toggle" href="#"
|
|
1215
|
+
onclick="toggleCode('M000777-source');return false;">[Source]</a></p>
|
|
1216
|
+
<div class="method-source-code" id="M000777-source">
|
|
1217
|
+
<pre>
|
|
1218
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 622</span>
|
|
1219
|
+
622: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReport</span>(<span class="ruby-identifier">reportId</span>)
|
|
1220
|
+
623: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">report</span> = <span class="ruby-ivar">@reports</span>[<span class="ruby-identifier">reportId</span>])
|
|
1221
|
+
624: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'unknown_report_id'</span>,
|
|
1222
|
+
625: <span class="ruby-node">"Request to generate unknown report #{reportId}"</span>)
|
|
1223
|
+
626: <span class="ruby-keyword kw">end</span>
|
|
1224
|
+
627: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Report #{report.name}"</span>)
|
|
1225
|
+
628: <span class="ruby-ivar">@reportContext</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>)
|
|
1226
|
+
629: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1227
|
+
630: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1228
|
+
631: <span class="ruby-keyword kw">end</span>
|
|
1229
|
+
</pre>
|
|
1230
|
+
</div>
|
|
1231
|
+
|
|
1232
|
+
</div>
|
|
1233
|
+
</div>
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
<div id="method-M000776" class="method-detail">
|
|
1237
|
+
<a name="M000776"></a>
|
|
1238
|
+
|
|
1239
|
+
<div class="method-heading">
|
|
1240
|
+
|
|
1241
|
+
<a href="#M000776" class="method-signature">
|
|
987
1242
|
|
|
988
1243
|
<span class="method-name">generateReports</span><span class="method-args">(maxCpuCores)</span>
|
|
989
1244
|
|
|
@@ -996,45 +1251,54 @@ project.
|
|
|
996
1251
|
<p>
|
|
997
1252
|
Call this function to generate the reports based on the scheduling result.
|
|
998
1253
|
This function may only be called after <a
|
|
999
|
-
href="Project.html#
|
|
1254
|
+
href="Project.html#M000775">Project#schedule</a> has been called.
|
|
1000
1255
|
</p>
|
|
1001
1256
|
|
|
1002
1257
|
<p><a class="source-toggle" href="#"
|
|
1003
|
-
onclick="toggleCode('
|
|
1004
|
-
<div class="method-source-code" id="
|
|
1258
|
+
onclick="toggleCode('M000776-source');return false;">[Source]</a></p>
|
|
1259
|
+
<div class="method-source-code" id="M000776-source">
|
|
1005
1260
|
<pre>
|
|
1006
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
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
|
-
|
|
1261
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 581</span>
|
|
1262
|
+
581: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateReports</span>(<span class="ruby-identifier">maxCpuCores</span>)
|
|
1263
|
+
582: <span class="ruby-keyword kw">begin</span>
|
|
1264
|
+
583: <span class="ruby-ivar">@reports</span>.<span class="ruby-identifier">index</span>
|
|
1265
|
+
584: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">maxCpuCores</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
1266
|
+
585: <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>
|
|
1267
|
+
586: <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>
|
|
1268
|
+
587: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Report #{report.name}"</span>)
|
|
1269
|
+
588: <span class="ruby-ivar">@reportContext</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>)
|
|
1270
|
+
589: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1271
|
+
590: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1272
|
+
591: <span class="ruby-keyword kw">end</span>
|
|
1273
|
+
592: <span class="ruby-keyword kw">else</span>
|
|
1274
|
+
593: <span class="ruby-identifier">bp</span> = <span class="ruby-constant">BatchProcessor</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">maxCpuCores</span>)
|
|
1275
|
+
594: <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>
|
|
1276
|
+
595: <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>
|
|
1277
|
+
596: <span class="ruby-identifier">bp</span>.<span class="ruby-identifier">queue</span>(<span class="ruby-identifier">report</span>) {
|
|
1278
|
+
597: <span class="ruby-ivar">@reportContext</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>)
|
|
1279
|
+
598: <span class="ruby-identifier">report</span>.<span class="ruby-identifier">generate</span>
|
|
1280
|
+
599: }
|
|
1281
|
+
600: <span class="ruby-keyword kw">end</span>
|
|
1282
|
+
601: <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>
|
|
1283
|
+
602: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Report #{report.tag.name}"</span>)
|
|
1284
|
+
603: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">stdout</span>)
|
|
1285
|
+
604: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">print</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">stderr</span>)
|
|
1286
|
+
605: <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>
|
|
1287
|
+
606: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">"Signal raised"</span>
|
|
1288
|
+
607: <span class="ruby-keyword kw">end</span>
|
|
1289
|
+
608: <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>
|
|
1290
|
+
609: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">"Process aborted"</span>
|
|
1291
|
+
610: <span class="ruby-keyword kw">end</span>
|
|
1292
|
+
611: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
1293
|
+
612: <span class="ruby-keyword kw">end</span>
|
|
1294
|
+
613: <span class="ruby-keyword kw">end</span>
|
|
1295
|
+
614: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
1296
|
+
615: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"Report Generation Error: #{$!}"</span>
|
|
1297
|
+
616: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
1298
|
+
617: <span class="ruby-keyword kw">end</span>
|
|
1299
|
+
618:
|
|
1300
|
+
619: <span class="ruby-keyword kw">true</span>
|
|
1301
|
+
620: <span class="ruby-keyword kw">end</span>
|
|
1038
1302
|
</pre>
|
|
1039
1303
|
</div>
|
|
1040
1304
|
|
|
@@ -1042,12 +1306,12 @@ href="Project.html#M000809">Project#schedule</a> has been called.
|
|
|
1042
1306
|
</div>
|
|
1043
1307
|
|
|
1044
1308
|
|
|
1045
|
-
<div id="method-
|
|
1046
|
-
<a name="
|
|
1309
|
+
<div id="method-M000781" class="method-detail">
|
|
1310
|
+
<a name="M000781"></a>
|
|
1047
1311
|
|
|
1048
1312
|
<div class="method-heading">
|
|
1049
1313
|
|
|
1050
|
-
<a href="#
|
|
1314
|
+
<a href="#M000781" class="method-signature">
|
|
1051
1315
|
|
|
1052
1316
|
<span class="method-name">idxToDate</span><span class="method-args">(idx)</span>
|
|
1053
1317
|
|
|
@@ -1065,16 +1329,16 @@ raised.
|
|
|
1065
1329
|
</p>
|
|
1066
1330
|
|
|
1067
1331
|
<p><a class="source-toggle" href="#"
|
|
1068
|
-
onclick="toggleCode('
|
|
1069
|
-
<div class="method-source-code" id="
|
|
1332
|
+
onclick="toggleCode('M000781-source');return false;">[Source]</a></p>
|
|
1333
|
+
<div class="method-source-code" id="M000781-source">
|
|
1070
1334
|
<pre>
|
|
1071
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1335
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 714</span>
|
|
1336
|
+
714: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>)
|
|
1337
|
+
715: <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>)
|
|
1338
|
+
716: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Scoreboard index out of range"</span>
|
|
1339
|
+
717: <span class="ruby-keyword kw">end</span>
|
|
1340
|
+
718: <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-operator">*</span> <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>]
|
|
1341
|
+
719: <span class="ruby-keyword kw">end</span>
|
|
1078
1342
|
</pre>
|
|
1079
1343
|
</div>
|
|
1080
1344
|
|
|
@@ -1082,12 +1346,12 @@ raised.
|
|
|
1082
1346
|
</div>
|
|
1083
1347
|
|
|
1084
1348
|
|
|
1085
|
-
<div id="method-
|
|
1086
|
-
<a name="
|
|
1349
|
+
<div id="method-M000778" class="method-detail">
|
|
1350
|
+
<a name="M000778"></a>
|
|
1087
1351
|
|
|
1088
1352
|
<div class="method-heading">
|
|
1089
1353
|
|
|
1090
|
-
<a href="#
|
|
1354
|
+
<a href="#M000778" class="method-signature">
|
|
1091
1355
|
|
|
1092
1356
|
<span class="method-name">isWorkingTime(slot) → true or false<br />
|
|
1093
1357
|
isWorkingTime(startTime, endTime) → true or false<br />
|
|
@@ -1109,32 +1373,32 @@ defined and the slot lies within a defined working time period.
|
|
|
1109
1373
|
</p>
|
|
1110
1374
|
|
|
1111
1375
|
<p><a class="source-toggle" href="#"
|
|
1112
|
-
onclick="toggleCode('
|
|
1113
|
-
<div class="method-source-code" id="
|
|
1376
|
+
onclick="toggleCode('M000778-source');return false;">[Source]</a></p>
|
|
1377
|
+
<div class="method-source-code" id="M000778-source">
|
|
1114
1378
|
<pre>
|
|
1115
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1379
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 673</span>
|
|
1380
|
+
673: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isWorkingTime</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
1381
|
+
674: <span class="ruby-comment cmt"># Normalize argument(s) to Interval</span>
|
|
1382
|
+
675: <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>
|
|
1383
|
+
676: <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>)
|
|
1384
|
+
677: <span class="ruby-identifier">iv</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
|
|
1385
|
+
678: <span class="ruby-keyword kw">else</span>
|
|
1386
|
+
679: <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>
|
|
1387
|
+
680: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>])
|
|
1388
|
+
681: <span class="ruby-keyword kw">end</span>
|
|
1389
|
+
682: <span class="ruby-keyword kw">else</span>
|
|
1390
|
+
683: <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>])
|
|
1391
|
+
684: <span class="ruby-keyword kw">end</span>
|
|
1392
|
+
685:
|
|
1393
|
+
686: <span class="ruby-comment cmt"># Check if the interval has overlap with any of the global vacations.</span>
|
|
1394
|
+
687: <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>
|
|
1395
|
+
688: <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>)
|
|
1396
|
+
689: <span class="ruby-keyword kw">end</span>
|
|
1397
|
+
690:
|
|
1398
|
+
691: <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>)
|
|
1399
|
+
692:
|
|
1400
|
+
693: <span class="ruby-keyword kw">true</span>
|
|
1401
|
+
694: <span class="ruby-keyword kw">end</span>
|
|
1138
1402
|
</pre>
|
|
1139
1403
|
</div>
|
|
1140
1404
|
|
|
@@ -1142,12 +1406,12 @@ defined and the slot lies within a defined working time period.
|
|
|
1142
1406
|
</div>
|
|
1143
1407
|
|
|
1144
1408
|
|
|
1145
|
-
<div id="method-
|
|
1146
|
-
<a name="
|
|
1409
|
+
<div id="method-M000765" class="method-detail">
|
|
1410
|
+
<a name="M000765"></a>
|
|
1147
1411
|
|
|
1148
1412
|
<div class="method-heading">
|
|
1149
1413
|
|
|
1150
|
-
<a href="#
|
|
1414
|
+
<a href="#M000765" class="method-signature">
|
|
1151
1415
|
|
|
1152
1416
|
<span class="method-name">monthlyWorkingDays</span><span class="method-args">()</span>
|
|
1153
1417
|
|
|
@@ -1162,13 +1426,13 @@ Return the average number of working days per month.
|
|
|
1162
1426
|
</p>
|
|
1163
1427
|
|
|
1164
1428
|
<p><a class="source-toggle" href="#"
|
|
1165
|
-
onclick="toggleCode('
|
|
1166
|
-
<div class="method-source-code" id="
|
|
1429
|
+
onclick="toggleCode('M000765-source');return false;">[Source]</a></p>
|
|
1430
|
+
<div class="method-source-code" id="M000765-source">
|
|
1167
1431
|
<pre>
|
|
1168
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1432
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 459</span>
|
|
1433
|
+
459: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">monthlyWorkingDays</span>
|
|
1434
|
+
460: <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>
|
|
1435
|
+
461: <span class="ruby-keyword kw">end</span>
|
|
1172
1436
|
</pre>
|
|
1173
1437
|
</div>
|
|
1174
1438
|
|
|
@@ -1176,12 +1440,12 @@ Return the average number of working days per month.
|
|
|
1176
1440
|
</div>
|
|
1177
1441
|
|
|
1178
1442
|
|
|
1179
|
-
<div id="method-
|
|
1180
|
-
<a name="
|
|
1443
|
+
<div id="method-M000773" class="method-detail">
|
|
1444
|
+
<a name="M000773"></a>
|
|
1181
1445
|
|
|
1182
1446
|
<div class="method-heading">
|
|
1183
1447
|
|
|
1184
|
-
<a href="#
|
|
1448
|
+
<a href="#M000773" class="method-signature">
|
|
1185
1449
|
|
|
1186
1450
|
<span class="method-name">report</span><span class="method-args">(id)</span>
|
|
1187
1451
|
|
|
@@ -1197,13 +1461,13 @@ return nil if it does not exist.
|
|
|
1197
1461
|
</p>
|
|
1198
1462
|
|
|
1199
1463
|
<p><a class="source-toggle" href="#"
|
|
1200
|
-
onclick="toggleCode('
|
|
1201
|
-
<div class="method-source-code" id="
|
|
1464
|
+
onclick="toggleCode('M000773-source');return false;">[Source]</a></p>
|
|
1465
|
+
<div class="method-source-code" id="M000773-source">
|
|
1202
1466
|
<pre>
|
|
1203
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1467
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 520</span>
|
|
1468
|
+
520: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">report</span>(<span class="ruby-identifier">id</span>)
|
|
1469
|
+
521: <span class="ruby-ivar">@reports</span>[<span class="ruby-identifier">id</span>]
|
|
1470
|
+
522: <span class="ruby-keyword kw">end</span>
|
|
1207
1471
|
</pre>
|
|
1208
1472
|
</div>
|
|
1209
1473
|
|
|
@@ -1211,12 +1475,12 @@ return nil if it does not exist.
|
|
|
1211
1475
|
</div>
|
|
1212
1476
|
|
|
1213
1477
|
|
|
1214
|
-
<div id="method-
|
|
1215
|
-
<a name="
|
|
1478
|
+
<div id="method-M000774" class="method-detail">
|
|
1479
|
+
<a name="M000774"></a>
|
|
1216
1480
|
|
|
1217
1481
|
<div class="method-heading">
|
|
1218
1482
|
|
|
1219
|
-
<a href="#
|
|
1483
|
+
<a href="#M000774" class="method-signature">
|
|
1220
1484
|
|
|
1221
1485
|
<span class="method-name">reportByName</span><span class="method-args">(name)</span>
|
|
1222
1486
|
|
|
@@ -1232,16 +1496,16 @@ return nil if it does not exist.
|
|
|
1232
1496
|
</p>
|
|
1233
1497
|
|
|
1234
1498
|
<p><a class="source-toggle" href="#"
|
|
1235
|
-
onclick="toggleCode('
|
|
1236
|
-
<div class="method-source-code" id="
|
|
1499
|
+
onclick="toggleCode('M000774-source');return false;">[Source]</a></p>
|
|
1500
|
+
<div class="method-source-code" id="M000774-source">
|
|
1237
1501
|
<pre>
|
|
1238
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1502
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 526</span>
|
|
1503
|
+
526: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reportByName</span>(<span class="ruby-identifier">name</span>)
|
|
1504
|
+
527: <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>
|
|
1505
|
+
528: <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>
|
|
1506
|
+
529: <span class="ruby-keyword kw">end</span>
|
|
1507
|
+
530: <span class="ruby-keyword kw">nil</span>
|
|
1508
|
+
531: <span class="ruby-keyword kw">end</span>
|
|
1245
1509
|
</pre>
|
|
1246
1510
|
</div>
|
|
1247
1511
|
|
|
@@ -1249,12 +1513,12 @@ return nil if it does not exist.
|
|
|
1249
1513
|
</div>
|
|
1250
1514
|
|
|
1251
1515
|
|
|
1252
|
-
<div id="method-
|
|
1253
|
-
<a name="
|
|
1516
|
+
<div id="method-M000772" class="method-detail">
|
|
1517
|
+
<a name="M000772"></a>
|
|
1254
1518
|
|
|
1255
1519
|
<div class="method-heading">
|
|
1256
1520
|
|
|
1257
|
-
<a href="#
|
|
1521
|
+
<a href="#M000772" class="method-signature">
|
|
1258
1522
|
|
|
1259
1523
|
<span class="method-name">resource</span><span class="method-args">(id)</span>
|
|
1260
1524
|
|
|
@@ -1270,13 +1534,13 @@ return nil if it does not exist.
|
|
|
1270
1534
|
</p>
|
|
1271
1535
|
|
|
1272
1536
|
<p><a class="source-toggle" href="#"
|
|
1273
|
-
onclick="toggleCode('
|
|
1274
|
-
<div class="method-source-code" id="
|
|
1537
|
+
onclick="toggleCode('M000772-source');return false;">[Source]</a></p>
|
|
1538
|
+
<div class="method-source-code" id="M000772-source">
|
|
1275
1539
|
<pre>
|
|
1276
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1540
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 515</span>
|
|
1541
|
+
515: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resource</span>(<span class="ruby-identifier">id</span>)
|
|
1542
|
+
516: <span class="ruby-ivar">@resources</span>[<span class="ruby-identifier">id</span>]
|
|
1543
|
+
517: <span class="ruby-keyword kw">end</span>
|
|
1280
1544
|
</pre>
|
|
1281
1545
|
</div>
|
|
1282
1546
|
|
|
@@ -1284,12 +1548,12 @@ return nil if it does not exist.
|
|
|
1284
1548
|
</div>
|
|
1285
1549
|
|
|
1286
1550
|
|
|
1287
|
-
<div id="method-
|
|
1288
|
-
<a name="
|
|
1551
|
+
<div id="method-M000767" class="method-detail">
|
|
1552
|
+
<a name="M000767"></a>
|
|
1289
1553
|
|
|
1290
1554
|
<div class="method-heading">
|
|
1291
1555
|
|
|
1292
|
-
<a href="#
|
|
1556
|
+
<a href="#M000767" class="method-signature">
|
|
1293
1557
|
|
|
1294
1558
|
<span class="method-name">scenario(index) → Scenario<br />
|
|
1295
1559
|
scenario(id) → Scenario<br />
|
|
@@ -1307,20 +1571,20 @@ or <em>index</em>.
|
|
|
1307
1571
|
</p>
|
|
1308
1572
|
|
|
1309
1573
|
<p><a class="source-toggle" href="#"
|
|
1310
|
-
onclick="toggleCode('
|
|
1311
|
-
<div class="method-source-code" id="
|
|
1574
|
+
onclick="toggleCode('M000767-source');return false;">[Source]</a></p>
|
|
1575
|
+
<div class="method-source-code" id="M000767-source">
|
|
1312
1576
|
<pre>
|
|
1313
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1577
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 473</span>
|
|
1578
|
+
473: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">arg</span>)
|
|
1579
|
+
474: <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>)
|
|
1580
|
+
475: <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>
|
|
1581
|
+
476: <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>
|
|
1582
|
+
477: <span class="ruby-keyword kw">end</span>
|
|
1583
|
+
478: <span class="ruby-keyword kw">else</span>
|
|
1584
|
+
479: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@scenarios</span>[<span class="ruby-identifier">arg</span>]
|
|
1585
|
+
480: <span class="ruby-keyword kw">end</span>
|
|
1586
|
+
481: <span class="ruby-keyword kw">nil</span>
|
|
1587
|
+
482: <span class="ruby-keyword kw">end</span>
|
|
1324
1588
|
</pre>
|
|
1325
1589
|
</div>
|
|
1326
1590
|
|
|
@@ -1328,12 +1592,12 @@ or <em>index</em>.
|
|
|
1328
1592
|
</div>
|
|
1329
1593
|
|
|
1330
1594
|
|
|
1331
|
-
<div id="method-
|
|
1332
|
-
<a name="
|
|
1595
|
+
<div id="method-M000758" class="method-detail">
|
|
1596
|
+
<a name="M000758"></a>
|
|
1333
1597
|
|
|
1334
1598
|
<div class="method-heading">
|
|
1335
1599
|
|
|
1336
|
-
<a href="#
|
|
1600
|
+
<a href="#M000758" class="method-signature">
|
|
1337
1601
|
|
|
1338
1602
|
<span class="method-name">scenarioCount</span><span class="method-args">()</span>
|
|
1339
1603
|
|
|
@@ -1348,13 +1612,13 @@ Return the number of defined scenarios for the project.
|
|
|
1348
1612
|
</p>
|
|
1349
1613
|
|
|
1350
1614
|
<p><a class="source-toggle" href="#"
|
|
1351
|
-
onclick="toggleCode('
|
|
1352
|
-
<div class="method-source-code" id="
|
|
1615
|
+
onclick="toggleCode('M000758-source');return false;">[Source]</a></p>
|
|
1616
|
+
<div class="method-source-code" id="M000758-source">
|
|
1353
1617
|
<pre>
|
|
1354
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1618
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 410</span>
|
|
1619
|
+
410: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioCount</span>
|
|
1620
|
+
411: <span class="ruby-ivar">@scenarios</span>.<span class="ruby-identifier">items</span>
|
|
1621
|
+
412: <span class="ruby-keyword kw">end</span>
|
|
1358
1622
|
</pre>
|
|
1359
1623
|
</div>
|
|
1360
1624
|
|
|
@@ -1362,12 +1626,12 @@ Return the number of defined scenarios for the project.
|
|
|
1362
1626
|
</div>
|
|
1363
1627
|
|
|
1364
1628
|
|
|
1365
|
-
<div id="method-
|
|
1366
|
-
<a name="
|
|
1629
|
+
<div id="method-M000768" class="method-detail">
|
|
1630
|
+
<a name="M000768"></a>
|
|
1367
1631
|
|
|
1368
1632
|
<div class="method-heading">
|
|
1369
1633
|
|
|
1370
|
-
<a href="#
|
|
1634
|
+
<a href="#M000768" class="method-signature">
|
|
1371
1635
|
|
|
1372
1636
|
<span class="method-name">scenarioIdx(scenario)<br />
|
|
1373
1637
|
scenarioIdx(id)<br />
|
|
@@ -1385,19 +1649,19 @@ specified by <em>scenario</em> or <em>id</em>.
|
|
|
1385
1649
|
</p>
|
|
1386
1650
|
|
|
1387
1651
|
<p><a class="source-toggle" href="#"
|
|
1388
|
-
onclick="toggleCode('
|
|
1389
|
-
<div class="method-source-code" id="
|
|
1652
|
+
onclick="toggleCode('M000768-source');return false;">[Source]</a></p>
|
|
1653
|
+
<div class="method-source-code" id="M000768-source">
|
|
1390
1654
|
<pre>
|
|
1391
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1655
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 489</span>
|
|
1656
|
+
489: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">sc</span>)
|
|
1657
|
+
490: <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>)
|
|
1658
|
+
491: <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>
|
|
1659
|
+
492: <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>
|
|
1660
|
+
493: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
1661
|
+
494: <span class="ruby-keyword kw">else</span>
|
|
1662
|
+
495: <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>
|
|
1663
|
+
496: <span class="ruby-keyword kw">end</span>
|
|
1664
|
+
497: <span class="ruby-keyword kw">end</span>
|
|
1401
1665
|
</pre>
|
|
1402
1666
|
</div>
|
|
1403
1667
|
|
|
@@ -1405,12 +1669,12 @@ specified by <em>scenario</em> or <em>id</em>.
|
|
|
1405
1669
|
</div>
|
|
1406
1670
|
|
|
1407
1671
|
|
|
1408
|
-
<div id="method-
|
|
1409
|
-
<a name="
|
|
1672
|
+
<div id="method-M000775" class="method-detail">
|
|
1673
|
+
<a name="M000775"></a>
|
|
1410
1674
|
|
|
1411
1675
|
<div class="method-heading">
|
|
1412
1676
|
|
|
1413
|
-
<a href="#
|
|
1677
|
+
<a href="#M000775" class="method-signature">
|
|
1414
1678
|
|
|
1415
1679
|
<span class="method-name">schedule</span><span class="method-args">()</span>
|
|
1416
1680
|
|
|
@@ -1427,52 +1691,52 @@ stores the result in the data structures again.
|
|
|
1427
1691
|
</p>
|
|
1428
1692
|
|
|
1429
1693
|
<p><a class="source-toggle" href="#"
|
|
1430
|
-
onclick="toggleCode('
|
|
1431
|
-
<div class="method-source-code" id="
|
|
1694
|
+
onclick="toggleCode('M000775-source');return false;">[Source]</a></p>
|
|
1695
|
+
<div class="method-source-code" id="M000775-source">
|
|
1432
1696
|
<pre>
|
|
1433
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1697
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 536</span>
|
|
1698
|
+
536: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">schedule</span>
|
|
1699
|
+
537: [ <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>
|
|
1700
|
+
538: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">inheritAttributesFromScenario</span>
|
|
1701
|
+
539: <span class="ruby-comment cmt"># Set all index counters to their proper values.</span>
|
|
1702
|
+
540: <span class="ruby-identifier">p</span>.<span class="ruby-identifier">index</span>
|
|
1703
|
+
541: <span class="ruby-keyword kw">end</span>
|
|
1704
|
+
542:
|
|
1705
|
+
543: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">empty?</span>
|
|
1706
|
+
544: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'no_tasks'</span>, <span class="ruby-value str">'error'</span>, <span class="ruby-value str">"No tasks defined"</span>)
|
|
1707
|
+
545: <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">message</span>)
|
|
1708
|
+
546: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
1709
|
+
547: <span class="ruby-keyword kw">end</span>
|
|
1710
|
+
548:
|
|
1711
|
+
549: <span class="ruby-keyword kw">begin</span>
|
|
1712
|
+
550: <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>
|
|
1713
|
+
551: <span class="ruby-comment cmt"># Skip disabled scenarios</span>
|
|
1714
|
+
552: <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>)
|
|
1715
|
+
553:
|
|
1716
|
+
554: <span class="ruby-identifier">scIdx</span> = <span class="ruby-identifier">scenarioIdx</span>(<span class="ruby-identifier">sc</span>)
|
|
1717
|
+
555:
|
|
1718
|
+
556: <span class="ruby-comment cmt"># All user provided values are set now. The next step is to</span>
|
|
1719
|
+
557: <span class="ruby-comment cmt"># propagate inherited values. These values must be marked as</span>
|
|
1720
|
+
558: <span class="ruby-comment cmt"># inherited by setting the mode to 1. As we always call</span>
|
|
1721
|
+
559: <span class="ruby-comment cmt"># PropertyTreeNode#inherit this is just a safeguard.</span>
|
|
1722
|
+
560: <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">setMode</span>(<span class="ruby-value">1</span>)
|
|
1723
|
+
561: <span class="ruby-identifier">prepareScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
1724
|
+
562:
|
|
1725
|
+
563: <span class="ruby-comment cmt"># Now change to mode 2 so all values that are modified are marked</span>
|
|
1726
|
+
564: <span class="ruby-comment cmt"># as computed.</span>
|
|
1727
|
+
565: <span class="ruby-constant">AttributeBase</span>.<span class="ruby-identifier">setMode</span>(<span class="ruby-value">2</span>)
|
|
1728
|
+
566: <span class="ruby-comment cmt"># Schedule the scenario.</span>
|
|
1729
|
+
567: <span class="ruby-identifier">scheduleScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
1730
|
+
568:
|
|
1731
|
+
569: <span class="ruby-comment cmt"># Complete the data sets, and check the result.</span>
|
|
1732
|
+
570: <span class="ruby-identifier">finishScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
1733
|
+
571: <span class="ruby-keyword kw">end</span>
|
|
1734
|
+
572: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
1735
|
+
573: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
1736
|
+
574: <span class="ruby-keyword kw">end</span>
|
|
1737
|
+
575:
|
|
1738
|
+
576: <span class="ruby-keyword kw">true</span>
|
|
1739
|
+
577: <span class="ruby-keyword kw">end</span>
|
|
1476
1740
|
</pre>
|
|
1477
1741
|
</div>
|
|
1478
1742
|
|
|
@@ -1480,12 +1744,12 @@ stores the result in the data structures again.
|
|
|
1480
1744
|
</div>
|
|
1481
1745
|
|
|
1482
1746
|
|
|
1483
|
-
<div id="method-
|
|
1484
|
-
<a name="
|
|
1747
|
+
<div id="method-M000780" class="method-detail">
|
|
1748
|
+
<a name="M000780"></a>
|
|
1485
1749
|
|
|
1486
1750
|
<div class="method-heading">
|
|
1487
1751
|
|
|
1488
|
-
<a href="#
|
|
1752
|
+
<a href="#M000780" class="method-signature">
|
|
1489
1753
|
|
|
1490
1754
|
<span class="method-name">scoreboardSize</span><span class="method-args">()</span>
|
|
1491
1755
|
|
|
@@ -1503,14 +1767,14 @@ number of entries in the scoreboards.
|
|
|
1503
1767
|
</p>
|
|
1504
1768
|
|
|
1505
1769
|
<p><a class="source-toggle" href="#"
|
|
1506
|
-
onclick="toggleCode('
|
|
1507
|
-
<div class="method-source-code" id="
|
|
1770
|
+
onclick="toggleCode('M000780-source');return false;">[Source]</a></p>
|
|
1771
|
+
<div class="method-source-code" id="M000780-source">
|
|
1508
1772
|
<pre>
|
|
1509
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1773
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 706</span>
|
|
1774
|
+
706: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scoreboardSize</span>
|
|
1775
|
+
707: ((<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>
|
|
1776
|
+
708: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'scheduleGranularity'</span>]).<span class="ruby-identifier">to_i</span>
|
|
1777
|
+
709: <span class="ruby-keyword kw">end</span>
|
|
1514
1778
|
</pre>
|
|
1515
1779
|
</div>
|
|
1516
1780
|
|
|
@@ -1518,12 +1782,12 @@ number of entries in the scoreboards.
|
|
|
1518
1782
|
</div>
|
|
1519
1783
|
|
|
1520
1784
|
|
|
1521
|
-
<div id="method-
|
|
1522
|
-
<a name="
|
|
1785
|
+
<div id="method-M000755" class="method-detail">
|
|
1786
|
+
<a name="M000755"></a>
|
|
1523
1787
|
|
|
1524
1788
|
<div class="method-heading">
|
|
1525
1789
|
|
|
1526
|
-
<a href="#
|
|
1790
|
+
<a href="#M000755" class="method-signature">
|
|
1527
1791
|
|
|
1528
1792
|
<span class="method-name">sendMessage</span><span class="method-args">(message)</span>
|
|
1529
1793
|
|
|
@@ -1539,13 +1803,13 @@ is a <a href="../String.html">String</a> that contains the message.
|
|
|
1539
1803
|
</p>
|
|
1540
1804
|
|
|
1541
1805
|
<p><a class="source-toggle" href="#"
|
|
1542
|
-
onclick="toggleCode('
|
|
1543
|
-
<div class="method-source-code" id="
|
|
1806
|
+
onclick="toggleCode('M000755-source');return false;">[Source]</a></p>
|
|
1807
|
+
<div class="method-source-code" id="M000755-source">
|
|
1544
1808
|
<pre>
|
|
1545
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1809
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 389</span>
|
|
1810
|
+
389: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">message</span>)
|
|
1811
|
+
390: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
|
1812
|
+
391: <span class="ruby-keyword kw">end</span>
|
|
1549
1813
|
</pre>
|
|
1550
1814
|
</div>
|
|
1551
1815
|
|
|
@@ -1553,12 +1817,12 @@ is a <a href="../String.html">String</a> that contains the message.
|
|
|
1553
1817
|
</div>
|
|
1554
1818
|
|
|
1555
1819
|
|
|
1556
|
-
<div id="method-
|
|
1557
|
-
<a name="
|
|
1820
|
+
<div id="method-M000769" class="method-detail">
|
|
1821
|
+
<a name="M000769"></a>
|
|
1558
1822
|
|
|
1559
1823
|
<div class="method-heading">
|
|
1560
1824
|
|
|
1561
|
-
<a href="#
|
|
1825
|
+
<a href="#M000769" class="method-signature">
|
|
1562
1826
|
|
|
1563
1827
|
<span class="method-name">shift</span><span class="method-args">(id)</span>
|
|
1564
1828
|
|
|
@@ -1574,13 +1838,13 @@ nil if it does not exist.
|
|
|
1574
1838
|
</p>
|
|
1575
1839
|
|
|
1576
1840
|
<p><a class="source-toggle" href="#"
|
|
1577
|
-
onclick="toggleCode('
|
|
1578
|
-
<div class="method-source-code" id="
|
|
1841
|
+
onclick="toggleCode('M000769-source');return false;">[Source]</a></p>
|
|
1842
|
+
<div class="method-source-code" id="M000769-source">
|
|
1579
1843
|
<pre>
|
|
1580
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1844
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 500</span>
|
|
1845
|
+
500: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift</span>(<span class="ruby-identifier">id</span>)
|
|
1846
|
+
501: <span class="ruby-ivar">@shifts</span>[<span class="ruby-identifier">id</span>]
|
|
1847
|
+
502: <span class="ruby-keyword kw">end</span>
|
|
1584
1848
|
</pre>
|
|
1585
1849
|
</div>
|
|
1586
1850
|
|
|
@@ -1588,12 +1852,12 @@ nil if it does not exist.
|
|
|
1588
1852
|
</div>
|
|
1589
1853
|
|
|
1590
1854
|
|
|
1591
|
-
<div id="method-
|
|
1592
|
-
<a name="
|
|
1855
|
+
<div id="method-M000771" class="method-detail">
|
|
1856
|
+
<a name="M000771"></a>
|
|
1593
1857
|
|
|
1594
1858
|
<div class="method-heading">
|
|
1595
1859
|
|
|
1596
|
-
<a href="#
|
|
1860
|
+
<a href="#M000771" class="method-signature">
|
|
1597
1861
|
|
|
1598
1862
|
<span class="method-name">task</span><span class="method-args">(id)</span>
|
|
1599
1863
|
|
|
@@ -1609,13 +1873,13 @@ nil if it does not exist.
|
|
|
1609
1873
|
</p>
|
|
1610
1874
|
|
|
1611
1875
|
<p><a class="source-toggle" href="#"
|
|
1612
|
-
onclick="toggleCode('
|
|
1613
|
-
<div class="method-source-code" id="
|
|
1876
|
+
onclick="toggleCode('M000771-source');return false;">[Source]</a></p>
|
|
1877
|
+
<div class="method-source-code" id="M000771-source">
|
|
1614
1878
|
<pre>
|
|
1615
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1879
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 510</span>
|
|
1880
|
+
510: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">task</span>(<span class="ruby-identifier">id</span>)
|
|
1881
|
+
511: <span class="ruby-ivar">@tasks</span>[<span class="ruby-identifier">id</span>]
|
|
1882
|
+
512: <span class="ruby-keyword kw">end</span>
|
|
1619
1883
|
</pre>
|
|
1620
1884
|
</div>
|
|
1621
1885
|
|
|
@@ -1623,12 +1887,12 @@ nil if it does not exist.
|
|
|
1623
1887
|
</div>
|
|
1624
1888
|
|
|
1625
1889
|
|
|
1626
|
-
<div id="method-
|
|
1627
|
-
<a name="
|
|
1890
|
+
<div id="method-M000785" class="method-detail">
|
|
1891
|
+
<a name="M000785"></a>
|
|
1628
1892
|
|
|
1629
1893
|
<div class="method-heading">
|
|
1630
1894
|
|
|
1631
|
-
<a href="#
|
|
1895
|
+
<a href="#M000785" class="method-signature">
|
|
1632
1896
|
|
|
1633
1897
|
<span class="method-name">to_s</span><span class="method-args">()</span>
|
|
1634
1898
|
|
|
@@ -1643,18 +1907,19 @@ Print the attribute values. It’s used for debugging only.
|
|
|
1643
1907
|
</p>
|
|
1644
1908
|
|
|
1645
1909
|
<p><a class="source-toggle" href="#"
|
|
1646
|
-
onclick="toggleCode('
|
|
1647
|
-
<div class="method-source-code" id="
|
|
1910
|
+
onclick="toggleCode('M000785-source');return false;">[Source]</a></p>
|
|
1911
|
+
<div class="method-source-code" id="M000785-source">
|
|
1648
1912
|
<pre>
|
|
1649
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1913
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 773</span>
|
|
1914
|
+
773: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
|
1915
|
+
774: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"STOP!"</span>
|
|
1916
|
+
775: <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>
|
|
1917
|
+
776: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>
|
|
1918
|
+
777: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{attribute}: "</span> <span class="ruby-operator">+</span>
|
|
1919
|
+
778: <span class="ruby-node">"#{value.is_a?(PropertyTreeNode) ? value.fullId : value}"</span>
|
|
1920
|
+
779: <span class="ruby-keyword kw">end</span>
|
|
1921
|
+
780: <span class="ruby-keyword kw">end</span>
|
|
1922
|
+
781: <span class="ruby-keyword kw">end</span>
|
|
1658
1923
|
</pre>
|
|
1659
1924
|
</div>
|
|
1660
1925
|
|
|
@@ -1662,12 +1927,12 @@ Print the attribute values. It’s used for debugging only.
|
|
|
1662
1927
|
</div>
|
|
1663
1928
|
|
|
1664
1929
|
|
|
1665
|
-
<div id="method-
|
|
1666
|
-
<a name="
|
|
1930
|
+
<div id="method-M000764" class="method-detail">
|
|
1931
|
+
<a name="M000764"></a>
|
|
1667
1932
|
|
|
1668
1933
|
<div class="method-heading">
|
|
1669
1934
|
|
|
1670
|
-
<a href="#
|
|
1935
|
+
<a href="#M000764" class="method-signature">
|
|
1671
1936
|
|
|
1672
1937
|
<span class="method-name">weeklyWorkingDays</span><span class="method-args">()</span>
|
|
1673
1938
|
|
|
@@ -1682,13 +1947,13 @@ Return the average number of working days per week.
|
|
|
1682
1947
|
</p>
|
|
1683
1948
|
|
|
1684
1949
|
<p><a class="source-toggle" href="#"
|
|
1685
|
-
onclick="toggleCode('
|
|
1686
|
-
<div class="method-source-code" id="
|
|
1950
|
+
onclick="toggleCode('M000764-source');return false;">[Source]</a></p>
|
|
1951
|
+
<div class="method-source-code" id="M000764-source">
|
|
1687
1952
|
<pre>
|
|
1688
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1953
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 454</span>
|
|
1954
|
+
454: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weeklyWorkingDays</span>
|
|
1955
|
+
455: <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>
|
|
1956
|
+
456: <span class="ruby-keyword kw">end</span>
|
|
1692
1957
|
</pre>
|
|
1693
1958
|
</div>
|
|
1694
1959
|
|
|
@@ -1696,12 +1961,12 @@ Return the average number of working days per week.
|
|
|
1696
1961
|
</div>
|
|
1697
1962
|
|
|
1698
1963
|
|
|
1699
|
-
<div id="method-
|
|
1700
|
-
<a name="
|
|
1964
|
+
<div id="method-M000766" class="method-detail">
|
|
1965
|
+
<a name="M000766"></a>
|
|
1701
1966
|
|
|
1702
1967
|
<div class="method-heading">
|
|
1703
1968
|
|
|
1704
|
-
<a href="#
|
|
1969
|
+
<a href="#M000766" class="method-signature">
|
|
1705
1970
|
|
|
1706
1971
|
<span class="method-name">yearlyWorkingDays</span><span class="method-args">()</span>
|
|
1707
1972
|
|
|
@@ -1716,13 +1981,13 @@ Return the average number of working days per year.
|
|
|
1716
1981
|
</p>
|
|
1717
1982
|
|
|
1718
1983
|
<p><a class="source-toggle" href="#"
|
|
1719
|
-
onclick="toggleCode('
|
|
1720
|
-
<div class="method-source-code" id="
|
|
1984
|
+
onclick="toggleCode('M000766-source');return false;">[Source]</a></p>
|
|
1985
|
+
<div class="method-source-code" id="M000766-source">
|
|
1721
1986
|
<pre>
|
|
1722
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1987
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 464</span>
|
|
1988
|
+
464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">yearlyWorkingDays</span>
|
|
1989
|
+
465: <span class="ruby-ivar">@attributes</span>[<span class="ruby-value str">'yearlyworkingdays'</span>].<span class="ruby-identifier">to_f</span>
|
|
1990
|
+
466: <span class="ruby-keyword kw">end</span>
|
|
1726
1991
|
</pre>
|
|
1727
1992
|
</div>
|
|
1728
1993
|
|
|
@@ -1733,12 +1998,12 @@ Return the average number of working days per year.
|
|
|
1733
1998
|
<h3 class="section-bar">Protected Instance methods</h3>
|
|
1734
1999
|
|
|
1735
2000
|
|
|
1736
|
-
<div id="method-
|
|
1737
|
-
<a name="
|
|
2001
|
+
<div id="method-M000788" class="method-detail">
|
|
2002
|
+
<a name="M000788"></a>
|
|
1738
2003
|
|
|
1739
2004
|
<div class="method-heading">
|
|
1740
2005
|
|
|
1741
|
-
<a href="#
|
|
2006
|
+
<a href="#M000788" class="method-signature">
|
|
1742
2007
|
|
|
1743
2008
|
<span class="method-name">finishScenario</span><span class="method-args">(scIdx)</span>
|
|
1744
2009
|
|
|
@@ -1749,28 +2014,28 @@ Return the average number of working days per year.
|
|
|
1749
2014
|
<div class="method-description">
|
|
1750
2015
|
|
|
1751
2016
|
<p><a class="source-toggle" href="#"
|
|
1752
|
-
onclick="toggleCode('
|
|
1753
|
-
<div class="method-source-code" id="
|
|
2017
|
+
onclick="toggleCode('M000788-source');return false;">[Source]</a></p>
|
|
2018
|
+
<div class="method-source-code" id="M000788-source">
|
|
1754
2019
|
<pre>
|
|
1755
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
2020
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 851</span>
|
|
2021
|
+
851: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">finishScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2022
|
+
852: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Checking scenario #{scenario(scIdx).get('name')}"</span>)
|
|
2023
|
+
853: <span class="ruby-identifier">total</span> = <span class="ruby-ivar">@tasks</span>.<span class="ruby-identifier">items</span>
|
|
2024
|
+
854: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2025
|
+
855: <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>
|
|
2026
|
+
856: <span class="ruby-identifier">task</span>.<span class="ruby-identifier">finishScheduling</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2027
|
+
857: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2028
|
+
858: <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-operator">*</span> <span class="ruby-value">0</span><span class="ruby-value">.5</span>)
|
|
2029
|
+
859: <span class="ruby-keyword kw">end</span>
|
|
2030
|
+
860:
|
|
2031
|
+
861: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2032
|
+
862: <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>
|
|
2033
|
+
863: <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>
|
|
2034
|
+
864: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2035
|
+
865: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0</span><span class="ruby-value">.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-operator">*</span> <span class="ruby-value">0</span><span class="ruby-value">.5</span>)
|
|
2036
|
+
866: <span class="ruby-keyword kw">end</span>
|
|
2037
|
+
867: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2038
|
+
868: <span class="ruby-keyword kw">end</span>
|
|
1774
2039
|
</pre>
|
|
1775
2040
|
</div>
|
|
1776
2041
|
|
|
@@ -1778,12 +2043,12 @@ Return the average number of working days per year.
|
|
|
1778
2043
|
</div>
|
|
1779
2044
|
|
|
1780
2045
|
|
|
1781
|
-
<div id="method-
|
|
1782
|
-
<a name="
|
|
2046
|
+
<div id="method-M000787" class="method-detail">
|
|
2047
|
+
<a name="M000787"></a>
|
|
1783
2048
|
|
|
1784
2049
|
<div class="method-heading">
|
|
1785
2050
|
|
|
1786
|
-
<a href="#
|
|
2051
|
+
<a href="#M000787" class="method-signature">
|
|
1787
2052
|
|
|
1788
2053
|
<span class="method-name">prepareScenario</span><span class="method-args">(scIdx)</span>
|
|
1789
2054
|
|
|
@@ -1794,69 +2059,69 @@ Return the average number of working days per year.
|
|
|
1794
2059
|
<div class="method-description">
|
|
1795
2060
|
|
|
1796
2061
|
<p><a class="source-toggle" href="#"
|
|
1797
|
-
onclick="toggleCode('
|
|
1798
|
-
<div class="method-source-code" id="
|
|
2062
|
+
onclick="toggleCode('M000787-source');return false;">[Source]</a></p>
|
|
2063
|
+
<div class="method-source-code" id="M000787-source">
|
|
1799
2064
|
<pre>
|
|
1800
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
2065
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 791</span>
|
|
2066
|
+
791: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prepareScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2067
|
+
792: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Preparing scenario #{scenario(scIdx).get('name')}"</span>)
|
|
2068
|
+
793: <span class="ruby-identifier">resources</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@resources</span>)
|
|
2069
|
+
794: <span class="ruby-identifier">tasks</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@tasks</span>)
|
|
2070
|
+
795:
|
|
2071
|
+
796: <span class="ruby-comment cmt"># Compile a list of leaf resources that are actually used in this</span>
|
|
2072
|
+
797: <span class="ruby-comment cmt"># project.</span>
|
|
2073
|
+
798: <span class="ruby-identifier">usedResources</span> = []
|
|
2074
|
+
799: <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>
|
|
2075
|
+
800: <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>
|
|
2076
|
+
801: <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>)
|
|
2077
|
+
802: <span class="ruby-keyword kw">end</span>
|
|
2078
|
+
803: <span class="ruby-keyword kw">end</span>
|
|
2079
|
+
804: <span class="ruby-identifier">total</span> = <span class="ruby-identifier">usedResources</span>.<span class="ruby-identifier">length</span>
|
|
2080
|
+
805: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2081
|
+
806: <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>
|
|
2082
|
+
807: <span class="ruby-identifier">resource</span>.<span class="ruby-identifier">prepareScheduling</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2083
|
+
808: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2084
|
+
809: <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-operator">*</span> <span class="ruby-value">0</span><span class="ruby-value">.8</span>)
|
|
2085
|
+
810: <span class="ruby-keyword kw">end</span>
|
|
2086
|
+
811:
|
|
2087
|
+
812: <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>) }
|
|
2088
|
+
813: <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>) }
|
|
2089
|
+
814: <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>) }
|
|
2090
|
+
815: <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>) }
|
|
2091
|
+
816:
|
|
2092
|
+
817: <span class="ruby-comment cmt"># Check for dependency loops in the task graph.</span>
|
|
2093
|
+
818: <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>) }
|
|
2094
|
+
819: <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>
|
|
2095
|
+
820: <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>
|
|
2096
|
+
821: <span class="ruby-keyword kw">end</span>
|
|
2097
|
+
822: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0</span><span class="ruby-value">.85</span>)
|
|
2098
|
+
823: <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>) }
|
|
2099
|
+
824: <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>
|
|
2100
|
+
825: <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>
|
|
2101
|
+
826: <span class="ruby-keyword kw">end</span>
|
|
2102
|
+
827: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0</span><span class="ruby-value">.87</span>)
|
|
2103
|
+
828:
|
|
2104
|
+
829: <span class="ruby-comment cmt"># Compute the criticalness of the tasks and their pathes.</span>
|
|
2105
|
+
830: <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>) }
|
|
2106
|
+
831: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0</span><span class="ruby-value">.88</span>)
|
|
2107
|
+
832: <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>) }
|
|
2108
|
+
833: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0</span><span class="ruby-value">.9</span>)
|
|
2109
|
+
834: <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>) }
|
|
2110
|
+
835: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">0</span><span class="ruby-value">.95</span>)
|
|
2111
|
+
836: <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>) }
|
|
2112
|
+
837: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-value">1.0</span>)
|
|
2113
|
+
838:
|
|
2114
|
+
839: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2115
|
+
840: <span class="ruby-comment cmt"># This is used for debugging only</span>
|
|
2116
|
+
841: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">false</span>
|
|
2117
|
+
842: <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>
|
|
2118
|
+
843: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">resource</span>
|
|
2119
|
+
844: <span class="ruby-keyword kw">end</span>
|
|
2120
|
+
845: <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>
|
|
2121
|
+
846: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">task</span>
|
|
2122
|
+
847: <span class="ruby-keyword kw">end</span>
|
|
2123
|
+
848: <span class="ruby-keyword kw">end</span>
|
|
2124
|
+
849: <span class="ruby-keyword kw">end</span>
|
|
1860
2125
|
</pre>
|
|
1861
2126
|
</div>
|
|
1862
2127
|
|
|
@@ -1864,12 +2129,12 @@ Return the average number of working days per year.
|
|
|
1864
2129
|
</div>
|
|
1865
2130
|
|
|
1866
2131
|
|
|
1867
|
-
<div id="method-
|
|
1868
|
-
<a name="
|
|
2132
|
+
<div id="method-M000789" class="method-detail">
|
|
2133
|
+
<a name="M000789"></a>
|
|
1869
2134
|
|
|
1870
2135
|
<div class="method-heading">
|
|
1871
2136
|
|
|
1872
|
-
<a href="#
|
|
2137
|
+
<a href="#M000789" class="method-signature">
|
|
1873
2138
|
|
|
1874
2139
|
<span class="method-name">scheduleScenario</span><span class="method-args">(scIdx)</span>
|
|
1875
2140
|
|
|
@@ -1885,90 +2150,90 @@ index <tt>scIdx</tt>.
|
|
|
1885
2150
|
</p>
|
|
1886
2151
|
|
|
1887
2152
|
<p><a class="source-toggle" href="#"
|
|
1888
|
-
onclick="toggleCode('
|
|
1889
|
-
<div class="method-source-code" id="
|
|
2153
|
+
onclick="toggleCode('M000789-source');return false;">[Source]</a></p>
|
|
2154
|
+
<div class="method-source-code" id="M000789-source">
|
|
1890
2155
|
<pre>
|
|
1891
|
-
<span class="ruby-comment cmt"># File lib/Project.rb, line
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
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
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
2156
|
+
<span class="ruby-comment cmt"># File lib/Project.rb, line 871</span>
|
|
2157
|
+
871: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scheduleScenario</span>(<span class="ruby-identifier">scIdx</span>)
|
|
2158
|
+
872: <span class="ruby-identifier">tasks</span> = <span class="ruby-constant">PropertyList</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@tasks</span>)
|
|
2159
|
+
873: <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> }
|
|
2160
|
+
874:
|
|
2161
|
+
875: <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>)
|
|
2162
|
+
876: <span class="ruby-comment cmt"># The sorting of the work item list determines which tasks will get their</span>
|
|
2163
|
+
877: <span class="ruby-comment cmt"># resources first. The first sorting criterium is the user specified task</span>
|
|
2164
|
+
878: <span class="ruby-comment cmt"># priority. The second criterium is the scheduler determined priority</span>
|
|
2165
|
+
879: <span class="ruby-comment cmt"># stored in the pathcriticalness attribute. That way, the user can always</span>
|
|
2166
|
+
880: <span class="ruby-comment cmt"># override the scheduler determined priority. To always have a defined</span>
|
|
2167
|
+
881: <span class="ruby-comment cmt"># order, the third criterium is the sequence number.</span>
|
|
2168
|
+
882: <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> ],
|
|
2169
|
+
883: [ <span class="ruby-value str">'pathcriticalness'</span>, <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">scIdx</span> ],
|
|
2170
|
+
884: [ <span class="ruby-value str">'seqno'</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-value">-1</span> ] ])
|
|
2171
|
+
885: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">sort!</span>
|
|
2172
|
+
886: <span class="ruby-identifier">totalTasks</span> = <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">length</span>
|
|
2173
|
+
887:
|
|
2174
|
+
888: <span class="ruby-comment cmt"># Enter the main scheduling loop. This loop is only terminated when all</span>
|
|
2175
|
+
889: <span class="ruby-comment cmt"># tasks have been scheduled or another thread has set the breakFlag to</span>
|
|
2176
|
+
890: <span class="ruby-comment cmt"># true.</span>
|
|
2177
|
+
891: <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>
|
|
2178
|
+
892: <span class="ruby-node">"#{scenario(scIdx).get('name')}"</span>)
|
|
2179
|
+
893: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
|
2180
|
+
894: <span class="ruby-comment cmt"># The main scheduler loop only needs to look at the first task that is</span>
|
|
2181
|
+
895: <span class="ruby-comment cmt"># ready to be scheduled.</span>
|
|
2182
|
+
896: <span class="ruby-identifier">workItems</span> = <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">to_ary</span>
|
|
2183
|
+
897:
|
|
2184
|
+
898: <span class="ruby-comment cmt"># Count the already completed tasks.</span>
|
|
2185
|
+
899: <span class="ruby-identifier">completedTasks</span> = <span class="ruby-value">0</span>
|
|
2186
|
+
900: <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>
|
|
2187
|
+
901: <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>]
|
|
2188
|
+
902: <span class="ruby-keyword kw">end</span>
|
|
2189
|
+
903:
|
|
2190
|
+
904: <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>)
|
|
2191
|
+
905: <span class="ruby-comment cmt"># Remove all tasks that are not ready for scheduling yet.</span>
|
|
2192
|
+
906: <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>) }
|
|
2193
|
+
907:
|
|
2194
|
+
908: <span class="ruby-comment cmt"># Check if we are done.</span>
|
|
2195
|
+
909: <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>
|
|
2196
|
+
910:
|
|
2197
|
+
911: <span class="ruby-comment cmt"># The first task in the list is the one with the highes priority and</span>
|
|
2198
|
+
912: <span class="ruby-comment cmt"># the largest path criticalness that is ready to be scheduled.</span>
|
|
2199
|
+
913: <span class="ruby-identifier">task</span> = <span class="ruby-identifier">workItems</span>[<span class="ruby-value">0</span>]
|
|
2200
|
+
914: <span class="ruby-comment cmt"># Schedule it.</span>
|
|
2201
|
+
915: <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>)
|
|
2202
|
+
916: <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>
|
|
2203
|
+
917: <span class="ruby-node">"#{task['end', scIdx]}"</span>
|
|
2204
|
+
918: <span class="ruby-keyword kw">end</span>
|
|
2205
|
+
919: <span class="ruby-keyword kw">end</span>
|
|
2206
|
+
920: <span class="ruby-identifier">unscheduledTasks</span> = []
|
|
2207
|
+
921: <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>] }
|
|
2208
|
+
922:
|
|
2209
|
+
923: <span class="ruby-comment cmt"># Check for unscheduled tasks and report the first 10 of them as</span>
|
|
2210
|
+
924: <span class="ruby-comment cmt"># warnings.</span>
|
|
2211
|
+
925: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">unscheduledTasks</span>.<span class="ruby-identifier">empty?</span>
|
|
2212
|
+
926: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'unscheduled_tasks'</span>, <span class="ruby-value str">'warning'</span>,
|
|
2213
|
+
927: <span class="ruby-node">"#{unscheduledTasks.length} tasks could not be "</span> <span class="ruby-operator">+</span>
|
|
2214
|
+
928: <span class="ruby-value str">"scheduled"</span>)
|
|
2215
|
+
929: <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">message</span>)
|
|
2216
|
+
930: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
2217
|
+
931: <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>
|
|
2218
|
+
932: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(
|
|
2219
|
+
933: <span class="ruby-value str">'unscheduled_task'</span>, <span class="ruby-value str">'warning'</span>,
|
|
2220
|
+
934: <span class="ruby-node">"Task #{t.fullId}: "</span> <span class="ruby-operator">+</span>
|
|
2221
|
+
935: <span class="ruby-node">"#{t['start', scIdx] ? t['start', scIdx] : '<?>'} -> "</span> <span class="ruby-operator">+</span>
|
|
2222
|
+
936: <span class="ruby-node">"#{t['end', scIdx] ? t['end', scIdx] : '<?>'}"</span>, <span class="ruby-identifier">t</span>,
|
|
2223
|
+
937: <span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>))
|
|
2224
|
+
938: <span class="ruby-identifier">sendMessage</span>(<span class="ruby-identifier">message</span>)
|
|
2225
|
+
939:
|
|
2226
|
+
940: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
2227
|
+
941: <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>
|
|
2228
|
+
942: <span class="ruby-keyword kw">end</span>
|
|
2229
|
+
943: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2230
|
+
944: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
|
2231
|
+
945: <span class="ruby-keyword kw">end</span>
|
|
2232
|
+
946:
|
|
2233
|
+
947: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
2234
|
+
948: <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>)
|
|
2235
|
+
949: <span class="ruby-keyword kw">true</span>
|
|
2236
|
+
950: <span class="ruby-keyword kw">end</span>
|
|
1972
2237
|
</pre>
|
|
1973
2238
|
</div>
|
|
1974
2239
|
|