package gov.nasa.jpl.mbee.mdk.systems_reasoner.actions; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.RedefinableElement; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; import java.util.List; /** * Created by johannes on 3/15/17. */ public class SubsetRedefinedProperty extends SRAction { /** * */ private static final long serialVersionUID = 1L; public static final String DEFAULT_ID = "Set subsetted property in redefining property."; private final Property redefinedElement; private final Property redefiningElement; public List<InstanceSpecification> instances; public SubsetRedefinedProperty(Property redefEl, Property redefingEl) { super(DEFAULT_ID); this.redefinedElement = redefEl; this.redefiningElement = redefingEl; } @Override public void actionPerformed(@CheckForNull ActionEvent actionEvent) { for (Property p : redefinedElement.getSubsettedProperty()) { for (RedefinableElement r : p.get_redefinableElementOfRedefinedElement()) { if (r instanceof Property) { if (!redefiningElement.getSubsettedProperty().contains(r)) { redefiningElement.getSubsettedProperty().add((Property) r); } } } } } }