Преглед изворни кода

#899 merged core and base library, feature library helper and constants

Andreas Muelder пре 9 година
родитељ
комит
02b801cf93
50 измењених фајлова са 195 додато и 368 уклоњено
  1. 5 4
      plugins/org.yakindu.sct.generator.builder/src/org/yakindu/sct/generator/builder/efs/EFSResourceFileSystemAccess.java
  2. 1 1
      plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CCodeGenerator.java
  3. 2 2
      plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CGenerator.xtend
  4. 8 7
      plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/GenmodelEntries.xtend
  5. 1 1
      plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/features/CDefaultFeatureValueProvider.java
  6. 1 2
      plugins/org.yakindu.sct.generator.core/META-INF/MANIFEST.MF
  7. 14 0
      plugins/org.yakindu.sct.generator.core/library/CoreFeatureTypeLibrary.xmi
  8. 0 17
      plugins/org.yakindu.sct.generator.core/library/SCTBaseFeatureLibrary.xmi
  9. 2 7
      plugins/org.yakindu.sct.generator.core/plugin.xml
  10. 4 4
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/AbstractWorkspaceGenerator.java
  11. 1 1
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/extensions/ILibraryDescriptor.java
  12. 1 1
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/extensions/LibraryExtensions.java
  13. 0 32
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/ICoreFeatureConstants.java
  14. 0 39
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/ISCTBaseFeatureConstants.java
  15. 0 52
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/impl/SCTBaseLibaryDefaultFeatureValueProvider.java
  16. 10 10
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/AbstractSExecModelGenerator.java
  17. 17 18
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/AbstractSGraphModelGenerator.java
  18. 1 1
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/GenericJavaBasedGenerator.java
  19. 1 1
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/AbstractDefaultFeatureValueProvider.java
  20. 0 34
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/DebugFeatureHelperImpl.java
  21. 7 3
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/IOutletFeatureHelper.java
  22. 0 28
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/IDebugFeatureHelper.java
  23. 1 1
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/IDefaultFeatureValueProvider.java
  24. 10 9
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/impl/CoreLibraryDefaultFeatureValueProvider.java
  25. 23 9
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/OutletFeatureHelperImpl.java
  26. 2 2
      plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/impl/GenericJavaLibraryDefaultValueProvider.java
  27. 1 1
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/CppCodeGenerator.java
  28. 2 2
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/CppGenerator.xtend
  29. 1 1
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/features/CPPDefaultFeatureValueProvider.java
  30. 1 3
      plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/CSharpCodeGenerator.java
  31. 14 13
      plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/GenmodelEntries.xtend
  32. 16 15
      plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/features/CSharpFeatureConstants.java
  33. 1 1
      plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/features/CSharpFeatureValueProvider.java
  34. 1 1
      plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/quickfix/SGenQuickfixProvider.java
  35. 1 1
      plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/templates/SGenProposalCreator.xtend
  36. 1 1
      plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/wizard/ModelCreator.java
  37. 1 1
      plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/validation/SGenJavaValidator.java
  38. 3 4
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/AbstractJavaCodeGenerator.java
  39. 4 3
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/GenmodelEntries.xtend
  40. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/IStatemachine.xtend
  41. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/ITimer.xtend
  42. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/ITimerCallback.xtend
  43. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/JavaCodeGenerator.java
  44. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/StatemachineInterface.xtend
  45. 16 15
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/features/JavaFeatureConstants.java
  46. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/features/JavaFeatureValueProvider.java
  47. 3 3
      plugins/org.yakindu.sct.generator.xpand/src/org/yakindu/sct/generator/xpand/AbstractXpandBasedCodeGenerator.java
  48. 1 1
      plugins/org.yakindu.sct.generator.xpand/src/org/yakindu/sct/generator/xpand/features/XpandLibraryDefaultFeatureValueProvider.java
  49. 3 3
      test-plugins/org.yakindu.sct.generator.csharp.test/src/org/yakindu/sct/generator/csharp/util/AbstractCSharpGeneratorTest.java
  50. 3 3
      test-plugins/org.yakindu.sct.generator.java.test/src/org/yakindu/sct/generator/java/util/AbstractJavaGeneratorTest.java

+ 5 - 4
plugins/org.yakindu.sct.generator.builder/src/org/yakindu/sct/generator/builder/efs/EFSResourceFileSystemAccess.java

@@ -10,6 +10,8 @@
 */
 package org.yakindu.sct.generator.builder.efs;
 
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE_TARGET_PROJECT;
+
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.IOException;
@@ -33,9 +35,8 @@ import org.eclipse.xtext.generator.IFileSystemAccess;
 import org.eclipse.xtext.generator.OutputConfiguration;
 import org.eclipse.xtext.util.RuntimeIOException;
 import org.eclipse.xtext.util.StringInputStream;
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants;
 import org.yakindu.sct.generator.core.filesystem.ISCTFileSystemAccess;
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper;
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
 
 import com.google.inject.Inject;
@@ -49,7 +50,7 @@ public class EFSResourceFileSystemAccess extends AbstractFileSystemAccess2 imple
 
 	private IProject project;
 	@Inject
