1
1
/*******************************************************************************
2
- * Copyright 2011-2017 Data Access Technologies, Inc. (Model Driven Solutions)
2
+ * Copyright 2011-2018 Data Access Technologies, Inc. (Model Driven Solutions)
3
3
* All rights reserved worldwide. This program and the accompanying materials
4
4
* are made available for use under the terms of the GNU General Public License
5
5
* (GPL) version 3 that accompanies this distribution and is available at
31
31
import org .modeldriven .alf .uml .Operation ;
32
32
import org .modeldriven .alf .uml .ValueSpecificationAction ;
33
33
import org .modeldriven .alf .uml .LoopNode ;
34
- import org .modeldriven .alf .uml .StructuredActivityNode ;
34
+ import org .modeldriven .alf .uml .StructuredActivityNode ;
35
+ import org .modeldriven .alf .uml .Type ;
35
36
import org .modeldriven .alf .uml .ExpansionRegion ;
36
37
import org .modeldriven .alf .uml .ActivityNode ;
37
- import org .modeldriven .alf .uml .Classifier ;
38
38
import org .modeldriven .alf .uml .DataType ;
39
39
import org .modeldriven .alf .uml .Property ;
40
40
import org .modeldriven .alf .uml .Behavior ;
@@ -489,9 +489,9 @@ public static ActivityNode mapPropertyAssignment(
489
489
} else {
490
490
// Otherwise, create a node to iteratively add possibly
491
491
// multiple values to the property.
492
- Classifier featuringClassifier = property . getFeaturingClassifier (). get ( 0 );
492
+ Type objectType = ActivityGraph . getObjectType ( property );
493
493
writeAction .setIsReplaceAll (false );
494
- if (!(featuringClassifier instanceof DataType )) {
494
+ if (!(objectType instanceof DataType )) {
495
495
// If the property is a feature of a class, use an iterative
496
496
// expansion region.
497
497
ExpansionRegion region = graph .addExpansionRegion (
@@ -503,7 +503,7 @@ public static ActivityNode mapPropertyAssignment(
503
503
504
504
InputPin objectInputPin = graph .createInputPin (
505
505
region .getName () + ".input(" + objectSource .getName () + ")" ,
506
- featuringClassifier , 1 , 1 );
506
+ objectType , 1 , 1 );
507
507
region .addStructuredNodeInput (objectInputPin );
508
508
region .addEdge (graph .createObjectFlow (
509
509
objectInputPin , writeAction .getObject ()));
@@ -515,7 +515,7 @@ public static ActivityNode mapPropertyAssignment(
515
515
// a loop node to iteratively update the data value, rather than
516
516
// an expansion region.
517
517
InputPin objectInputPin = graph .createInputPin (
518
- objectSource .getName (), featuringClassifier , 1 , 1 );
518
+ objectSource .getName (), objectType , 1 , 1 );
519
519
InputPin valueInputPin = graph .createInputPin (
520
520
"value" , property .getType (), 0 , -1 );
521
521
LoopNode loopNode = graph .addLoopNode (
0 commit comments