summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 18:50:35 +0000
committertkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 18:50:35 +0000
commit5793f0dc194ae3519de7a12808d99aa2a555cd73 (patch)
treea89f97189ad1fded8728a681a18de202c7b7895e
parent3ee25188b65d9b5f4cb78419a50ebde0387005d6 (diff)
downloadpdf-over-5793f0dc194ae3519de7a12808d99aa2a555cd73.tar.gz
pdf-over-5793f0dc194ae3519de7a12808d99aa2a555cd73.tar.bz2
pdf-over-5793f0dc194ae3519de7a12808d99aa2a555cd73.zip
StateMachine Proposal
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@10 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java18
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/Main.java13
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/Workflow.java150
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java32
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java15
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java15
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java15
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java15
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java14
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java15
-rw-r--r--pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java15
-rw-r--r--pdf-over/pdf-gui/src/model/PDFOverGUI.ucd123
12 files changed, 440 insertions, 0 deletions
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java
new file mode 100644
index 00000000..1093f0fd
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java
@@ -0,0 +1,18 @@
+package at.asit.pdfover.gui;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+
+public class DeveloperMain {
+
+ /**
+ * Developer Main Entry point...
+ * @param args
+ */
+ public static void main(String[] args) {
+ Workflow flow = new Workflow();
+ flow.SetCmdArgs(args);
+
+ flow.Start();
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/Main.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/Main.java
new file mode 100644
index 00000000..2eb27630
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/Main.java
@@ -0,0 +1,13 @@
+package at.asit.pdfover.gui;
+
+public class Main {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/Workflow.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/Workflow.java
new file mode 100644
index 00000000..14dbbcae
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/Workflow.java
@@ -0,0 +1,150 @@
+package at.asit.pdfover.gui.workflow;
+
+import java.util.Properties;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+
+public class Workflow {
+ /**
+ * @uml.property name="state"
+ * @uml.associationEnd multiplicity="(1 1)" aggregation="shared"
+ * inverse="workflow1:at.asit.pdfover.gui.workflow.WorkflowState"
+ */
+ private WorkflowState state = new at.asit.pdfover.gui.workflow.states.PrepareConfigurationState();
+
+ /**
+ * Getter of the property <tt>state</tt>
+ *
+ * @return Returns the state.
+ * @uml.property name="state"
+ */
+ public WorkflowState getState() {
+ return state;
+ }
+
+ private String[] CmdArgs = new String[] {};
+
+ /**
+ * Sets the Cmd Arguments
+ *
+ * @param args
+ */
+ public void SetCmdArgs(String[] args) {
+ this.CmdArgs = args;
+ }
+
+ /**
+ * Gets the Cmd Arguments
+ *
+ * @return
+ */
+ public String[] GetCmdArgs() {
+ return this.CmdArgs;
+ }
+
+ private Properties persistent_state = new Properties();
+
+ /**
+ * Gets the Persistent State
+ *
+ * @return
+ */
+ public Properties GetPersistentState() {
+ return this.persistent_state;
+ }
+
+ /**
+ * Update Workflow logic and let state machine do its job...
+ */
+ public void Update() {
+ WorkflowState next = null;
+ do {
+ this.state.Update(this);
+ next = this.state.NextState();
+ } while (next != null);
+ }
+
+ private Display display = null;
+
+ private Shell shell = null;
+
+ private Composite container = null;
+
+ private void CreateMainWindow() {
+ //TODO: Instanciate Main Window Class
+ this.display = Display.getDefault();
+ shell = new Shell();
+ shell.setSize(608, 340);
+ shell.setText("PDFOver 4.0!! :)");
+
+ container = new Composite(shell, SWT.NONE);
+ container.setBounds(20, 44, 572, 257);
+
+ shell.open();
+ shell.layout();
+ }
+
+ /**
+ * Gets the Shell for drawing the ui
+ *
+ * @return
+ */
+ public Composite GetComposite() {
+ // TODO: implement
+ // Main window will be build on first call
+ // returns SWT Composite container for states to draw their GUI
+
+ if(this.container == null) {
+ this.CreateMainWindow();
+ }
+
+ if(this.container == null) {
+ // TODO throw Exception...
+ }
+
+ return this.container;
+ }
+
+ /**
+ * Only returns a shell if one was already created ...
+ *
+ * @return
+ */
+ private Shell NonCreatingGetShell() {
+ return this.shell;
+ }
+
+ /**
+ * Only returns a shell if one was already created ...
+ *
+ * @return
+ */
+ private Display NonCreatingGetDisplay() {
+ return this.display;
+ }
+
+ /**
+ * Workflow main entrance point
+ */
+ public void Start() {
+ // Call update to start processing ...
+ this.Update();
+
+ // if a user interaction is required we have a shell ...
+ Shell shell = this.NonCreatingGetShell();
+ Display display = this.NonCreatingGetDisplay();
+
+ if (shell != null && display != null) {
+ while (!shell.isDisposed()) {
+ if (!display.readAndDispatch()) {
+ display.sleep();
+ }
+ }
+ display.dispose();
+ }
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java
new file mode 100644
index 00000000..5a4f1776
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/WorkflowState.java
@@ -0,0 +1,32 @@
+package at.asit.pdfover.gui.workflow;
+
+/**
+ * Base state class
+ * @author afitzek
+ */
+public abstract class WorkflowState {
+
+ private WorkflowState _next = null;
+
+ /**
+ * Gets the next logical state or null if this their is no state transition
+ * @return
+ */
+ public WorkflowState NextState() {
+ return this._next;
+ }
+
+ /**
+ * Sets the next logical state
+ * @param state
+ */
+ protected void SetNextState(WorkflowState state) {
+ this._next = state;
+ }
+
+ /**
+ * Perform main logic for this state
+ * @param workflow
+ */
+ public abstract void Update(Workflow workflow);
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java
new file mode 100644
index 00000000..7c249ef2
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java
@@ -0,0 +1,15 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class BKUSelectionState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java
new file mode 100644
index 00000000..a6c92ba3
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/DataSourceSelectionState.java
@@ -0,0 +1,15 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class DataSourceSelectionState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java
new file mode 100644
index 00000000..d984ea7f
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java
@@ -0,0 +1,15 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class OutputState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java
new file mode 100644
index 00000000..54ed8b31
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java
@@ -0,0 +1,15 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class PositioningState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
new file mode 100644
index 00000000..65abeea1
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
@@ -0,0 +1,14 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class PrepareConfigurationState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java
new file mode 100644
index 00000000..5dc96ade
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java
@@ -0,0 +1,15 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class PrepareSigningState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java
new file mode 100644
index 00000000..4753de48
--- /dev/null
+++ b/pdf-over/pdf-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java
@@ -0,0 +1,15 @@
+package at.asit.pdfover.gui.workflow.states;
+
+import at.asit.pdfover.gui.workflow.Workflow;
+import at.asit.pdfover.gui.workflow.WorkflowState;
+
+
+public class SigningState extends WorkflowState {
+
+ @Override
+ public void Update(Workflow workflow) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/pdf-over/pdf-gui/src/model/PDFOverGUI.ucd b/pdf-over/pdf-gui/src/model/PDFOverGUI.ucd
new file mode 100644
index 00000000..4895ff45
--- /dev/null
+++ b/pdf-over/pdf-gui/src/model/PDFOverGUI.ucd
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="PDFOverGUI" size="1439,478" id="at.asit.pdfover.gui.workflow.states" metadata="uml2-1.0" initialized="true" tag="1000" key="32303037303533312D31303030207064662D6775692F616669747A656B">
+ <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.1/@sourceConnections.0" name="Workflow" location="389,72" size="180,171" id="at.asit.pdfover.gui.workflow/Workflow" runTimeClassModel="SetCmdArgs([Ljava.lang.String;),GetPersistentState(),Update(),Start(),GetCmdArgs(),GetComposite()">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="139,108">
+ <children xsi:type="editmodel:MethodEditModel" name="GetCmdArgs" id="at.asit.pdfover.gui.workflow/Workflow#GetCmdArgs()"/>
+ <children xsi:type="editmodel:MethodEditModel" name="CreateMainWindow" id="at.asit.pdfover.gui.workflow/Workflow#CreateMainWindow()"/>
+ <children xsi:type="editmodel:MethodEditModel" name="GetPersistentState" id="at.asit.pdfover.gui.workflow/Workflow#GetPersistentState()"/>
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow/Workflow#Update()"/>
+ <children xsi:type="editmodel:MethodEditModel" name="Start" id="at.asit.pdfover.gui.workflow/Workflow#Start()"/>
+ <children xsi:type="editmodel:MethodEditModel" name="GetComposite" id="at.asit.pdfover.gui.workflow/Workflow#GetComposite()"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.2/@sourceConnections.0 //@children.3/@sourceConnections.0 //@children.4/@sourceConnections.0 //@children.5/@sourceConnections.0 //@children.6/@sourceConnections.0 //@children.7/@sourceConnections.0 //@children.8/@sourceConnections.0" name="WorkflowState" location="690,90" size="180,99" id="at.asit.pdfover.gui.workflow/WorkflowState" runTimeClassModel="NextState(),Update(Lat.asit.pdfover.gui.workflow.Workflow;)">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="86,36">
+ <children xsi:type="editmodel:MethodEditModel" name="NextState" id="at.asit.pdfover.gui.workflow/WorkflowState#NextState()"/>
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow/WorkflowState#Update(Lat.asit.pdfover.gui.workflow.Workflow;)"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:AssociationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState@state+at.asit.pdfover.gui.workflow/Workflow@workflow1" source="//@children.1" target="//@children.0" targetEnd="//@children.1/@sourceConnections.0/@children.1" label="//@children.1/@sourceConnections.0/@children.2" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="Manhattan">
+ <children xsi:type="editmodel:AssociationEndEditModel" name="state" location="0,49" id="at.asit.pdfover.gui.workflow/WorkflowState@state+at.asit.pdfover.gui.workflow/Workflow@workflow1|at.asit.pdfover.gui.workflow/WorkflowState#state" attachSource="true" multiplicityLabel="//@children.1/@sourceConnections.0/@children.0/@children.1" roleLabel="//@children.1/@sourceConnections.0/@children.0/@children.0" aggregationKind="Aggregration" navigable="true">
+ <children xsi:type="editmodel:LabelEditModel" name=" - state" location="642,119" size="41,13" anchorKind="FirstPart"/>
+ <children xsi:type="editmodel:LabelEditModel" name="1" location="676,146" size="7,13" anchorKind="FirstPart"/>
+ </children>
+ <children xsi:type="editmodel:AssociationEndEditModel" name="workflow1" location="180,67" id="at.asit.pdfover.gui.workflow/WorkflowState@state+at.asit.pdfover.gui.workflow/Workflow@workflow1|at.asit.pdfover.gui.workflow/Workflow#workflow1"/>
+ <children xsi:type="editmodel:WireLabelEditModel" size="0,13" anchorKind="MiddlePart"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="PrepareConfigurationState" location="389,225" size="239,68" id="at.asit.pdfover.gui.workflow.states/PrepareConfigurationState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/PrepareConfigurationState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/PrepareConfigurationState" source="//@children.2" target="//@children.1" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="196,0" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="0,89"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="DataSourceSelectionState" location="765,225" size="233,68" id="at.asit.pdfover.gui.workflow.states/DataSourceSelectionState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/DataSourceSelectionState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/DataSourceSelectionState" source="//@children.3" target="//@children.1" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="52,0" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="127,99"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="PositioningState" location="1035,225" size="163,68" id="at.asit.pdfover.gui.workflow.states/PositioningState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/PositioningState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/PositioningState" source="//@children.4" target="//@children.1" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="0,5" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="180,81"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="PrepareSigningState" location="426,300" size="195,68" id="at.asit.pdfover.gui.workflow.states/PrepareSigningState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/PrepareSigningState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/PrepareSigningState" source="//@children.5" target="//@children.1" targetEnd="//@children.5/@sourceConnections.0/@children.1" sourceEnd="//@children.5/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="142,0" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="24,99"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="BKUSelectionState" location="645,300" size="178,68" id="at.asit.pdfover.gui.workflow.states/BKUSelectionState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/BKUSelectionState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/BKUSelectionState" source="//@children.6" target="//@children.1" targetEnd="//@children.6/@sourceConnections.0/@children.1" sourceEnd="//@children.6/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="111,0" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="66,99"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="SigningState" location="855,300" size="136,68" id="at.asit.pdfover.gui.workflow.states/SigningState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/SigningState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/SigningState" source="//@children.7" target="//@children.1" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="7,0" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="172,99"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <children xsi:type="editmodel:ClassEditModel" name="OutputState" location="489,390" size="132,68" id="at.asit.pdfover.gui.workflow.states/OutputState" runTimeClassModel="Update">
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <children xsi:type="editmodel:CompartmentEditModel" size="71,18">
+ <children xsi:type="editmodel:MethodEditModel" name="Update" id="at.asit.pdfover.gui.workflow.states/OutputState#Update"/>
+ </children>
+ <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+ <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="at.asit.pdfover.gui.workflow/WorkflowState&lt;-at.asit.pdfover.gui.workflow.states/OutputState" source="//@children.8" target="//@children.1" targetEnd="//@children.8/@sourceConnections.0/@children.1" sourceEnd="//@children.8/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+ <children xsi:type="editmodel:AssociationEndEditModel" location="93,0" attachSource="true"/>
+ <children xsi:type="editmodel:AssociationEndEditModel" location="51,99"/>
+ </sourceConnections>
+ <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+ </children>
+ <diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=1;Product=eUML2" autoName="false"/>
+ <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="15,15" gridOrigin="0,0" rulerUnit="pixel" gridVisibility="false">
+ <leftRuler/>
+ <topRuler/>
+ </boardSetting>
+ <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showPopupBars="true" showConnectionHandles="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" showDependencyStereotype="true" showInterfaceStereotype="true" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+</editmodel:ClassDiagramEditModel>