-	IOutletFeatureHelper outletFeatureHelper;
+	ICoreLibraryHelper outletFeatureHelper;
 
 	public void refreshTargetProject(GeneratorEntry entry) {
 		if (Platform.isRunning()) {
@@ -207,7 +208,7 @@ public class EFSResourceFileSystemAccess extends AbstractFileSystemAccess2 imple
 	}
 
 	protected boolean trySetTargetProject(String outputName, String path) {
-		if (outputName.equals(ICoreFeatureConstants.OUTLET_FEATURE_TARGET_PROJECT)) {
+		if (outputName.equals(OUTLET_FEATURE_TARGET_PROJECT)) {
 			IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path);
 			if (!project.exists()) {
 				createProject(project);

+ 1 - 1
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CCodeGenerator.java

@@ -60,7 +60,7 @@ public class CCodeGenerator extends GenericJavaBasedGenerator {
 	@Override
 	public void runGenerator(Statechart statechart, GeneratorEntry entry) {
 		ExecutionFlow flow = createExecutionFlow(statechart, entry);
-		if (debugFeatureHelper.isDumpSexec(entry)) {
+		if (coreFeatureHelper.isDumpSexec(entry)) {
 			dumpSexec(entry, flow);
 		}
 		delegate.generate(flow, entry, sctFsa.getIFileSystemAccess(), artifactConfigs);

+ 2 - 2
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CGenerator.xtend

@@ -16,8 +16,8 @@ import org.eclipse.xtext.generator.IFileSystemAccess
 import org.yakindu.sct.generator.core.impl.IExecutionFlowGenerator
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sgen.GeneratorEntry
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper
 import org.yakindu.sct.generator.c.GenArtifactConfigurations.GenArtifactConfiguration
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper
 
 /**
  * This is the C code generators main class. 
@@ -33,7 +33,7 @@ class CGenerator implements IExecutionFlowGenerator {
 	@Inject extension Navigation
 	@Inject extension GenmodelEntries
 	@Inject extension Naming
-	@Inject extension IOutletFeatureHelper
+	@Inject extension ICoreLibraryHelper
 
 	@Inject @Named(IGenArtifactConfigurations.DEFAULT)
 	IGenArtifactConfigurations defaultConfigs

+ 8 - 7
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/GenmodelEntries.xtend

@@ -7,21 +7,22 @@
   Contributors:
   	Markus Muehlbrandt - Initial contribution and API
  */
-package org.yakindu.sct.generator.c
-
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants
-import org.yakindu.sct.model.sgen.FeatureParameterValue
-import org.yakindu.sct.model.sgen.GeneratorEntry
+package org.yakindu.sct.generator.c
+
 import org.yakindu.sct.generator.c.features.ICFeatureConstants
+import org.yakindu.sct.model.sgen.FeatureParameterValue
+import org.yakindu.sct.model.sgen.GeneratorEntry
+
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.*
 
 class GenmodelEntries {
 	
 	def private getLicenseFeature(GeneratorEntry it) {
-		getFeatureConfiguration(ICoreFeatureConstants::LICENSE_HEADER)
+		getFeatureConfiguration(LICENSE_HEADER)
 	}
 	
 	def private FeatureParameterValue getLicenseTextParameter(GeneratorEntry it) {
-		licenseFeature?.getParameterValue(ICoreFeatureConstants::LICENSE_TEXT)
+		licenseFeature?.getParameterValue(LICENSE_TEXT)
 	}
 	
 	def getLicenseText(GeneratorEntry it) {

+ 1 - 1
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/features/CDefaultFeatureValueProvider.java

@@ -16,7 +16,7 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.xbase.lib.StringExtensions;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;

+ 1 - 2
plugins/org.yakindu.sct.generator.core/META-INF/MANIFEST.MF

@@ -24,8 +24,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.generator.core,
  org.yakindu.sct.generator.core.extensions,
- org.yakindu.sct.generator.core.features,
- org.yakindu.sct.generator.core.features.impl,
+ org.yakindu.sct.generator.core.library.impl,
  org.yakindu.sct.generator.core.filesystem,
  org.yakindu.sct.generator.core.impl,
  org.yakindu.sct.generator.core.library,

+ 14 - 0
plugins/org.yakindu.sct.generator.core/library/CoreFeatureTypeLibrary.xmi

@@ -23,4 +23,18 @@
     <parameters
         name="licenseText"/>
   </types>
+   <types name="Debug" optional="true">
+    <parameters name="dumpSexec" parameterType="BOOLEAN"/>
+  </types>
+  <types name="FunctionInlining" optional="true">
+    <parameters name="inlineReactions" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineEntryActions" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineExitActions" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineEnterSequences" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineExitSequences" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineChoices" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineEnterRegion" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineExitRegion" optional="true" parameterType="BOOLEAN"/>
+    <parameters name="inlineEntries" optional="true" parameterType="BOOLEAN"/>
+  </types>
 </sgen:FeatureTypeLibrary>

+ 0 - 17
plugins/org.yakindu.sct.generator.core/library/SCTBaseFeatureLibrary.xmi

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<sgen:FeatureTypeLibrary xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:sgen="http://www.yakindu.org/sct/statechart/SGen" name="SCT Base">
-  <types name="Debug" optional="true">
-    <parameters name="dumpSexec" parameterType="BOOLEAN"/>
-  </types>
-  <types name="FunctionInlining" optional="true">
-    <parameters name="inlineReactions" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineEntryActions" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineExitActions" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineEnterSequences" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineExitSequences" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineChoices" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineEnterRegion" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineExitRegion" optional="true" parameterType="BOOLEAN"/>
-    <parameters name="inlineEntries" optional="true" parameterType="BOOLEAN"/>
-  </types>
-</sgen:FeatureTypeLibrary>

+ 2 - 7
plugins/org.yakindu.sct.generator.core/plugin.xml

@@ -8,19 +8,14 @@
          point="org.yakindu.sct.generator.core.featuretypes">
       <FeatureLibrary
             library_id="org.yakindu.generator.core.features"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.CoreLibraryDefaultFeatureValueProvider"
+            defaultProvider="org.yakindu.sct.generator.core.library.impl.CoreLibraryDefaultFeatureValueProvider"
             uri="platform:/plugin/org.yakindu.sct.generator.core/library/CoreFeatureTypeLibrary.xmi">
       </FeatureLibrary>
       <FeatureLibrary
             library_id="org.yakindu.generator.core.features.generic"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.GenericJavaLibraryDefaultValueProvider"
+            defaultProvider="org.yakindu.sct.generator.core.library.impl.GenericJavaLibraryDefaultValueProvider"
             uri="platform:/plugin/org.yakindu.sct.generator.core/library/GenericJavaFeatureTypeLibrary.xmi">
    	  </FeatureLibrary>   	  
-   	  <FeatureLibrary
-            library_id="org.yakindu.generator.core.features.sctbase"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.SCTBaseLibaryDefaultFeatureValueProvider"
-            uri="platform:/plugin/org.yakindu.sct.generator.core/library/SCTBaseFeatureLibrary.xmi">
-   	  </FeatureLibrary>
  </extension>
  <extension
        point="org.yakindu.sct.generator.core.generator">

+ 4 - 4
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/AbstractWorkspaceGenerator.java

@@ -38,22 +38,22 @@ public abstract class AbstractWorkspaceGenerator extends AbstractSExecModelGener
 	}
 
 	public final File getTargetProject(GeneratorEntry entry) {
-		URI uri = sctFsa.getURI(outletFeatureHelper.getTargetProjectValue(entry).getStringValue());
+		URI uri = sctFsa.getURI(coreFeatureHelper.getTargetProjectValue(entry).getStringValue());
 		return new File(uri.toFileString());
 	}
 
 	public final File getTargetFolder(GeneratorEntry entry) {
-		URI uri = sctFsa.getURI(outletFeatureHelper.getRelativeTargetFolder(entry));
+		URI uri = sctFsa.getURI(coreFeatureHelper.getRelativeTargetFolder(entry));
 		return new File(uri.toFileString());
 	}
 	
 	public final File getLibraryTargetFolder(GeneratorEntry entry) {
-		URI uri = sctFsa.getURI(outletFeatureHelper.getRelativeLibraryFolder(entry));
+		URI uri = sctFsa.getURI(coreFeatureHelper.getRelativeLibraryFolder(entry));
 		return new File(uri.toFileString());
 	}
 	
 	public final File getApiTargetFolder(GeneratorEntry entry) {
-		URI uri = sctFsa.getURI(outletFeatureHelper.getRelativeApiFolder(entry));
+		URI uri = sctFsa.getURI(coreFeatureHelper.getRelativeApiFolder(entry));
 		return new File(uri.toFileString());
 	}
 	

+ 1 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/extensions/ILibraryDescriptor.java

@@ -1,7 +1,7 @@
 package org.yakindu.sct.generator.core.extensions;
 
 import org.eclipse.emf.common.util.URI;
-import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider;
 
 public interface ILibraryDescriptor {
 

+ 1 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/extensions/LibraryExtensions.java

@@ -16,7 +16,7 @@ import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.emf.common.util.URI;
-import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
 
 import com.google.common.base.Predicate;

+ 0 - 32
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/ICoreFeatureConstants.java

@@ -1,32 +0,0 @@
-/**
- * Copyright (c) 2013 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.generator.core.features;
-
-/**
- * Core Feature Constants defined by this plugin
- * 
- * @author andreas muelder - Initial contribution and API
- * @author oliver bohl
- * 
- */
-public interface ICoreFeatureConstants {
-
-	public static final String LIBRARY_NAME = "Core";
-
-	public static final String OUTLET_FEATURE = "Outlet";
-	public static final String OUTLET_FEATURE_TARGET_PROJECT = "targetProject";
-	public static final String OUTLET_FEATURE_TARGET_FOLDER = "targetFolder";
-	public static final String OUTLET_FEATURE_LIBRARY_TARGET_FOLDER = "libraryTargetFolder";
-	public static final String OUTLET_FEATURE_API_TARGET_FOLDER = "apiTargetFolder";
-	
-	public static final String LICENSE_HEADER = "LicenseHeader";
-	public static final String LICENSE_TEXT = "licenseText";
-}

+ 0 - 39
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/ISCTBaseFeatureConstants.java

@@ -1,39 +0,0 @@
-/**
- * Copyright (c) 2013 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.generator.core.features;
-
-/**
- * SCT Base Feature Constants defined by this plugin
- * 
- * @author andreas muelder - Initial contribution and API
- * @author oliver bohl
- *  
- */
-public interface ISCTBaseFeatureConstants {
-	
-	public static final String LIBRARY_NAME = "SCT Base";
-	
-	public static final String DEBUG_FEATURE = "Debug";
-	public static final String DEBUG_FEATURE_DUMP_SEXEC = "dumpSexec";
-	
-	public static final String FUNCTION_INLINING_FEATURE = "FunctionInlining";
-
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_REACTIONS = "inlineReactions";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_ENTRY_ACTIONS = "inlineEntryActions";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_ENTER_SEQUENCES = "inlineEnterSequences";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_EXIT_ACTIONS = "inlineExitActions";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_EXIT_SEQUENCES = "inlineExitSequences";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_CHOICES = "inlineChoices";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_ENTRIES = "inlineEntries";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_ENTER_REGION = "inlineEnterRegion";
-	public static final String FUNCTION_INLINING_FEATURE_INLINE_EXIT_REGION = "inlineExitRegion";
-
-}

+ 0 - 52
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/impl/SCTBaseLibaryDefaultFeatureValueProvider.java

@@ -1,52 +0,0 @@
-/**
- * Copyright (c) 2013 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.generator.core.features.impl;
-
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.LIBRARY_NAME;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.DEBUG_FEATURE_DUMP_SEXEC;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecore.EObject;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
-import org.yakindu.sct.model.sgen.BoolLiteral;
-import org.yakindu.sct.model.sgen.FeatureParameterValue;
-import org.yakindu.sct.model.sgen.FeatureType;
-import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
-
-/**
- * 
- * @author oliver bohl - Initial contribution
- */
-public class SCTBaseLibaryDefaultFeatureValueProvider extends AbstractDefaultFeatureValueProvider {
-
-	public boolean isProviderFor(FeatureTypeLibrary library) {
-		return LIBRARY_NAME.equals(library.getName());
-	}
-
-	@Override
-	protected void setDefaultValue(FeatureType featureType, FeatureParameterValue parameterValue,
-			EObject contextElement) {
-		String parameterName = parameterValue.getParameter().getName();
-		if (DEBUG_FEATURE_DUMP_SEXEC.equals(parameterName)) {
-			parameterValue.setValue(false);
-		}
-	}
-
-	public IStatus validateParameterValue(FeatureParameterValue parameterValue) {
-		String parameterName = parameterValue.getParameter().getName();
-		if (DEBUG_FEATURE_DUMP_SEXEC.equals(parameterName)
-				&& !(parameterValue.getExpression() instanceof BoolLiteral)) {
-			return error("Illegal Value. Must be 'true' or 'false'");
-		}
-		return Status.OK_STATUS;
-	}
-}

+ 10 - 10
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/AbstractSExecModelGenerator.java

@@ -10,16 +10,16 @@
  */
 package org.yakindu.sct.generator.core.impl;
 
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_CHOICES;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTER_REGION;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTER_SEQUENCES;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTRIES;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTRY_ACTIONS;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_EXIT_ACTIONS;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_EXIT_REGION;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_EXIT_SEQUENCES;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.FUNCTION_INLINING_FEATURE_INLINE_REACTIONS;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_CHOICES;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTER_REGION;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTER_SEQUENCES;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTRIES;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_ENTRY_ACTIONS;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_EXIT_ACTIONS;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_EXIT_REGION;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_EXIT_SEQUENCES;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.FUNCTION_INLINING_FEATURE_INLINE_REACTIONS;
 
 import java.io.IOException;
 import java.util.Collections;

+ 17 - 18
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/AbstractSGraphModelGenerator.java

@@ -11,14 +11,14 @@
  */
 package org.yakindu.sct.generator.core.impl;
 
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE_TARGET_PROJECT;
+
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.generator.IFileSystemAccess;
 import org.eclipse.xtext.generator.OutputConfiguration;
 import org.yakindu.sct.generator.core.ISCTGenerator;
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants;
 import org.yakindu.sct.generator.core.filesystem.ISCTFileSystemAccess;
-import org.yakindu.sct.generator.core.library.IDebugFeatureHelper;
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper;
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper;
 import org.yakindu.sct.model.sexec.ExecutionFlow;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
@@ -33,7 +33,7 @@ import com.google.inject.util.Modules;
  * abstract base class for all code generators that want to generate code based
  * on the {@link ExecutionFlow}
  * 
- * @author Andreas Mülder - Initial contribution and API
+ * @author Andreas Mülder - Initial contribution and API
  * @author Johannes Dicks - decouple EFS
  * 
  */
@@ -42,9 +42,7 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 	@Inject
 	protected IGeneratorLog log;
 	@Inject
-	protected IOutletFeatureHelper outletFeatureHelper;
-	@Inject
-	protected IDebugFeatureHelper debugFeatureHelper;
+	protected ICoreLibraryHelper coreFeatureHelper;
 	@Inject
 	protected ISCTFileSystemAccess sctFsa;
 
@@ -116,7 +114,8 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 	 * includes a {@link Statechart}. Sub-classes may override this method if
 	 * they handle elements with type other than @link {@link Statechart}.
 	 * 
-	 * @param entry the upcomming GeneratorEntry
+	 * @param entry
+	 *            the upcomming GeneratorEntry
 	 * @return true if this instance can handle the given {@link GeneratorEntry}
 	 */
 	protected boolean canHandle(GeneratorEntry entry) {
@@ -146,11 +145,11 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 
 	/**
 	 * Sub-classes might override this method to add custom bindings for a
-	 * specific {@link GeneratorEntry}. 
+	 * specific {@link GeneratorEntry}.
 	 * 
-	 * In normal case sub-classes will just
-	 * override or add custom bindings and ensure all other bindings of
-	 * super-class implementations are still available.
+	 * In normal case sub-classes will just override or add custom bindings and
+	 * ensure all other bindings of super-class implementations are still
+	 * available.
 	 * 
 	 * @param entry
 	 *            the next generator entry
@@ -192,7 +191,7 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 	}
 
 	protected void initLibraryTargetFolder(GeneratorEntry entry) {
-		FeatureParameterValue libraryTargetFolderValue = outletFeatureHelper.getLibraryTargetFolderValue(entry);
+		FeatureParameterValue libraryTargetFolderValue = coreFeatureHelper.getLibraryTargetFolderValue(entry);
 		if (libraryTargetFolderValue != null) {
 			sctFsa.setOutputPath(IExecutionFlowGenerator.LIBRARY_TARGET_FOLDER_OUTPUT,
 					libraryTargetFolderValue.getStringValue());
@@ -208,9 +207,9 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 			librarytargetFolderOutputConfiguration.setOverrideExistingResources(false);
 		}
 	}
-	
+
 	protected void initApiTargetFolder(GeneratorEntry entry) {
-		FeatureParameterValue apiTargetFolderValue = outletFeatureHelper.getApiTargetFolderValue(entry);
+		FeatureParameterValue apiTargetFolderValue = coreFeatureHelper.getApiTargetFolderValue(entry);
 		if (apiTargetFolderValue != null) {
 			sctFsa.setOutputPath(IExecutionFlowGenerator.API_TARGET_FOLDER_OUTPUT,
 					apiTargetFolderValue.getStringValue());
@@ -224,12 +223,12 @@ public abstract class AbstractSGraphModelGenerator implements ISCTGenerator {
 
 	protected void initDefaultOutput(GeneratorEntry entry) {
 		sctFsa.setOutputPath(IFileSystemAccess.DEFAULT_OUTPUT,
-				outletFeatureHelper.getTargetFolderValue(entry).getExpression().toString());
+				coreFeatureHelper.getTargetFolderValue(entry).getExpression().toString());
 		sctFsa.getOutputConfigurations().get(IFileSystemAccess.DEFAULT_OUTPUT).setCreateOutputDirectory(true);
 	}
 
 	protected void initFsaTargetProject(GeneratorEntry entry) {
-		sctFsa.setOutputPath(ICoreFeatureConstants.OUTLET_FEATURE_TARGET_PROJECT,
-				outletFeatureHelper.getTargetProjectValue(entry).getStringValue());
+		sctFsa.setOutputPath(OUTLET_FEATURE_TARGET_PROJECT,
+				coreFeatureHelper.getTargetProjectValue(entry).getStringValue());
 	}
 }

+ 1 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/GenericJavaBasedGenerator.java

@@ -94,7 +94,7 @@ public class GenericJavaBasedGenerator extends AbstractSExecModelGenerator {
 
 			ExecutionFlow flow = createExecutionFlow(statechart, entry);
 
-			if (debugFeatureHelper.isDumpSexec(entry)) {
+			if (coreFeatureHelper.isDumpSexec(entry)) {
 				dumpSexec(entry, flow);
 			}
 

+ 1 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/AbstractDefaultFeatureValueProvider.java

@@ -8,7 +8,7 @@
  * Contributors:
  *     committers of YAKINDU - initial API and implementation
  */
-package org.yakindu.sct.generator.core.features;
+package org.yakindu.sct.generator.core.library;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;

+ 0 - 34
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/DebugFeatureHelperImpl.java

@@ -1,34 +0,0 @@
-/**
- * Copyright (c) 2016 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * 		committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.generator.core.library;
-
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.DEBUG_FEATURE;
-import static org.yakindu.sct.generator.core.features.ISCTBaseFeatureConstants.DEBUG_FEATURE_DUMP_SEXEC;
-
-import org.yakindu.sct.model.sgen.FeatureParameterValue;
-import org.yakindu.sct.model.sgen.GeneratorEntry;
-
-/**
- * @author Johannes Dicks - Initial contribution and API
- *
- */
-public class DebugFeatureHelperImpl implements IDebugFeatureHelper {
-	
-	@Override
-	public boolean isDumpSexec(GeneratorEntry entry) {
-		FeatureParameterValue dumpSexec = entry.getFeatureParameterValue(DEBUG_FEATURE, DEBUG_FEATURE_DUMP_SEXEC);
-		if (dumpSexec == null) {
-			return false;
-		}
-		return dumpSexec.getBooleanValue();
-	}
-}

+ 7 - 3
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/IOutletFeatureHelper.java

@@ -11,19 +11,21 @@
  */
 package org.yakindu.sct.generator.core.library;
 
+import org.yakindu.sct.generator.core.library.impl.DefaultCoreLibraryHelper;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
 
 import com.google.inject.ImplementedBy;
 
 /**
- * Provides convenience access to SGen outlet features.
+ * Provides convenience access to SGen core library features.
  * 
  * @author Johannes Dicks - Initial contribution and API
  *
  */
-@ImplementedBy(OutletFeatureHelperImpl.class)
-public interface IOutletFeatureHelper {
+@ImplementedBy(DefaultCoreLibraryHelper.class)
+public interface ICoreLibraryHelper {
+	
 	/**
 	 * The targetFolder value defined in SGen.
 	 * @param entry
@@ -66,4 +68,6 @@ public interface IOutletFeatureHelper {
 	 * @return a string representing the relative output path 'targetProject/apiTargetFolder'
 	 */
 	String getRelativeApiFolder(GeneratorEntry entry);
+
+	boolean isDumpSexec(GeneratorEntry entry);
 }

+ 0 - 28
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/IDebugFeatureHelper.java

@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2016 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * 		committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.generator.core.library;
-
-import org.yakindu.sct.model.sgen.GeneratorEntry;
-
-import com.google.inject.ImplementedBy;
-
-/**
- *Provides convenience access to SGen debug features.
- * @author Johannes Dicks - Initial contribution and API
- *
- */
-@ImplementedBy(DebugFeatureHelperImpl.class)
-public interface IDebugFeatureHelper {
-
-	boolean isDumpSexec(GeneratorEntry entry);
-
-}

+ 1 - 1
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/IDefaultFeatureValueProvider.java

@@ -8,7 +8,7 @@
  * Contributors:
  *     committers of YAKINDU - initial API and implementation
  */
-package org.yakindu.sct.generator.core.features;
+package org.yakindu.sct.generator.core.library;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.ecore.EObject;

+ 10 - 9
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/impl/CoreLibraryDefaultFeatureValueProvider.java

@@ -8,22 +8,17 @@
  * 	committers of YAKINDU - initial API and implementation
  * 
  */
-package org.yakindu.sct.generator.core.features.impl;
-
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.LIBRARY_NAME;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.LICENSE_TEXT;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.OUTLET_FEATURE_TARGET_FOLDER;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.OUTLET_FEATURE_TARGET_PROJECT;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.OUTLET_FEATURE_LIBRARY_TARGET_FOLDER;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.OUTLET_FEATURE_API_TARGET_FOLDER;
+package org.yakindu.sct.generator.core.library.impl;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.model.sgen.BoolLiteral;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.*;
 
 /**
  * 
@@ -48,6 +43,8 @@ public class CoreLibraryDefaultFeatureValueProvider extends AbstractDefaultFeatu
 			parameterValue.setValue(getProject(contextElement).getName());
 		} else if (LICENSE_TEXT.equals(parameterName)) {
 			parameterValue.setValue("Enter license text here");
+		} else if (DEBUG_FEATURE_DUMP_SEXEC.equals(parameterName)) {
+			parameterValue.setValue(false);
 		}
 	}
 
@@ -69,6 +66,10 @@ public class CoreLibraryDefaultFeatureValueProvider extends AbstractDefaultFeatu
 						parameterValue.getExpression(), targetProjectName));
 			}
 		}
+		if (DEBUG_FEATURE_DUMP_SEXEC.equals(parameterName)
+				&& !(parameterValue.getExpression() instanceof BoolLiteral)) {
+			return error("Illegal Value. Must be 'true' or 'false'");
+		}
 		return Status.OK_STATUS;
 	}
 }

+ 23 - 9
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/library/OutletFeatureHelperImpl.java

@@ -8,39 +8,44 @@
  * 	committers of YAKINDU - initial API and implementation
  * 
  */
-package org.yakindu.sct.generator.core.library;
+package org.yakindu.sct.generator.core.library.impl;
 
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.OUTLET_FEATURE;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.DEBUG_FEATURE;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.DEBUG_FEATURE_DUMP_SEXEC;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE_API_TARGET_FOLDER;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE_LIBRARY_TARGET_FOLDER;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE_TARGET_FOLDER;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.OUTLET_FEATURE_TARGET_PROJECT;
 
 import org.eclipse.core.runtime.Path;
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants;
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
 
 /**
  * @author Johannes Dicks - Initial contribution and API
  */
-public class OutletFeatureHelperImpl implements IOutletFeatureHelper {
+public class DefaultCoreLibraryHelper implements ICoreLibraryHelper {
 
 	@Override
 	public FeatureParameterValue getTargetFolderValue(GeneratorEntry entry) {
-		return entry.getFeatureParameterValue(OUTLET_FEATURE, ICoreFeatureConstants.OUTLET_FEATURE_TARGET_FOLDER);
+		return entry.getFeatureParameterValue(OUTLET_FEATURE, OUTLET_FEATURE_TARGET_FOLDER);
 	}
 
 	@Override
 	public FeatureParameterValue getLibraryTargetFolderValue(GeneratorEntry entry) {
-		return entry.getFeatureParameterValue(OUTLET_FEATURE,
-				ICoreFeatureConstants.OUTLET_FEATURE_LIBRARY_TARGET_FOLDER);
+		return entry.getFeatureParameterValue(OUTLET_FEATURE, OUTLET_FEATURE_LIBRARY_TARGET_FOLDER);
 	}
 
 	@Override
 	public FeatureParameterValue getApiTargetFolderValue(GeneratorEntry entry) {
-		return entry.getFeatureParameterValue(OUTLET_FEATURE, ICoreFeatureConstants.OUTLET_FEATURE_API_TARGET_FOLDER);
+		return entry.getFeatureParameterValue(OUTLET_FEATURE, OUTLET_FEATURE_API_TARGET_FOLDER);
 	}
 
 	@Override
 	public FeatureParameterValue getTargetProjectValue(GeneratorEntry entry) {
-		return entry.getFeatureParameterValue(OUTLET_FEATURE, ICoreFeatureConstants.OUTLET_FEATURE_TARGET_PROJECT);
+		return entry.getFeatureParameterValue(OUTLET_FEATURE, OUTLET_FEATURE_TARGET_PROJECT);
 	}
 
 	@Override
@@ -63,4 +68,13 @@ public class OutletFeatureHelperImpl implements IOutletFeatureHelper {
 		String apiFolderName = getApiTargetFolderValue(entry).getStringValue();
 		return projectFolderName + Path.SEPARATOR + apiFolderName;
 	}
+
+	@Override
+	public boolean isDumpSexec(GeneratorEntry entry) {
+		FeatureParameterValue dumpSexec = entry.getFeatureParameterValue(DEBUG_FEATURE, DEBUG_FEATURE_DUMP_SEXEC);
+		if (dumpSexec == null) {
+			return false;
+		}
+		return dumpSexec.getBooleanValue();
+	}
 }

+ 2 - 2
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/impl/GenericJavaLibraryDefaultValueProvider.java

@@ -8,7 +8,7 @@
  * 	committers of YAKINDU - initial API and implementation
  * 
  */
-package org.yakindu.sct.generator.core.features.impl;
+package org.yakindu.sct.generator.core.library.impl;
 
 import static org.yakindu.sct.generator.core.features.impl.IGenericJavaFeatureConstants.GENERATOR_CLASS;
 import static org.yakindu.sct.generator.core.features.impl.IGenericJavaFeatureConstants.GENERATOR_PROJECT;
@@ -20,7 +20,7 @@ import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;

+ 1 - 1
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/CppCodeGenerator.java

@@ -52,7 +52,7 @@ public class CppCodeGenerator extends GenericJavaBasedGenerator {
 	@Override
 	public void runGenerator(Statechart statechart, GeneratorEntry entry) {
 		ExecutionFlow flow = createExecutionFlow(statechart, entry);
-		if (debugFeatureHelper.isDumpSexec(entry)) {
+		if (coreFeatureHelper.isDumpSexec(entry)) {
 			dumpSexec(entry, flow);
 		}
 		delegate.generate(flow, entry, sctFsa.getIFileSystemAccess(), artifactConfigs);

+ 2 - 2
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/CppGenerator.xtend

@@ -16,9 +16,9 @@ import org.eclipse.xtext.generator.IFileSystemAccess
 import org.yakindu.sct.generator.c.GenArtifactConfigurations.GenArtifactConfiguration
 import org.yakindu.sct.generator.c.IGenArtifactConfigurations
 import org.yakindu.sct.generator.core.impl.IExecutionFlowGenerator
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sgen.GeneratorEntry
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper
 
 /**
  * This is the CPP code generators main class. 
@@ -35,7 +35,7 @@ class CppGenerator implements IExecutionFlowGenerator {
 	@Inject extension StatemachineImplementation statemachineSourceContent
 	@Inject extension Navigation
 	@Inject extension Naming
-	@Inject extension IOutletFeatureHelper
+	@Inject extension ICoreLibraryHelper
 	
 	@Inject @Named(IGenArtifactConfigurations.DEFAULT)
 	IGenArtifactConfigurations defaultConfigs

+ 1 - 1
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/features/CPPDefaultFeatureValueProvider.java

@@ -17,7 +17,7 @@ import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.xbase.lib.StringExtensions;
 import org.yakindu.sct.generator.c.features.ICFeatureConstants;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
 import org.yakindu.sct.generator.cpp.features.CPPFeatureConstants.Visibility;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;

+ 1 - 3
plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/CSharpCodeGenerator.java

@@ -9,8 +9,6 @@
  */
 package org.yakindu.sct.generator.csharp;
 
-import org.yakindu.sct.generator.csharp.CSharpNamingService;
-import org.yakindu.sct.generator.csharp.CSharpGenerator;
 import org.yakindu.sct.generator.core.impl.GenericJavaBasedGenerator;
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess;
 import org.yakindu.sct.generator.csharp.types.CSharpTypeSystemAccess;
@@ -33,7 +31,7 @@ public class CSharpCodeGenerator extends GenericJavaBasedGenerator {
 	@Override
 	public void runGenerator(Statechart statechart, GeneratorEntry entry) {
 		ExecutionFlow flow = createExecutionFlow(statechart, entry);
-		if (debugFeatureHelper.isDumpSexec(entry)) {
+		if (coreFeatureHelper.isDumpSexec(entry)) {
 			dumpSexec(entry, flow);
 		}
 		delegate.generate(flow, entry, sctFsa.getIFileSystemAccess());

+ 14 - 13
plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/GenmodelEntries.xtend

@@ -1,27 +1,28 @@
 /**
-  Copyright (c) 2012 committers of YAKINDU and others.
-  All rights reserved. This program and the accompanying materials
-  are made available under the terms of the Eclipse Public License v1.0
-  which accompanies this distribution, and is available at
-  http://www.eclipse.org/legal/epl-v10.html
-  Contributors:
-  	Markus Muehlbrandt - Initial contribution and API
+ *   Copyright (c) 2012 committers of YAKINDU and others.
+ *   All rights reserved. This program and the accompanying materials
+ *   are made available under the terms of the Eclipse Public License v1.0
+ *   which accompanies this distribution, and is available at
+ *   http://www.eclipse.org/legal/epl-v10.html
+ *   Contributors:
+ *   	Markus Muehlbrandt - Initial contribution and API
  */
 package org.yakindu.sct.generator.csharp
 
 import com.google.inject.Inject
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants
 import org.yakindu.sct.generator.csharp.features.ICSharpFeatureConstants
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sgen.FeatureParameterValue
 import org.yakindu.sct.model.sgen.GeneratorEntry
 
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.*
+
 class GenmodelEntries {
 
 	@Inject extension Naming
 
 	def private getLicenseFeature(GeneratorEntry it) {
-		getFeatureConfiguration(ICoreFeatureConstants::LICENSE_HEADER)
+		getFeatureConfiguration(LICENSE_HEADER)
 	}
 
 	def private getNamingFeature(GeneratorEntry it) {
@@ -31,17 +32,17 @@ class GenmodelEntries {
 	def private getGeneralFeatures(GeneratorEntry it) {
 		getFeatureConfiguration(ICSharpFeatureConstants::GENERAL_FEATURES)
 	}
-	
+
 	def private FeatureParameterValue getNamespaceNameParameter(GeneratorEntry it) {
 		namingFeature?.getParameterValue(ICSharpFeatureConstants::NAMESPACE_NAME)
 	}
-	
+
 	def private FeatureParameterValue getImplementationSuffixParameter(GeneratorEntry it) {
 		namingFeature?.getParameterValue(ICSharpFeatureConstants::IMPLEMENTATION_SUFFIX)
 	}
 
 	def private FeatureParameterValue getLicenseTextParameter(GeneratorEntry it) {
-		licenseFeature?.getParameterValue(ICoreFeatureConstants::LICENSE_TEXT)
+		licenseFeature?.getParameterValue(LICENSE_TEXT)
 	}
 
 	def private FeatureParameterValue getTimerServiceParameter(GeneratorEntry it) {
@@ -92,7 +93,7 @@ class GenmodelEntries {
 	def getImplementationPackagePath(ExecutionFlow it, GeneratorEntry entry) {
 		getImplementationPackageName(entry).replace('.', '/')
 
-	//entry.basePackagePath+"/"+entry.getImplementationSuffix(it).toLowerCase
+	// entry.basePackagePath+"/"+entry.getImplementationSuffix(it).toLowerCase
 	}
 
 	def createTimerService(GeneratorEntry it) {

+ 16 - 15
plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/features/CSharpFeatureConstants.java

@@ -10,62 +10,63 @@
  */
 package org.yakindu.sct.generator.csharp.features;
 
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.LICENSE_HEADER;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.LICENSE_TEXT;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.LICENSE_HEADER;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.LICENSE_TEXT;
+
 /**
  * 
  * @author muehlbrandt
  */
 public final class CSharpFeatureConstants implements ICSharpFeatureConstants {
-	
+
 	public static final String getNamingFeature() {
 		return NAMING_FEATURE;
 	}
-	
+
 	public static final String getNamespaceName() {
 		return NAMESPACE_NAME;
 	}
-	
+
 	public static final String getImplementationSuffix() {
 		return IMPLEMENTATION_SUFFIX;
 	}
-		
+
 	public static final String getLicenseHeader() {
 		return LICENSE_HEADER;
 	}
-	
+
 	public static final String getLicenseText() {
 		return LICENSE_TEXT;
 	}
-	
+
 	public static final String getGeneralFeature() {
 		return GENERAL_FEATURES;
 	}
-	
+
 	public static final String getEventBasedStatemachine() {
 		return CREATE_EVENTBASEDSTATEMACHINE;
 	}
-	
+
 	public static final String getRuntimeService() {
 		return RUNTIME_SERVICE;
 	}
-	
+
 	public static final String getTimerService() {
 		return TIMER_SERVICE;
 	}
-	
+
 	public static final String getInterfaceObserverSupport() {
 		return INTERFACE_OBSERVER_SUPPORT;
 	}
-	
+
 	public static final String getGenericInterfaceSupport() {
 		return GENERIC_INTERFACE_SUPPORT;
 	}
-	
+
 	public static final String getStatemachineFactorySupport() {
 		return STATEMACHINE_FACTORY_SUPPORT;
 	}
-	
+
 	public static final String getUseCSharpIntForInteger() {
 		return USE_CSHARP_INT_FOR_INTEGER;
 	}

+ 1 - 1
plugins/org.yakindu.sct.generator.csharp/src/org/yakindu/sct/generator/csharp/features/CSharpFeatureValueProvider.java

@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;

+ 1 - 1
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/quickfix/SGenQuickfixProvider.java

@@ -26,7 +26,7 @@ import org.yakindu.sct.generator.core.extensions.GeneratorExtensions;
 import org.yakindu.sct.generator.core.extensions.IGeneratorDescriptor;
 import org.yakindu.sct.generator.core.extensions.ILibraryDescriptor;
 import org.yakindu.sct.generator.core.extensions.LibraryExtensions;
-import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider;
 import org.yakindu.sct.generator.genmodel.validation.SGenJavaValidator;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureType;

+ 1 - 1
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/templates/SGenProposalCreator.xtend

@@ -11,7 +11,7 @@
 package org.yakindu.sct.generator.genmodel.ui.templates
 
 import org.eclipse.emf.ecore.EObject
-import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider
+import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider
 import org.yakindu.sct.model.sgen.FeatureConfiguration
 import org.yakindu.sct.model.sgen.FeatureParameter
 import org.yakindu.sct.model.sgen.FeatureType

+ 1 - 1
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/wizard/ModelCreator.java

@@ -21,7 +21,7 @@ import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
 import org.yakindu.sct.generator.core.extensions.IGeneratorDescriptor;
 import org.yakindu.sct.generator.core.extensions.ILibraryDescriptor;
 import org.yakindu.sct.generator.core.extensions.LibraryExtensions;
-import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;

+ 1 - 1
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/validation/SGenJavaValidator.java

@@ -25,7 +25,7 @@ import org.yakindu.sct.generator.core.extensions.GeneratorExtensions;
 import org.yakindu.sct.generator.core.extensions.IGeneratorDescriptor;
 import org.yakindu.sct.generator.core.extensions.ILibraryDescriptor;
 import org.yakindu.sct.generator.core.extensions.LibraryExtensions;
-import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.BoolLiteral;
 import org.yakindu.sct.model.sgen.DeprecatableElement;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;

+ 3 - 4
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/AbstractJavaCodeGenerator.java

@@ -10,11 +10,11 @@
  */
 package org.yakindu.sct.generator.java;
 
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants;
 import org.yakindu.sct.generator.core.impl.GenericJavaBasedGenerator;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
 import org.yakindu.sct.model.sgraph.Statechart;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.*;
 
 abstract public class AbstractJavaCodeGenerator extends GenericJavaBasedGenerator {
 
@@ -26,9 +26,8 @@ abstract public class AbstractJavaCodeGenerator extends GenericJavaBasedGenerato
 	}
 
 	public String getTargetFolderString(GeneratorEntry entry) {
-		FeatureConfiguration outletConfig = entry.getFeatureConfiguration(ICoreFeatureConstants.OUTLET_FEATURE);
-		String projectName = outletConfig.getParameterValue(ICoreFeatureConstants.OUTLET_FEATURE_TARGET_FOLDER)
-				.getStringValue();
+		FeatureConfiguration outletConfig = entry.getFeatureConfiguration(OUTLET_FEATURE);
+		String projectName = outletConfig.getParameterValue(OUTLET_FEATURE_TARGET_FOLDER).getStringValue();
 		return projectName;
 	}
 }

+ 4 - 3
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/GenmodelEntries.xtend

@@ -10,18 +10,19 @@
 package org.yakindu.sct.generator.java
 
 import com.google.inject.Inject
-import org.yakindu.sct.generator.core.features.ICoreFeatureConstants
 import org.yakindu.sct.generator.java.features.IJavaFeatureConstants
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sgen.FeatureParameterValue
 import org.yakindu.sct.model.sgen.GeneratorEntry
 
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.*
+
 class GenmodelEntries {
 
 	@Inject extension Naming
 
 	def private getLicenseFeature(GeneratorEntry it) {
-		getFeatureConfiguration(ICoreFeatureConstants::LICENSE_HEADER)
+		getFeatureConfiguration(LICENSE_HEADER)
 	}
 
 	def private getNamingFeature(GeneratorEntry it) {
@@ -41,7 +42,7 @@ class GenmodelEntries {
 	}
 
 	def private FeatureParameterValue getLicenseTextParameter(GeneratorEntry it) {
-		licenseFeature?.getParameterValue(ICoreFeatureConstants::LICENSE_TEXT)
+		licenseFeature?.getParameterValue(LICENSE_TEXT)
 	}
 
 	def private FeatureParameterValue getTimerServiceParameter(GeneratorEntry it) {

+ 2 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/IStatemachine.xtend

@@ -15,7 +15,7 @@ import org.yakindu.sct.generator.core.impl.IExecutionFlowGenerator
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sgen.GeneratorEntry
 
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper
 
 class IStatemachine {
 	
@@ -25,7 +25,7 @@ class IStatemachine {
 	@Inject
 	extension GenmodelEntries
 	
-	@Inject IOutletFeatureHelper outletFeatureHelper
+	@Inject ICoreLibraryHelper outletFeatureHelper
 	 
 	def generateIStatemachine(ExecutionFlow flow, GeneratorEntry entry, IFileSystemAccess fsa) {
 		if (outletFeatureHelper.getLibraryTargetFolderValue(entry) != null) {

+ 2 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/ITimer.xtend

@@ -15,7 +15,7 @@ import org.yakindu.sct.generator.core.impl.IExecutionFlowGenerator
 
 import org.yakindu.sct.model.sgen.GeneratorEntry
 import org.yakindu.sct.model.sexec.ExecutionFlow
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper
 
 class ITimer {
 	
@@ -25,7 +25,7 @@ class ITimer {
 	@Inject
 	extension GenmodelEntries
 	
-	@Inject IOutletFeatureHelper outletFeatureHelper
+	@Inject ICoreLibraryHelper outletFeatureHelper
 	
 	def generateITimer(ExecutionFlow flow, GeneratorEntry entry, IFileSystemAccess fsa) {
 		if (outletFeatureHelper.getLibraryTargetFolderValue(entry) != null) {

+ 2 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/ITimerCallback.xtend

@@ -14,7 +14,7 @@ import org.eclipse.xtext.generator.IFileSystemAccess
 import org.yakindu.sct.generator.core.impl.IExecutionFlowGenerator
 import org.yakindu.sct.model.sgen.GeneratorEntry
 import org.yakindu.sct.model.sexec.ExecutionFlow
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper
 
 class ITimerCallback {
 
@@ -24,7 +24,7 @@ class ITimerCallback {
 	@Inject
 	extension GenmodelEntries
 	
-	@Inject IOutletFeatureHelper outletFeatureHelper
+	@Inject ICoreLibraryHelper outletFeatureHelper
 
 	def generateITimerCallback(ExecutionFlow flow, GeneratorEntry entry, IFileSystemAccess fsa) {
 		if (outletFeatureHelper.getLibraryTargetFolderValue(entry) != null) {

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/JavaCodeGenerator.java

@@ -34,7 +34,7 @@ public class JavaCodeGenerator extends AbstractJavaCodeGenerator {
 
 		ExecutionFlow flow = createExecutionFlow(statechart, entry);
 
-		if (debugFeatureHelper.isDumpSexec(entry)) {
+		if (coreFeatureHelper.isDumpSexec(entry)) {
 			dumpSexec(entry, flow);
 		}
 

+ 2 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/StatemachineInterface.xtend

@@ -23,8 +23,8 @@ import org.yakindu.sct.model.stext.stext.InterfaceScope
 import org.yakindu.sct.model.stext.stext.InternalScope
 import org.yakindu.sct.model.stext.stext.OperationDefinition
 import org.yakindu.sct.model.stext.stext.VariableDefinition
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper
 import org.yakindu.sct.generator.core.impl.IExecutionFlowGenerator
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper
 
 class StatemachineInterface {
 
@@ -37,7 +37,7 @@ class StatemachineInterface {
 	@Inject extension ExpressionCode
 	@Inject Beautifier beautifier
 	
-	@Inject IOutletFeatureHelper outletFeatureHelper
+	@Inject ICoreLibraryHelper outletFeatureHelper
 
 	def generateStatemachineInterface(ExecutionFlow flow, GeneratorEntry entry, IFileSystemAccess fsa) {
 		var filename = flow.getImplementationPackagePath(entry) + '/' + flow.statemachineInterfaceName.java

+ 16 - 15
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/features/JavaFeatureConstants.java

@@ -10,62 +10,63 @@
  */
 package org.yakindu.sct.generator.java.features;
 
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.LICENSE_HEADER;
-import static org.yakindu.sct.generator.core.features.ICoreFeatureConstants.LICENSE_TEXT;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.LICENSE_HEADER;
+import static org.yakindu.sct.generator.core.library.ICoreLibraryConstants.LICENSE_TEXT;
+
 /**
  * 
  * @author muehlbrandt
  */
 public final class JavaFeatureConstants implements IJavaFeatureConstants {
-	
+
 	public static final String getNamingFeature() {
 		return NAMING_FEATURE;
 	}
-	
+
 	public static final String getBasePackage() {
 		return BASE_PACKAGE;
 	}
-	
+
 	public static final String getImplementationSuffix() {
 		return IMPLEMENTATION_SUFFIX;
 	}
-		
+
 	public static final String getLicenseHeader() {
 		return LICENSE_HEADER;
 	}
-	
+
 	public static final String getLicenseText() {
 		return LICENSE_TEXT;
 	}
-	
+
 	public static final String getGeneralFeature() {
 		return GENERAL_FEATURES;
 	}
-	
+
 	public static final String getEventBasedStatemachine() {
 		return CREATE_EVENTBASEDSTATEMACHINE;
 	}
-	
+
 	public static final String getRuntimeService() {
 		return RUNTIME_SERVICE;
 	}
-	
+
 	public static final String getTimerService() {
 		return TIMER_SERVICE;
 	}
-	
+
 	public static final String getInterfaceObserverSupport() {
 		return INTERFACE_OBSERVER_SUPPORT;
 	}
-	
+
 	public static final String getGenericInterfaceSupport() {
 		return GENERIC_INTERFACE_SUPPORT;
 	}
-	
+
 	public static final String getStatemachineFactorySupport() {
 		return STATEMACHINE_FACTORY_SUPPORT;
 	}
-	
+
 	public static final String getUseJavaIntForInteger() {
 		return USE_JAVA_INT_FOR_INTEGER;
 	}

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/features/JavaFeatureValueProvider.java

@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;

+ 3 - 3
plugins/org.yakindu.sct.generator.xpand/src/org/yakindu/sct/generator/xpand/AbstractXpandBasedCodeGenerator.java

@@ -80,7 +80,7 @@ public abstract class AbstractXpandBasedCodeGenerator extends AbstractSExecModel
 		if (context.findDefinition(templatePath, targetType, paramTypes) != null) {
 			generatorFound = true;
 			ExecutionFlow flow = createExecutionFlow(statechart, entry);
-			if (debugFeatureHelper.isDumpSexec(entry)) {
+			if (coreFeatureHelper.isDumpSexec(entry)) {
 				dumpSexec(entry, flow);
 			}
 			facade.evaluate(templatePath, flow, entry);
@@ -113,7 +113,7 @@ public abstract class AbstractXpandBasedCodeGenerator extends AbstractSExecModel
 	}
 
 	protected Output createOutput(GeneratorEntry entry) {
-		String outputPath = outletFeatureHelper.getRelativeTargetFolder(entry);
+		String outputPath = coreFeatureHelper.getRelativeTargetFolder(entry);
 
 		String absoluteTargetFolder = sctFsa.getURI(outputPath).toFileString();
 
@@ -126,7 +126,7 @@ public abstract class AbstractXpandBasedCodeGenerator extends AbstractSExecModel
 		targetFolderOutlet.setOverwrite(true);
 		output.addOutlet(targetFolderOutlet);
 
-		String relativeLibraryTargetFolder = outletFeatureHelper.getRelativeLibraryFolder(entry);
+		String relativeLibraryTargetFolder = coreFeatureHelper.getRelativeLibraryFolder(entry);
 
 		String absoluteLibraryTargetFolder = sctFsa.getURI(relativeLibraryTargetFolder).toFileString();
 

+ 1 - 1
plugins/org.yakindu.sct.generator.xpand/src/org/yakindu/sct/generator/xpand/features/XpandLibraryDefaultFeatureValueProvider.java

@@ -17,7 +17,7 @@ import static org.yakindu.sct.generator.xpand.features.IXpandFeatureConstants.TE
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.ecore.EObject;
-import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.library.AbstractDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;

+ 3 - 3
test-plugins/org.yakindu.sct.generator.csharp.test/src/org/yakindu/sct/generator/csharp/util/AbstractCSharpGeneratorTest.java

@@ -17,8 +17,8 @@ import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.jdt.core.IJavaModelMarker;
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper;
-import org.yakindu.sct.generator.core.library.OutletFeatureHelperImpl;
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper;
+import org.yakindu.sct.generator.core.library.impl.DefaultCoreLibraryHelper;
 import org.yakindu.sct.generator.csharp.CSharpCodeGenerator;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureParameter;
@@ -42,7 +42,7 @@ public abstract class AbstractCSharpGeneratorTest {
 	private static final String CONTENT_TYPE = "statechart";
 	private static final String OUTLET_FEATURE = "Outlet";
 	private static final String TARGET_FOLDER = "targetFolder";
-	private static final IOutletFeatureHelper outletFeatureConfigurationHelper = new OutletFeatureHelperImpl();
+	private static final ICoreLibraryHelper outletFeatureConfigurationHelper = new DefaultCoreLibraryHelper();
 
 	@Inject
 	protected CSharpCodeGenerator generator;

+ 3 - 3
test-plugins/org.yakindu.sct.generator.java.test/src/org/yakindu/sct/generator/java/util/AbstractJavaGeneratorTest.java

@@ -17,8 +17,8 @@ import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.jdt.core.IJavaModelMarker;
-import org.yakindu.sct.generator.core.library.IOutletFeatureHelper;
-import org.yakindu.sct.generator.core.library.OutletFeatureHelperImpl;
+import org.yakindu.sct.generator.core.library.ICoreLibraryHelper;
+import org.yakindu.sct.generator.core.library.impl.DefaultCoreLibraryHelper;
 import org.yakindu.sct.generator.java.JavaCodeGenerator;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureParameter;
@@ -42,7 +42,7 @@ public abstract class AbstractJavaGeneratorTest {
 	private static final String CONTENT_TYPE = "statechart";
 	private static final String OUTLET_FEATURE = "Outlet";
 	private static final String TARGET_FOLDER = "targetFolder";
-	private static final IOutletFeatureHelper outletFeatureConfigurationHelper = new OutletFeatureHelperImpl();
+	private static final ICoreLibraryHelper outletFeatureConfigurationHelper = new DefaultCoreLibraryHelper();
 
 	@Inject
 	protected JavaCodeGenerator generator;