de.lmu.ifi.pst.x10080133.action
Class GenerateMonitorFileAction

java.lang.Object
  extended by javax.swing.AbstractAction
      extended by com.nomagic.actions.NMAction
          extended by com.nomagic.magicdraw.actions.MDAction
              extended by com.nomagic.magicdraw.ui.browser.actions.DefaultBrowserAction
                  extended by de.lmu.ifi.pst.x10080133.action.GenerateMonitorFileAction
All Implemented Interfaces:
com.nomagic.magicdraw.actions.BrowserAction, java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, java.util.EventListener, javax.swing.Action

public class GenerateMonitorFileAction
extends com.nomagic.magicdraw.ui.browser.actions.DefaultBrowserAction

Behavior of the GenerateMonitorFile context

Author:
Roman.Schwienbacher
See Also:
Serialized Form

Field Summary
private  boolean homeProcessed
           
private  boolean homeProcessedMoreThanOne
           
private static long serialVersionUID
           
static java.lang.String SNP_PLUGIN_ACTION_ID
           
static java.lang.String SNP_PLUGIN_ACTION_NAME
           
 
Fields inherited from class com.nomagic.actions.NMAction
ACTION_SHORTCUTS, DESCRIPTION, GENERATED_ID_PREFIX, GROUP, ID, LARGE_ICON, MENU_SHORTCUT_MASK
 
Fields inherited from class javax.swing.AbstractAction
changeSupport, enabled
 
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
GenerateMonitorFileAction()
          sets action-name and id by default constructor
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          scans the whole state machine and exports the navigational rule file including SNPs
private  java.util.List<NavigationNode> buildNavigationNodes(java.util.List<com.nomagic.uml2.impl.magicdraw.statemachines.mdbehaviorstatemachines.StateImpl> states, java.lang.String defaultViolation, java.lang.Integer startStateIndex, boolean isHome, java.util.List<java.lang.String> roles, java.util.List<java.lang.String> incomingStateNames, java.lang.String violation)
          returns list of navigation-node instances by given states, called recursively using params as accumulator
private  java.util.List<java.lang.String> readIncomingStateNames(com.nomagic.uml2.impl.magicdraw.statemachines.mdbehaviorstatemachines.StateImpl state)
          reads all possible incoming state names to lowest level (recursive)
private  java.util.List<java.lang.String> readLowestLevelChilds(com.nomagic.uml2.ext.magicdraw.statemachines.mdbehaviorstatemachines.Vertex transitionSource)
          reads all childs of given transitionSource on lowest level recursively
 void updateState()
           
 
Methods inherited from class com.nomagic.magicdraw.ui.browser.actions.DefaultBrowserAction
getFirstElement, getFirstElement, getSelectedObject, getSelectedObjects, getTree, setTree
 
Methods inherited from class com.nomagic.actions.NMAction
accept, addAction, addPropertyChangeListener, addShotcut, clone, compareTo, createMenuItem, equals, firePropertyChange, getActions, getCommandKey, getDescription, getGroup, getIcon, getID, getLargeIcon, getMnemonicKey, getName, getPropertyChangeListeners, getShortcuts, getSmallIcon, hashCode, isIDGenerated, removeAction, removePropertyChangeListener, removeShortcut, setActions, setDescription, setGroup, setLargeIcon, setMnemonicKey, setName, setShortcuts, setSmallIcon, shallowClone, toString
 
Methods inherited from class javax.swing.AbstractAction
getKeys, getValue, isEnabled, putValue, setEnabled
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

SNP_PLUGIN_ACTION_NAME

public static final java.lang.String SNP_PLUGIN_ACTION_NAME
See Also:
Constant Field Values

SNP_PLUGIN_ACTION_ID

public static final java.lang.String SNP_PLUGIN_ACTION_ID
See Also:
Constant Field Values

homeProcessed

private boolean homeProcessed

homeProcessedMoreThanOne

private boolean homeProcessedMoreThanOne
Constructor Detail

GenerateMonitorFileAction

public GenerateMonitorFileAction()
sets action-name and id by default constructor

Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
scans the whole state machine and exports the navigational rule file including SNPs

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class com.nomagic.magicdraw.actions.MDAction

buildNavigationNodes

private java.util.List<NavigationNode> buildNavigationNodes(java.util.List<com.nomagic.uml2.impl.magicdraw.statemachines.mdbehaviorstatemachines.StateImpl> states,
                                                            java.lang.String defaultViolation,
                                                            java.lang.Integer startStateIndex,
                                                            boolean isHome,
                                                            java.util.List<java.lang.String> roles,
                                                            java.util.List<java.lang.String> incomingStateNames,
                                                            java.lang.String violation)
                                                     throws java.lang.Exception
returns list of navigation-node instances by given states, called recursively using params as accumulator

Parameters:
states -
defaultViolation -
startStateIndex -
isHome -
roles -
incomingStateNames -
violation -
Returns:
Throws:
java.lang.Exception

readIncomingStateNames

private java.util.List<java.lang.String> readIncomingStateNames(com.nomagic.uml2.impl.magicdraw.statemachines.mdbehaviorstatemachines.StateImpl state)
reads all possible incoming state names to lowest level (recursive)

Parameters:
state -
Returns:

readLowestLevelChilds

private java.util.List<java.lang.String> readLowestLevelChilds(com.nomagic.uml2.ext.magicdraw.statemachines.mdbehaviorstatemachines.Vertex transitionSource)
reads all childs of given transitionSource on lowest level recursively

Parameters:
transitionSource -
Returns:

updateState

public void updateState()
Overrides:
updateState in class com.nomagic.magicdraw.actions.MDAction