Separate playspace
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.cvsignore b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.cvsignore
index ba077a4..3184578 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.cvsignore
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.cvsignore
@@ -1 +1,3 @@
bin
+flattened.states
+flattened.xmi
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/Flatten States to XMI.launch b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Flatten States to XMI.launch
similarity index 93%
rename from docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/Flatten States to XMI.launch
rename to docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Flatten States to XMI.launch
index 7ebff3b..348b0ec 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/Flatten States to XMI.launch
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Flatten States to XMI.launch
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2m.qvt.oml.QvtTransformation">
<booleanAttribute key="org.eclipse.m2m.qvt.oml.interpreter.clearContents1" value="true"/>
<booleanAttribute key="org.eclipse.m2m.qvt.oml.interpreter.clearContents2" value="true"/>
@@ -7,7 +7,7 @@
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.featureName1" value=""/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.featureName2" value=""/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.module" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/FlattenStates.qvto"/>
-<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetModel1" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states"/>
+<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetModel1" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/compound.states"/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetModel2" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.xmi"/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetType1" value="NEW_MODEL"/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetType2" value="NEW_MODEL"/>
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/Flatten States.launch b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Flatten States.launch
similarity index 93%
rename from docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/Flatten States.launch
rename to docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Flatten States.launch
index d1b0858..eb7db58 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/Flatten States.launch
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Flatten States.launch
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2m.qvt.oml.QvtTransformation">
<booleanAttribute key="org.eclipse.m2m.qvt.oml.interpreter.clearContents1" value="true"/>
<booleanAttribute key="org.eclipse.m2m.qvt.oml.interpreter.clearContents2" value="true"/>
@@ -7,7 +7,7 @@
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.featureName1" value=""/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.featureName2" value=""/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.module" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/FlattenStates.qvto"/>
-<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetModel1" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states"/>
+<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetModel1" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/compound.states"/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetModel2" value="platform:/resource/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.states"/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetType1" value="NEW_MODEL"/>
<stringAttribute key="org.eclipse.m2m.qvt.oml.interpreter.targetType2" value="NEW_MODEL"/>
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate BadSimple States.launch b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate BadSimple States.launch
new file mode 100644
index 0000000..2a6bf62
--- /dev/null
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate BadSimple States.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.acceleo.ide.ui.launching.launchConfigurationType">
+<stringAttribute key="org.eclipse.acceleo.ide.ui.ARGUMENTS" value=""/>
+<booleanAttribute key="org.eclipse.acceleo.ide.ui.COMPUTE_PROFILING" value="false"/>
+<booleanAttribute key="org.eclipse.acceleo.ide.ui.COMPUTE_TRACEABILITY" value="false"/>
+<stringAttribute key="org.eclipse.acceleo.ide.ui.LAUNCHING_STRATEGY_DESCRIPTION" value="Acceleo Plug-in Application"/>
+<stringAttribute key="org.eclipse.acceleo.ide.ui.MODEL_PATH" value="/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badsimple.states"/>
+<stringAttribute key="org.eclipse.acceleo.ide.ui.TARGET_PATH" value="/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/badsimple/states"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.ocl.tutorial.eclipsecon2011.states2classes/src/org/eclipse/ocl/tutorial/eclipsecon2011/states2classes/files/Generate.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ocl.tutorial.eclipsecon2011.states2classes.files.Generate"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value=""C:/Development/EclipseCon/runtime-EclipseApplication/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badsimple.states" "C:/Development/EclipseCon/runtime-EclipseApplication/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/badsimple/states""/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ocl.tutorial.eclipsecon2011.states2classes"/>
+</launchConfiguration>
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate Flattened States.launch b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate Flattened States.launch
index d0f06b3..9cee24e 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate Flattened States.launch
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/.settings/Generate Flattened States.launch
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.acceleo.ide.ui.launching.launchConfigurationType">
<stringAttribute key="org.eclipse.acceleo.ide.ui.ARGUMENTS" value=""/>
<booleanAttribute key="org.eclipse.acceleo.ide.ui.COMPUTE_PROFILING" value="false"/>
@@ -13,6 +13,6 @@
<listEntry value="1"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ocl.tutorial.eclipsecon2011.states2classes.files.Generate"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value=""C:/Development/HartLibrary/runtime-EclipseApplication/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.states" "C:/Development/HartLibrary/runtime-EclipseApplication/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states""/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value=""C:/Development/EclipseCon/runtime-EclipseApplication/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.states" "C:/Development/EclipseCon/runtime-EclipseApplication/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states""/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ocl.tutorial.eclipsecon2011.states2classes"/>
</launchConfiguration>
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.states b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.states
deleted file mode 100644
index 14dbe3a..0000000
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.states
+++ /dev/null
@@ -1,40 +0,0 @@
-module "flattened.compound.states"
-
-statemachine Outer
-{
- events RIGHT LEFT START STOP;
-
- initial state Start value 4
- {
- START => CompoundA_Left
- }
-
- state Stop value 5
- {
- STOP => CompoundB_Left
- }
-
- state CompoundA_Left value 1
- {
- LEFT => CompoundA_Right
- START => Stop
- }
-
- state CompoundA_Right
- {
- RIGHT => CompoundA_Left
- START => Stop
- }
-
- state CompoundB_Right
- {
- RIGHT => CompoundB_Left
- STOP => Stop
- }
-
- state CompoundB_Left value 1
- {
- LEFT => CompoundB_Right
- STOP => Stop
- }
-}
\ No newline at end of file
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.xmi b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.xmi
deleted file mode 100644
index e54d8c4..0000000
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/flattened.xmi
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:states="http://ocl.eclipse.org/tutorial/eclipsecon2011/States">
- <states:Module name="flattened.compound.states">
- <machines name="Outer">
- <events name="RIGHT"/>
- <events name="START"/>
- <events name="LEFT"/>
- <events name="STOP"/>
- <states xsi:type="states:SimpleState" initial="true" name="Start" value="4">
- <transitions event="/0/@machines.0/@events.1" state="/0/@machines.0/@states.3"/>
- </states>
- <states xsi:type="states:SimpleState" name="Stop" value="5">
- <transitions event="/0/@machines.0/@events.3" state="/0/@machines.0/@states.5"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundA_Right">
- <transitions event="/0/@machines.0/@events.0" state="/0/@machines.0/@states.3"/>
- <transitions event="/0/@machines.0/@events.1" state="/0/@machines.0/@states.1"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundA_Left" value="1">
- <transitions event="/0/@machines.0/@events.2" state="/0/@machines.0/@states.2"/>
- <transitions event="/0/@machines.0/@events.1" state="/0/@machines.0/@states.1"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundB_Right">
- <transitions event="/0/@machines.0/@events.0" state="/0/@machines.0/@states.5"/>
- <transitions event="/0/@machines.0/@events.3" state="/0/@machines.0/@states.1"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundB_Left" value="1">
- <transitions event="/0/@machines.0/@events.2" state="/0/@machines.0/@states.4"/>
- <transitions event="/0/@machines.0/@events.3" state="/0/@machines.0/@states.1"/>
- </states>
- </machines>
- </states:Module>
- <states:Module name="flattened.compound.states">
- <machines name="Outer">
- <events name="RIGHT"/>
- <events name="STOP"/>
- <events name="LEFT"/>
- <events name="START"/>
- <states xsi:type="states:SimpleState" initial="true" name="Start" value="4">
- <transitions event="/1/@machines.0/@events.3" state="/1/@machines.0/@states.3"/>
- </states>
- <states xsi:type="states:SimpleState" name="Stop" value="5">
- <transitions event="/1/@machines.0/@events.1" state="/1/@machines.0/@states.5"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundA_Right">
- <transitions event="/1/@machines.0/@events.0" state="/1/@machines.0/@states.3"/>
- <transitions event="/1/@machines.0/@events.3" state="/1/@machines.0/@states.1"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundA_Left" value="1">
- <transitions event="/1/@machines.0/@events.2" state="/1/@machines.0/@states.2"/>
- <transitions event="/1/@machines.0/@events.3" state="/1/@machines.0/@states.1"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundB_Right">
- <transitions event="/1/@machines.0/@events.0" state="/1/@machines.0/@states.5"/>
- <transitions event="/1/@machines.0/@events.1" state="/1/@machines.0/@states.1"/>
- </states>
- <states xsi:type="states:SimpleState" name="CompoundB_Left" value="1">
- <transitions event="/1/@machines.0/@events.2" state="/1/@machines.0/@states.4"/>
- <transitions event="/1/@machines.0/@events.1" state="/1/@machines.0/@states.1"/>
- </states>
- </machines>
- </states:Module>
-</xmi:XMI>
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badcompound.states
similarity index 86%
rename from docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states
rename to docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badcompound.states
index 7e387bf..b28b0f4 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badcompound.states
@@ -7,20 +7,24 @@
initial state Start value 4
{
START => CompoundA
+ STOP => Stop
}
state Stop value 5
{
+ START => Start
STOP => CompoundB
}
compound state CompoundA machine Inner
{
START => Stop
+ STOP => Stop
}
compound state CompoundB machine Inner
{
+ START => Stop
STOP => Stop
}
}
@@ -31,11 +35,11 @@
initial state Left value 1
{
- LEFT => Right
+ RIGHT => Left
}
state Right
{
- RIGHT => Left
+ LEFT => Right
}
}
\ No newline at end of file
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badsimple.states b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badsimple.states
new file mode 100644
index 0000000..8782f3e
--- /dev/null
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/badsimple.states
@@ -0,0 +1,14 @@
+module "badsimple.states"
+
+statemachine Machine
+{
+ events START STOP;
+ state Start
+ {
+ STOP => Stop
+ }
+ state Stop
+ {
+ START => Start
+ }
+}
\ No newline at end of file
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/compound.states
similarity index 72%
copy from docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states
copy to docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/compound.states
index 7e387bf..e800c97 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.flattenstates/compound.states
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/compound.states
@@ -7,20 +7,28 @@
initial state Start value 4
{
START => CompoundA
+ LEFT => Start
+ RIGHT => Start
+ STOP => Stop
}
state Stop value 5
{
+ START => Start
STOP => CompoundB
+ LEFT => Stop
+ RIGHT => Stop
}
compound state CompoundA machine Inner
{
START => Stop
+ STOP => Stop
}
compound state CompoundB machine Inner
{
+ START => Stop
STOP => Stop
}
}
@@ -32,10 +40,12 @@
initial state Left value 1
{
LEFT => Right
+ RIGHT => Left
}
state Right
{
+ LEFT => Right
RIGHT => Left
}
}
\ No newline at end of file
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/simple.states b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/simple.states
index e4ccd9c..0fe2813 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/simple.states
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/model/simple.states
@@ -8,7 +8,7 @@
START => Start
STOP => Stop
}
- state Stop
+ initial state Stop
{
START => Start
STOP => Stop
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/badsimple/states/.cvsignore b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/badsimple/states/.cvsignore
new file mode 100644
index 0000000..27d1535
--- /dev/null
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/badsimple/states/.cvsignore
@@ -0,0 +1 @@
+*.java
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Left.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Left.java
index 8022a62..1a0668c 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Left.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Left.java
@@ -7,6 +7,10 @@
}
public void doLEFT()
{ sm.setState(STATES.STATE_CompoundA_Right); }
+ public void doRIGHT()
+ { sm.setState(STATES.STATE_CompoundA_Left); }
+ public void doSTOP()
+ { sm.setState(STATES.STATE_Stop); }
public void doSTART()
{ sm.setState(STATES.STATE_Stop); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Right.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Right.java
index 034acb4..f6ed7dd 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Right.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundA_Right.java
@@ -5,8 +5,12 @@
public CompoundA_Right(Outer sm) {
this.sm = sm;
}
+ public void doLEFT()
+ { sm.setState(STATES.STATE_CompoundA_Right); }
public void doRIGHT()
{ sm.setState(STATES.STATE_CompoundA_Left); }
+ public void doSTOP()
+ { sm.setState(STATES.STATE_Stop); }
public void doSTART()
{ sm.setState(STATES.STATE_Stop); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Left.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Left.java
index 6cf97c1..232109d 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Left.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Left.java
@@ -7,6 +7,10 @@
}
public void doLEFT()
{ sm.setState(STATES.STATE_CompoundB_Right); }
+ public void doRIGHT()
+ { sm.setState(STATES.STATE_CompoundB_Left); }
public void doSTOP()
{ sm.setState(STATES.STATE_Stop); }
+ public void doSTART()
+ { sm.setState(STATES.STATE_Stop); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Right.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Right.java
index 02d1acf..d1eac48 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Right.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/CompoundB_Right.java
@@ -5,8 +5,12 @@
public CompoundB_Right(Outer sm) {
this.sm = sm;
}
+ public void doLEFT()
+ { sm.setState(STATES.STATE_CompoundB_Right); }
public void doRIGHT()
{ sm.setState(STATES.STATE_CompoundB_Left); }
public void doSTOP()
{ sm.setState(STATES.STATE_Stop); }
+ public void doSTART()
+ { sm.setState(STATES.STATE_Stop); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Outer.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Outer.java
index fffba34..37c4311 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Outer.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Outer.java
@@ -4,29 +4,29 @@
{
public interface State
{
- public void doRIGHT();
public void doLEFT();
- public void doSTART();
public void doSTOP();
+ public void doRIGHT();
+ public void doSTART();
enum STATES
{
STATE_Start,
STATE_Stop,
- STATE_CompoundA_Left,
STATE_CompoundA_Right,
- STATE_CompoundB_Right,
- STATE_CompoundB_Left
+ STATE_CompoundA_Left,
+ STATE_CompoundB_Left,
+ STATE_CompoundB_Right
}
}
private final State[] states = new State[] {
new Start(this),
new Stop(this),
- new CompoundA_Left(this),
new CompoundA_Right(this),
- new CompoundB_Right(this),
- new CompoundB_Left(this)
+ new CompoundA_Left(this),
+ new CompoundB_Left(this),
+ new CompoundB_Right(this)
};
private State state;
@@ -39,8 +39,8 @@
this.state = states[state.ordinal()];
}
- public void doRIGHT() { state.doRIGHT(); }
public void doLEFT() { state.doLEFT(); }
- public void doSTART() { state.doSTART(); }
public void doSTOP() { state.doSTOP(); }
+ public void doRIGHT() { state.doRIGHT(); }
+ public void doSTART() { state.doSTART(); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Start.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Start.java
index 73c323e..494b33f 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Start.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Start.java
@@ -7,4 +7,10 @@
}
public void doSTART()
{ sm.setState(STATES.STATE_CompoundA_Left); }
+ public void doLEFT()
+ { sm.setState(STATES.STATE_Start); }
+ public void doRIGHT()
+ { sm.setState(STATES.STATE_Start); }
+ public void doSTOP()
+ { sm.setState(STATES.STATE_Stop); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Stop.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Stop.java
index 9887a25..8f088c4 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Stop.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/flattened/compound/states/Stop.java
@@ -5,6 +5,12 @@
public Stop(Outer sm) {
this.sm = sm;
}
+ public void doSTART()
+ { sm.setState(STATES.STATE_Start); }
public void doSTOP()
{ sm.setState(STATES.STATE_CompoundB_Left); }
+ public void doLEFT()
+ { sm.setState(STATES.STATE_Stop); }
+ public void doRIGHT()
+ { sm.setState(STATES.STATE_Stop); }
}
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/simple/states/Machine.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/simple/states/Machine.java
index 3a20f5c..a7dd734 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/simple/states/Machine.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.playspace/src/simple/states/Machine.java
@@ -22,7 +22,7 @@
private State state;
public Machine() {
- setState(State.STATES.STATE_org.eclipse.emf.ecore.impl.DynamicEObjectImpl@658c79 (eClass: org.eclipse.emf.ecore.impl.EClassImpl@e97bef (name: OclInvalid_Class) (instanceClassName: null) (abstract: false, interface: false)));
+ setState(State.STATES.STATE_Stop);
}
public void setState(State.STATES state) {
diff --git a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.states2classes/src/org/eclipse/ocl/tutorial/eclipsecon2011/states2classes/files/Generate.java b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.states2classes/src/org/eclipse/ocl/tutorial/eclipsecon2011/states2classes/files/Generate.java
index d360e78..6bc6937 100644
--- a/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.states2classes/src/org/eclipse/ocl/tutorial/eclipsecon2011/states2classes/files/Generate.java
+++ b/docs/publications/EclipseCon2011Tutorial/org.eclipse.ocl.tutorial.eclipsecon2011.states2classes/src/org/eclipse/ocl/tutorial/eclipsecon2011/states2classes/files/Generate.java
@@ -43,12 +43,7 @@
*
* @generated
*/
- public static final String[] TEMPLATE_NAMES = { "generate" };
-
- /**
- * The list of properties files from the launch parameters (Launch configuration).
- */
- private List<String> propertiesFiles = new ArrayList<String>();
+ public static final String[] TEMPLATE_NAMES = { "generate", };
/**
* Allows the public constructor to be used. Note that a generator created
@@ -65,8 +60,8 @@
* @generated
*/
public Generate() {
- // Empty implementation
- }
+ // Empty implementation
+ }
/**
* This allows clients to instantiates a generator with all required information.
@@ -86,8 +81,8 @@
*/
public Generate(URI modelURI, File targetFolder,
List<? extends Object> arguments) throws IOException {
- initialize(modelURI, targetFolder, arguments);
- }
+ initialize(modelURI, targetFolder, arguments);
+ }
/**
* This allows clients to instantiates a generator with all required information.
@@ -107,8 +102,8 @@
*/
public Generate(EObject model, File targetFolder,
List<? extends Object> arguments) throws IOException {
- initialize(model, targetFolder, arguments);
- }
+ initialize(model, targetFolder, arguments);
+ }
/**
* This can be used to launch the generation from a standalone application.
@@ -118,45 +113,23 @@
* @generated
*/
public static void main(String[] args) {
- try {
- if (args.length < 2) {
- System.out.println("Arguments not valid : {model, folder}.");
- } else {
- URI modelURI = URI.createFileURI(args[0]);
- File folder = new File(args[1]);
-
- List<String> arguments = new ArrayList<String>();
-
- /*
- * Add in this list all the arguments used by the starting point of the generation
- * If your main template is called on an element of your model and a String, you can
- * add in "arguments" this "String" attribute.
- */
-
- Generate generator = new Generate(modelURI, folder, arguments);
-
- /*
- * Add the properties from the launch arguments.
- * If you want to programmatically add new arguments, add them in "propertiesfiles"
- * You can add the absolute path of a properties files, or even a project relative path.
- * If you want to add another "protocol" for your properties files, please override
- * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
- * The basic properties loader will look for properties in the current project if the path
- * of the properties file is like this "packagea.packageb.packagec.default" for a properties
- * file named default.properties, or if the path is an absolute path. With a new property
- * loader you could for example, look for properties files in a bundle.
- */
-
- for (int i = 2; i < args.length; i++) {
- generator.addPropertiesFile(args[i]);
- }
-
- generator.doGenerate(new BasicMonitor());
- }
- } catch (IOException e) {
- e.printStackTrace();
+ try {
+ if (args.length < 2) {
+ System.out.println("Arguments not valid : {model, folder}.");
+ } else {
+ URI modelURI = URI.createFileURI(args[0]);
+ File folder = new File(args[1]);
+ List<String> arguments = new ArrayList<String>();
+ for (int i = 2; i < args.length; i++) {
+ arguments.add(args[i]);
}
+ Generate generator = new Generate(modelURI, folder, arguments);
+ generator.doGenerate(new BasicMonitor());
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
}
+ }
/**
* Launches the generation described by this instance.
@@ -169,12 +142,12 @@
*/
@Override
public void doGenerate(Monitor monitor) throws IOException {
- /*
- * TODO if you wish to change the generation as a whole, override this.
- * The default behavior should be sufficient in most cases.
- */
- super.doGenerate(monitor);
- }
+ /*
+ * TODO if you wish to change the generation as a whole, override this.
+ * The default behavior should be sufficient in most cases.
+ */
+ super.doGenerate(monitor);
+ }
/**
* If this generator needs to listen to text generation events, listeners can be returned from here.
@@ -184,10 +157,10 @@
*/
@Override
public List<IAcceleoTextGenerationListener> getGenerationListeners() {
- List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
- // TODO if you need to listen to generation event, add listeners to the list here
- return listeners;
- }
+ List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
+ // TODO if you need to listen to generation event, add listeners to the list here
+ return listeners;
+ }
/**
* If you need to change the way files are generated, this is your entry point.
@@ -211,8 +184,8 @@
* @generated
*/
public IAcceleoGenerationStrategy getGenerationStrategy() {
- return super.getGenerationStrategy();
- }
+ return super.getGenerationStrategy();
+ }
/**
* This will be called in order to find and load the module that will be launched through this launcher.
@@ -223,8 +196,8 @@
*/
@Override
public String getModuleName() {
- return MODULE_FILE_NAME;
- }
+ return MODULE_FILE_NAME;
+ }
/**
* If the module(s) called by this launcher require properties files, return their qualified path from
@@ -243,29 +216,18 @@
*/
@Override
public List<String> getProperties() {
- /*
- * TODO if your generation module requires access to properties files,
- * add their qualified path to the list here. Properties files are
- * expected to be in source folders, and the path here to be the
- * qualified path as if referring to a Java class. For example, if you
- * have a file named "messages.properties" in package
- * "org.eclipse.acceleo.sample", the path that needs be added to this
- * list is "org.eclipse.acceleo.sample.messages".
- */
- return propertiesFiles;
- }
-
- /**
- * Adds a properties file in the list of properties files.
- *
- * @param propertiesFile
- * The properties file to add.
- * @since 3.1
+ List<String> propertiesFiles = super.getProperties();
+ /*
+ * TODO if your generation module requires access to properties files,
+ * add their qualified path to the list here. Properties files are
+ * expected to be in source folders, and the path here to be the
+ * qualified path as if referring to a Java class. For example, if you
+ * have a file named "messages.properties" in package
+ * "org.eclipse.acceleo.sample", the path that needs be added to this
+ * list is "org.eclipse.acceleo.sample.messages".
*/
- @Override
- public void addPropertiesFile(String propertiesFile) {
- this.propertiesFiles.add(propertiesFile);
- }
+ return propertiesFiles;
+ }
/**
* This will be used to get the list of templates that are to be launched by this launcher.
@@ -275,8 +237,8 @@
*/
@Override
public String[] getTemplateNames() {
- return TEMPLATE_NAMES;
- }
+ return TEMPLATE_NAMES;
+ }
/**
* This can be used to update the resource set's package registry with all needed EPackages.
@@ -303,9 +265,9 @@
*/
@Override
public void registerResourceFactories(ResourceSet resourceSet) {
- super.registerResourceFactories(resourceSet);
- // TODO If you need additional resource factories registrations, do them here. The following line is an example for UML.
- // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
- }
+ super.registerResourceFactories(resourceSet);
+ // TODO If you need additional resource factories registrations, do them here. The following line is an example for UML.
+ // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+ }
}