catch up with branch daily

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.topologydsl/src/org/eclipse/osbp/xtext/topologydsl/jvmmodel/TopologyDSLD3JavaComponentsCreator.xtend b/org.eclipse.osbp.xtext.topologydsl/src/org/eclipse/osbp/xtext/topologydsl/jvmmodel/TopologyDSLD3JavaComponentsCreator.xtend
deleted file mode 100644
index f43a046..0000000
--- a/org.eclipse.osbp.xtext.topologydsl/src/org/eclipse/osbp/xtext/topologydsl/jvmmodel/TopologyDSLD3JavaComponentsCreator.xtend
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- *                                                                            
- *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
- *                                                                            
- *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License 2.0        
- *  which accompanies this distribution, and is available at                  
- *  https://www.eclipse.org/legal/epl-2.0/                                 
- *                                 
- *  SPDX-License-Identifier: EPL-2.0                                 
- *                                                                            
- *  Contributors:                                                      
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- * 
- *  This copyright notice shows up in the generated Java code
- *
- */
- 
-package org.eclipse.osbp.xtext.topologydsl.jvmmodel
-
-import com.vaadin.annotations.JavaScript
-import com.vaadin.shared.ui.JavaScriptComponentState
-import com.vaadin.ui.AbstractJavaScriptComponent
-import java.util.ArrayList
-import javax.inject.Inject
-import org.eclipse.osbp.runtime.common.event.IEventDispatcher
-import org.eclipse.osbp.xtext.topologydsl.Topology
-import org.eclipse.xtext.common.types.JvmAnnotationReference
-import org.eclipse.xtext.common.types.JvmConstructor
-import org.eclipse.xtext.common.types.JvmDeclaredType
-import org.eclipse.xtext.common.types.JvmField
-import org.eclipse.xtext.common.types.JvmStringAnnotationValue
-import org.eclipse.xtext.common.types.JvmVisibility
-import org.eclipse.xtext.common.types.TypesFactory
-import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
-import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
-import org.slf4j.Logger
-import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder
-import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder
-import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective
-
-class TopologyDSLD3JavaComponentsCreator {
-		
-		@Inject extension JvmTypesBuilder
-		@Inject extension D3JsJavaUtil
-		@Inject
-		private TypesFactory typesFactory
-		def void createJsJavaComponent(Topology topology, IJvmDeclaredTypeAcceptor acceptor, JvmTypeReferenceBuilder typeReferenceBuilder, JvmAnnotationReferenceBuilder annotationTypesBuilder){
-			if (topology.name !== null){
-				val stateClassName = topology.createStateFilename
-				var topology_cls = topology.toClass(topology.createfullyQualifiedTopologyFilename)
-				// JavaScript-Java-State-Component creation
-				var state_cls = topology.toClass(topology.createfullyQualifiedStateFilename)
-				// JavaScript-Java-Component creation
-		   		acceptor.accept(topology_cls,
-		   			[
-		   				superTypes += typeReferenceBuilder.typeRef(AbstractJavaScriptComponent)
-						var JvmAnnotationReference jsAnnotationRef = annotationTypesBuilder.annotationRef(JavaScript)
-						var jsAnnotationList = newArrayList('''theme://plugin/org.eclipse.osbp.utils.js/org/eclipse/osbp/utils/js/d3.min.js''', '''theme://plugin/org.eclipse.osbp.utils.js/org/eclipse/osbp/utils/js/topojson.v1.min.js''', '''js/«topology.createTopologyJsFilename»''')
-						jsAnnotationRef.addStringValuesToAnnotation(jsAnnotationList)
-						annotations += jsAnnotationRef
-	   					it.toTopologyConstructor(topology, typeReferenceBuilder)
-	   					it.toFields(topology, typeReferenceBuilder)
-						it.toTopologyOperations(topology, stateClassName, typeReferenceBuilder)
-		   			])
-				// JavaScript-Java-State-Component creation
-		   		acceptor.accept(state_cls,
-		   			[
-		   				superTypes += typeReferenceBuilder.typeRef(JavaScriptComponentState)
-						it.toTopologyStateFields(topology, typeReferenceBuilder)
-		   			])
-			}
-		}
-	
-	
-	/**
-	 * <p>build the class variables.</p> 
-	 *
-	 */
-	def void toFields(JvmDeclaredType type, Topology topology, JvmTypeReferenceBuilder typeReferenceBuilder) {
-		var JvmField field = null
-   		// create logger
-		field = topology.toField("log", typeReferenceBuilder.typeRef(Logger))[setInitializer([append('''org.slf4j.LoggerFactory.getLogger("topology")''')])]
-   		field.static = true
-   		field.visibility = JvmVisibility::PRIVATE
-		type.members += field
-	}
-
-	def void toTopologyOperations(JvmDeclaredType type, Topology topology, String stateClassName, JvmTypeReferenceBuilder typeReferenceBuilder){
-		// create view
-   		type.members += topology.toMethod("getState", typeReferenceBuilder.typeRef(stateClassName), [
-   			body = [ append('''return («stateClassName») super.getState();''')]
-   		])
-	}
-
-	def getD3StateVars()
-		'''
-		getState().jsonData = _jsonData;
-		getState().htmlTagId=_htmlTagId;
-		getState().panelWidth = new Integer(width).toString();
-		getState().panelHeight = new Integer(height).toString();
-		'''
-
-	def JvmConstructor getTopologyConstructor(JvmDeclaredType type, Topology topology, JvmTypeReferenceBuilder typeReferenceBuilder) {
-		return topology.toConstructor([
-			parameters += topology.toParameter("_htmlTagId", typeReferenceBuilder.typeRef(String))
-			parameters += topology.toParameter("eventDispatcher", typeReferenceBuilder.typeRef(IEventDispatcher))
-			parameters += topology.toParameter("perspective", typeReferenceBuilder.typeRef(MPerspective))
-			parameters += topology.toParameter("_jsonData", typeReferenceBuilder.typeRef(String))
-			parameters += topology.toParameter("width", typeReferenceBuilder.typeRef(int))
-			parameters += topology.toParameter("height", typeReferenceBuilder.typeRef(int))
-			body = [ append(getD3StateVars)]
-		])
-	}
-		
-	
-	def void toTopologyConstructor(JvmDeclaredType type, Topology topology, JvmTypeReferenceBuilder typeReferenceBuilder) {
-		var JvmConstructor constructor = type.getTopologyConstructor(topology, typeReferenceBuilder)
-		constructor.body = [ append(
-			'''
-			«d3StateVars»
-			addFunction("on«topology.fileName»Click", new JavaScriptFunction() {
-				@Override
-				public void call(JsonArray arguments){
-					try {
-						EventDispatcherEvent evnt = new EventDispatcherEvent(perspective, EventDispatcherCommand.SELECT, "Topology", "«topology.name»");
-						if(arguments.get(0) instanceof JreJsonString && arguments.get(1) instanceof JreJsonString) {
-							evnt.addItem(EventDispatcherDataTag.LIST, arguments.getString(0)+"."+arguments.getString(1));
-							eventDispatcher.sendEvent(evnt);
-						}
-					} catch (JsonException jsonExp){
-						log.error("«topology.fileName»Click - JsonException: no property available");    	
-					}
-				}
-			});''')]
-		type.members += constructor
-	}
-	
-	def void addStringValuesToAnnotation(JvmAnnotationReference annotationRef, ArrayList<String> annotationStringList){
-		var JvmStringAnnotationValue value = typesFactory.createJvmStringAnnotationValue
-		for (annotationString : annotationStringList){
-			value.values += annotationString
-		}
-		annotationRef.explicitValues += value
-	}
-		
-	def void toTopologyStateFields(JvmDeclaredType type, Topology topology, JvmTypeReferenceBuilder typeReferenceBuilder){
-		type.members += topology.toField("jsonData", typeReferenceBuilder.typeRef(String))[
-			visibility = JvmVisibility::PUBLIC
-			setInitializer([append('''""''')])]
-		type.members += topology.toField("htmlTagId", typeReferenceBuilder.typeRef(String))[
-			visibility = JvmVisibility::PUBLIC
-			setInitializer([append('''""''')])]
-		type.members += topology.toField("panelWidth", typeReferenceBuilder.typeRef(String))[
-			visibility = JvmVisibility::PUBLIC
-			setInitializer([append('''""''')])]
-		type.members += topology.toField("panelHeight", typeReferenceBuilder.typeRef(String))[
-			visibility = JvmVisibility::PUBLIC
-			setInitializer([append('''""''')])]
-		type.members += topology.toField("inputValue", typeReferenceBuilder.typeRef(String))[
-			visibility = JvmVisibility::PUBLIC
-			setInitializer([append('''""''')])]
-	}
-
-	def createD3Topology(Topology topology)
-		'''
-		InputStream json = getClass().getResourceAsStream("/topologies/«topology.fileName».json");
-		try {
-			return new «topology.createfullyQualifiedTopologyFilename»("«topology.createTopologyFilename»", eventDispatcher, perspective, IOUtils.toString(json), panelWidth, panelHeight);
-		} catch (IOException e) {
-			log.error("found no data for «topology.fileName» in folder topologies");
-		}
-		return null;
-		'''
-}
diff --git a/org.eclipse.osbp.xtext.topologydsl/xtend-gen/org/eclipse/osbp/xtext/topologydsl/jvmmodel/TopologyDSLD3JavaComponentsCreator.java b/org.eclipse.osbp.xtext.topologydsl/xtend-gen/org/eclipse/osbp/xtext/topologydsl/jvmmodel/TopologyDSLD3JavaComponentsCreator.java
deleted file mode 100644
index ce93bfd..0000000
--- a/org.eclipse.osbp.xtext.topologydsl/xtend-gen/org/eclipse/osbp/xtext/topologydsl/jvmmodel/TopologyDSLD3JavaComponentsCreator.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/**
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- * 
- *  All rights reserved. This program and the accompanying materials
- *  are made available under the terms of the Eclipse Public License 2.0
- *  which accompanies this distribution, and is available at
- *  https://www.eclipse.org/legal/epl-2.0/
- * 
- *  SPDX-License-Identifier: EPL-2.0
- * 
- *  Contributors:
- * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- * 
- * 
- *  This copyright notice shows up in the generated Java code
- */
-package org.eclipse.osbp.xtext.topologydsl.jvmmodel;
-
-import com.vaadin.annotations.JavaScript;
-import com.vaadin.shared.ui.JavaScriptComponentState;
-import com.vaadin.ui.AbstractJavaScriptComponent;
-import java.util.ArrayList;
-import javax.inject.Inject;
-import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.osbp.runtime.common.event.IEventDispatcher;
-import org.eclipse.osbp.xtext.topologydsl.Topology;
-import org.eclipse.osbp.xtext.topologydsl.jvmmodel.D3JsJavaUtil;
-import org.eclipse.xtend2.lib.StringConcatenation;
-import org.eclipse.xtext.common.types.JvmAnnotationReference;
-import org.eclipse.xtext.common.types.JvmAnnotationValue;
-import org.eclipse.xtext.common.types.JvmConstructor;
-import org.eclipse.xtext.common.types.JvmDeclaredType;
-import org.eclipse.xtext.common.types.JvmField;
-import org.eclipse.xtext.common.types.JvmFormalParameter;
-import org.eclipse.xtext.common.types.JvmGenericType;
-import org.eclipse.xtext.common.types.JvmMember;
-import org.eclipse.xtext.common.types.JvmOperation;
-import org.eclipse.xtext.common.types.JvmStringAnnotationValue;
-import org.eclipse.xtext.common.types.JvmTypeReference;
-import org.eclipse.xtext.common.types.JvmVisibility;
-import org.eclipse.xtext.common.types.TypesFactory;
-import org.eclipse.xtext.xbase.compiler.output.ITreeAppendable;
-import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor;
-import org.eclipse.xtext.xbase.jvmmodel.JvmAnnotationReferenceBuilder;
-import org.eclipse.xtext.xbase.jvmmodel.JvmTypeReferenceBuilder;
-import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
-import org.eclipse.xtext.xbase.lib.CollectionLiterals;
-import org.eclipse.xtext.xbase.lib.Extension;
-import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
-import org.slf4j.Logger;
-
-@SuppressWarnings("all")
-public class TopologyDSLD3JavaComponentsCreator {
-  @Inject
-  @Extension
-  private JvmTypesBuilder _jvmTypesBuilder;
-  
-  @Inject
-  @Extension
-  private D3JsJavaUtil _d3JsJavaUtil;
-  
-  @Inject
-  private TypesFactory typesFactory;
-  
-  public void createJsJavaComponent(final Topology topology, final IJvmDeclaredTypeAcceptor acceptor, final JvmTypeReferenceBuilder typeReferenceBuilder, final JvmAnnotationReferenceBuilder annotationTypesBuilder) {
-    String _name = topology.getName();
-    boolean _tripleNotEquals = (_name != null);
-    if (_tripleNotEquals) {
-      final String stateClassName = this._d3JsJavaUtil.createStateFilename(topology);
-      JvmGenericType topology_cls = this._jvmTypesBuilder.toClass(topology, this._d3JsJavaUtil.createfullyQualifiedTopologyFilename(topology));
-      JvmGenericType state_cls = this._jvmTypesBuilder.toClass(topology, this._d3JsJavaUtil.createfullyQualifiedStateFilename(topology));
-      final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() {
-        @Override
-        public void apply(final JvmGenericType it) {
-          EList<JvmTypeReference> _superTypes = it.getSuperTypes();
-          JvmTypeReference _typeRef = typeReferenceBuilder.typeRef(AbstractJavaScriptComponent.class);
-          TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
-          JvmAnnotationReference jsAnnotationRef = annotationTypesBuilder.annotationRef(JavaScript.class);
-          StringConcatenation _builder = new StringConcatenation();
-          _builder.append("theme://plugin/org.eclipse.osbp.utils.js/org/eclipse/osbp/utils/js/d3.min.js");
-          StringConcatenation _builder_1 = new StringConcatenation();
-          _builder_1.append("theme://plugin/org.eclipse.osbp.utils.js/org/eclipse/osbp/utils/js/topojson.v1.min.js");
-          StringConcatenation _builder_2 = new StringConcatenation();
-          _builder_2.append("js/");
-          String _createTopologyJsFilename = TopologyDSLD3JavaComponentsCreator.this._d3JsJavaUtil.createTopologyJsFilename(topology);
-          _builder_2.append(_createTopologyJsFilename);
-          ArrayList<String> jsAnnotationList = CollectionLiterals.<String>newArrayList(_builder.toString(), _builder_1.toString(), _builder_2.toString());
-          TopologyDSLD3JavaComponentsCreator.this.addStringValuesToAnnotation(jsAnnotationRef, jsAnnotationList);
-          EList<JvmAnnotationReference> _annotations = it.getAnnotations();
-          TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, jsAnnotationRef);
-          TopologyDSLD3JavaComponentsCreator.this.toTopologyConstructor(it, topology, typeReferenceBuilder);
-          TopologyDSLD3JavaComponentsCreator.this.toFields(it, topology, typeReferenceBuilder);
-          TopologyDSLD3JavaComponentsCreator.this.toTopologyOperations(it, topology, stateClassName, typeReferenceBuilder);
-        }
-      };
-      acceptor.<JvmGenericType>accept(topology_cls, _function);
-      final Procedure1<JvmGenericType> _function_1 = new Procedure1<JvmGenericType>() {
-        @Override
-        public void apply(final JvmGenericType it) {
-          EList<JvmTypeReference> _superTypes = it.getSuperTypes();
-          JvmTypeReference _typeRef = typeReferenceBuilder.typeRef(JavaScriptComponentState.class);
-          TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_superTypes, _typeRef);
-          TopologyDSLD3JavaComponentsCreator.this.toTopologyStateFields(it, topology, typeReferenceBuilder);
-        }
-      };
-      acceptor.<JvmGenericType>accept(state_cls, _function_1);
-    }
-  }
-  
-  /**
-   * <p>build the class variables.</p>
-   */
-  public void toFields(final JvmDeclaredType type, final Topology topology, final JvmTypeReferenceBuilder typeReferenceBuilder) {
-    JvmField field = null;
-    final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
-      @Override
-      public void apply(final JvmField it) {
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("org.slf4j.LoggerFactory.getLogger(\"topology\")");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setInitializer(it, _function);
-      }
-    };
-    field = this._jvmTypesBuilder.toField(topology, "log", typeReferenceBuilder.typeRef(Logger.class), _function);
-    field.setStatic(true);
-    field.setVisibility(JvmVisibility.PRIVATE);
-    EList<JvmMember> _members = type.getMembers();
-    this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
-  }
-  
-  public void toTopologyOperations(final JvmDeclaredType type, final Topology topology, final String stateClassName, final JvmTypeReferenceBuilder typeReferenceBuilder) {
-    EList<JvmMember> _members = type.getMembers();
-    final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() {
-      @Override
-      public void apply(final JvmOperation it) {
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("return (");
-            _builder.append(stateClassName);
-            _builder.append(") super.getState();");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setBody(it, _function);
-      }
-    };
-    JvmOperation _method = this._jvmTypesBuilder.toMethod(topology, "getState", typeReferenceBuilder.typeRef(stateClassName), _function);
-    this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method);
-  }
-  
-  public CharSequence getD3StateVars() {
-    StringConcatenation _builder = new StringConcatenation();
-    _builder.append("getState().jsonData = _jsonData;");
-    _builder.newLine();
-    _builder.append("getState().htmlTagId=_htmlTagId;");
-    _builder.newLine();
-    _builder.append("getState().panelWidth = new Integer(width).toString();");
-    _builder.newLine();
-    _builder.append("getState().panelHeight = new Integer(height).toString();");
-    _builder.newLine();
-    return _builder;
-  }
-  
-  public JvmConstructor getTopologyConstructor(final JvmDeclaredType type, final Topology topology, final JvmTypeReferenceBuilder typeReferenceBuilder) {
-    final Procedure1<JvmConstructor> _function = new Procedure1<JvmConstructor>() {
-      @Override
-      public void apply(final JvmConstructor it) {
-        EList<JvmFormalParameter> _parameters = it.getParameters();
-        JvmFormalParameter _parameter = TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.toParameter(topology, "_htmlTagId", typeReferenceBuilder.typeRef(String.class));
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
-        EList<JvmFormalParameter> _parameters_1 = it.getParameters();
-        JvmFormalParameter _parameter_1 = TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.toParameter(topology, "eventDispatcher", typeReferenceBuilder.typeRef(IEventDispatcher.class));
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1);
-        EList<JvmFormalParameter> _parameters_2 = it.getParameters();
-        JvmFormalParameter _parameter_2 = TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.toParameter(topology, "perspective", typeReferenceBuilder.typeRef(MPerspective.class));
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_2, _parameter_2);
-        EList<JvmFormalParameter> _parameters_3 = it.getParameters();
-        JvmFormalParameter _parameter_3 = TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.toParameter(topology, "_jsonData", typeReferenceBuilder.typeRef(String.class));
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_3, _parameter_3);
-        EList<JvmFormalParameter> _parameters_4 = it.getParameters();
-        JvmFormalParameter _parameter_4 = TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.toParameter(topology, "width", typeReferenceBuilder.typeRef(int.class));
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_4, _parameter_4);
-        EList<JvmFormalParameter> _parameters_5 = it.getParameters();
-        JvmFormalParameter _parameter_5 = TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.toParameter(topology, "height", typeReferenceBuilder.typeRef(int.class));
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_5, _parameter_5);
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            it.append(TopologyDSLD3JavaComponentsCreator.this.getD3StateVars());
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setBody(it, _function);
-      }
-    };
-    return this._jvmTypesBuilder.toConstructor(topology, _function);
-  }
-  
-  public void toTopologyConstructor(final JvmDeclaredType type, final Topology topology, final JvmTypeReferenceBuilder typeReferenceBuilder) {
-    JvmConstructor constructor = this.getTopologyConstructor(type, topology, typeReferenceBuilder);
-    final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-      @Override
-      public void apply(final ITreeAppendable it) {
-        StringConcatenation _builder = new StringConcatenation();
-        CharSequence _d3StateVars = TopologyDSLD3JavaComponentsCreator.this.getD3StateVars();
-        _builder.append(_d3StateVars);
-        _builder.newLineIfNotEmpty();
-        _builder.append("addFunction(\"on");
-        String _fileName = topology.getFileName();
-        _builder.append(_fileName);
-        _builder.append("Click\", new JavaScriptFunction() {");
-        _builder.newLineIfNotEmpty();
-        _builder.append("\t");
-        _builder.append("@Override");
-        _builder.newLine();
-        _builder.append("\t");
-        _builder.append("public void call(JsonArray arguments){");
-        _builder.newLine();
-        _builder.append("\t\t");
-        _builder.append("try {");
-        _builder.newLine();
-        _builder.append("\t\t\t");
-        _builder.append("EventDispatcherEvent evnt = new EventDispatcherEvent(perspective, EventDispatcherCommand.SELECT, \"Topology\", \"");
-        String _name = topology.getName();
-        _builder.append(_name, "\t\t\t");
-        _builder.append("\");");
-        _builder.newLineIfNotEmpty();
-        _builder.append("\t\t\t");
-        _builder.append("if(arguments.get(0) instanceof JreJsonString && arguments.get(1) instanceof JreJsonString) {");
-        _builder.newLine();
-        _builder.append("\t\t\t\t");
-        _builder.append("evnt.addItem(EventDispatcherDataTag.LIST, arguments.getString(0)+\".\"+arguments.getString(1));");
-        _builder.newLine();
-        _builder.append("\t\t\t\t");
-        _builder.append("eventDispatcher.sendEvent(evnt);");
-        _builder.newLine();
-        _builder.append("\t\t\t");
-        _builder.append("}");
-        _builder.newLine();
-        _builder.append("\t\t");
-        _builder.append("} catch (JsonException jsonExp){");
-        _builder.newLine();
-        _builder.append("\t\t\t");
-        _builder.append("log.error(\"");
-        String _fileName_1 = topology.getFileName();
-        _builder.append(_fileName_1, "\t\t\t");
-        _builder.append("Click - JsonException: no property available\");    \t");
-        _builder.newLineIfNotEmpty();
-        _builder.append("\t\t");
-        _builder.append("}");
-        _builder.newLine();
-        _builder.append("\t");
-        _builder.append("}");
-        _builder.newLine();
-        _builder.append("});");
-        it.append(_builder);
-      }
-    };
-    this._jvmTypesBuilder.setBody(constructor, _function);
-    EList<JvmMember> _members = type.getMembers();
-    this._jvmTypesBuilder.<JvmConstructor>operator_add(_members, constructor);
-  }
-  
-  public void addStringValuesToAnnotation(final JvmAnnotationReference annotationRef, final ArrayList<String> annotationStringList) {
-    JvmStringAnnotationValue value = this.typesFactory.createJvmStringAnnotationValue();
-    for (final String annotationString : annotationStringList) {
-      EList<String> _values = value.getValues();
-      this._jvmTypesBuilder.<String>operator_add(_values, annotationString);
-    }
-    EList<JvmAnnotationValue> _explicitValues = annotationRef.getExplicitValues();
-    this._jvmTypesBuilder.<JvmStringAnnotationValue>operator_add(_explicitValues, value);
-  }
-  
-  public void toTopologyStateFields(final JvmDeclaredType type, final Topology topology, final JvmTypeReferenceBuilder typeReferenceBuilder) {
-    EList<JvmMember> _members = type.getMembers();
-    final Procedure1<JvmField> _function = new Procedure1<JvmField>() {
-      @Override
-      public void apply(final JvmField it) {
-        it.setVisibility(JvmVisibility.PUBLIC);
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("\"\"");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setInitializer(it, _function);
-      }
-    };
-    JvmField _field = this._jvmTypesBuilder.toField(topology, "jsonData", typeReferenceBuilder.typeRef(String.class), _function);
-    this._jvmTypesBuilder.<JvmField>operator_add(_members, _field);
-    EList<JvmMember> _members_1 = type.getMembers();
-    final Procedure1<JvmField> _function_1 = new Procedure1<JvmField>() {
-      @Override
-      public void apply(final JvmField it) {
-        it.setVisibility(JvmVisibility.PUBLIC);
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("\"\"");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setInitializer(it, _function);
-      }
-    };
-    JvmField _field_1 = this._jvmTypesBuilder.toField(topology, "htmlTagId", typeReferenceBuilder.typeRef(String.class), _function_1);
-    this._jvmTypesBuilder.<JvmField>operator_add(_members_1, _field_1);
-    EList<JvmMember> _members_2 = type.getMembers();
-    final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() {
-      @Override
-      public void apply(final JvmField it) {
-        it.setVisibility(JvmVisibility.PUBLIC);
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("\"\"");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setInitializer(it, _function);
-      }
-    };
-    JvmField _field_2 = this._jvmTypesBuilder.toField(topology, "panelWidth", typeReferenceBuilder.typeRef(String.class), _function_2);
-    this._jvmTypesBuilder.<JvmField>operator_add(_members_2, _field_2);
-    EList<JvmMember> _members_3 = type.getMembers();
-    final Procedure1<JvmField> _function_3 = new Procedure1<JvmField>() {
-      @Override
-      public void apply(final JvmField it) {
-        it.setVisibility(JvmVisibility.PUBLIC);
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("\"\"");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setInitializer(it, _function);
-      }
-    };
-    JvmField _field_3 = this._jvmTypesBuilder.toField(topology, "panelHeight", typeReferenceBuilder.typeRef(String.class), _function_3);
-    this._jvmTypesBuilder.<JvmField>operator_add(_members_3, _field_3);
-    EList<JvmMember> _members_4 = type.getMembers();
-    final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() {
-      @Override
-      public void apply(final JvmField it) {
-        it.setVisibility(JvmVisibility.PUBLIC);
-        final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() {
-          @Override
-          public void apply(final ITreeAppendable it) {
-            StringConcatenation _builder = new StringConcatenation();
-            _builder.append("\"\"");
-            it.append(_builder);
-          }
-        };
-        TopologyDSLD3JavaComponentsCreator.this._jvmTypesBuilder.setInitializer(it, _function);
-      }
-    };
-    JvmField _field_4 = this._jvmTypesBuilder.toField(topology, "inputValue", typeReferenceBuilder.typeRef(String.class), _function_4);
-    this._jvmTypesBuilder.<JvmField>operator_add(_members_4, _field_4);
-  }
-  
-  public CharSequence createD3Topology(final Topology topology) {
-    StringConcatenation _builder = new StringConcatenation();
-    _builder.append("InputStream json = getClass().getResourceAsStream(\"/topologies/");
-    String _fileName = topology.getFileName();
-    _builder.append(_fileName);
-    _builder.append(".json\");");
-    _builder.newLineIfNotEmpty();
-    _builder.append("try {");
-    _builder.newLine();
-    _builder.append("\t");
-    _builder.append("return new ");
-    String _createfullyQualifiedTopologyFilename = this._d3JsJavaUtil.createfullyQualifiedTopologyFilename(topology);
-    _builder.append(_createfullyQualifiedTopologyFilename, "\t");
-    _builder.append("(\"");
-    String _createTopologyFilename = this._d3JsJavaUtil.createTopologyFilename(topology);
-    _builder.append(_createTopologyFilename, "\t");
-    _builder.append("\", eventDispatcher, perspective, IOUtils.toString(json), panelWidth, panelHeight);");
-    _builder.newLineIfNotEmpty();
-    _builder.append("} catch (IOException e) {");
-    _builder.newLine();
-    _builder.append("\t");
-    _builder.append("log.error(\"found no data for ");
-    String _fileName_1 = topology.getFileName();
-    _builder.append(_fileName_1, "\t");
-    _builder.append(" in folder topologies\");");
-    _builder.newLineIfNotEmpty();
-    _builder.append("}");
-    _builder.newLine();
-    _builder.append("return null;");
-    _builder.newLine();
-    return _builder;
-  }
-}