taskjuggler 0.0.2 → 0.0.3
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/Rakefile +1 -0
- data/benchmarks/depends.tjp +2 -1
- data/benchmarks/htmltaskreport.tjp +2 -1
- data/doc/classes/AppConfig.html +124 -120
- data/doc/classes/Arguments.html +10 -6
- data/doc/classes/Object.html +229 -0
- data/doc/classes/String.html +35 -31
- data/doc/classes/TaskJuggler/Account.html +18 -18
- data/doc/classes/TaskJuggler/AccountAttribute.html +261 -0
- data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
- data/doc/classes/TaskJuggler/Allocation.html +34 -30
- data/doc/classes/TaskJuggler/AllocationAttribute.html +70 -70
- data/doc/classes/TaskJuggler/AttributeBase.html +131 -147
- data/doc/classes/TaskJuggler/AttributeDefinition.html +38 -21
- data/doc/classes/TaskJuggler/BatchProcessor.html +313 -0
- data/doc/classes/TaskJuggler/Booking.html +22 -18
- data/doc/classes/TaskJuggler/BookingListAttribute.html +42 -42
- data/doc/classes/TaskJuggler/BooleanAttribute.html +40 -40
- data/doc/classes/TaskJuggler/CSVFile.html +28 -24
- data/doc/classes/TaskJuggler/Charge.html +22 -18
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +30 -30
- data/doc/classes/TaskJuggler/ChargeSet.html +41 -37
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +231 -0
- data/doc/classes/TaskJuggler/ColumnTable.html +23 -21
- data/doc/classes/TaskJuggler/DateAttribute.html +20 -20
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +162 -0
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
- data/doc/classes/TaskJuggler/FlagListAttribute.html +42 -42
- data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FormatListAttribute.html +197 -0
- data/doc/classes/TaskJuggler/GanttChart.html +236 -207
- data/doc/classes/TaskJuggler/GanttContainer.html +46 -42
- data/doc/classes/TaskJuggler/GanttHeader.html +16 -12
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +16 -12
- data/doc/classes/TaskJuggler/GanttLine.html +28 -24
- data/doc/classes/TaskJuggler/GanttLoadStack.html +22 -18
- data/doc/classes/TaskJuggler/GanttMilestone.html +46 -42
- data/doc/classes/TaskJuggler/GanttRouter.html +104 -98
- data/doc/classes/TaskJuggler/GanttTaskBar.html +46 -42
- data/doc/classes/TaskJuggler/HTMLDocument.html +12 -12
- data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
- data/doc/classes/TaskJuggler/Interval.html +126 -120
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/JobInfo.html +284 -0
- data/doc/classes/TaskJuggler/Journal.html +197 -0
- data/doc/classes/TaskJuggler/JournalEntry.html +218 -0
- data/doc/classes/TaskJuggler/KeywordArray.html +179 -0
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +445 -396
- data/doc/classes/TaskJuggler/Limits/Limit.html +34 -30
- data/doc/classes/TaskJuggler/Limits.html +68 -62
- data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ListAttributeBase.html +207 -0
- data/doc/classes/TaskJuggler/Log.html +72 -68
- data/doc/classes/TaskJuggler/LogicalAttribute.html +38 -34
- data/doc/classes/TaskJuggler/LogicalExpression.html +16 -12
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +194 -0
- data/doc/classes/TaskJuggler/LogicalFlag.html +32 -32
- data/doc/classes/TaskJuggler/LogicalFunction.html +28 -24
- data/doc/classes/TaskJuggler/LogicalOperation.html +17 -13
- data/doc/classes/TaskJuggler/Macro.html +10 -6
- data/doc/classes/TaskJuggler/MacroParser.html +36 -36
- data/doc/classes/TaskJuggler/MacroTable.html +40 -36
- data/doc/classes/TaskJuggler/Message.html +16 -12
- data/doc/classes/TaskJuggler/MessageHandler.html +16 -12
- data/doc/classes/TaskJuggler/Navigator.html +249 -0
- data/doc/classes/TaskJuggler/OnShiftCache.html +316 -0
- data/doc/classes/TaskJuggler/Project.html +1064 -678
- data/doc/classes/TaskJuggler/ProjectFileParser.html +90 -85
- data/doc/classes/TaskJuggler/PropertyAttribute.html +194 -0
- data/doc/classes/TaskJuggler/PropertyList.html +114 -113
- data/doc/classes/TaskJuggler/PropertySet.html +355 -312
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +527 -474
- data/doc/classes/TaskJuggler/Query.html +90 -85
- data/doc/classes/TaskJuggler/RTPNavigator.html +292 -0
- data/doc/classes/TaskJuggler/RTPReport.html +301 -0
- data/doc/classes/TaskJuggler/RealFormat.html +114 -57
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +162 -0
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +87 -20
- data/doc/classes/TaskJuggler/Report.html +82 -291
- data/doc/classes/TaskJuggler/ReportBase.html +448 -0
- data/doc/classes/TaskJuggler/ReportContext.html +243 -0
- data/doc/classes/TaskJuggler/ReportTable.html +158 -129
- data/doc/classes/TaskJuggler/ReportTableCell.html +30 -26
- data/doc/classes/TaskJuggler/ReportTableColumn.html +29 -25
- data/doc/classes/TaskJuggler/ReportTableLegend.html +28 -24
- data/doc/classes/TaskJuggler/ReportTableLine.html +34 -30
- data/doc/classes/TaskJuggler/Resource.html +12 -12
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/ResourceListRE.html +49 -57
- data/doc/classes/TaskJuggler/ResourceScenario.html +126 -126
- data/doc/classes/TaskJuggler/RichText.html +52 -48
- data/doc/classes/TaskJuggler/RichTextAttribute.html +30 -30
- data/doc/classes/TaskJuggler/RichTextDocument.html +41 -37
- data/doc/classes/TaskJuggler/RichTextElement.html +274 -264
- data/doc/classes/TaskJuggler/RichTextException.html +13 -13
- data/doc/classes/TaskJuggler/RichTextParser.html +48 -47
- data/doc/classes/TaskJuggler/RichTextProtocolExample.html +52 -55
- data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +55 -10
- data/doc/classes/TaskJuggler/RichTextScanner.html +106 -245
- data/doc/classes/TaskJuggler/RichTextSnip.html +28 -24
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +381 -301
- data/doc/classes/TaskJuggler/Scenario.html +6 -6
- data/doc/classes/TaskJuggler/ScenarioData.html +40 -36
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +229 -0
- data/doc/classes/TaskJuggler/Scoreboard.html +70 -66
- data/doc/classes/TaskJuggler/Shift.html +18 -18
- data/doc/classes/TaskJuggler/ShiftAssignment.html +58 -54
- data/doc/classes/TaskJuggler/ShiftAssignments.html +82 -78
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
- data/doc/classes/TaskJuggler/SortListAttribute.html +196 -0
- data/doc/classes/TaskJuggler/SourceFileInfo.html +16 -12
- data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
- data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
- data/doc/classes/TaskJuggler/SyntaxReference.html +46 -42
- data/doc/classes/TaskJuggler/TOCEntry.html +16 -12
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +48 -33
- data/doc/classes/TaskJuggler/TableOfContents.html +22 -18
- data/doc/classes/TaskJuggler/TableReport.html +1036 -0
- data/doc/classes/TaskJuggler/Task.html +12 -12
- data/doc/classes/TaskJuggler/TaskDependency.html +16 -12
- data/doc/classes/TaskJuggler/TaskListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/TaskListRE.html +49 -58
- data/doc/classes/TaskJuggler/TaskScenario.html +1270 -1180
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +100 -96
- data/doc/classes/TaskJuggler/TextParser/Rule.html +88 -84
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -12
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +10 -6
- data/doc/classes/TaskJuggler/TextParser.html +203 -140
- data/doc/classes/TaskJuggler/TextReport.html +364 -0
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +50 -42
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +16 -12
- data/doc/classes/TaskJuggler/TextScanner.html +334 -240
- data/doc/classes/TaskJuggler/TjException.html +6 -6
- data/doc/classes/TaskJuggler/TjTime.html +547 -497
- data/doc/classes/TaskJuggler/TjpExample.html +29 -25
- data/doc/classes/TaskJuggler/TjpExportRE.html +77 -97
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +3911 -3886
- data/doc/classes/TaskJuggler/UserManual.html +54 -54
- data/doc/classes/TaskJuggler/WorkingHours.html +53 -49
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -85
- data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
- data/doc/classes/TaskJuggler/XMLComment.html +21 -21
- data/doc/classes/TaskJuggler/XMLDocument.html +28 -24
- data/doc/classes/TaskJuggler/XMLElement.html +70 -58
- data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
- data/doc/classes/TaskJuggler/XMLText.html +36 -36
- data/doc/classes/TaskJuggler.html +266 -183
- data/doc/files/COPYING.html +1 -1
- data/doc/files/README.html +1 -1
- data/doc/files/lib/AccountScenario_rb.html +1 -1
- data/doc/files/lib/Account_rb.html +1 -1
- data/doc/files/lib/Allocation_rb.html +1 -1
- data/doc/files/lib/AppConfig_rb.html +1 -1
- data/doc/files/lib/AttributeBase_rb.html +11 -1
- data/doc/files/lib/AttributeDefinition_rb.html +1 -1
- data/doc/files/lib/Attributes_rb.html +1 -1
- data/doc/files/lib/{LogicalFlag_rb.html → BatchProcessor_rb.html} +8 -6
- data/doc/files/lib/Booking_rb.html +1 -1
- data/doc/files/lib/ChargeSet_rb.html +1 -1
- data/doc/files/lib/Charge_rb.html +1 -1
- data/doc/files/lib/HTMLDocument_rb.html +1 -1
- data/doc/files/lib/Interval_rb.html +1 -1
- data/doc/files/lib/Journal_rb.html +106 -0
- data/doc/files/lib/KeywordArray_rb.html +106 -0
- data/doc/files/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/files/lib/Limits_rb.html +1 -1
- data/doc/files/lib/Log_rb.html +1 -1
- data/doc/files/lib/LogicalExpression_rb.html +1 -3
- data/doc/files/lib/LogicalFunction_rb.html +1 -1
- data/doc/files/lib/LogicalOperation_rb.html +1 -1
- data/doc/files/lib/MacroParser_rb.html +1 -1
- data/doc/files/lib/MacroTable_rb.html +1 -1
- data/doc/files/lib/MessageHandler_rb.html +1 -1
- data/doc/files/lib/Message_rb.html +1 -1
- data/doc/files/lib/ProjectFileParser_rb.html +5 -1
- data/doc/files/lib/Project_rb.html +5 -1
- data/doc/files/lib/PropertyList_rb.html +1 -1
- data/doc/files/lib/PropertySet_rb.html +1 -1
- data/doc/files/lib/PropertyTreeNode_rb.html +1 -1
- data/doc/files/lib/Query_rb.html +1 -1
- data/doc/files/lib/RTPNavigator_rb.html +120 -0
- data/doc/files/lib/RTPReport_rb.html +118 -0
- data/doc/files/lib/RealFormat_rb.html +1 -1
- data/doc/files/lib/ResourceScenario_rb.html +1 -1
- data/doc/files/lib/Resource_rb.html +1 -1
- data/doc/files/lib/RichTextDocument_rb.html +1 -1
- data/doc/files/lib/RichTextElement_rb.html +1 -1
- data/doc/files/lib/RichTextParser_rb.html +1 -1
- data/doc/files/lib/RichTextProtocolExample_rb.html +1 -1
- data/doc/files/lib/RichTextProtocolHandler_rb.html +1 -1
- data/doc/files/lib/RichTextScanner_rb.html +1 -1
- data/doc/files/lib/RichTextSnip_rb.html +1 -1
- data/doc/files/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/files/lib/RichText_rb.html +1 -1
- data/doc/files/lib/ScenarioData_rb.html +1 -1
- data/doc/files/lib/Scenario_rb.html +1 -1
- data/doc/files/lib/Scoreboard_rb.html +1 -1
- data/doc/files/lib/ShiftAssignments_rb.html +1 -1
- data/doc/files/lib/ShiftScenario_rb.html +1 -1
- data/doc/files/lib/Shift_rb.html +1 -1
- data/doc/files/lib/SourceFileInfo_rb.html +1 -1
- data/doc/files/lib/SyntaxReference_rb.html +1 -1
- data/doc/files/lib/TOCEntry_rb.html +1 -1
- data/doc/files/lib/TableColumnDefinition_rb.html +1 -1
- data/doc/files/lib/TableOfContents_rb.html +1 -1
- data/doc/files/lib/TaskDependency_rb.html +1 -1
- data/doc/files/lib/TaskJuggler_rb.html +1 -1
- data/doc/files/lib/TaskScenario_rb.html +1 -1
- data/doc/files/lib/Task_rb.html +1 -1
- data/doc/files/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/files/lib/TextParser/Rule_rb.html +1 -1
- data/doc/files/lib/TextParser/StackElement_rb.html +1 -1
- data/doc/files/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/files/lib/TextParser_rb.html +1 -1
- data/doc/files/lib/TextScanner_rb.html +1 -1
- data/doc/files/lib/Tj3Config_rb.html +1 -1
- data/doc/files/lib/TjException_rb.html +1 -1
- data/doc/files/lib/TjTime_rb.html +1 -1
- data/doc/files/lib/TjpExample_rb.html +1 -1
- data/doc/files/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/files/lib/UTF8String_rb.html +1 -1
- data/doc/files/lib/UserManual_rb.html +1 -1
- data/doc/files/lib/WorkingHours_rb.html +1 -1
- data/doc/files/lib/XMLDocument_rb.html +1 -1
- data/doc/files/lib/XMLElement_rb.html +1 -1
- data/doc/files/lib/deep_copy_rb.html +106 -0
- data/doc/files/lib/ms_test_rb.html +90 -0
- data/doc/files/lib/reports/CSVFile_rb.html +1 -1
- data/doc/files/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/files/lib/reports/GanttChart_rb.html +1 -1
- data/doc/files/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/files/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/files/lib/reports/GanttLine_rb.html +1 -1
- data/doc/files/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/files/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/files/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/files/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/files/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/files/lib/reports/{ReportElement_rb.html → Navigator_rb.html} +6 -8
- data/doc/files/lib/reports/ReportBase_rb.html +106 -0
- data/doc/files/lib/reports/ReportContext_rb.html +106 -0
- data/doc/files/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/files/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/files/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/files/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/files/lib/reports/ReportTable_rb.html +1 -1
- data/doc/files/lib/reports/Report_rb.html +8 -2
- data/doc/files/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/files/lib/reports/{ReportTableElement_rb.html → TableReport_rb.html} +7 -5
- data/doc/files/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/files/lib/reports/TextReport_rb.html +116 -0
- data/doc/files/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/files/lib/taskjuggler3_rb.html +61 -56
- data/doc/files/lib/tj3man_rb.html +1 -1
- data/doc/fr_class_index.html +41 -3
- data/doc/fr_file_index.html +21 -5
- data/doc/fr_method_index.html +1069 -959
- data/examples/ContactList.html +1467 -0
- data/examples/Deliveries.html +485 -0
- data/examples/Development.html +2525 -0
- data/examples/Overview.html +747 -0
- data/examples/Resource Graph.html +616 -0
- data/examples/tutorial.tjp +63 -67
- data/lib/AttributeBase.rb +27 -31
- data/lib/AttributeDefinition.rb +12 -7
- data/lib/Attributes.rb +134 -34
- data/lib/Interval.rb +2 -0
- data/lib/Journal.rb +44 -0
- data/lib/{LogicalFlag.rb → KeywordArray.rb} +5 -13
- data/lib/KeywordDocumentation.rb +84 -47
- data/lib/Limits.rb +7 -5
- data/lib/LogicalExpression.rb +1 -1
- data/lib/LogicalOperation.rb +33 -0
- data/lib/Project.rb +313 -99
- data/lib/ProjectFileParser.rb +88 -11
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +13 -4
- data/lib/PropertyTreeNode.rb +34 -15
- data/lib/Query.rb +2 -1
- data/lib/RTPNavigator.rb +53 -0
- data/lib/RTPReport.rb +62 -0
- data/lib/RealFormat.rb +28 -10
- data/lib/RichTextElement.rb +18 -12
- data/lib/RichTextParser.rb +1 -0
- data/lib/RichTextProtocolExample.rb +8 -11
- data/lib/RichTextProtocolHandler.rb +11 -1
- data/lib/RichTextScanner.rb +308 -164
- data/lib/RichTextSyntaxRules.rb +24 -0
- data/lib/TableColumnDefinition.rb +5 -1
- data/lib/TaskJuggler.rb +3 -2
- data/lib/TaskScenario.rb +123 -31
- data/lib/TextParser.rb +14 -3
- data/lib/TextScanner.rb +210 -34
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +15 -0
- data/lib/TjpExample.rb +1 -1
- data/lib/TjpSyntaxRules.rb +674 -473
- data/lib/WorkingHours.rb +1 -1
- data/lib/XMLElement.rb +11 -3
- data/lib/deep_copy.rb +72 -0
- data/lib/ms_test.rb +27 -0
- data/lib/reports/ColumnTable.rb +7 -5
- data/lib/reports/GanttChart.rb +60 -34
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttRouter.rb +7 -5
- data/lib/reports/Navigator.rb +72 -0
- data/lib/reports/Report.rb +58 -73
- data/lib/reports/ReportBase.rb +241 -0
- data/lib/reports/ReportContext.rb +41 -0
- data/lib/reports/ReportTable.rb +7 -2
- data/lib/reports/ReportTableCell.rb +3 -3
- data/lib/reports/ResourceListRE.rb +19 -26
- data/lib/reports/{ReportTableElement.rb → TableReport.rb} +297 -97
- data/lib/reports/TaskListRE.rb +16 -24
- data/lib/reports/TextReport.rb +87 -0
- data/lib/reports/TjpExportRE.rb +55 -50
- data/lib/taskjuggler3.rb +6 -1
- data/manual/Getting_Started +57 -6
- data/manual/How_To_Contribute +2 -4
- data/manual/Intro +2 -2
- data/manual/Reporting_Bugs +9 -2
- data/manual/Rich_Text_Attributes +41 -0
- data/manual/Tutorial +219 -173
- data/tasks/test.rake +3 -0
- data/test/TestSuite/CSV-Reports/celltext.tjp +2 -1
- data/test/TestSuite/CSV-Reports/resourcereport.tjp +2 -1
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortByTree.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +2 -1
- data/test/TestSuite/CSV-Reports/taskreport.tjp +2 -1
- data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +2 -1
- data/test/TestSuite/HTML-Reports/depArrows.tjp +72 -0
- data/test/TestSuite/HTML-Reports/reference-export.html +187 -0
- data/test/TestSuite/HTML-Reports/reference.tjp +21 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -1
- data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +37 -0
- data/test/TestSuite/Scheduler/Correct/Container.tjp +40 -0
- data/test/TestSuite/Scheduler/Correct/Depends.tjp +9 -14
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +2 -1
- data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +20 -29
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -13
- data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +6 -5
- data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +10 -6
- data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +9 -6
- data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +9 -6
- data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +13 -10
- data/test/TestSuite/Scheduler/Correct/Precedes.tjp +9 -14
- data/test/TestSuite/Scheduler/Correct/Shift.tjp +9 -8
- data/test/TestSuite/Scheduler/Correct/checks.tji +4 -0
- data/test/TestSuite/Scheduler/Errors/weak_end_dep.tjp +16 -0
- data/test/TestSuite/Scheduler/Errors/weak_start_dep.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/Account.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/AutoID.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/Caption.tjp +7 -6
- data/test/TestSuite/Syntax/Correct/Celltext.tjp +7 -4
- data/test/TestSuite/Syntax/Correct/Comments.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji +11 -19
- data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +4 -3
- data/test/TestSuite/Syntax/Correct/Export.tjp +3 -1
- data/test/TestSuite/Syntax/Correct/Flags.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/Journal.tjp +18 -0
- data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/Period.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +4 -2
- data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -2
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.tji +2 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.tjp +23 -0
- data/test/TestSuite/Syntax/Correct/Responsible.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Simple.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/String.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +92 -70
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/bad_include.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/bad_time_zone.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/bad_timing_res.tjp +5 -0
- data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/container_attribute.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +3 -2
- data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/eof_in_istring1.tjp +5 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring2.tjp +5 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring3.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring4.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring5.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/include_recursion.tji +1 -0
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/junk_after_cut.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/navigator_exists.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/report_end.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/report_exists.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/report_start.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sort_direction.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/too_large_timing_res.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/unknown_task.tjp +1 -1
- data/test/all.rb +1 -16
- data/test/test_CSV-Reports.rb +8 -5
- data/test/test_Query.rb +2 -2
- data/test/test_RichText.rb +95 -0
- data/test/test_Scheduler.rb +8 -4
- data/test/test_Syntax.rb +8 -4
- data/test/test_deep_copy.rb +83 -0
- metadata +549 -487
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/doc/classes/TaskJuggler/ReportElement.html +0 -1070
- data/doc/classes/TaskJuggler/ReportTableElement.html +0 -644
- data/lib/reports/ReportElement.rb +0 -427
- data/test/TestSuite/Syntax/Correct/csvtest +0 -16
- data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +0 -10
- data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +0 -10
- data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +0 -10
|
@@ -70,8 +70,12 @@
|
|
|
70
70
|
<td><strong>Parent:</strong></td>
|
|
71
71
|
<td>
|
|
72
72
|
|
|
73
|
+
<a href="../Object.html">
|
|
74
|
+
|
|
73
75
|
Object
|
|
74
76
|
|
|
77
|
+
</a>
|
|
78
|
+
|
|
75
79
|
</td>
|
|
76
80
|
</tr>
|
|
77
81
|
|
|
@@ -113,59 +117,61 @@ attribute like an URL that contains more details about the task.
|
|
|
113
117
|
|
|
114
118
|
<div class="name-list">
|
|
115
119
|
|
|
116
|
-
<a href="#
|
|
120
|
+
<a href="#M000681">[]</a>
|
|
121
|
+
|
|
122
|
+
<a href="#M000680">[]=</a>
|
|
117
123
|
|
|
118
|
-
<a href="#
|
|
124
|
+
<a href="#M000670">addChild</a>
|
|
119
125
|
|
|
120
|
-
<a href="#
|
|
126
|
+
<a href="#M000663">all</a>
|
|
121
127
|
|
|
122
|
-
<a href="#
|
|
128
|
+
<a href="#M000664">allLeaves</a>
|
|
123
129
|
|
|
124
|
-
<a href="#
|
|
130
|
+
<a href="#M000676">attributeDefinition</a>
|
|
125
131
|
|
|
126
|
-
<a href="#
|
|
132
|
+
<a href="#M000673">container?</a>
|
|
127
133
|
|
|
128
|
-
<a href="#
|
|
134
|
+
<a href="#M000675">declareAttribute</a>
|
|
129
135
|
|
|
130
|
-
<a href="#
|
|
136
|
+
<a href="#M000659">deep_clone</a>
|
|
131
137
|
|
|
132
|
-
<a href="#
|
|
138
|
+
<a href="#M000665">eachAttribute</a>
|
|
133
139
|
|
|
134
|
-
<a href="#
|
|
140
|
+
<a href="#M000666">eachScenarioAttribute</a>
|
|
135
141
|
|
|
136
|
-
<a href="#
|
|
142
|
+
<a href="#M000667">fullId</a>
|
|
137
143
|
|
|
138
|
-
<a href="#
|
|
144
|
+
<a href="#M000677">get</a>
|
|
139
145
|
|
|
140
|
-
<a href="#
|
|
146
|
+
<a href="#M000678">getAttr</a>
|
|
141
147
|
|
|
142
|
-
<a href="#
|
|
148
|
+
<a href="#M000669">getWBSIndicies</a>
|
|
143
149
|
|
|
144
|
-
<a href="#
|
|
150
|
+
<a href="#M000682">hasQuery?</a>
|
|
145
151
|
|
|
146
|
-
<a href="#
|
|
152
|
+
<a href="#M000661">inheritAttributes</a>
|
|
147
153
|
|
|
148
|
-
<a href="#
|
|
154
|
+
<a href="#M000662">inheritAttributesFromScenario</a>
|
|
149
155
|
|
|
150
|
-
<a href="#
|
|
156
|
+
<a href="#M000684">inherited</a>
|
|
151
157
|
|
|
152
|
-
<a href="#
|
|
158
|
+
<a href="#M000671">isChildOf?</a>
|
|
153
159
|
|
|
154
|
-
<a href="#
|
|
160
|
+
<a href="#M000672">leaf?</a>
|
|
155
161
|
|
|
156
|
-
<a href="#
|
|
162
|
+
<a href="#M000668">level</a>
|
|
157
163
|
|
|
158
|
-
<a href="#
|
|
164
|
+
<a href="#M000660">levelSeqNo</a>
|
|
159
165
|
|
|
160
|
-
<a href="#
|
|
166
|
+
<a href="#M000685">method_missing</a>
|
|
161
167
|
|
|
162
|
-
<a href="#
|
|
168
|
+
<a href="#M000658">new</a>
|
|
163
169
|
|
|
164
|
-
<a href="#
|
|
170
|
+
<a href="#M000683">provided</a>
|
|
165
171
|
|
|
166
|
-
<a href="#
|
|
172
|
+
<a href="#M000674">root</a>
|
|
167
173
|
|
|
168
|
-
<a href="#
|
|
174
|
+
<a href="#M000679">set</a>
|
|
169
175
|
|
|
170
176
|
</div>
|
|
171
177
|
</div>
|
|
@@ -260,12 +266,12 @@ attribute like an URL that contains more details about the task.
|
|
|
260
266
|
<h3 class="section-bar">Public Class methods</h3>
|
|
261
267
|
|
|
262
268
|
|
|
263
|
-
<div id="method-
|
|
264
|
-
<a name="
|
|
269
|
+
<div id="method-M000658" class="method-detail">
|
|
270
|
+
<a name="M000658"></a>
|
|
265
271
|
|
|
266
272
|
<div class="method-heading">
|
|
267
273
|
|
|
268
|
-
<a href="#
|
|
274
|
+
<a href="#M000658" class="method-signature">
|
|
269
275
|
|
|
270
276
|
<span class="method-name">new</span><span class="method-args">(propertySet, id, name, parent)</span>
|
|
271
277
|
|
|
@@ -291,51 +297,56 @@ be nil and specified by a hierachical <em>id</em> (e. g.
|
|
|
291
297
|
</p>
|
|
292
298
|
|
|
293
299
|
<p><a class="source-toggle" href="#"
|
|
294
|
-
onclick="toggleCode('
|
|
295
|
-
<div class="method-source-code" id="
|
|
300
|
+
onclick="toggleCode('M000658-source');return false;">[Source]</a></p>
|
|
301
|
+
<div class="method-source-code" id="M000658-source">
|
|
296
302
|
<pre>
|
|
297
303
|
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 41</span>
|
|
298
304
|
41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">propertySet</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
|
|
299
305
|
42: <span class="ruby-ivar">@propertySet</span> = <span class="ruby-identifier">propertySet</span>
|
|
300
|
-
43: <span class="ruby-
|
|
301
|
-
44:
|
|
302
|
-
45: <span class="ruby-
|
|
303
|
-
46: <span class="ruby-identifier">
|
|
304
|
-
47: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier"
|
|
305
|
-
48:
|
|
306
|
-
49:
|
|
307
|
-
50:
|
|
308
|
-
51:
|
|
309
|
-
52:
|
|
310
|
-
53:
|
|
311
|
-
54: <span class="ruby-keyword kw">
|
|
312
|
-
55:
|
|
313
|
-
56:
|
|
314
|
-
57:
|
|
315
|
-
58:
|
|
316
|
-
59:
|
|
317
|
-
60:
|
|
318
|
-
61:
|
|
319
|
-
62:
|
|
320
|
-
63: <span class="ruby-
|
|
321
|
-
64:
|
|
322
|
-
65: <span class="ruby-
|
|
323
|
-
66: <span class="ruby-ivar">@
|
|
324
|
-
67: <span class="ruby-ivar">@
|
|
325
|
-
68: <span class="ruby-
|
|
326
|
-
69: <span class="ruby-
|
|
327
|
-
70:
|
|
328
|
-
71:
|
|
329
|
-
72: <span class="ruby-
|
|
330
|
-
73:
|
|
331
|
-
74: <span class="ruby-
|
|
332
|
-
75: <span class="ruby-
|
|
333
|
-
76: <span class="ruby-
|
|
334
|
-
77: <span class="ruby-ivar">@
|
|
306
|
+
43: <span class="ruby-comment cmt"># If _id_ is still nil, we generate a unique id.</span>
|
|
307
|
+
44: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">id</span>
|
|
308
|
+
45: <span class="ruby-identifier">tag</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/TaskJuggler::/</span>, <span class="ruby-value str">''</span>)
|
|
309
|
+
46: <span class="ruby-identifier">id</span> = <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">tag</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> (<span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">to_s</span>
|
|
310
|
+
47: <span class="ruby-identifier">id</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">id</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">parent</span>
|
|
311
|
+
48: <span class="ruby-keyword kw">end</span>
|
|
312
|
+
49: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">id</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>)
|
|
313
|
+
50: <span class="ruby-identifier">parentId</span> = <span class="ruby-identifier">id</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
|
|
314
|
+
51: <span class="ruby-comment cmt"># Set parent to the parent property if it's still nil.</span>
|
|
315
|
+
52: <span class="ruby-identifier">parent</span> = <span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parentId</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">parent</span>
|
|
316
|
+
53: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
|
|
317
|
+
54: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">parent</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>[<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span>]
|
|
318
|
+
55: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Fatal Error: parent must be member of same property set"</span>
|
|
319
|
+
56: <span class="ruby-keyword kw">end</span>
|
|
320
|
+
57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parentId</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">fullId</span>
|
|
321
|
+
58: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Fatal Error: parent (#{parent.fullId}) and parent ID "</span> <span class="ruby-operator">+</span>
|
|
322
|
+
59: <span class="ruby-node">"(#{parentId}) don't match"</span>
|
|
323
|
+
60: <span class="ruby-keyword kw">end</span>
|
|
324
|
+
61: <span class="ruby-keyword kw">end</span>
|
|
325
|
+
62: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>[(<span class="ruby-identifier">id</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-value str">'.'</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)<span class="ruby-operator">..</span> <span class="ruby-value">-1</span>]
|
|
326
|
+
63: <span class="ruby-keyword kw">else</span>
|
|
327
|
+
64: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
|
|
328
|
+
65: <span class="ruby-keyword kw">end</span>
|
|
329
|
+
66: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
|
330
|
+
67: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">project</span>
|
|
331
|
+
68: <span class="ruby-ivar">@level</span> = <span class="ruby-value">-1</span>
|
|
332
|
+
69: <span class="ruby-ivar">@sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>
|
|
333
|
+
70:
|
|
334
|
+
71: <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">parent</span>
|
|
335
|
+
72: <span class="ruby-ivar">@sequenceNo</span> = <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">items</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
336
|
+
73: <span class="ruby-ivar">@children</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
337
|
+
74: <span class="ruby-comment cmt"># In case we have a parent object, we register this object as child of</span>
|
|
338
|
+
75: <span class="ruby-comment cmt"># the parent.</span>
|
|
339
|
+
76: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@parent</span>)
|
|
340
|
+
77: <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">addChild</span>(<span class="ruby-keyword kw">self</span>)
|
|
335
341
|
78: <span class="ruby-keyword kw">end</span>
|
|
336
|
-
79:
|
|
337
|
-
80: <span class="ruby-ivar">@
|
|
338
|
-
81:
|
|
342
|
+
79:
|
|
343
|
+
80: <span class="ruby-ivar">@attributes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
|
|
344
|
+
81: <span class="ruby-ivar">@scenarioAttributes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>)
|
|
345
|
+
82: <span class="ruby-ivar">@scenarioAttributes</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">sca</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sca</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> }
|
|
346
|
+
83:
|
|
347
|
+
84: <span class="ruby-comment cmt"># Scenario specific data</span>
|
|
348
|
+
85: <span class="ruby-ivar">@data</span> = <span class="ruby-keyword kw">nil</span>
|
|
349
|
+
86: <span class="ruby-keyword kw">end</span>
|
|
339
350
|
</pre>
|
|
340
351
|
</div>
|
|
341
352
|
|
|
@@ -346,12 +357,12 @@ be nil and specified by a hierachical <em>id</em> (e. g.
|
|
|
346
357
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
347
358
|
|
|
348
359
|
|
|
349
|
-
<div id="method-
|
|
350
|
-
<a name="
|
|
360
|
+
<div id="method-M000681" class="method-detail">
|
|
361
|
+
<a name="M000681"></a>
|
|
351
362
|
|
|
352
363
|
<div class="method-heading">
|
|
353
364
|
|
|
354
|
-
<a href="#
|
|
365
|
+
<a href="#M000681" class="method-signature">
|
|
355
366
|
|
|
356
367
|
<span class="method-name">[]</span><span class="method-args">(attributeId, scenario)</span>
|
|
357
368
|
|
|
@@ -368,17 +379,17 @@ the <a href="Scenario.html">Scenario</a>.
|
|
|
368
379
|
</p>
|
|
369
380
|
|
|
370
381
|
<p><a class="source-toggle" href="#"
|
|
371
|
-
onclick="toggleCode('
|
|
372
|
-
<div class="method-source-code" id="
|
|
382
|
+
onclick="toggleCode('M000681-source');return false;">[Source]</a></p>
|
|
383
|
+
<div class="method-source-code" id="M000681-source">
|
|
373
384
|
<pre>
|
|
374
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
385
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 374</span>
|
|
386
|
+
374: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>)
|
|
387
|
+
375: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
388
|
+
376: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
|
|
389
|
+
377: <span class="ruby-keyword kw">else</span>
|
|
390
|
+
378: <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>);
|
|
391
|
+
379: <span class="ruby-keyword kw">end</span>
|
|
392
|
+
380: <span class="ruby-keyword kw">end</span>
|
|
382
393
|
</pre>
|
|
383
394
|
</div>
|
|
384
395
|
|
|
@@ -386,12 +397,12 @@ the <a href="Scenario.html">Scenario</a>.
|
|
|
386
397
|
</div>
|
|
387
398
|
|
|
388
399
|
|
|
389
|
-
<div id="method-
|
|
390
|
-
<a name="
|
|
400
|
+
<div id="method-M000680" class="method-detail">
|
|
401
|
+
<a name="M000680"></a>
|
|
391
402
|
|
|
392
403
|
<div class="method-heading">
|
|
393
404
|
|
|
394
|
-
<a href="#
|
|
405
|
+
<a href="#M000680" class="method-signature">
|
|
395
406
|
|
|
396
407
|
<span class="method-name">[]=</span><span class="method-args">(attributeId, scenario, value)</span>
|
|
397
408
|
|
|
@@ -408,20 +419,20 @@ attribute does not exist, an exception is raised.
|
|
|
408
419
|
</p>
|
|
409
420
|
|
|
410
421
|
<p><a class="source-toggle" href="#"
|
|
411
|
-
onclick="toggleCode('
|
|
412
|
-
<div class="method-source-code" id="
|
|
422
|
+
onclick="toggleCode('M000680-source');return false;">[Source]</a></p>
|
|
423
|
+
<div class="method-source-code" id="M000680-source">
|
|
413
424
|
<pre>
|
|
414
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 360</span>
|
|
426
|
+
360: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenario</span>, <span class="ruby-identifier">value</span>)
|
|
427
|
+
361: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
428
|
+
362: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
429
|
+
363: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
430
|
+
364: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
431
|
+
365: <span class="ruby-keyword kw">else</span>
|
|
432
|
+
366: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">"Unknown attribute #{attributeId}"</span>
|
|
433
|
+
367: <span class="ruby-keyword kw">end</span>
|
|
434
|
+
368: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
435
|
+
369: <span class="ruby-keyword kw">end</span>
|
|
425
436
|
</pre>
|
|
426
437
|
</div>
|
|
427
438
|
|
|
@@ -429,12 +440,12 @@ attribute does not exist, an exception is raised.
|
|
|
429
440
|
</div>
|
|
430
441
|
|
|
431
442
|
|
|
432
|
-
<div id="method-
|
|
433
|
-
<a name="
|
|
443
|
+
<div id="method-M000670" class="method-detail">
|
|
444
|
+
<a name="M000670"></a>
|
|
434
445
|
|
|
435
446
|
<div class="method-heading">
|
|
436
447
|
|
|
437
|
-
<a href="#
|
|
448
|
+
<a href="#M000670" class="method-signature">
|
|
438
449
|
|
|
439
450
|
<span class="method-name">addChild</span><span class="method-args">(child)</span>
|
|
440
451
|
|
|
@@ -449,16 +460,16 @@ Add <em>child</em> node as child to this node.
|
|
|
449
460
|
</p>
|
|
450
461
|
|
|
451
462
|
<p><a class="source-toggle" href="#"
|
|
452
|
-
onclick="toggleCode('
|
|
453
|
-
<div class="method-source-code" id="
|
|
463
|
+
onclick="toggleCode('M000670-source');return false;">[Source]</a></p>
|
|
464
|
+
<div class="method-source-code" id="M000670-source">
|
|
454
465
|
<pre>
|
|
455
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
466
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 255</span>
|
|
467
|
+
255: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addChild</span>(<span class="ruby-identifier">child</span>)
|
|
468
|
+
256: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">propertySet</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@propertySet</span>
|
|
469
|
+
257: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Child nodes must belong to the same property set as the parent"</span>
|
|
470
|
+
258: <span class="ruby-keyword kw">end</span>
|
|
471
|
+
259: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">child</span>)
|
|
472
|
+
260: <span class="ruby-keyword kw">end</span>
|
|
462
473
|
</pre>
|
|
463
474
|
</div>
|
|
464
475
|
|
|
@@ -466,12 +477,12 @@ Add <em>child</em> node as child to this node.
|
|
|
466
477
|
</div>
|
|
467
478
|
|
|
468
479
|
|
|
469
|
-
<div id="method-
|
|
470
|
-
<a name="
|
|
480
|
+
<div id="method-M000663" class="method-detail">
|
|
481
|
+
<a name="M000663"></a>
|
|
471
482
|
|
|
472
483
|
<div class="method-heading">
|
|
473
484
|
|
|
474
|
-
<a href="#
|
|
485
|
+
<a href="#M000663" class="method-signature">
|
|
475
486
|
|
|
476
487
|
<span class="method-name">all</span><span class="method-args">()</span>
|
|
477
488
|
|
|
@@ -486,17 +497,17 @@ Returns a list of this node and all transient sub nodes.
|
|
|
486
497
|
</p>
|
|
487
498
|
|
|
488
499
|
<p><a class="source-toggle" href="#"
|
|
489
|
-
onclick="toggleCode('
|
|
490
|
-
<div class="method-source-code" id="
|
|
500
|
+
onclick="toggleCode('M000663-source');return false;">[Source]</a></p>
|
|
501
|
+
<div class="method-source-code" id="M000663-source">
|
|
491
502
|
<pre>
|
|
492
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
503
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 176</span>
|
|
504
|
+
176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">all</span>
|
|
505
|
+
177: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
|
|
506
|
+
178: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
|
507
|
+
179: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">res</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">c</span>.<span class="ruby-identifier">all</span>)
|
|
508
|
+
180: <span class="ruby-keyword kw">end</span>
|
|
509
|
+
181: <span class="ruby-identifier">res</span>
|
|
510
|
+
182: <span class="ruby-keyword kw">end</span>
|
|
500
511
|
</pre>
|
|
501
512
|
</div>
|
|
502
513
|
|
|
@@ -504,12 +515,12 @@ Returns a list of this node and all transient sub nodes.
|
|
|
504
515
|
</div>
|
|
505
516
|
|
|
506
517
|
|
|
507
|
-
<div id="method-
|
|
508
|
-
<a name="
|
|
518
|
+
<div id="method-M000664" class="method-detail">
|
|
519
|
+
<a name="M000664"></a>
|
|
509
520
|
|
|
510
521
|
<div class="method-heading">
|
|
511
522
|
|
|
512
|
-
<a href="#
|
|
523
|
+
<a href="#M000664" class="method-signature">
|
|
513
524
|
|
|
514
525
|
<span class="method-name">allLeaves</span><span class="method-args">()</span>
|
|
515
526
|
|
|
@@ -524,21 +535,21 @@ Return a list of all leaf nodes of this node.
|
|
|
524
535
|
</p>
|
|
525
536
|
|
|
526
537
|
<p><a class="source-toggle" href="#"
|
|
527
|
-
onclick="toggleCode('
|
|
528
|
-
<div class="method-source-code" id="
|
|
538
|
+
onclick="toggleCode('M000664-source');return false;">[Source]</a></p>
|
|
539
|
+
<div class="method-source-code" id="M000664-source">
|
|
529
540
|
<pre>
|
|
530
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
541
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 185</span>
|
|
542
|
+
185: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allLeaves</span>
|
|
543
|
+
186: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">leaf?</span>
|
|
544
|
+
187: <span class="ruby-identifier">res</span> = [ <span class="ruby-keyword kw">self</span> ]
|
|
545
|
+
188: <span class="ruby-keyword kw">else</span>
|
|
546
|
+
189: <span class="ruby-identifier">res</span> = []
|
|
547
|
+
190: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
|
548
|
+
191: <span class="ruby-identifier">res</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">allLeaves</span>
|
|
549
|
+
192: <span class="ruby-keyword kw">end</span>
|
|
550
|
+
193: <span class="ruby-keyword kw">end</span>
|
|
551
|
+
194: <span class="ruby-identifier">res</span>
|
|
552
|
+
195: <span class="ruby-keyword kw">end</span>
|
|
542
553
|
</pre>
|
|
543
554
|
</div>
|
|
544
555
|
|
|
@@ -546,12 +557,12 @@ Return a list of all leaf nodes of this node.
|
|
|
546
557
|
</div>
|
|
547
558
|
|
|
548
559
|
|
|
549
|
-
<div id="method-
|
|
550
|
-
<a name="
|
|
560
|
+
<div id="method-M000676" class="method-detail">
|
|
561
|
+
<a name="M000676"></a>
|
|
551
562
|
|
|
552
563
|
<div class="method-heading">
|
|
553
564
|
|
|
554
|
-
<a href="#
|
|
565
|
+
<a href="#M000676" class="method-signature">
|
|
555
566
|
|
|
556
567
|
<span class="method-name">attributeDefinition</span><span class="method-args">(attributeId)</span>
|
|
557
568
|
|
|
@@ -566,13 +577,13 @@ Return the type of the attribute with ID <em>attributeId</em>.
|
|
|
566
577
|
</p>
|
|
567
578
|
|
|
568
579
|
<p><a class="source-toggle" href="#"
|
|
569
|
-
onclick="toggleCode('
|
|
570
|
-
<div class="method-source-code" id="
|
|
580
|
+
onclick="toggleCode('M000676-source');return false;">[Source]</a></p>
|
|
581
|
+
<div class="method-source-code" id="M000676-source">
|
|
571
582
|
<pre>
|
|
572
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
583
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 305</span>
|
|
584
|
+
305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attributeDefinition</span>(<span class="ruby-identifier">attributeId</span>)
|
|
585
|
+
306: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">attributeDefinitions</span>[<span class="ruby-identifier">attributeId</span>]
|
|
586
|
+
307: <span class="ruby-keyword kw">end</span>
|
|
576
587
|
</pre>
|
|
577
588
|
</div>
|
|
578
589
|
|
|
@@ -580,12 +591,12 @@ Return the type of the attribute with ID <em>attributeId</em>.
|
|
|
580
591
|
</div>
|
|
581
592
|
|
|
582
593
|
|
|
583
|
-
<div id="method-
|
|
584
|
-
<a name="
|
|
594
|
+
<div id="method-M000673" class="method-detail">
|
|
595
|
+
<a name="M000673"></a>
|
|
585
596
|
|
|
586
597
|
<div class="method-heading">
|
|
587
598
|
|
|
588
|
-
<a href="#
|
|
599
|
+
<a href="#M000673" class="method-signature">
|
|
589
600
|
|
|
590
601
|
<span class="method-name">container?</span><span class="method-args">()</span>
|
|
591
602
|
|
|
@@ -600,13 +611,13 @@ Return true if the node has children.
|
|
|
600
611
|
</p>
|
|
601
612
|
|
|
602
613
|
<p><a class="source-toggle" href="#"
|
|
603
|
-
onclick="toggleCode('
|
|
604
|
-
<div class="method-source-code" id="
|
|
614
|
+
onclick="toggleCode('M000673-source');return false;">[Source]</a></p>
|
|
615
|
+
<div class="method-source-code" id="M000673-source">
|
|
605
616
|
<pre>
|
|
606
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
617
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 277</span>
|
|
618
|
+
277: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">container?</span>
|
|
619
|
+
278: <span class="ruby-operator">!</span><span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
|
|
620
|
+
279: <span class="ruby-keyword kw">end</span>
|
|
610
621
|
</pre>
|
|
611
622
|
</div>
|
|
612
623
|
|
|
@@ -614,12 +625,12 @@ Return true if the node has children.
|
|
|
614
625
|
</div>
|
|
615
626
|
|
|
616
627
|
|
|
617
|
-
<div id="method-
|
|
618
|
-
<a name="
|
|
628
|
+
<div id="method-M000675" class="method-detail">
|
|
629
|
+
<a name="M000675"></a>
|
|
619
630
|
|
|
620
631
|
<div class="method-heading">
|
|
621
632
|
|
|
622
|
-
<a href="#
|
|
633
|
+
<a href="#M000675" class="method-signature">
|
|
623
634
|
|
|
624
635
|
<span class="method-name">declareAttribute</span><span class="method-args">(attributeType)</span>
|
|
625
636
|
|
|
@@ -636,21 +647,57 @@ for each scenario.
|
|
|
636
647
|
</p>
|
|
637
648
|
|
|
638
649
|
<p><a class="source-toggle" href="#"
|
|
639
|
-
onclick="toggleCode('
|
|
640
|
-
<div class="method-source-code" id="
|
|
650
|
+
onclick="toggleCode('M000675-source');return false;">[Source]</a></p>
|
|
651
|
+
<div class="method-source-code" id="M000675-source">
|
|
652
|
+
<pre>
|
|
653
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 292</span>
|
|
654
|
+
292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">declareAttribute</span>(<span class="ruby-identifier">attributeType</span>)
|
|
655
|
+
293: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attributeType</span>.<span class="ruby-identifier">scenarioSpecific</span>
|
|
656
|
+
294: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
657
|
+
295: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
|
|
658
|
+
296: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
|
|
659
|
+
297: <span class="ruby-keyword kw">end</span>
|
|
660
|
+
298: <span class="ruby-keyword kw">else</span>
|
|
661
|
+
299: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
|
|
662
|
+
300: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
|
|
663
|
+
301: <span class="ruby-keyword kw">end</span>
|
|
664
|
+
302: <span class="ruby-keyword kw">end</span>
|
|
665
|
+
</pre>
|
|
666
|
+
</div>
|
|
667
|
+
|
|
668
|
+
</div>
|
|
669
|
+
</div>
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
<div id="method-M000659" class="method-detail">
|
|
673
|
+
<a name="M000659"></a>
|
|
674
|
+
|
|
675
|
+
<div class="method-heading">
|
|
676
|
+
|
|
677
|
+
<a href="#M000659" class="method-signature">
|
|
678
|
+
|
|
679
|
+
<span class="method-name">deep_clone</span><span class="method-args">()</span>
|
|
680
|
+
|
|
681
|
+
</a>
|
|
682
|
+
|
|
683
|
+
</div>
|
|
684
|
+
|
|
685
|
+
<div class="method-description">
|
|
686
|
+
|
|
687
|
+
<p>
|
|
688
|
+
We only use <a href="PropertyTreeNode.html#M000659">deep_clone</a> for
|
|
689
|
+
attributes, never for properties. Since attributes may reference properties
|
|
690
|
+
these references should remain references.
|
|
691
|
+
</p>
|
|
692
|
+
|
|
693
|
+
<p><a class="source-toggle" href="#"
|
|
694
|
+
onclick="toggleCode('M000659-source');return false;">[Source]</a></p>
|
|
695
|
+
<div class="method-source-code" id="M000659-source">
|
|
641
696
|
<pre>
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
286: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
|
|
647
|
-
287: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
|
|
648
|
-
288: <span class="ruby-keyword kw">end</span>
|
|
649
|
-
289: <span class="ruby-keyword kw">else</span>
|
|
650
|
-
290: <span class="ruby-identifier">attribute</span> = <span class="ruby-identifier">newAttribute</span>(<span class="ruby-identifier">attributeType</span>)
|
|
651
|
-
291: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">id</span>] = <span class="ruby-identifier">attribute</span>
|
|
652
|
-
292: <span class="ruby-keyword kw">end</span>
|
|
653
|
-
293: <span class="ruby-keyword kw">end</span>
|
|
697
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 91</span>
|
|
698
|
+
91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
699
|
+
92: <span class="ruby-keyword kw">self</span>
|
|
700
|
+
93: <span class="ruby-keyword kw">end</span>
|
|
654
701
|
</pre>
|
|
655
702
|
</div>
|
|
656
703
|
|
|
@@ -658,12 +705,12 @@ for each scenario.
|
|
|
658
705
|
</div>
|
|
659
706
|
|
|
660
707
|
|
|
661
|
-
<div id="method-
|
|
662
|
-
<a name="
|
|
708
|
+
<div id="method-M000665" class="method-detail">
|
|
709
|
+
<a name="M000665"></a>
|
|
663
710
|
|
|
664
711
|
<div class="method-heading">
|
|
665
712
|
|
|
666
|
-
<a href="#
|
|
713
|
+
<a href="#M000665" class="method-signature">
|
|
667
714
|
|
|
668
715
|
<span class="method-name">eachAttribute</span><span class="method-args">() {|attr| ...}</span>
|
|
669
716
|
|
|
@@ -678,15 +725,15 @@ Iterator over all non-scenario-specific attributes of this node.
|
|
|
678
725
|
</p>
|
|
679
726
|
|
|
680
727
|
<p><a class="source-toggle" href="#"
|
|
681
|
-
onclick="toggleCode('
|
|
682
|
-
<div class="method-source-code" id="
|
|
728
|
+
onclick="toggleCode('M000665-source');return false;">[Source]</a></p>
|
|
729
|
+
<div class="method-source-code" id="M000665-source">
|
|
683
730
|
<pre>
|
|
684
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
731
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 198</span>
|
|
732
|
+
198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAttribute</span>
|
|
733
|
+
199: <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">attr</span><span class="ruby-operator">|</span>
|
|
734
|
+
200: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
|
|
735
|
+
201: <span class="ruby-keyword kw">end</span>
|
|
736
|
+
202: <span class="ruby-keyword kw">end</span>
|
|
690
737
|
</pre>
|
|
691
738
|
</div>
|
|
692
739
|
|
|
@@ -694,12 +741,12 @@ Iterator over all non-scenario-specific attributes of this node.
|
|
|
694
741
|
</div>
|
|
695
742
|
|
|
696
743
|
|
|
697
|
-
<div id="method-
|
|
698
|
-
<a name="
|
|
744
|
+
<div id="method-M000666" class="method-detail">
|
|
745
|
+
<a name="M000666"></a>
|
|
699
746
|
|
|
700
747
|
<div class="method-heading">
|
|
701
748
|
|
|
702
|
-
<a href="#
|
|
749
|
+
<a href="#M000666" class="method-signature">
|
|
703
750
|
|
|
704
751
|
<span class="method-name">eachScenarioAttribute</span><span class="method-args">(scenario) {|attr| ...}</span>
|
|
705
752
|
|
|
@@ -714,15 +761,15 @@ Iterator over all scenario-specific attributes of this node.
|
|
|
714
761
|
</p>
|
|
715
762
|
|
|
716
763
|
<p><a class="source-toggle" href="#"
|
|
717
|
-
onclick="toggleCode('
|
|
718
|
-
<div class="method-source-code" id="
|
|
764
|
+
onclick="toggleCode('M000666-source');return false;">[Source]</a></p>
|
|
765
|
+
<div class="method-source-code" id="M000666-source">
|
|
719
766
|
<pre>
|
|
720
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
767
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 205</span>
|
|
768
|
+
205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachScenarioAttribute</span>(<span class="ruby-identifier">scenario</span>)
|
|
769
|
+
206: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenario</span>].<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
|
|
770
|
+
207: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">attr</span>
|
|
771
|
+
208: <span class="ruby-keyword kw">end</span>
|
|
772
|
+
209: <span class="ruby-keyword kw">end</span>
|
|
726
773
|
</pre>
|
|
727
774
|
</div>
|
|
728
775
|
|
|
@@ -730,12 +777,12 @@ Iterator over all scenario-specific attributes of this node.
|
|
|
730
777
|
</div>
|
|
731
778
|
|
|
732
779
|
|
|
733
|
-
<div id="method-
|
|
734
|
-
<a name="
|
|
780
|
+
<div id="method-M000667" class="method-detail">
|
|
781
|
+
<a name="M000667"></a>
|
|
735
782
|
|
|
736
783
|
<div class="method-heading">
|
|
737
784
|
|
|
738
|
-
<a href="#
|
|
785
|
+
<a href="#M000667" class="method-signature">
|
|
739
786
|
|
|
740
787
|
<span class="method-name">fullId</span><span class="method-args">()</span>
|
|
741
788
|
|
|
@@ -753,20 +800,20 @@ node to this node, separating the IDs by a dot.
|
|
|
753
800
|
</p>
|
|
754
801
|
|
|
755
802
|
<p><a class="source-toggle" href="#"
|
|
756
|
-
onclick="toggleCode('
|
|
757
|
-
<div class="method-source-code" id="
|
|
803
|
+
onclick="toggleCode('M000667-source');return false;">[Source]</a></p>
|
|
804
|
+
<div class="method-source-code" id="M000667-source">
|
|
758
805
|
<pre>
|
|
759
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
806
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 214</span>
|
|
807
|
+
214: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fullId</span>
|
|
808
|
+
215: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@id</span>
|
|
809
|
+
216: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">flatNamespace</span>
|
|
810
|
+
217: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
|
|
811
|
+
218: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
|
|
812
|
+
219: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"."</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">res</span>
|
|
813
|
+
220: <span class="ruby-keyword kw">end</span>
|
|
814
|
+
221: <span class="ruby-keyword kw">end</span>
|
|
815
|
+
222: <span class="ruby-identifier">res</span>
|
|
816
|
+
223: <span class="ruby-keyword kw">end</span>
|
|
770
817
|
</pre>
|
|
771
818
|
</div>
|
|
772
819
|
|
|
@@ -774,12 +821,12 @@ node to this node, separating the IDs by a dot.
|
|
|
774
821
|
</div>
|
|
775
822
|
|
|
776
823
|
|
|
777
|
-
<div id="method-
|
|
778
|
-
<a name="
|
|
824
|
+
<div id="method-M000677" class="method-detail">
|
|
825
|
+
<a name="M000677"></a>
|
|
779
826
|
|
|
780
827
|
<div class="method-heading">
|
|
781
828
|
|
|
782
|
-
<a href="#
|
|
829
|
+
<a href="#M000677" class="method-signature">
|
|
783
830
|
|
|
784
831
|
<span class="method-name">get</span><span class="method-args">(attributeId)</span>
|
|
785
832
|
|
|
@@ -796,25 +843,25 @@ raised.
|
|
|
796
843
|
</p>
|
|
797
844
|
|
|
798
845
|
<p><a class="source-toggle" href="#"
|
|
799
|
-
onclick="toggleCode('
|
|
800
|
-
<div class="method-source-code" id="
|
|
846
|
+
onclick="toggleCode('M000677-source');return false;">[Source]</a></p>
|
|
847
|
+
<div class="method-source-code" id="M000677-source">
|
|
801
848
|
<pre>
|
|
802
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
849
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 312</span>
|
|
850
|
+
312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attributeId</span>)
|
|
851
|
+
313: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
|
|
852
|
+
314: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
|
|
853
|
+
315: <span class="ruby-ivar">@id</span>
|
|
854
|
+
316: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
|
|
855
|
+
317: <span class="ruby-ivar">@name</span>
|
|
856
|
+
318: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
|
|
857
|
+
319: <span class="ruby-ivar">@sequenceNo</span>
|
|
858
|
+
320: <span class="ruby-keyword kw">else</span>
|
|
859
|
+
321: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
860
|
+
322: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">"Unknown attribute #{attributeId}"</span>
|
|
861
|
+
323: <span class="ruby-keyword kw">end</span>
|
|
862
|
+
324: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">get</span>
|
|
863
|
+
325: <span class="ruby-keyword kw">end</span>
|
|
864
|
+
326: <span class="ruby-keyword kw">end</span>
|
|
818
865
|
</pre>
|
|
819
866
|
</div>
|
|
820
867
|
|
|
@@ -822,12 +869,12 @@ raised.
|
|
|
822
869
|
</div>
|
|
823
870
|
|
|
824
871
|
|
|
825
|
-
<div id="method-
|
|
826
|
-
<a name="
|
|
872
|
+
<div id="method-M000678" class="method-detail">
|
|
873
|
+
<a name="M000678"></a>
|
|
827
874
|
|
|
828
875
|
<div class="method-heading">
|
|
829
876
|
|
|
830
|
-
<a href="#
|
|
877
|
+
<a href="#M000678" class="method-signature">
|
|
831
878
|
|
|
832
879
|
<span class="method-name">getAttr</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
|
|
833
880
|
|
|
@@ -844,17 +891,26 @@ provided by <em>scenarioIdx</em>.
|
|
|
844
891
|
</p>
|
|
845
892
|
|
|
846
893
|
<p><a class="source-toggle" href="#"
|
|
847
|
-
onclick="toggleCode('
|
|
848
|
-
<div class="method-source-code" id="
|
|
894
|
+
onclick="toggleCode('M000678-source');return false;">[Source]</a></p>
|
|
895
|
+
<div class="method-source-code" id="M000678-source">
|
|
849
896
|
<pre>
|
|
850
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
897
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 331</span>
|
|
898
|
+
331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getAttr</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
899
|
+
332: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>.<span class="ruby-identifier">nil?</span>
|
|
900
|
+
333: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">attributeId</span>
|
|
901
|
+
334: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'id'</span>
|
|
902
|
+
335: <span class="ruby-ivar">@id</span>
|
|
903
|
+
336: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'name'</span>
|
|
904
|
+
337: <span class="ruby-ivar">@name</span>
|
|
905
|
+
338: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'seqno'</span>
|
|
906
|
+
339: <span class="ruby-ivar">@sequenceNo</span>
|
|
907
|
+
340: <span class="ruby-keyword kw">else</span>
|
|
908
|
+
341: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>]
|
|
909
|
+
342: <span class="ruby-keyword kw">end</span>
|
|
910
|
+
343: <span class="ruby-keyword kw">else</span>
|
|
911
|
+
344: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>]
|
|
912
|
+
345: <span class="ruby-keyword kw">end</span>
|
|
913
|
+
346: <span class="ruby-keyword kw">end</span>
|
|
858
914
|
</pre>
|
|
859
915
|
</div>
|
|
860
916
|
|
|
@@ -862,12 +918,12 @@ provided by <em>scenarioIdx</em>.
|
|
|
862
918
|
</div>
|
|
863
919
|
|
|
864
920
|
|
|
865
|
-
<div id="method-
|
|
866
|
-
<a name="
|
|
921
|
+
<div id="method-M000669" class="method-detail">
|
|
922
|
+
<a name="M000669"></a>
|
|
867
923
|
|
|
868
924
|
<div class="method-heading">
|
|
869
925
|
|
|
870
|
-
<a href="#
|
|
926
|
+
<a href="#M000669" class="method-signature">
|
|
871
927
|
|
|
872
928
|
<span class="method-name">getWBSIndicies</span><span class="method-args">()</span>
|
|
873
929
|
|
|
@@ -884,21 +940,21 @@ with an index for each level from the root to this node.
|
|
|
884
940
|
</p>
|
|
885
941
|
|
|
886
942
|
<p><a class="source-toggle" href="#"
|
|
887
|
-
onclick="toggleCode('
|
|
888
|
-
<div class="method-source-code" id="
|
|
943
|
+
onclick="toggleCode('M000669-source');return false;">[Source]</a></p>
|
|
944
|
+
<div class="method-source-code" id="M000669-source">
|
|
889
945
|
<pre>
|
|
890
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
946
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 242</span>
|
|
947
|
+
242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getWBSIndicies</span>
|
|
948
|
+
243: <span class="ruby-identifier">idcs</span> = []
|
|
949
|
+
244: <span class="ruby-identifier">p</span> = <span class="ruby-keyword kw">self</span>
|
|
950
|
+
245: <span class="ruby-keyword kw">begin</span>
|
|
951
|
+
246: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">parent</span>
|
|
952
|
+
247: <span class="ruby-identifier">idcs</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">parent</span> <span class="ruby-value">? </span><span class="ruby-identifier">parent</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">:</span>
|
|
953
|
+
248: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">p</span>))
|
|
954
|
+
249: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">parent</span>
|
|
955
|
+
250: <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">p</span>
|
|
956
|
+
251: <span class="ruby-identifier">idcs</span>
|
|
957
|
+
252: <span class="ruby-keyword kw">end</span>
|
|
902
958
|
</pre>
|
|
903
959
|
</div>
|
|
904
960
|
|
|
@@ -906,12 +962,12 @@ with an index for each level from the root to this node.
|
|
|
906
962
|
</div>
|
|
907
963
|
|
|
908
964
|
|
|
909
|
-
<div id="method-
|
|
910
|
-
<a name="
|
|
965
|
+
<div id="method-M000682" class="method-detail">
|
|
966
|
+
<a name="M000682"></a>
|
|
911
967
|
|
|
912
968
|
<div class="method-heading">
|
|
913
969
|
|
|
914
|
-
<a href="#
|
|
970
|
+
<a href="#M000682" class="method-signature">
|
|
915
971
|
|
|
916
972
|
<span class="method-name">hasQuery?</span><span class="method-args">(queryId, scenarioIdx = nil)</span>
|
|
917
973
|
|
|
@@ -929,18 +985,18 @@ the query function must be scenario specific.
|
|
|
929
985
|
</p>
|
|
930
986
|
|
|
931
987
|
<p><a class="source-toggle" href="#"
|
|
932
|
-
onclick="toggleCode('
|
|
933
|
-
<div class="method-source-code" id="
|
|
988
|
+
onclick="toggleCode('M000682-source');return false;">[Source]</a></p>
|
|
989
|
+
<div class="method-source-code" id="M000682-source">
|
|
934
990
|
<pre>
|
|
935
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
991
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 385</span>
|
|
992
|
+
385: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">queryId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
993
|
+
386: <span class="ruby-identifier">methodName</span> = <span class="ruby-value str">'query_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">queryId</span>
|
|
994
|
+
387: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
995
|
+
388: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
|
|
996
|
+
389: <span class="ruby-keyword kw">else</span>
|
|
997
|
+
390: <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">methodName</span>)
|
|
998
|
+
391: <span class="ruby-keyword kw">end</span>
|
|
999
|
+
392: <span class="ruby-keyword kw">end</span>
|
|
944
1000
|
</pre>
|
|
945
1001
|
</div>
|
|
946
1002
|
|
|
@@ -948,12 +1004,12 @@ the query function must be scenario specific.
|
|
|
948
1004
|
</div>
|
|
949
1005
|
|
|
950
1006
|
|
|
951
|
-
<div id="method-
|
|
952
|
-
<a name="
|
|
1007
|
+
<div id="method-M000661" class="method-detail">
|
|
1008
|
+
<a name="M000661"></a>
|
|
953
1009
|
|
|
954
1010
|
<div class="method-heading">
|
|
955
1011
|
|
|
956
|
-
<a href="#
|
|
1012
|
+
<a href="#M000661" class="method-signature">
|
|
957
1013
|
|
|
958
1014
|
<span class="method-name">inheritAttributes</span><span class="method-args">()</span>
|
|
959
1015
|
|
|
@@ -969,59 +1025,56 @@ href="Project.html">Project</a>.
|
|
|
969
1025
|
</p>
|
|
970
1026
|
|
|
971
1027
|
<p><a class="source-toggle" href="#"
|
|
972
|
-
onclick="toggleCode('
|
|
973
|
-
<div class="method-source-code" id="
|
|
1028
|
+
onclick="toggleCode('M000661-source');return false;">[Source]</a></p>
|
|
1029
|
+
<div class="method-source-code" id="M000661-source">
|
|
974
1030
|
<pre>
|
|
975
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
121: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
|
|
1009
|
-
122: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
|
|
1010
|
-
123: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
|
|
1011
|
-
124: <span class="ruby-keyword kw">end</span>
|
|
1012
|
-
125: <span class="ruby-keyword kw">else</span>
|
|
1013
|
-
126: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
|
|
1014
|
-
127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">whitelist</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>)
|
|
1015
|
-
128: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&&</span>
|
|
1016
|
-
129: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
|
|
1017
|
-
130: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
|
|
1018
|
-
131: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
|
|
1019
|
-
132: <span class="ruby-keyword kw">end</span>
|
|
1031
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 101</span>
|
|
1032
|
+
101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributes</span>
|
|
1033
|
+
102: <span class="ruby-comment cmt"># Inherit non-scenario-specific values</span>
|
|
1034
|
+
103: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
|
|
1035
|
+
104: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
|
|
1036
|
+
105:
|
|
1037
|
+
106: <span class="ruby-identifier">aId</span> = <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>
|
|
1038
|
+
107: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
|
|
1039
|
+
108: <span class="ruby-comment cmt"># Inherit values from parent property</span>
|
|
1040
|
+
109: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">aId</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">aId</span>)
|
|
1041
|
+
110: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">aId</span>))
|
|
1042
|
+
111: <span class="ruby-keyword kw">end</span>
|
|
1043
|
+
112: <span class="ruby-keyword kw">else</span>
|
|
1044
|
+
113: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
|
|
1045
|
+
114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
|
|
1046
|
+
115: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>]
|
|
1047
|
+
116: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">aId</span>].<span class="ruby-identifier">inherit</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-identifier">aId</span>])
|
|
1048
|
+
117: <span class="ruby-keyword kw">end</span>
|
|
1049
|
+
118: <span class="ruby-keyword kw">end</span>
|
|
1050
|
+
119: <span class="ruby-keyword kw">end</span>
|
|
1051
|
+
120: <span class="ruby-keyword kw">end</span>
|
|
1052
|
+
121:
|
|
1053
|
+
122: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
|
|
1054
|
+
123: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
|
|
1055
|
+
124: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromParent</span>
|
|
1056
|
+
125:
|
|
1057
|
+
126: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
|
|
1058
|
+
127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
|
|
1059
|
+
128: <span class="ruby-comment cmt"># Inherit scenario specific values from parent property</span>
|
|
1060
|
+
129: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
|
|
1061
|
+
130: <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>)
|
|
1062
|
+
131: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
|
|
1063
|
+
132: <span class="ruby-identifier">parent</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>])
|
|
1020
1064
|
133: <span class="ruby-keyword kw">end</span>
|
|
1021
|
-
134: <span class="ruby-keyword kw">
|
|
1022
|
-
135:
|
|
1023
|
-
136:
|
|
1024
|
-
137:
|
|
1065
|
+
134: <span class="ruby-keyword kw">else</span>
|
|
1066
|
+
135: <span class="ruby-comment cmt"># Inherit selected values from project if top-level property</span>
|
|
1067
|
+
136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">inheritedFromProject</span>
|
|
1068
|
+
137: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] <span class="ruby-operator">&&</span>
|
|
1069
|
+
138: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>]
|
|
1070
|
+
139: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">inherit</span>(
|
|
1071
|
+
140: <span class="ruby-ivar">@project</span>[<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>])
|
|
1072
|
+
141: <span class="ruby-keyword kw">end</span>
|
|
1073
|
+
142: <span class="ruby-keyword kw">end</span>
|
|
1074
|
+
143: <span class="ruby-keyword kw">end</span>
|
|
1075
|
+
144: <span class="ruby-keyword kw">end</span>
|
|
1076
|
+
145: <span class="ruby-keyword kw">end</span>
|
|
1077
|
+
146: <span class="ruby-keyword kw">end</span>
|
|
1025
1078
|
</pre>
|
|
1026
1079
|
</div>
|
|
1027
1080
|
|
|
@@ -1029,12 +1082,12 @@ href="Project.html">Project</a>.
|
|
|
1029
1082
|
</div>
|
|
1030
1083
|
|
|
1031
1084
|
|
|
1032
|
-
<div id="method-
|
|
1033
|
-
<a name="
|
|
1085
|
+
<div id="method-M000662" class="method-detail">
|
|
1086
|
+
<a name="M000662"></a>
|
|
1034
1087
|
|
|
1035
1088
|
<div class="method-heading">
|
|
1036
1089
|
|
|
1037
|
-
<a href="#
|
|
1090
|
+
<a href="#M000662" class="method-signature">
|
|
1038
1091
|
|
|
1039
1092
|
<span class="method-name">inheritAttributesFromScenario</span><span class="method-args">()</span>
|
|
1040
1093
|
|
|
@@ -1050,34 +1103,34 @@ for attributes that don’t have a user-specified value already.
|
|
|
1050
1103
|
</p>
|
|
1051
1104
|
|
|
1052
1105
|
<p><a class="source-toggle" href="#"
|
|
1053
|
-
onclick="toggleCode('
|
|
1054
|
-
<div class="method-source-code" id="
|
|
1106
|
+
onclick="toggleCode('M000662-source');return false;">[Source]</a></p>
|
|
1107
|
+
<div class="method-source-code" id="M000662-source">
|
|
1055
1108
|
<pre>
|
|
1056
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1109
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 150</span>
|
|
1110
|
+
150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inheritAttributesFromScenario</span>
|
|
1111
|
+
151: <span class="ruby-comment cmt"># Inherit scenario-specific values</span>
|
|
1112
|
+
152: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">eachAttributeDefinition</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attrDef</span><span class="ruby-operator">|</span>
|
|
1113
|
+
153: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">scenarioSpecific</span>
|
|
1114
|
+
154:
|
|
1115
|
+
155: <span class="ruby-comment cmt"># We know that parent scenarios precede their children in the list. So</span>
|
|
1116
|
+
156: <span class="ruby-comment cmt"># it's safe to iterate over the list instead of recursively descend</span>
|
|
1117
|
+
157: <span class="ruby-comment cmt"># the tree.</span>
|
|
1118
|
+
158: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenarioCount</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
|
|
1119
|
+
159: <span class="ruby-identifier">scenario</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scenarioIdx</span>)
|
|
1120
|
+
160: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">nil?</span>
|
|
1121
|
+
161: <span class="ruby-identifier">parentScenarioIdx</span> = <span class="ruby-identifier">scenario</span>.<span class="ruby-identifier">parent</span>.<span class="ruby-identifier">sequenceNo</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
|
1122
|
+
162: <span class="ruby-comment cmt"># We copy only provided or inherited values from parent scenario when</span>
|
|
1123
|
+
163: <span class="ruby-comment cmt"># we don't have a provided or inherited value in this scenario.</span>
|
|
1124
|
+
164: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>) <span class="ruby-operator">||</span>
|
|
1125
|
+
165: <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">parentScenarioIdx</span>)) <span class="ruby-operator">&&</span>
|
|
1126
|
+
166: <span class="ruby-operator">!</span>(<span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>) <span class="ruby-operator">||</span>
|
|
1127
|
+
167: <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">scenarioIdx</span>))
|
|
1128
|
+
168: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>] =
|
|
1129
|
+
169: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">parentScenarioIdx</span>][<span class="ruby-identifier">attrDef</span>.<span class="ruby-identifier">id</span>].<span class="ruby-identifier">deep_clone</span>
|
|
1130
|
+
170: <span class="ruby-keyword kw">end</span>
|
|
1131
|
+
171: <span class="ruby-keyword kw">end</span>
|
|
1132
|
+
172: <span class="ruby-keyword kw">end</span>
|
|
1133
|
+
173: <span class="ruby-keyword kw">end</span>
|
|
1081
1134
|
</pre>
|
|
1082
1135
|
</div>
|
|
1083
1136
|
|
|
@@ -1085,12 +1138,12 @@ for attributes that don’t have a user-specified value already.
|
|
|
1085
1138
|
</div>
|
|
1086
1139
|
|
|
1087
1140
|
|
|
1088
|
-
<div id="method-
|
|
1089
|
-
<a name="
|
|
1141
|
+
<div id="method-M000684" class="method-detail">
|
|
1142
|
+
<a name="M000684"></a>
|
|
1090
1143
|
|
|
1091
1144
|
<div class="method-heading">
|
|
1092
1145
|
|
|
1093
|
-
<a href="#
|
|
1146
|
+
<a href="#M000684" class="method-signature">
|
|
1094
1147
|
|
|
1095
1148
|
<span class="method-name">inherited</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
|
|
1096
1149
|
|
|
@@ -1107,19 +1160,19 @@ scenario.
|
|
|
1107
1160
|
</p>
|
|
1108
1161
|
|
|
1109
1162
|
<p><a class="source-toggle" href="#"
|
|
1110
|
-
onclick="toggleCode('
|
|
1111
|
-
<div class="method-source-code" id="
|
|
1163
|
+
onclick="toggleCode('M000684-source');return false;">[Source]</a></p>
|
|
1164
|
+
<div class="method-source-code" id="M000684-source">
|
|
1112
1165
|
<pre>
|
|
1113
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1166
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 408</span>
|
|
1167
|
+
408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1168
|
+
409: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
1169
|
+
410: <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">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
|
|
1170
|
+
411: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
|
|
1171
|
+
412: <span class="ruby-keyword kw">else</span>
|
|
1172
|
+
413: <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-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
|
|
1173
|
+
414: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">inherited</span>
|
|
1174
|
+
415: <span class="ruby-keyword kw">end</span>
|
|
1175
|
+
416: <span class="ruby-keyword kw">end</span>
|
|
1123
1176
|
</pre>
|
|
1124
1177
|
</div>
|
|
1125
1178
|
|
|
@@ -1127,12 +1180,12 @@ scenario.
|
|
|
1127
1180
|
</div>
|
|
1128
1181
|
|
|
1129
1182
|
|
|
1130
|
-
<div id="method-
|
|
1131
|
-
<a name="
|
|
1183
|
+
<div id="method-M000671" class="method-detail">
|
|
1184
|
+
<a name="M000671"></a>
|
|
1132
1185
|
|
|
1133
1186
|
<div class="method-heading">
|
|
1134
1187
|
|
|
1135
|
-
<a href="#
|
|
1188
|
+
<a href="#M000671" class="method-signature">
|
|
1136
1189
|
|
|
1137
1190
|
<span class="method-name">isChildOf?</span><span class="method-args">(ancestor)</span>
|
|
1138
1191
|
|
|
@@ -1148,17 +1201,17 @@ Find out if this property is a direct or indirect child of
|
|
|
1148
1201
|
</p>
|
|
1149
1202
|
|
|
1150
1203
|
<p><a class="source-toggle" href="#"
|
|
1151
|
-
onclick="toggleCode('
|
|
1152
|
-
<div class="method-source-code" id="
|
|
1204
|
+
onclick="toggleCode('M000671-source');return false;">[Source]</a></p>
|
|
1205
|
+
<div class="method-source-code" id="M000671-source">
|
|
1153
1206
|
<pre>
|
|
1154
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1207
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 263</span>
|
|
1208
|
+
263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isChildOf?</span>(<span class="ruby-identifier">ancestor</span>)
|
|
1209
|
+
264: <span class="ruby-identifier">parent</span> = <span class="ruby-keyword kw">self</span>
|
|
1210
|
+
265: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">parent</span>
|
|
1211
|
+
266: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">parent</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ancestor</span>)
|
|
1212
|
+
267: <span class="ruby-keyword kw">end</span>
|
|
1213
|
+
268: <span class="ruby-keyword kw">false</span>
|
|
1214
|
+
269: <span class="ruby-keyword kw">end</span>
|
|
1162
1215
|
</pre>
|
|
1163
1216
|
</div>
|
|
1164
1217
|
|
|
@@ -1166,12 +1219,12 @@ Find out if this property is a direct or indirect child of
|
|
|
1166
1219
|
</div>
|
|
1167
1220
|
|
|
1168
1221
|
|
|
1169
|
-
<div id="method-
|
|
1170
|
-
<a name="
|
|
1222
|
+
<div id="method-M000672" class="method-detail">
|
|
1223
|
+
<a name="M000672"></a>
|
|
1171
1224
|
|
|
1172
1225
|
<div class="method-heading">
|
|
1173
1226
|
|
|
1174
|
-
<a href="#
|
|
1227
|
+
<a href="#M000672" class="method-signature">
|
|
1175
1228
|
|
|
1176
1229
|
<span class="method-name">leaf?</span><span class="method-args">()</span>
|
|
1177
1230
|
|
|
@@ -1186,13 +1239,13 @@ Return true if the node is a leaf node (has no children).
|
|
|
1186
1239
|
</p>
|
|
1187
1240
|
|
|
1188
1241
|
<p><a class="source-toggle" href="#"
|
|
1189
|
-
onclick="toggleCode('
|
|
1190
|
-
<div class="method-source-code" id="
|
|
1242
|
+
onclick="toggleCode('M000672-source');return false;">[Source]</a></p>
|
|
1243
|
+
<div class="method-source-code" id="M000672-source">
|
|
1191
1244
|
<pre>
|
|
1192
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1245
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 272</span>
|
|
1246
|
+
272: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf?</span>
|
|
1247
|
+
273: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">empty?</span>
|
|
1248
|
+
274: <span class="ruby-keyword kw">end</span>
|
|
1196
1249
|
</pre>
|
|
1197
1250
|
</div>
|
|
1198
1251
|
|
|
@@ -1200,12 +1253,12 @@ Return true if the node is a leaf node (has no children).
|
|
|
1200
1253
|
</div>
|
|
1201
1254
|
|
|
1202
1255
|
|
|
1203
|
-
<div id="method-
|
|
1204
|
-
<a name="
|
|
1256
|
+
<div id="method-M000668" class="method-detail">
|
|
1257
|
+
<a name="M000668"></a>
|
|
1205
1258
|
|
|
1206
1259
|
<div class="method-heading">
|
|
1207
1260
|
|
|
1208
|
-
<a href="#
|
|
1261
|
+
<a href="#M000668" class="method-signature">
|
|
1209
1262
|
|
|
1210
1263
|
<span class="method-name">level</span><span class="method-args">()</span>
|
|
1211
1264
|
|
|
@@ -1222,20 +1275,20 @@ have to be calculated each time the function is called.
|
|
|
1222
1275
|
</p>
|
|
1223
1276
|
|
|
1224
1277
|
<p><a class="source-toggle" href="#"
|
|
1225
|
-
onclick="toggleCode('
|
|
1226
|
-
<div class="method-source-code" id="
|
|
1278
|
+
onclick="toggleCode('M000668-source');return false;">[Source]</a></p>
|
|
1279
|
+
<div class="method-source-code" id="M000668-source">
|
|
1227
1280
|
<pre>
|
|
1228
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1281
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 228</span>
|
|
1282
|
+
228: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level</span>
|
|
1283
|
+
229: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@level</span> <span class="ruby-operator">>=</span> <span class="ruby-value">0</span>
|
|
1284
|
+
230:
|
|
1285
|
+
231: <span class="ruby-identifier">t</span> = <span class="ruby-keyword kw">self</span>
|
|
1286
|
+
232: <span class="ruby-ivar">@level</span> = <span class="ruby-value">0</span>
|
|
1287
|
+
233: <span class="ruby-keyword kw">until</span> (<span class="ruby-identifier">t</span> = <span class="ruby-identifier">t</span>.<span class="ruby-identifier">parent</span>).<span class="ruby-identifier">nil?</span>
|
|
1288
|
+
234: <span class="ruby-ivar">@level</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
1289
|
+
235: <span class="ruby-keyword kw">end</span>
|
|
1290
|
+
236: <span class="ruby-ivar">@level</span>
|
|
1291
|
+
237: <span class="ruby-keyword kw">end</span>
|
|
1239
1292
|
</pre>
|
|
1240
1293
|
</div>
|
|
1241
1294
|
|
|
@@ -1243,12 +1296,12 @@ have to be calculated each time the function is called.
|
|
|
1243
1296
|
</div>
|
|
1244
1297
|
|
|
1245
1298
|
|
|
1246
|
-
<div id="method-
|
|
1247
|
-
<a name="
|
|
1299
|
+
<div id="method-M000660" class="method-detail">
|
|
1300
|
+
<a name="M000660"></a>
|
|
1248
1301
|
|
|
1249
1302
|
<div class="method-heading">
|
|
1250
1303
|
|
|
1251
|
-
<a href="#
|
|
1304
|
+
<a href="#M000660" class="method-signature">
|
|
1252
1305
|
|
|
1253
1306
|
<span class="method-name">levelSeqNo</span><span class="method-args">(node)</span>
|
|
1254
1307
|
|
|
@@ -1263,13 +1316,13 @@ Return the index of the child <em>node</em>.
|
|
|
1263
1316
|
</p>
|
|
1264
1317
|
|
|
1265
1318
|
<p><a class="source-toggle" href="#"
|
|
1266
|
-
onclick="toggleCode('
|
|
1267
|
-
<div class="method-source-code" id="
|
|
1319
|
+
onclick="toggleCode('M000660-source');return false;">[Source]</a></p>
|
|
1320
|
+
<div class="method-source-code" id="M000660-source">
|
|
1268
1321
|
<pre>
|
|
1269
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1322
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 96</span>
|
|
1323
|
+
96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">levelSeqNo</span>(<span class="ruby-identifier">node</span>)
|
|
1324
|
+
97: <span class="ruby-ivar">@children</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">node</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
|
|
1325
|
+
98: <span class="ruby-keyword kw">end</span>
|
|
1273
1326
|
</pre>
|
|
1274
1327
|
</div>
|
|
1275
1328
|
|
|
@@ -1277,12 +1330,12 @@ Return the index of the child <em>node</em>.
|
|
|
1277
1330
|
</div>
|
|
1278
1331
|
|
|
1279
1332
|
|
|
1280
|
-
<div id="method-
|
|
1281
|
-
<a name="
|
|
1333
|
+
<div id="method-M000685" class="method-detail">
|
|
1334
|
+
<a name="M000685"></a>
|
|
1282
1335
|
|
|
1283
1336
|
<div class="method-heading">
|
|
1284
1337
|
|
|
1285
|
-
<a href="#
|
|
1338
|
+
<a href="#M000685" class="method-signature">
|
|
1286
1339
|
|
|
1287
1340
|
<span class="method-name">method_missing</span><span class="method-args">(func, scenarioIdx, *args)</span>
|
|
1288
1341
|
|
|
@@ -1301,13 +1354,13 @@ href="Scenario.html">Scenario</a> class.
|
|
|
1301
1354
|
</p>
|
|
1302
1355
|
|
|
1303
1356
|
<p><a class="source-toggle" href="#"
|
|
1304
|
-
onclick="toggleCode('
|
|
1305
|
-
<div class="method-source-code" id="
|
|
1357
|
+
onclick="toggleCode('M000685-source');return false;">[Source]</a></p>
|
|
1358
|
+
<div class="method-source-code" id="M000685-source">
|
|
1306
1359
|
<pre>
|
|
1307
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1360
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 457</span>
|
|
1361
|
+
457: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">func</span>, <span class="ruby-identifier">scenarioIdx</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
1362
|
+
458: <span class="ruby-ivar">@data</span>[<span class="ruby-identifier">scenarioIdx</span>].<span class="ruby-identifier">method</span>(<span class="ruby-identifier">func</span>).<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
1363
|
+
459: <span class="ruby-keyword kw">end</span>
|
|
1311
1364
|
</pre>
|
|
1312
1365
|
</div>
|
|
1313
1366
|
|
|
@@ -1315,12 +1368,12 @@ href="Scenario.html">Scenario</a> class.
|
|
|
1315
1368
|
</div>
|
|
1316
1369
|
|
|
1317
1370
|
|
|
1318
|
-
<div id="method-
|
|
1319
|
-
<a name="
|
|
1371
|
+
<div id="method-M000683" class="method-detail">
|
|
1372
|
+
<a name="M000683"></a>
|
|
1320
1373
|
|
|
1321
1374
|
<div class="method-heading">
|
|
1322
1375
|
|
|
1323
|
-
<a href="#
|
|
1376
|
+
<a href="#M000683" class="method-signature">
|
|
1324
1377
|
|
|
1325
1378
|
<span class="method-name">provided</span><span class="method-args">(attributeId, scenarioIdx = nil)</span>
|
|
1326
1379
|
|
|
@@ -1336,19 +1389,19 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
1336
1389
|
</p>
|
|
1337
1390
|
|
|
1338
1391
|
<p><a class="source-toggle" href="#"
|
|
1339
|
-
onclick="toggleCode('
|
|
1340
|
-
<div class="method-source-code" id="
|
|
1392
|
+
onclick="toggleCode('M000683-source');return false;">[Source]</a></p>
|
|
1393
|
+
<div class="method-source-code" id="M000683-source">
|
|
1341
1394
|
<pre>
|
|
1342
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1395
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 396</span>
|
|
1396
|
+
396: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">provided</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1397
|
+
397: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioIdx</span>
|
|
1398
|
+
398: <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">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
|
|
1399
|
+
399: <span class="ruby-ivar">@scenarioAttributes</span>[<span class="ruby-identifier">scenarioIdx</span>][<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
|
|
1400
|
+
400: <span class="ruby-keyword kw">else</span>
|
|
1401
|
+
401: <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-identifier">attributeId</span>].<span class="ruby-identifier">nil?</span>
|
|
1402
|
+
402: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">provided</span>
|
|
1403
|
+
403: <span class="ruby-keyword kw">end</span>
|
|
1404
|
+
404: <span class="ruby-keyword kw">end</span>
|
|
1352
1405
|
</pre>
|
|
1353
1406
|
</div>
|
|
1354
1407
|
|
|
@@ -1356,12 +1409,12 @@ scenario <em>scenarioIdx</em>) has been provided by the user.
|
|
|
1356
1409
|
</div>
|
|
1357
1410
|
|
|
1358
1411
|
|
|
1359
|
-
<div id="method-
|
|
1360
|
-
<a name="
|
|
1412
|
+
<div id="method-M000674" class="method-detail">
|
|
1413
|
+
<a name="M000674"></a>
|
|
1361
1414
|
|
|
1362
1415
|
<div class="method-heading">
|
|
1363
1416
|
|
|
1364
|
-
<a href="#
|
|
1417
|
+
<a href="#M000674" class="method-signature">
|
|
1365
1418
|
|
|
1366
1419
|
<span class="method-name">root</span><span class="method-args">()</span>
|
|
1367
1420
|
|
|
@@ -1376,17 +1429,17 @@ Return the top-level node for this node.
|
|
|
1376
1429
|
</p>
|
|
1377
1430
|
|
|
1378
1431
|
<p><a class="source-toggle" href="#"
|
|
1379
|
-
onclick="toggleCode('
|
|
1380
|
-
<div class="method-source-code" id="
|
|
1432
|
+
onclick="toggleCode('M000674-source');return false;">[Source]</a></p>
|
|
1433
|
+
<div class="method-source-code" id="M000674-source">
|
|
1381
1434
|
<pre>
|
|
1382
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1435
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 282</span>
|
|
1436
|
+
282: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">root</span>
|
|
1437
|
+
283: <span class="ruby-identifier">n</span> = <span class="ruby-keyword kw">self</span>
|
|
1438
|
+
284: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
|
|
1439
|
+
285: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">parent</span>
|
|
1440
|
+
286: <span class="ruby-keyword kw">end</span>
|
|
1441
|
+
287: <span class="ruby-identifier">n</span>
|
|
1442
|
+
288: <span class="ruby-keyword kw">end</span>
|
|
1390
1443
|
</pre>
|
|
1391
1444
|
</div>
|
|
1392
1445
|
|
|
@@ -1394,12 +1447,12 @@ Return the top-level node for this node.
|
|
|
1394
1447
|
</div>
|
|
1395
1448
|
|
|
1396
1449
|
|
|
1397
|
-
<div id="method-
|
|
1398
|
-
<a name="
|
|
1450
|
+
<div id="method-M000679" class="method-detail">
|
|
1451
|
+
<a name="M000679"></a>
|
|
1399
1452
|
|
|
1400
1453
|
<div class="method-heading">
|
|
1401
1454
|
|
|
1402
|
-
<a href="#
|
|
1455
|
+
<a href="#M000679" class="method-signature">
|
|
1403
1456
|
|
|
1404
1457
|
<span class="method-name">set</span><span class="method-args">(attributeId, value)</span>
|
|
1405
1458
|
|
|
@@ -1416,16 +1469,16 @@ raised.
|
|
|
1416
1469
|
</p>
|
|
1417
1470
|
|
|
1418
1471
|
<p><a class="source-toggle" href="#"
|
|
1419
|
-
onclick="toggleCode('
|
|
1420
|
-
<div class="method-source-code" id="
|
|
1472
|
+
onclick="toggleCode('M000679-source');return false;">[Source]</a></p>
|
|
1473
|
+
<div class="method-source-code" id="M000679-source">
|
|
1421
1474
|
<pre>
|
|
1422
|
-
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1475
|
+
<span class="ruby-comment cmt"># File lib/PropertyTreeNode.rb, line 350</span>
|
|
1476
|
+
350: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attributeId</span>, <span class="ruby-identifier">value</span>)
|
|
1477
|
+
351: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@attributes</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">attributeId</span>)
|
|
1478
|
+
352: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">"Unknown attribute #{attributeId}"</span>
|
|
1479
|
+
353: <span class="ruby-keyword kw">end</span>
|
|
1480
|
+
354: <span class="ruby-ivar">@attributes</span>[<span class="ruby-identifier">attributeId</span>].<span class="ruby-identifier">set</span>(<span class="ruby-identifier">value</span>)
|
|
1481
|
+
355: <span class="ruby-keyword kw">end</span>
|
|
1429
1482
|
</pre>
|
|
1430
1483
|
</div>
|
|
1431
1484
|
|