Improved code generation. Organized imports are *finally* back -- decided to do these manually since HybridLabs is not EPL. Also took out some (hopefully) no longer necessary braces in search code.
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/AscapeAspect.xpt b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/AscapeAspect.xpt
index f2f8c51..2618082 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/AscapeAspect.xpt
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/AscapeAspect.xpt
@@ -11,21 +11,52 @@
«EXTENSION metaabm::ascape::tmpl::namesascape»
«EXTENSION metaabm::ascape::tmpl::inferascape»
-«AROUND metaabm::tmpl::Java::ExtendType FOR SProjection-»«pkgm()-»Scape«ENDAROUND»
+«AROUND metaabm::tmpl::Java::ExtendType FOR SProjection-»Scape«ENDAROUND»
«AROUND metaabm::tmpl::Java::ExtendType FOR SContext-»«typeName()-»«ENDAROUND»
«AROUND metaabm::tmpl::Java::ExtendType FOR SAgent-»«pkgm()-»Scape«ENDAROUND»
-«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SContext-» extends «pkgm()»Scape«ENDAROUND»
-«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SAgent-» extends «pkgm()»«IF isHost()-»HostCell«ELSE-»CellOccupant«ENDIF-»«ENDAROUND»
-«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SStyle-» extends org.ascape.util.vis.DrawFeature«ENDAROUND»
+«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SContext-» extends Scape«ENDAROUND»
+«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SAgent-» extends «IF isHost()-»HostCell«ELSE-»CellOccupant«ENDIF-»«ENDAROUND»
+«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SStyle-» extends DrawFeature«ENDAROUND»
+«AROUND metaabm::tmpl::Java::Imports FOR SStyle-»
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.Rectangle2D;
+import org.ascape.util.vis.DrawFeature;
+
+import org.ascape.model.CellOccupant;
+import org.ascape.model.HostCell;
+«ENDAROUND»
+
+«AROUND metaabm::tmpl::Java::Imports FOR SAgent-»
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+
+import java.util.List;
+
+import org.ascape.model.Agent;
+import org.ascape.model.CellOccupant;
+import org.ascape.model.HostCell;
+import org.ascape.model.Scape;
+import org.ascape.model.event.ScapeEvent;
+import org.ascape.model.rule.Rule;
+import org.ascape.model.space.CollectionSpace;
+import org.ascape.model.space.Coordinate2DDiscrete;
+import org.ascape.model.space.Graph;
+import org.ascape.model.space.Location;
+import org.ascape.util.Conditional;
+«ENDAROUND»
«AROUND metaabm::tmpl::Java::Body FOR SAgent-»
«targetDef.proceed()»
«EXPAND metaabm::ascape::tmpl::ScapeAspect::AgentBody-»
- public java.awt.Color getColor() {
- return java.awt.Color.LIGHT_GRAY;
+ public Color getColor() {
+ return Color.LIGHT_GRAY;
}
«ENDAROUND»
@@ -39,14 +70,14 @@
«AROUND metaabm::tmpl::Java::Body FOR SStyle-»
«targetDef.proceed()»
- public void draw(java.awt.Graphics g, Object object, int width, int height) {
- java.awt.Shape shape = null;
+ public void draw(Graphics g, Object object, int width, int height) {
+ Shape shape = null;
«IF agent.isHost()-»
«agent.typeName()» «rootActivity.id()» = («agent.typeName()») object;
«FOREACH ((AGroup) rootActivity).roots AS act»«agent.typeName()» «act.id()» = «rootActivity.id()»;«ENDFOREACH»
«EXPAND metaabm::tmpl::Java::ActionBody-»
«ELSE-»
- «pkgm()»HostCell «rootActivity.id()»Cell = («pkgm()»HostCell) object;
+ HostCell «rootActivity.id()»Cell = (HostCell) object;
if («rootActivity.id()»Cell.getOccupant() instanceof «agent.typeName()») {
«agent.typeName()» «rootActivity.id()» = («agent.typeName()») «rootActivity.id()»Cell.getOccupant();
«FOREACH ((AGroup) rootActivity).roots AS act»«agent.typeName()» «act.id()» = «rootActivity.id()»;«ENDFOREACH»
@@ -66,7 +97,7 @@
//if (getRunner().getEnvironment() instanceof org.ascape.runtime.applet.AppletEnvironment) {
// chart.getChart().getLegend().setAnchor(com.jrefinery.chart.Legend.SOUTH);
//}
- java.awt.Graphics dummyGraphics = new java.awt.image.BufferedImage(10, 10, java.awt.image.BufferedImage.TYPE_INT_RGB).getGraphics();
+ Graphics dummyGraphics = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB).getGraphics();
«FOREACH ((SContext) reference).agents AS agent»
«IF !agent.styles.isEmpty-»
@@ -98,7 +129,7 @@
«style.id()».draw(dummyGraphics, «agent.id()»Host, 4, 4);
«ENDIF»
{
- java.awt.Color agentColor = dummyGraphics.getColor();
+ Color agentColor = dummyGraphics.getColor();
chart.addSeries("Count «agent.typeName()» «((List) setter).first()»", agentColor);
}
«ENDFOREACH-»
@@ -150,19 +181,19 @@
«targetDef.proceed()»
g.setColor(«id()»);
«ELSEIF function.id() == "shapeOval"-»
- shape = new java.awt.geom.Ellipse2D.Double(0, 0, width - 2, height - 2);
+ shape = new Ellipse2D.Double(0, 0, width - 2, height - 2);
«ELSEIF function.id() == "shapeRectangle"-»
«IF !reference.isHost()-»
- shape = new java.awt.geom.Rectangle2D.Double(0, 0, width - 1, height - 1);
+ shape = new Rectangle2D.Double(0, 0, width - 1, height - 1);
«ELSE-»
- shape = new java.awt.geom.Rectangle2D.Double(0, 0, width, height);
+ shape = new Rectangle2D.Double(0, 0, width, height);
«ENDIF-»
«ELSEIF function.id() == "shapeMarker"-»
- shape = new java.awt.geom.Ellipse2D.Double(width * .25 - 1, width * .25 - 1, width * .5 - 1, width * .5 - 1);
+ shape = new Ellipse2D.Double(width * .25 - 1, width * .25 - 1, width * .5 - 1, width * .5 - 1);
«ELSEIF function.id().startsWith("graphicFill")-»
- ((java.awt.Graphics2D) g).fill(shape);
+ ((Graphics2D) g).fill(shape);
«ELSEIF function.id().startsWith("graphicOutline")-»
- ((java.awt.Graphics2D) g).draw(shape);
+ ((Graphics2D) g).draw(shape);
«ELSE-»
«IF selected == rootSelected || allTargets.typeSelect(ASet).collect(e | e.parameter).size > 0»
«targetDef.proceed()»
@@ -252,7 +283,7 @@
«AROUND metaabm::tmpl::Java::ActionBody FOR FFunction-»
«IF id() == "withinBoundaries"-»
- «pkgs()»Coordinate2DDiscrete coor = («pkgs()»Coordinate2DDiscrete) getCoordinate();
+ Coordinate2DDiscrete coor = (Coordinate2DDiscrete) getCoordinate();
return (coor.getYValue() >= bounds[0]
&& coor.getXValue() >= bounds[1]
&& coor.getYValue() <= bounds[2]
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/ScapeAspect.xpt b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/ScapeAspect.xpt
index 9420a7f..2908abe 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/ScapeAspect.xpt
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen.ascape/src/metaabm/ascape/tmpl/ScapeAspect.xpt
@@ -12,7 +12,6 @@
«EXTENSION metaabm::ascape::tmpl::namesascape»
«EXTENSION metaabm::ascape::tmpl::inferascape»
-
«DEFINE AgentBody FOR SAgent-»
«IF owner != null»
public «owner.typeName()» «owner.getterName()»() {
@@ -21,7 +20,7 @@
«ENDIF»
«IF parent != null && !((SContext) parent).projections.typeSelect(SNetwork).isEmpty-»
public java.util.List getNetwork() {
- return ((«pkgs()»Graph) «((SContext) parent).getterName()»().«((SContext) parent).projections.typeSelect(SNetwork).get(0).getterName()»().getSpace()).getNeighborsFor(this);
+ return ((Graph) «((SContext) parent).getterName()»().«((SContext) parent).projections.typeSelect(SNetwork).get(0).getterName()»().getSpace()).getNeighborsFor(this);
}
«ENDIF-»
«ENDDEFINE»
@@ -96,7 +95,7 @@
«ENDIF-»
}
- public void scapeSetup(«pkgm()»event.ScapeEvent scapeEvent) {
+ public void scapeSetup(ScapeEvent scapeEvent) {
//Set the size of the scape populations, e.g. for mutable scapes that need to have their size reset
«EXPAND metaabm::tmpl::Java::ProtectedRegion("ScapeSetup")»
«IF (rootActivity != null)-»
@@ -128,7 +127,7 @@
«DEFINE Conditional (List[metaabm::act::AAct] path, Boolean inner) FOR AAct-»
«IF conditionForAscape()-»
- «pkgu()»Conditional «selector().id()»Condition = new «pkgu()»Conditional() {
+ Conditional «selector().id()»Condition = new Conditional() {
private static final long serialVersionUID = 6846144446402098985L;
public boolean meetsCondition(Object «selector().id()»Cell) {
@@ -155,7 +154,7 @@
«selector().typeName()» «selector().id()» = («selector().typeName()») «findStatement(path)»;
«ELSE-»
«selector().typeName()» «selector().id()» = null;
- «pkgs()»Location «selector().id()»Location = «findStatement(path)»;
+ Location «selector().id()»Location = «findStatement(path)»;
if («selector().id()»Location != null) {
«selector().id()» = («selector().typeName()») «converted(selector().id() + "Location")»;
}
@@ -199,19 +198,19 @@
«DEFINE CreateScape(int stage) FOR ABuildSpace-»«ENDDEFINE»
«DEFINE CreateScape(int stage) FOR ABuildNetwork-»
«IF stage == 0-»
- «projection.fieldName()» = new «pkgm()»Scape(new «projection.spaceClass()»());
+ «projection.fieldName()» = new Scape(new «projection.spaceClass()»());
«projection.fieldName()».setName("«label»");
add(«projection.fieldName()»);
«ENDIF-»
«ENDDEFINE»
«DEFINE CreateScape(int stage) FOR ABuildGrid-»
«IF stage == 0-»
- «projection.fieldName()» = new «pkgm()»Scape(new «projection.spaceClass()»());
+ «projection.fieldName()» = new Scape(new «projection.spaceClass()»());
«projection.fieldName()».setPrototypeAgent(new «fillAgent.typeName()»());
«projection.fieldName()».setExtent(new «projection.coordinateType()»(«projection.getterName()»Dimensions()));
«projection.fieldName()».setName("«label»");
«IF projection.periodic() != ""-»
- ((«pkgs()»CollectionSpace) «projection.fieldName()».getSpace()).setPeriodic(«projection.periodic()»);
+ ((CollectionSpace) «projection.fieldName()».getSpace()).setPeriodic(«projection.periodic()»);
«ENDIF-»
add(«projection.fieldName()»);
org.ascape.model.Scape «fillAgent.fieldName()» = «projection.id()»;
@@ -232,10 +231,10 @@
«IF !isHost()»
«IF stage == 0-»
«typeName()» «proto()» = create«typeName()»Prototype();
- «scape()» = new «pkgm()»Scape();
+ «scape()» = new Scape();
«scape()».setName("«label»");
«scape()».setPrototypeAgent(«proto()»);
- «scape()».setExecutionOrder(«pkgm()»Scape.RULE_ORDER);
+ «scape()».setExecutionOrder(Scape.RULE_ORDER);
«ELSEIF stage == 1»
add(«scape()»);
«ELSEIF stage == 2»
@@ -318,18 +317,18 @@
«ENDDEFINE»
«DEFINE ChildBuilder FOR ARule-»
- «reference.scape()».addRule(new «pkgm()»rule.Rule("«label»") {
+ «reference.scape()».addRule(new Rule("«label»") {
private static final long serialVersionUID = 6846144446402098981L;
- public void execute(«pkgm()»Agent a) {
+ public void execute(Agent a) {
((«reference.implementation.qualifiedName») a).«id()»();
}
});
«ENDDEFINE»
«DEFINE ChildBuilder FOR AInitialize-»
«REM»Initialize is automatically invoked by default from framework«ENDREM»
- «reference.scape()».addInitialRule(new «pkgm()»rule.Rule("«label»") {
+ «reference.scape()».addInitialRule(new Rule("«label»") {
private static final long serialVersionUID = 6846144446402098982L;
- public void execute(«pkgm()»Agent a) {
+ public void execute(Agent a) {
((«reference.implementation.qualifiedName») a).«id()»();
}
});