diff --git a/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java b/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java index 780088e..d4a58e1 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java +++ b/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java @@ -1,5 +1,12 @@ package application; +import java.io.IOException; +import java.util.logging.FileHandler; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.logging.SimpleFormatter; + import javax.swing.JFrame; import com.mxgraph.model.mxGeometry; @@ -20,6 +27,7 @@ public class ApplicationWindow extends JFrame { private static final long serialVersionUID = -8690140317781055614L; public static final String title = "Visual Modeling Tool"; + public static final Logger logger = Logger.getLogger("dtram"); private Editor editor = null; private mxGraph graph = null; @@ -33,6 +41,16 @@ setTitle(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + try { + Handler fh = new FileHandler("dtram.log", true); + fh.setFormatter(new SimpleFormatter()); + logger.addHandler(fh); + } catch (SecurityException | IOException e) { + e.printStackTrace(); + } + logger.setLevel(Level.INFO); + logger.log(Level.INFO, "launched"); + // If you want to change the language, change here. ApplicationLanguage.getInstance().setLocaleLanguage(ApplicationLanguage.JP); @@ -56,6 +74,7 @@ new mxRubberband(graphComponent); graph.setAllowDanglingEdges(false); graph.setCellsDisconnectable(true); + graph.setDropEnabled(false); menuBar = new ApplicationMenuBar(this); setJMenuBar(menuBar); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractEditorAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractEditorAction.java index d73b326..2db8692 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractEditorAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractEditorAction.java @@ -1,8 +1,13 @@ package application.actions; +import java.awt.event.ActionEvent; +import java.util.logging.Level; + import javax.swing.AbstractAction; +import javax.swing.Action; import application.ApplicationLanguage; +import application.ApplicationWindow; import application.editor.Editor; public abstract class AbstractEditorAction extends AbstractAction { @@ -17,4 +22,8 @@ this.editor = editor; } + @Override + public void actionPerformed(ActionEvent e) { + ApplicationWindow.logger.log(Level.INFO, (String) getValue(Action.NAME)); + } } \ No newline at end of file diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractPopupAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractPopupAction.java index a21f03d..665fce0 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractPopupAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractPopupAction.java @@ -1,11 +1,16 @@ package application.actions; +import java.awt.event.ActionEvent; +import java.util.logging.Level; + import javax.swing.AbstractAction; +import javax.swing.Action; import com.mxgraph.model.mxCell; import com.mxgraph.swing.mxGraphComponent; import application.ApplicationLanguage; +import application.ApplicationWindow; public abstract class AbstractPopupAction extends AbstractAction { protected mxGraphComponent graphComponent = null; @@ -20,4 +25,9 @@ public void updateTargetCell(final mxCell targetCell) { this.targetCell = targetCell; } + + @Override + public void actionPerformed(ActionEvent e) { + ApplicationWindow.logger.log(Level.INFO, (String) getValue(Action.NAME)); + } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractSystemAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractSystemAction.java index 54c0452..76b644b 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractSystemAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractSystemAction.java @@ -1,8 +1,10 @@ package application.actions; import java.awt.event.ActionEvent; +import java.util.logging.Level; import javax.swing.AbstractAction; +import javax.swing.Action; import application.ApplicationLanguage; import application.ApplicationWindow; @@ -21,4 +23,8 @@ this.frame = frame; } + @Override + public void actionPerformed(ActionEvent e) { + ApplicationWindow.logger.log(Level.INFO, (String) getValue(Action.NAME)); + } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractViewerAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractViewerAction.java index b3fe223..f7a283d 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractViewerAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/AbstractViewerAction.java @@ -1,12 +1,15 @@ package application.actions; import java.awt.event.ActionEvent; +import java.util.logging.Level; import javax.swing.AbstractAction; +import javax.swing.Action; import com.mxgraph.swing.mxGraphComponent; import application.ApplicationLanguage; +import application.ApplicationWindow; public abstract class AbstractViewerAction extends AbstractAction { @@ -16,4 +19,9 @@ super(ApplicationLanguage.getInstance().getOptionByPropName(propName)); this.graphComponent = graphComponent; } + + @Override + public void actionPerformed(ActionEvent e) { + ApplicationWindow.logger.log(Level.INFO, (String) getValue(Action.NAME)); + } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ChangeCallOrderAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ChangeCallOrderAction.java index 4d17faf..f504228 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ChangeCallOrderAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ChangeCallOrderAction.java @@ -29,6 +29,7 @@ */ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); if(targetCell == null) return; changeCallOrderOfCallEdge(targetCell); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/CircleLayoutAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/CircleLayoutAction.java index c42c485..d19ff89 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/CircleLayoutAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/CircleLayoutAction.java @@ -12,6 +12,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); editor.setCircleLayout(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/DAGLayoutAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/DAGLayoutAction.java index c869bcb..a06c8f5 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/DAGLayoutAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/DAGLayoutAction.java @@ -12,6 +12,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); editor.setDAGLayout(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/DeleteAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/DeleteAction.java index 3a13cfe..7c949f0 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/DeleteAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/DeleteAction.java @@ -18,6 +18,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); editor.delete(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ExitAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ExitAction.java index 1b1787e..dcf6245 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ExitAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ExitAction.java @@ -1,10 +1,13 @@ package application.actions; import java.awt.event.ActionEvent; +import java.util.logging.Level; import javax.swing.AbstractAction; +import javax.swing.Action; import application.ApplicationLanguage; +import application.ApplicationWindow; public class ExitAction extends AbstractAction { /** @@ -18,6 +21,7 @@ @Override public void actionPerformed(ActionEvent e) { + ApplicationWindow.logger.log(Level.INFO, "exit"); System.exit(0); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/InsertStatelessObjectAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/InsertStatelessObjectAction.java index f7b3e34..4f616c0 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/InsertStatelessObjectAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/InsertStatelessObjectAction.java @@ -34,6 +34,7 @@ */ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); insertObjectNode(targetCell); this.stage.setState( ControlFlowDelegationStageStatus.SELECTING_AN_EDGE); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/JavaPrototypeGenerateAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/JavaPrototypeGenerateAction.java index 047d4ce..5cf13f9 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/JavaPrototypeGenerateAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/JavaPrototypeGenerateAction.java @@ -40,6 +40,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); DataFlowGraph dataFlowgraph = editor.getDataFlowGraph(); if (dataFlowgraph == null) { editor.changeStage(Editor.STAGE_PUSH_PULL_SELECTION); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/JerseyPrototypeGenerateAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/JerseyPrototypeGenerateAction.java index b3eb8a4..6ad55d2 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/JerseyPrototypeGenerateAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/JerseyPrototypeGenerateAction.java @@ -36,6 +36,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); DataFlowGraph graph = editor.getDataFlowGraph(); if (graph == null) { editor.changeStage(Editor.STAGE_PUSH_PULL_SELECTION); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/NewChannelAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/NewChannelAction.java index 8367921..2810dbc 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/NewChannelAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/NewChannelAction.java @@ -20,6 +20,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); String channelName = JOptionPane.showInputDialog("Channel Name:"); if (channelName == null) return; editor.addChannel(new DataTransferChannel(channelName)); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/NewFormulaChannelAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/NewFormulaChannelAction.java index 79a1690..e524a8e 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/NewFormulaChannelAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/NewFormulaChannelAction.java @@ -34,6 +34,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); JPanel panel = new JPanel(); GridLayout layout = new GridLayout(2,2); panel.setLayout(layout); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/NewIOChannelAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/NewIOChannelAction.java index a83e3ab..3d37ba4 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/NewIOChannelAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/NewIOChannelAction.java @@ -20,6 +20,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); String channelName = JOptionPane.showInputDialog("I/O Channel Name:"); if (channelName == null) return; editor.addIOChannel(new DataTransferChannel(channelName)); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/NewModelAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/NewModelAction.java index 4cc2b0a..77104a8 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/NewModelAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/NewModelAction.java @@ -17,6 +17,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); frame.getEditor().clear(); frame.setTitle(frame.title); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/NewResourceAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/NewResourceAction.java index 8d4a01a..623e0b7 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/NewResourceAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/NewResourceAction.java @@ -20,6 +20,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); String resName = JOptionPane.showInputDialog("Resourece Name:"); if (resName == null) return; editor.addResourcePath(new ResourcePath(resName, 0)); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/OpenAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/OpenAction.java index dbda083..0502933 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/OpenAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/OpenAction.java @@ -24,6 +24,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); Editor editor = frame.getEditor(); if (editor != null) { String wd = (lastDir != null) ? lastDir : System.getProperty("user.dir"); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAction.java index 173a522..c19d3bb 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAction.java @@ -17,6 +17,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); Editor editor = frame.getEditor(); if (editor != null && editor.getCurFileName() != null) { editor.save(); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAsAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAsAction.java index 40294a0..b527004 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAsAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/SaveAsAction.java @@ -25,6 +25,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); Editor editor = frame.getEditor(); if (editor != null) { String wd = (lastDir != null) ? lastDir : System.getProperty("user.dir"); diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ShowDependentableMediatorAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ShowDependentableMediatorAction.java index 1960e16..82ed4b5 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ShowDependentableMediatorAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ShowDependentableMediatorAction.java @@ -28,6 +28,7 @@ */ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); showDependentableNodesBySelectedEdge(targetCell); stage.setState(ControlFlowDelegationStageStatus.SHOWING_DEPENDENTABLE_NODES); // -> dependent manipulation is ControlFlowStageEditor diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ShowFlowLayerWindowAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ShowFlowLayerWindowAction.java index e924850..1a9e790 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ShowFlowLayerWindowAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ShowFlowLayerWindowAction.java @@ -11,6 +11,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); frame.showSwitchLayerWindow(); } } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ShowNavigationAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ShowNavigationAction.java index 8219219..8d7aacb 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ShowNavigationAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ShowNavigationAction.java @@ -12,6 +12,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); frame.showNavigationWindow(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/TreeLayoutAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/TreeLayoutAction.java index 735d3ef..a8056eb 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/TreeLayoutAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/TreeLayoutAction.java @@ -12,6 +12,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); editor.setTreeLayout(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomInAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomInAction.java index c8f9e68..e18fb4f 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomInAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomInAction.java @@ -22,6 +22,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); graphComponent.zoomIn(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomOutAction.java b/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomOutAction.java index 7cd3bf8..0e306da 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomOutAction.java +++ b/AlgebraicDataflowArchitectureModel/src/application/actions/ZoomOutAction.java @@ -20,6 +20,7 @@ @Override public void actionPerformed(ActionEvent e) { + super.actionPerformed(e); graphComponent.zoomOut(); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/stages/PushPullSelectionCellEditor.java b/AlgebraicDataflowArchitectureModel/src/application/editor/stages/PushPullSelectionCellEditor.java index 49325a3..67611b4 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/stages/PushPullSelectionCellEditor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/stages/PushPullSelectionCellEditor.java @@ -3,6 +3,7 @@ import java.awt.Rectangle; import java.util.EventObject; import java.util.List; +import java.util.logging.Level; import javax.swing.BorderFactory; import javax.swing.JComboBox; @@ -13,6 +14,7 @@ import com.mxgraph.util.mxUtils; import com.mxgraph.view.mxCellState; +import application.ApplicationWindow; import application.editor.FlowCellEditor; import models.dataFlowModel.PushPullAttribute; import models.dataFlowModel.PushPullValue; @@ -102,6 +104,7 @@ if (selected != null) { options.remove(selected); options.add(0, selected); + ApplicationWindow.logger.log(Level.INFO, selected.name()); // log output } graphComponent.labelChanged(cell, attr, trig); } diff --git a/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java b/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java index f52bead..9a7d700 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java +++ b/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java @@ -4,6 +4,7 @@ import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.logging.Level; import javax.swing.ButtonGroup; import javax.swing.JDialog; @@ -60,6 +61,7 @@ @Override public void stageChanged(Stage newStage) { if (forbidReentry) return; + ApplicationWindow.logger.log(Level.INFO, newStage.toString()); if (newStage instanceof DataFlowModelingStage) { dataFlowModelingButton.setSelected(true); if (editor.canChange(Editor.STAGE_PUSH_PULL_SELECTION)) {