diff options
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<-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<-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<-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<-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<-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<-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<-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> | 
