Browse Source

Removed simulation SCT language provider extension point, replaced by DomainRegistry
Removed language extension point for embedded editor, replaced by domainregistry

Andreas Mülder 10 years ago
parent
commit
ad8b3604ab
69 changed files with 327 additions and 1034 deletions
  1. 4 2
      plugins/org.yakindu.sct.domain/META-INF/MANIFEST.MF
  2. 1 2
      plugins/org.yakindu.sct.domain/build.properties
  3. BIN
      plugins/org.yakindu.sct.domain/icons/logo_small.png
  4. 0 10
      plugins/org.yakindu.sct.domain/plugin.xml
  5. 10 0
      plugins/org.yakindu.sct.domain/schema/domain.exsd
  6. 0 21
      plugins/org.yakindu.sct.domain/src/org/yakindu/sct/domain/extension/DefaultDomain.java
  7. 41 12
      plugins/org.yakindu.sct.domain/src/org/yakindu/sct/domain/extension/DomainRegistry.java
  8. 41 0
      plugins/org.yakindu.sct.domain/src/org/yakindu/sct/domain/extension/IDomainModuleProvider.java
  9. 2 2
      plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/ExpressionCode.xtend
  10. 2 2
      plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/types/CTypeSystemAccess.xtend
  11. 2 2
      plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/ExpressionCode.xtend
  12. 1 1
      plugins/org.yakindu.sct.generator.java/META-INF/MANIFEST.MF
  13. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/ExpressionCode.xtend
  14. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/Statemachine.xtend
  15. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/StatemachineInterface.xtend
  16. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/types/JavaTypeSystemAccess.xtend
  17. 2 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/types/OldJavaTypeSystemAccess.xtend
  18. 2 2
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.xtend
  19. 39 39
      plugins/org.yakindu.sct.model.stext.resource/.project
  20. 5 6
      plugins/org.yakindu.sct.model.stext.resource/META-INF/MANIFEST.MF
  21. 3 2
      plugins/org.yakindu.sct.model.stext.resource/plugin.xml
  22. 1 1
      plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/Activator.java
  23. 70 0
      plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/resource/SCTResourceFactory.java
  24. 0 38
      plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/factory/ExpressionsExecutableExtensionFactory.java
  25. 0 40
      plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/factory/StextResourceFactory.java
  26. 19 19
      plugins/org.yakindu.sct.model.stext.ui/src/org/yakindu/sct/model/stext/ui/contentassist/STextProposalProvider.java
  27. 1 0
      plugins/org.yakindu.sct.model.stext/META-INF/MANIFEST.MF
  28. 6 2
      plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/impl/StextResource.java
  29. 2 4
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextGlobalScopeProvider.java
  30. 2 2
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextScopeProvider.java
  31. 6 14
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/TypeSystemAwareScope.java
  32. 1 1
      plugins/org.yakindu.sct.refactoring/META-INF/MANIFEST.MF
  33. 4 4
      plugins/org.yakindu.sct.refactoring/src/org/yakindu/sct/refactoring/refactor/AbstractRefactoring.java
  34. 2 2
      plugins/org.yakindu.sct.refactoring/src/org/yakindu/sct/refactoring/refactor/impl/RenameRefactoring.java
  35. 2 1
      plugins/org.yakindu.sct.simulation.core.sexec/META-INF/MANIFEST.MF
  36. 1 7
      plugins/org.yakindu.sct.simulation.core.sexec/plugin.xml
  37. 0 29
      plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/SCTLanguageProvider.java
  38. 1 3
      plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/SimulationModule.java
  39. 1 2
      plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/container/DefaultExecutionContextInitializer.xtend
  40. 2 2
      plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/interpreter/StextStatementInterpreter.xtend
  41. 5 6
      plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/launch/SexecLaunchConfigurationDelegate.java
  42. 0 2
      plugins/org.yakindu.sct.simulation.core/META-INF/MANIFEST.MF
  43. 0 1
      plugins/org.yakindu.sct.simulation.core/plugin.xml
  44. 0 116
      plugins/org.yakindu.sct.simulation.core/schema/languageprovider.exsd
  45. 0 56
      plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/extensions/SCLanguageProviderExtensions.java
  46. 0 37
      plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/ISCLanguage.java
  47. 0 45
      plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/ISCLanguageProvider.java
  48. 0 72
      plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/SCLanguageProviders.java
  49. 0 41
      plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/SCLanguages.java
  50. 0 83
      plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/SimpleSCLanguage.java
  51. 0 2
      plugins/org.yakindu.sct.ui.editor/META-INF/MANIFEST.MF
  52. 0 1
      plugins/org.yakindu.sct.ui.editor/plugin.xml
  53. 0 116
      plugins/org.yakindu.sct.ui.editor/schema/expressions.exsd
  54. 6 5
      plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editor/StatechartDiagramEditor.java
  55. 5 5
      plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/PlugableExternalXtextLabelEditPart.java
  56. 6 5
      plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/PlugableXtextLabelEditPart.java
  57. 0 66
      plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/extensions/ExpressionLanguageProviderExtensions.java
  58. 0 32
      plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/extensions/IExpressionLanguageProvider.java
  59. 7 15
      plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/propertysheets/AbstractEditorPropertySection.java
  60. 1 24
      plugins/org.yakindu.sct.ui.integration.stext/plugin.xml
  61. 1 1
      test-plugins/org.yakindu.sct.model.stext.resource.test/META-INF/MANIFEST.MF
  62. 1 1
      test-plugins/org.yakindu.sct.model.stext.resource.test/src/org/yakindu/sct/model/stext/resource/test/SCTResourceTest.java
  63. 1 1
      test-plugins/org.yakindu.sct.model.stext.test/META-INF/MANIFEST.MF
  64. 1 1
      test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/STextJavaValidatorTest.java
  65. 2 2
      test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/TypeInferrerTest.java
  66. 3 3
      test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/util/AbstractSTextTest.java
  67. 1 8
      test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/util/STextRuntimeTestModule.java
  68. 1 1
      test-plugins/org.yakindu.sct.simulation.core.sexec.test/META-INF/MANIFEST.MF
  69. 2 2
      test-plugins/org.yakindu.sct.simulation.core.sexec.test/src/org/yakindu/sct/model/sexec/interpreter/test/STextInterpreterTest.java

+ 4 - 2
plugins/org.yakindu.sct.domain/META-INF/MANIFEST.MF

@@ -9,7 +9,9 @@ Require-Bundle: org.eclipse.core.runtime,
  com.google.inject;bundle-version="3.0.0",
  org.eclipse.swt;bundle-version="3.103.1",
  org.eclipse.jface;bundle-version="3.10.1",
- com.google.guava;bundle-version="15.0.0"
+ com.google.guava;bundle-version="15.0.0",
+ org.yakindu.sct.model.sgraph;bundle-version="2.4.1"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
-Export-Package: org.yakindu.sct.domain.extension
+Export-Package: org.yakindu.sct.domain,
+ org.yakindu.sct.domain.extension

+ 1 - 2
plugins/org.yakindu.sct.domain/build.properties

@@ -2,5 +2,4 @@ source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
-               plugin.xml,\
-               icons/
+               plugin.xml

BIN
plugins/org.yakindu.sct.domain/icons/logo_small.png


+ 0 - 10
plugins/org.yakindu.sct.domain/plugin.xml

@@ -2,14 +2,4 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension-point id="org.yakindu.sct.domain" name="org.yakindu.sct.domain" schema="schema/domain.exsd"/>
-   <extension
-         point="org.yakindu.sct.domain">
-      <Domain
-            description="The default domain for Yakindu Statechart Tools."
-            domainID="org.yakindu.domain.default"
-            image="icons/logo_small.png"
-            name="Default">
-      </Domain>
-   </extension>
-
 </plugin>

+ 10 - 0
plugins/org.yakindu.sct.domain/schema/domain.exsd

@@ -80,6 +80,16 @@
                </documentation>
             </annotation>
          </attribute>
+         <attribute name="domainModuleProvider" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.yakindu.sct.domain.extension.IDomainModuleProvider"/>
+               </appinfo>
+            </annotation>
+         </attribute>
       </complexType>
    </element>
 

+ 0 - 21
plugins/org.yakindu.sct.domain/src/org/yakindu/sct/domain/extension/DefaultDomain.java

@@ -1,21 +0,0 @@
-/**
- * Copyright (c) 2015 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.domain.extension;
-
-/**
- * @author andreas muelder - Initial contribution and API
- * 
- */
-public class DefaultDomain {
-
-	public static final String DOMAIN_ID = "org.yakindu.domain.default";
-
-}

+ 41 - 12
plugins/org.yakindu.sct.domain/src/org/yakindu/sct/domain/extension/DomainRegistry.java

@@ -13,14 +13,19 @@ package org.yakindu.sct.domain.extension;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.NoSuchElementException;
 
-import javax.inject.Singleton;
-
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.graphics.Image;
 import org.osgi.framework.Bundle;
+import org.yakindu.sct.model.sgraph.SGraphPackage;
+import org.yakindu.sct.model.sgraph.Statechart;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
@@ -29,7 +34,6 @@ import com.google.common.collect.Iterables;
  * @author andreas muelder - Initial contribution and API
  * 
  */
-@Singleton
 public class DomainRegistry {
 
 	private static final String EXTENSION_POINT = "org.yakindu.sct.domain";
@@ -37,10 +41,14 @@ public class DomainRegistry {
 	private static final String DESCRIPTION = "description";
 	private static final String IMAGE = "image";
 	private static final String NAME = "name";
+	private static final String MODULE_PROVIDER = "domainModuleProvider";
+
+	private DomainRegistry() {
+	}
 
 	private static List<DomainDescriptor> descriptors = null;
 
-	public static class DomainDescriptor {
+	public static final class DomainDescriptor {
 
 		private final IConfigurationElement configElement;
 
@@ -62,6 +70,15 @@ public class DomainRegistry {
 			return configElement.getAttribute(DESCRIPTION);
 		}
 
+		public IDomainModuleProvider getModuleProvider() {
+			try {
+				return (IDomainModuleProvider) configElement.createExecutableExtension(MODULE_PROVIDER);
+			} catch (CoreException e) {
+				e.printStackTrace();
+			}
+			return null;
+		}
+
 		public Image getImage() {
 			if (image != null)
 				return image;
@@ -86,10 +103,10 @@ public class DomainRegistry {
 	}
 
 	public static List<DomainDescriptor> getDomainDescriptors() {
-		IConfigurationElement[] configurationElements = Platform.getExtensionRegistry().getConfigurationElementsFor(
-				EXTENSION_POINT);
 		if (descriptors == null) {
 			descriptors = new ArrayList<DomainDescriptor>();
+			IConfigurationElement[] configurationElements = Platform.getExtensionRegistry()
+					.getConfigurationElementsFor(EXTENSION_POINT);
 			for (IConfigurationElement iConfigurationElement : configurationElements) {
 				descriptors.add(new DomainDescriptor(iConfigurationElement));
 			}
@@ -98,11 +115,23 @@ public class DomainRegistry {
 	}
 
 	public static DomainDescriptor getDomainDescriptor(final String id) {
-		return Iterables.find(getDomainDescriptors(), new Predicate<DomainDescriptor>() {
-			@Override
-			public boolean apply(DomainDescriptor input) {
-				return input.getDomainID().equals(id != null ? id : DefaultDomain.DOMAIN_ID);
-			}
-		});
+		final String defaultValueLiteral = SGraphPackage.Literals.STATECHART__DOMAIN_ID.getDefaultValueLiteral();
+		try {
+			return Iterables.find(getDomainDescriptors(), new Predicate<DomainDescriptor>() {
+				@Override
+				public boolean apply(DomainDescriptor input) {
+					return input.getDomainID().equals(id != null ? id : defaultValueLiteral);
+				}
+			});
+		} catch (NoSuchElementException e) {
+			System.err.println("Could not find domain descriptor for id " + id + " - > using default domain");
+			return getDomainDescriptor(defaultValueLiteral);
+		}
+	}
+
+	public static DomainDescriptor getDomainDescriptor(EObject object) {
+		EObject rootContainer = EcoreUtil.getRootContainer(object);
+		Assert.isTrue(rootContainer instanceof Statechart);
+		return getDomainDescriptor(((Statechart) rootContainer).getDomainID());
 	}
 }

+ 41 - 0
plugins/org.yakindu.sct.domain/src/org/yakindu/sct/domain/extension/IDomainModuleProvider.java

@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2015 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.domain.extension;
+
+import org.yakindu.sct.model.sgraph.resource.AbstractSCTResource;
+
+import com.google.inject.Module;
+
+/**
+ * @author andreas muelder - Initial contribution and API
+ * 
+ */
+public interface IDomainModuleProvider {
+
+	/**
+	 * Module used to create an instance of {@link AbstractSCTResource}
+	 */
+	public Module getResourceModule();
+
+	/**
+	 * Module used to create the embedded in-diagram Xtext Editor
+	 * 
+	 * @param elementKey
+	 *            A key indicating for which element the in-diagram editor
+	 *            should be created, i.e. State, Statechart or Transition
+	 */
+	public Module getEmbeddedEditorModule(String elementKey);
+
+	/**
+	 * Returns the module used during simulation
+	 */
+	public Module getSimulationModule();
+}

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

@@ -37,9 +37,9 @@ import org.yakindu.base.expressions.expressions.RealLiteral
 import org.yakindu.base.expressions.expressions.ShiftExpression
 import org.yakindu.base.expressions.expressions.StringLiteral
 import org.yakindu.base.expressions.expressions.TypeCastExpression
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.inferrer.ITypeSystemInferrer
 import org.yakindu.base.types.typesystem.DefaultTypeSystem
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 import org.yakindu.sct.model.sexec.naming.INamingService
 import org.yakindu.sct.model.sgraph.Event
@@ -53,7 +53,7 @@ class ExpressionCode {
 
 	@Inject extension Naming
 	@Inject extension Navigation
-	@Inject extension ITypeSystemRegistry
+	@Inject extension ITypeSystem
 	@Inject extension ITypeSystemInferrer
 	@Inject extension INamingService
 	@Inject extension ICodegenTypeSystemAccess

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

@@ -11,8 +11,8 @@
 package org.yakindu.sct.generator.c.types
 
 import com.google.inject.Inject
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.Type
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 
 import static org.yakindu.base.types.typesystem.DefaultTypeSystem.*
@@ -23,7 +23,7 @@ import static org.yakindu.base.types.typesystem.DefaultTypeSystem.*
 class CTypeSystemAccess implements ICodegenTypeSystemAccess {
 
 	@Inject
-	extension ITypeSystemRegistry ts
+	extension ITypeSystem ts
 
 	override getTargetLanguageName(Type type) {
 		switch (type) {

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

@@ -27,9 +27,9 @@ import org.yakindu.base.expressions.expressions.RealLiteral
 import org.yakindu.base.expressions.expressions.ShiftExpression
 import org.yakindu.base.expressions.expressions.StringLiteral
 import org.yakindu.base.expressions.expressions.TypeCastExpression
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.inferrer.ITypeSystemInferrer
 import org.yakindu.base.types.typesystem.DefaultTypeSystem
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 import org.yakindu.sct.model.sexec.naming.INamingService
 import org.yakindu.sct.model.sgraph.Event
@@ -43,7 +43,7 @@ class ExpressionCode {
 
 	@Inject extension Naming
 	@Inject extension Navigation
-	@Inject extension ITypeSystemRegistry
+	@Inject extension ITypeSystem
 	@Inject extension ITypeSystemInferrer
 	@Inject extension INamingService
 	@Inject extension ICodegenTypeSystemAccess

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

@@ -20,7 +20,7 @@ Require-Bundle: org.eclipse.jdt.core;bundle-version="3.5.0",
  org.eclipse.jdt.launching;bundle-version="3.6.0",
  org.yakindu.sct.generator.genmodel;bundle-version="1.0.0",
  org.eclipse.xtext.xbase;bundle-version="2.0.0",
- org.yakindu.sct.model.stext.resource;bundle-version="1.0.0",
+ org.yakindu.sct.model.resource;bundle-version="1.0.0",
  org.eclipse.xtend.lib,
  com.google.guava,
  org.eclipse.xtext.xbase.lib

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

@@ -33,10 +33,10 @@ import org.yakindu.base.expressions.expressions.ShiftOperator
 import org.yakindu.base.expressions.expressions.StringLiteral
 import org.yakindu.base.expressions.expressions.TypeCastExpression
 import org.yakindu.base.expressions.expressions.UnaryOperator
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.Operation
 import org.yakindu.base.types.inferrer.ITypeSystemInferrer
 import org.yakindu.base.types.typesystem.DefaultTypeSystem
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 import org.yakindu.sct.model.sexec.TimeEvent
 import org.yakindu.sct.model.sgraph.Declaration
@@ -51,7 +51,7 @@ class ExpressionCode {
 
 	@Inject extension Naming
 	@Inject extension Navigation
-	@Inject extension ITypeSystemRegistry
+	@Inject extension ITypeSystem
 	@Inject extension ITypeSystemInferrer
 	@Inject extension ICodegenTypeSystemAccess
 

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

@@ -12,8 +12,8 @@ package org.yakindu.sct.generator.java
 import com.google.inject.Inject
 import java.util.List
 import org.eclipse.xtext.generator.IFileSystemAccess
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.typesystem.DefaultTypeSystem
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 import org.yakindu.sct.model.sexec.Check
 import org.yakindu.sct.model.sexec.ExecutionFlow
@@ -30,7 +30,7 @@ class Statemachine {
 	@Inject extension GenmodelEntries
 	@Inject extension Navigation
 	@Inject extension ICodegenTypeSystemAccess
-	@Inject extension ITypeSystemRegistry
+	@Inject extension ITypeSystem
 	@Inject extension FlowCode
 	
 	@Inject Beautifier beautifier

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

@@ -11,9 +11,9 @@ package org.yakindu.sct.generator.java
 
 import com.google.inject.Inject
 import org.eclipse.xtext.generator.IFileSystemAccess
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.Parameter
 import org.yakindu.base.types.typesystem.DefaultTypeSystem
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sgen.GeneratorEntry
@@ -28,7 +28,7 @@ class StatemachineInterface {
 	@Inject extension Naming
 	@Inject extension GenmodelEntries
 	@Inject extension Navigation
-	@Inject extension ITypeSystemRegistry
+	@Inject extension ITypeSystem
 	@Inject extension ICodegenTypeSystemAccess
 	@Inject Beautifier beautifier
 

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

@@ -11,8 +11,8 @@
 package org.yakindu.sct.generator.java.types
 
 import com.google.inject.Inject
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.Type
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 
 import static org.yakindu.base.types.typesystem.DefaultTypeSystem.*
@@ -23,7 +23,7 @@ import static org.yakindu.base.types.typesystem.DefaultTypeSystem.*
 class JavaTypeSystemAccess implements ICodegenTypeSystemAccess {
 
 	@Inject
-	private extension ITypeSystemRegistry ts
+	private extension ITypeSystem ts
 
 	override String getTargetLanguageName(Type type) {
 		switch (type) {

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

@@ -11,8 +11,8 @@
 package org.yakindu.sct.generator.java.types
 
 import com.google.inject.Inject
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.Type
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
 
 import static org.yakindu.base.types.typesystem.DefaultTypeSystem.*
@@ -24,7 +24,7 @@ import static org.yakindu.base.types.typesystem.DefaultTypeSystem.*
 class OldJavaTypeSystemAccess implements ICodegenTypeSystemAccess {
 
 	@Inject
-	private extension ITypeSystemRegistry ts
+	private extension ITypeSystem ts
 
 	override String getTargetLanguageName(Type type) {
 		switch (type) {

+ 2 - 2
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.xtend

@@ -13,7 +13,7 @@ import org.yakindu.base.expressions.expressions.NumericalMultiplyDivideExpressio
 import org.yakindu.base.expressions.expressions.PrimitiveValueExpression
 import org.yakindu.base.expressions.expressions.RealLiteral
 import org.yakindu.base.expressions.expressions.StringLiteral
-import org.yakindu.base.types.ITypeSystemRegistry
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.model.sexec.ExecutionFlow
 import org.yakindu.sct.model.sexec.ExecutionRegion
 import org.yakindu.sct.model.sexec.ExecutionState
@@ -40,7 +40,7 @@ class SequenceBuilder {
 	@Inject extension SexecElementMapping mapping
 	@Inject extension TraceExtensions trace
 
-	@Inject extension ITypeSystemRegistry ts
+	@Inject extension ITypeSystem ts
 
 	@Inject @Named("ADD_TRACES")
 	boolean _addTraceSteps

+ 39 - 39
plugins/org.yakindu.sct.model.stext.resource/.project

@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.yakindu.sct.model.stext.resource</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-	<filteredResources>
-		<filter>
-			<id>1375978493497</id>
-			<name></name>
-			<type>10</type>
-			<matcher>
-				<id>org.eclipse.ui.ide.multiFilter</id>
-				<arguments>1.0-name-matches-false-false-target</arguments>
-			</matcher>
-		</filter>
-	</filteredResources>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.yakindu.sct.model.resource</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<filteredResources>
+		<filter>
+			<id>0</id>
+			<name></name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-false-false-target</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
+</projectDescription>

+ 5 - 6
plugins/org.yakindu.sct.model.stext.resource/META-INF/MANIFEST.MF

@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Yakindu Statechart Tools (SCT) SText Resource
-Bundle-SymbolicName: org.yakindu.sct.model.stext.resource;singleton:=true
+Bundle-SymbolicName: org.yakindu.sct.model.resource;singleton:=true
 Bundle-Version: 2.4.1.qualifier
 Bundle-Vendor: statecharts.org
-Bundle-Activator: org.yakindu.sct.model.stext.resource.Activator
+Bundle-Activator: org.yakindu.sct.model.resource.Activator
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.yakindu.sct.model.sgraph;visibility:=reexport,
@@ -12,9 +12,8 @@ Require-Bundle: org.eclipse.ui,
  org.eclipse.gmf.runtime.emf.core,
  org.yakindu.sct.model.stext;bundle-version="1.0.0",
  org.eclipse.xtext.ui;bundle-version="2.0.0",
- org.yakindu.sct.model.stext.ui;bundle-version="1.0.0"
+ org.yakindu.sct.model.stext.ui;bundle-version="1.0.0",
+ org.yakindu.sct.domain;bundle-version="2.4.1"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.yakindu.sct.model.stext.resource,
- org.yakindu.sct.model.stext.resource.factory,
- org.yakindu.sct.model.stext.resource.impl
+Export-Package: org.yakindu.sct.model.resource

+ 3 - 2
plugins/org.yakindu.sct.model.stext.resource/plugin.xml

@@ -6,16 +6,17 @@
  <extension
          point="org.eclipse.emf.ecore.extension_parser">
       <parser
-            class="org.yakindu.sct.model.stext.resource.factory.ExpressionsExecutableExtensionFactory:org.yakindu.sct.model.stext.resource.factory.StextResourceFactory"
+            class="org.yakindu.sct.model.resource.SCTResourceFactory"
             type="sct">
       </parser>
    </extension>
 
    <!-- Resource Provider -->
-   <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+  <!-- <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
         <resourceServiceProvider
            class="org.yakindu.sct.model.stext.resource.factory.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.resource.generic.EmfResourceUIServiceProvider"
             uriExtension="sct">
         </resourceServiceProvider>
     </extension>
+    -->
 </plugin>

+ 1 - 1
plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/Activator.java

@@ -8,7 +8,7 @@
  * 	committers of YAKINDU - initial API and implementation
  * 
  */
-package org.yakindu.sct.model.stext.resource;
+package org.yakindu.sct.model.resource;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;

+ 70 - 0
plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/resource/SCTResourceFactory.java

@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2015 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.model.resource;
+
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.yakindu.sct.domain.extension.DomainRegistry;
+import org.yakindu.sct.domain.extension.DomainRegistry.DomainDescriptor;
+import org.yakindu.sct.model.sgraph.SGraphPackage;
+import org.yakindu.sct.model.sgraph.Statechart;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+/**
+ * 
+ * @author andreas muelder - Initial contribution and API
+ * 
+ */
+public class SCTResourceFactory extends XMIResourceFactoryImpl {
+
+	@Override
+	public Resource createResource(URI uri) {
+		String domainID = determineDomainID(uri);
+		DomainDescriptor domainDescriptor = DomainRegistry.getDomainDescriptor(domainID);
+		Module runtimeModule = domainDescriptor.getModuleProvider().getResourceModule();
+		Injector injector = Guice.createInjector(runtimeModule);
+		Resource resource = injector.getInstance(Resource.class);
+		ResourceSet set = new ResourceSetImpl();
+		set.getResources().add(resource);
+		resource.setURI(uri);
+		return resource;
+	}
+
+	protected String determineDomainID(URI uri) {
+		String result = SGraphPackage.Literals.STATECHART__DOMAIN_ID.getDefaultValueLiteral();
+		if (URIConverter.INSTANCE.exists(uri, null)) {
+			XMIResource resource = new XMIResourceImpl(uri);
+			try {
+				resource.load(null);
+				Statechart statechart = (Statechart) EcoreUtil.getObjectByType(resource.getContents(),
+						SGraphPackage.Literals.STATECHART);
+				result = statechart.getDomainID();
+			} catch (IOException e) {
+				e.printStackTrace();
+			} finally {
+				resource.unload();
+			}
+		}
+		return result;
+	}
+}

+ 0 - 38
plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/factory/ExpressionsExecutableExtensionFactory.java

@@ -1,38 +0,0 @@
-/**
- * Copyright (c) 2011 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.model.stext.resource.factory;
-
-import org.eclipse.core.runtime.IExecutableExtensionFactory;
-import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
-import org.osgi.framework.Bundle;
-import org.yakindu.sct.model.stext.ui.internal.STextActivator;
-
-import com.google.inject.Injector;
-
-/**
- * {@link IExecutableExtensionFactory} to use with classes from this bundle.
- * 
- * @author andreas muelder
- * 
- */
-public class ExpressionsExecutableExtensionFactory extends
-		AbstractGuiceAwareExecutableExtensionFactory {
-
-	@Override
-	protected Bundle getBundle() {
-		return org.yakindu.sct.model.stext.resource.Activator.getDefault()
-				.getBundle();
-	}
-
-	@Override
-	protected Injector getInjector() {
-		return STextActivator.getInstance().getInjector(
-				STextActivator.ORG_YAKINDU_SCT_MODEL_STEXT_STEXT); //$//$NON-NLS-N$
-	}
-
-}

+ 0 - 40
plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/factory/StextResourceFactory.java

@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2011 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.model.stext.resource.factory;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.yakindu.sct.model.stext.resource.impl.StextResource;
-
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-
-/**
- * ResourceFactory for the {@link InjectMembersResource} with services for the
- * statechart model.
- * 
- * @author andreas muelder
- * 
- */
-public class StextResourceFactory extends XMIResourceFactoryImpl {
-
-	@Inject
-	Injector injector;
-
-	@Override
-	public Resource createResource(URI uri) {
-		final StextResource resource = new StextResource(
-				uri);
-		injector.injectMembers(resource);
-		return resource;
-	}
-}

+ 19 - 19
plugins/org.yakindu.sct.model.stext.ui/src/org/yakindu/sct/model/stext/ui/contentassist/STextProposalProvider.java

@@ -94,9 +94,9 @@ public class STextProposalProvider extends AbstractSTextProposalProvider {
 			suppressKeywords.addAll(getKeywords(grammarAccess.getExitEventAccess().getGroup().eContents()));
 			suppressKeywords.addAll(getKeywords(grammarAccess.getEntryEventAccess().getGroup().eContents()));
 			
-			if (!atLeastOnePackageExistsInIndex(getSctResource(contentAssistContext.getRootModel()))) {
-				suppressKeywords.addAll(getKeywords(grammarAccess.getImportScopeAccess().getGroup().eContents()));
-			}
+//			if (!atLeastOnePackageExistsInIndex(getSctResource(contentAssistContext.getRootModel()))) {
+//				suppressKeywords.addAll(getKeywords(grammarAccess.getImportScopeAccess().getGroup().eContents()));
+//			}
 		}
 
 		EObject currentModel = contentAssistContext.getCurrentModel();
@@ -261,22 +261,22 @@ public class STextProposalProvider extends AbstractSTextProposalProvider {
 		}
 	}
 	
-	private boolean atLeastOnePackageExistsInIndex(Resource res) {
-		IResourceDescriptions resourceDescriptions = resourceDescriptionsProvider.getResourceDescriptions(res);
-		URI uri = res.getURI();
-		IResourceDescription resourceDescription = resourceDescriptions.getResourceDescription(uri);
-		for (IContainer container : containerManager.getVisibleContainers(resourceDescription, resourceDescriptions)) {
-			final Iterable<IResourceDescription> currentDescriptions = container.getResourceDescriptions();
-			for (IResourceDescription resDesc : currentDescriptions) {
-				Iterable<IEObjectDescription> visisblePackages = resDesc
-						.getExportedObjectsByType(TypesPackage.Literals.PACKAGE);
-				if (!Iterables.isEmpty(visisblePackages)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
+//	private boolean atLeastOnePackageExistsInIndex(Resource res) {
+//		IResourceDescriptions resourceDescriptions = resourceDescriptionsProvider.getResourceDescriptions(res);
+//		URI uri = res.getURI();
+//		IResourceDescription resourceDescription = resourceDescriptions.getResourceDescription(uri);
+//		for (IContainer container : containerManager.getVisibleContainers(resourceDescription, resourceDescriptions)) {
+//			final Iterable<IResourceDescription> currentDescriptions = container.getResourceDescriptions();
+//			for (IResourceDescription resDesc : currentDescriptions) {
+//				Iterable<IEObjectDescription> visisblePackages = resDesc
+//						.getExportedObjectsByType(TypesPackage.Literals.PACKAGE);
+//				if (!Iterables.isEmpty(visisblePackages)) {
+//					return true;
+//				}
+//			}
+//		}
+//		return false;
+//	}
 	
 	private Resource getSctResource(EObject context) {
 		final ContextElementAdapter provider = (ContextElementAdapter) EcoreUtil.getExistingAdapter(

+ 1 - 0
plugins/org.yakindu.sct.model.stext/META-INF/MANIFEST.MF

@@ -36,6 +36,7 @@ Export-Package: org.yakindu.sct.model.stext,
  org.yakindu.sct.model.stext.parseTreeConstruction,
  org.yakindu.sct.model.stext.parser.antlr,
  org.yakindu.sct.model.stext.parser.antlr.internal,
+ org.yakindu.sct.model.stext.resource,
  org.yakindu.sct.model.stext.scoping,
  org.yakindu.sct.model.stext.services,
  org.yakindu.sct.model.stext.stext,

+ 6 - 2
plugins/org.yakindu.sct.model.stext.resource/src/org/yakindu/sct/model/stext/resource/impl/StextResource.java

@@ -9,7 +9,7 @@
  * 
  */
 
-package org.yakindu.sct.model.stext.resource.impl;
+package org.yakindu.sct.model.stext.resource;
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.URI;
@@ -34,10 +34,14 @@ import org.yakindu.sct.model.stext.stext.TransitionSpecification;
  */
 public class StextResource extends AbstractSCTResource {
 
+	public StextResource() {
+		super(null);
+	}
+
 	public StextResource(URI uri) {
 		super(uri);
 	}
-
+	
 	protected void serializeStatechart(Statechart statechart) {
 		StringBuilder builder = new StringBuilder();
 		for (Scope scope : statechart.getScopes()) {

+ 2 - 4
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextGlobalScopeProvider.java

@@ -20,7 +20,7 @@ import org.eclipse.xtext.resource.IEObjectDescription;
 import org.eclipse.xtext.scoping.IScope;
 import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
 import org.eclipse.xtext.scoping.impl.FilteringScope;
-import org.yakindu.base.types.ITypeSystemRegistry;
+import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Statechart;
 
@@ -31,14 +31,12 @@ import de.itemis.xtext.utils.jface.viewers.ContextElementAdapter;
 
 /**
  * @author andreas muelder - Initial contribution and API
- * @author Alexander Nyßen - Ensured type system information is only inferred
- *         via {@link ITypeSystemRegistry} facade.
  * 
  */
 public class STextGlobalScopeProvider extends DefaultGlobalScopeProvider {
 
 	@Inject
-	private ITypeSystemRegistry typeSystem;
+	private ITypeSystem typeSystem;
 
 	@Inject
 	private IQualifiedNameProvider qualifiedNameProvider;

+ 2 - 2
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextScopeProvider.java

@@ -37,7 +37,7 @@ import org.yakindu.base.expressions.expressions.FeatureCall;
 import org.yakindu.base.types.ComplexType;
 import org.yakindu.base.types.EnumerationType;
 import org.yakindu.base.types.Feature;
-import org.yakindu.base.types.ITypeSystemRegistry;
+import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Scope;
 import org.yakindu.sct.model.sgraph.Statechart;
@@ -63,7 +63,7 @@ import de.itemis.xtext.utils.jface.viewers.ContextElementAdapter;
 public class STextScopeProvider extends AbstractDeclarativeScopeProvider {
 
 	@Inject
-	private ITypeSystemRegistry typeSystem;
+	private ITypeSystem typeSystem;
 
 	private static class ErrorHandlerDelegate<T> implements ErrorHandler<T> {
 

+ 6 - 14
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/TypeSystemAwareScope.java

@@ -20,9 +20,7 @@ import org.eclipse.xtext.resource.IEObjectDescription;
 import org.eclipse.xtext.scoping.IScope;
 import org.eclipse.xtext.scoping.Scopes;
 import org.eclipse.xtext.scoping.impl.AbstractScope;
-import org.yakindu.base.types.ITypeSystemRegistry;
 import org.yakindu.base.types.typesystem.ITypeSystem;
-import org.yakindu.sct.domain.extension.DefaultDomain;
 import org.yakindu.sct.model.sgraph.Statechart;
 
 import com.google.common.collect.Iterables;
@@ -30,36 +28,30 @@ import com.google.common.collect.Lists;
 
 public class TypeSystemAwareScope extends AbstractScope {
 
-	private final ITypeSystemRegistry typeSystemAccess;
+	private final ITypeSystem typeSystemAccess;
 
 	private final IQualifiedNameProvider qualifiedNameProvider;
 
 	private EClass eClass;
 
-	private String domainID;
-
 	private Statechart context;
 
-	public TypeSystemAwareScope(IScope parent, ITypeSystemRegistry typeSystemAccess,
+	public TypeSystemAwareScope(IScope parent, ITypeSystem typeSystemAccess,
 			IQualifiedNameProvider qualifiedNameProvider, EClass eClass, String domainID, Statechart context) {
 		super(parent, false);
 		this.typeSystemAccess = typeSystemAccess;
 		this.qualifiedNameProvider = qualifiedNameProvider;
 		this.eClass = eClass;
 		this.context = context;
-		this.domainID = domainID != null ? domainID : DefaultDomain.DOMAIN_ID;
 	}
 
 	@Override
 	protected Iterable<IEObjectDescription> getAllLocalElements() {
 		List<IEObjectDescription> result = Lists.newArrayList();
-		Iterable<ITypeSystem> allTypeSystems = typeSystemAccess.getTypeSystems(domainID);
-		for (ITypeSystem iTypeSystem : allTypeSystems) {
-			Iterable<IEObjectDescription> iterable = Scopes
-					.scopedElementsFor(EcoreUtil2.<EObject> getObjectsByType(iTypeSystem.getTypes(context), eClass),
-							qualifiedNameProvider);
-			Iterables.addAll(result, iterable);
-		}
+		Iterable<IEObjectDescription> iterable = Scopes.scopedElementsFor(
+				EcoreUtil2.<EObject> getObjectsByType(typeSystemAccess.getTypes(context), eClass),
+				qualifiedNameProvider);
+		Iterables.addAll(result, iterable);
 		return result;
 	}
 }

+ 1 - 1
plugins/org.yakindu.sct.refactoring/META-INF/MANIFEST.MF

@@ -12,7 +12,7 @@ Require-Bundle: org.eclipse.ui,
  org.yakindu.sct.ui.editor;bundle-version="1.0.0",
  org.yakindu.sct.model.stext;bundle-version="1.0.0",
  de.itemis.xtext.utils.jface;bundle-version="1.0.0",
- org.yakindu.sct.model.stext.resource;bundle-version="1.0.0",
+ org.yakindu.sct.model.resource;bundle-version="1.0.0",
  org.eclipse.core.expressions,
  de.itemis.xtext.utils.gmf;bundle-version="2.1.2"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5

+ 4 - 4
plugins/org.yakindu.sct.refactoring/src/org/yakindu/sct/refactoring/refactor/AbstractRefactoring.java

@@ -28,7 +28,7 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain;
 import org.eclipse.emf.transaction.util.TransactionUtil;
 import org.eclipse.gmf.runtime.common.core.command.CommandResult;
 import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
-import org.yakindu.sct.model.stext.resource.impl.StextResource;
+import org.yakindu.sct.model.sgraph.resource.AbstractSCTResource;
 import org.yakindu.sct.refactoring.utils.RefactoringHelper;
 
 /**
@@ -161,16 +161,16 @@ public abstract class AbstractRefactoring<T extends Object> implements IRefactor
 	public static void executeCommand(IUndoableOperation command, Resource resource) {
 		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
 
-		if (resource instanceof StextResource) {
+		if (resource instanceof AbstractSCTResource) {
 			// enable serializer
-			((StextResource) resource).setSerializerEnabled(true);
+			((AbstractSCTResource) resource).setSerializerEnabled(true);
 			try {
 				history.execute(command, new NullProgressMonitor(), null);
 			} catch (ExecutionException e) {
 				e.printStackTrace();
 			} finally {
 				// disable serializer
-				((StextResource) resource).setSerializerEnabled(false);
+				((AbstractSCTResource) resource).setSerializerEnabled(false);
 			}
 		} else {
 			try {

+ 2 - 2
plugins/org.yakindu.sct.refactoring/src/org/yakindu/sct/refactoring/refactor/impl/RenameRefactoring.java

@@ -24,7 +24,7 @@ import org.yakindu.base.base.NamedElement;
 import org.yakindu.base.expressions.expressions.ElementReferenceExpression;
 import org.yakindu.base.expressions.expressions.FeatureCall;
 import org.yakindu.sct.model.sgraph.SpecificationElement;
-import org.yakindu.sct.model.stext.resource.impl.StextResource;
+import org.yakindu.sct.model.sgraph.resource.AbstractSCTResource;
 import org.yakindu.sct.refactoring.refactor.AbstractRefactoring;
 
 import com.google.common.collect.Sets;
@@ -71,7 +71,7 @@ public class RenameRefactoring extends AbstractRefactoring<NamedElement> {
 		Collection<EObject> elementReferers = findReferers(element);
 		element.setName(newName);
 
-		StextResource res = (StextResource) getResource();
+		AbstractSCTResource res = (AbstractSCTResource) getResource();
 		Set<SpecificationElement> specificationsToParse = Sets.newHashSet();
 		
 		for (EObject referer : elementReferers) {

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

@@ -16,7 +16,8 @@ Require-Bundle: org.yakindu.sct.simulation.core;bundle-version="2.1.2",
  org.yakindu.sct.commons;bundle-version="2.1.2",
  org.eclipse.emf.workspace;bundle-version="1.5.1",
  org.yakindu.sct.ui.integration.stext;bundle-version="2.1.2",
- de.itemis.xtext.utils.jface;bundle-version="2.1.2"
+ de.itemis.xtext.utils.jface;bundle-version="2.1.2",
+ org.yakindu.sct.domain;bundle-version="2.4.1"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.simulation.core.sexec,

+ 1 - 7
plugins/org.yakindu.sct.simulation.core.sexec/plugin.xml

@@ -10,11 +10,5 @@
           name="Statechart Simulation">
     	</launchConfigurationType>
 	</extension>
- 
- <extension
-       point="org.yakindu.sct.simulation.core.languageprovider">
-    <SCLanguageProvider
-          class="org.yakindu.sct.simulation.core.sexec.SCTLanguageProvider">
-    </SCLanguageProvider>
- </extension>
+ 
 </plugin>

+ 0 - 29
plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/SCTLanguageProvider.java

@@ -1,29 +0,0 @@
-package org.yakindu.sct.simulation.core.sexec;
-
-import org.yakindu.sct.model.sgraph.Statechart;
-import org.yakindu.sct.simulation.core.language.ISCLanguage;
-import org.yakindu.sct.simulation.core.language.ISCLanguageProvider;
-import org.yakindu.sct.simulation.core.language.SimpleSCLanguage;
-
-import com.google.inject.Module;
-
-public class SCTLanguageProvider implements ISCLanguageProvider {
-
-	public static final String SCT_LANGUAGE_ID = "org.yakindu.language.sct";
-
-	@Override
-	public ISCLanguage getLanguage() {
-		return new SimpleSCLanguage(SCT_LANGUAGE_ID, "sct", null);
-	}
-
-	@Override
-	public boolean isInstanceOfLanguage(Statechart sc) {
-		return sc.eResource().getURI().toString().endsWith("sct");
-	}
-
-	@Override
-	public Module getSimulationModule() {
-		return new SimulationModule();
-	}
-
-}

+ 1 - 3
plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/SimulationModule.java

@@ -15,8 +15,6 @@ import org.eclipse.xtext.resource.IResourceDescriptions;
 import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
 import org.eclipse.xtext.service.AbstractGenericModule;
 import org.yakindu.base.types.inferrer.ITypeSystemInferrer;
-import org.yakindu.base.types.typesystem.DefaultTypeSystem;
-import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.sct.model.sexec.transformation.IModelSequencer;
 import org.yakindu.sct.model.sexec.transformation.ModelSequencer;
 import org.yakindu.sct.model.sexec.transformation.SequencerModule;
@@ -91,7 +89,7 @@ public class SimulationModule extends AbstractGenericModule {
 
 	public Class<? extends IStatementInterpreter> bindIStatementInterpreter() {
 		return StextStatementInterpreter.class;
-	}
+	} 
 
 	public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
 		return StextNameProvider.class;

+ 1 - 2
plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/container/DefaultExecutionContextInitializer.xtend

@@ -37,7 +37,6 @@ import org.yakindu.sct.simulation.core.sruntime.ExecutionSlot
 import org.yakindu.sct.simulation.core.sruntime.impl.CompositeSlotImpl
 import org.yakindu.sct.simulation.core.sruntime.impl.ExecutionEventImpl
 import org.yakindu.sct.simulation.core.sruntime.impl.ExecutionVariableImpl
-import org.yakindu.base.types.ITypeSystemRegistry
 
 /**
  * 
@@ -47,7 +46,7 @@ import org.yakindu.base.types.ITypeSystemRegistry
 class DefaultExecutionContextInitializer implements IExecutionContextInitializer {
 
 	@Inject extension IQualifiedNameProvider
-	@Inject extension ITypeSystemRegistry
+	@Inject extension ITypeSystem
 	@Inject extension ITypeSystemInferrer
 
 	override initialize(ExecutionContext context, ExecutionFlow flow) {

+ 2 - 2
plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/interpreter/StextStatementInterpreter.xtend

@@ -40,10 +40,10 @@ import org.yakindu.base.expressions.expressions.ShiftExpression
 import org.yakindu.base.expressions.expressions.StringLiteral
 import org.yakindu.base.expressions.expressions.TypeCastExpression
 import org.yakindu.base.types.Enumerator
-import org.yakindu.base.types.ITypeSystemRegistry
 import org.yakindu.base.types.Operation
 import org.yakindu.base.types.Type
 import org.yakindu.base.types.typesystem.DefaultTypeSystem
+import org.yakindu.base.types.typesystem.ITypeSystem
 import org.yakindu.sct.model.stext.stext.ActiveStateReferenceExpression
 import org.yakindu.sct.model.stext.stext.EventRaisingExpression
 import org.yakindu.sct.model.stext.stext.EventValueReferenceExpression
@@ -68,7 +68,7 @@ class StextStatementInterpreter extends AbstractStatementInterpreter {
 	@Inject
 	protected extension IExecutionSlotResolver resolver
 	@Inject
-	protected extension ITypeSystemRegistry ts;
+	protected extension ITypeSystem ts;
 
 	protected ExecutionContext context
 

+ 5 - 6
plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/launch/SexecLaunchConfigurationDelegate.java

@@ -13,10 +13,9 @@ package org.yakindu.sct.simulation.core.sexec.launch;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
+import org.yakindu.sct.domain.extension.DomainRegistry;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.simulation.core.engine.ISimulationEngine;
-import org.yakindu.sct.simulation.core.extensions.SCLanguageProviderExtensions;
-import org.yakindu.sct.simulation.core.language.SCLanguageProviders;
 import org.yakindu.sct.simulation.core.launch.AbstractSCTLaunchConfigurationDelegate;
 import org.yakindu.sct.simulation.core.sexec.container.ISimulationEngineFactory;
 
@@ -29,7 +28,8 @@ import com.google.inject.util.Modules;
 /**
  * 
  * @author andreas muelder - Initial contribution and API
- * @author terfloth - added dynamic module configuration based on statechart language type and language providers
+ * @author terfloth - added dynamic module configuration based on statechart
+ *         language type and language providers
  * 
  */
 public class SexecLaunchConfigurationDelegate extends AbstractSCTLaunchConfigurationDelegate implements
@@ -40,9 +40,8 @@ public class SexecLaunchConfigurationDelegate extends AbstractSCTLaunchConfigura
 
 	@Override
 	protected ISimulationEngine createExecutionContainer(final ILaunch launch, Statechart statechart) {
-		
-		SCLanguageProviders providers = SCLanguageProviderExtensions.getLanguageProviders();
-		Module simulationModule = providers.getSimulationModuleFor(statechart); 
+		Module simulationModule = DomainRegistry.getDomainDescriptor(statechart).getModuleProvider()
+				.getSimulationModule();
 		Module module = Modules.override(simulationModule).with(new Module() {
 			@Override
 			public void configure(Binder binder) {

+ 0 - 2
plugins/org.yakindu.sct.simulation.core/META-INF/MANIFEST.MF

@@ -22,9 +22,7 @@ Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.simulation.core,
  org.yakindu.sct.simulation.core.debugmodel,
  org.yakindu.sct.simulation.core.engine,
- org.yakindu.sct.simulation.core.extensions,
  org.yakindu.sct.simulation.core.hmr,
- org.yakindu.sct.simulation.core.language,
  org.yakindu.sct.simulation.core.launch,
  org.yakindu.sct.simulation.core.sruntime,
  org.yakindu.sct.simulation.core.sruntime.impl,

+ 0 - 1
plugins/org.yakindu.sct.simulation.core/plugin.xml

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
-   <extension-point id="org.yakindu.sct.simulation.core.languageprovider" name="SCLanguageProvider" schema="schema/languageprovider.exsd"/>
 
    <extension point="org.eclipse.emf.ecore.generated_package">
       <!-- @generated sruntime -->

+ 0 - 116
plugins/org.yakindu.sct.simulation.core/schema/languageprovider.exsd

@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.yakindu.sct.simulation.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.yakindu.sct.simulation.core" id="org.yakindu.sct.simulation.core.languageprovider" name="SCLanguageProvider"/>
-      </appinfo>
-      <documentation>
-         This extension point allows the register language providers for specific statechart languages. 
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="SCLanguageProvider"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="SCLanguageProvider">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.yakindu.sct.simulation.core.language.ISCLanguageProvider"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         2.1.3
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         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
-      </documentation>
-   </annotation>
-
-</schema>

+ 0 - 56
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/extensions/SCLanguageProviderExtensions.java

@@ -1,56 +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.simulation.core.extensions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.yakindu.sct.simulation.core.language.ISCLanguageProvider;
-import org.yakindu.sct.simulation.core.language.SCLanguageProviders;
-
-/**
- * Utility class that handles the languageprovider extension point.
- * 
- * @author terfloth - Initial contribution and API
- * 
- */
-public class SCLanguageProviderExtensions {
-
-	private static final String EXTENSION_POINT_ID = "org.yakindu.sct.simulation.core.languageprovider";
-	private static final String ATTRIBUTE_CLASS = "class";
-
-	/**
-	 * Creates a new {@link SCLanguageProviders} instance from the registered extensions.
-	 * 
-	 * @return {@link SCLanguageProviders} instance
-	 */
-	public static SCLanguageProviders getLanguageProviders() {
-		SCLanguageProviders providers = new SCLanguageProviders();
-		
-		IConfigurationElement[] configurationElements = Platform
-				.getExtensionRegistry().getConfigurationElementsFor(
-						EXTENSION_POINT_ID);
-
-		for (int i = 0; i < configurationElements.length; i++) {
-			try {
-				ISCLanguageProvider provider = (ISCLanguageProvider) configurationElements[i]
-						.createExecutableExtension(ATTRIBUTE_CLASS);
-				providers.addLanguageProvider(provider);
-			} catch (CoreException e) {
-				e.printStackTrace();
-			}
-			
-		}
-		
-		return providers;
-	}
-
-}

+ 0 - 37
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/ISCLanguage.java

@@ -1,37 +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.simulation.core.language;
-
-/**
- * Instances of this interface provide meta information about statechart languages and their dependencies.
- * 
- * @author axel terfloth
- */
-public interface ISCLanguage {
-
-	/** 
-	 * Each statechart language has it's unique id. It is proposed to use fully qualified names.
-	 * 
-	 * @return
-	 */
-	String getId();
-	
-	/**
-	 * A language also has a simple name.
-	 */
-	String getName();
-	
-	/** 
-	 * A statechart language can inherit from another language.
-	 * @return
-	 */
-	String getBaseLanguageId();
-}

+ 0 - 45
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/ISCLanguageProvider.java

@@ -1,45 +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.simulation.core.language;
-
-import org.yakindu.sct.model.sgraph.Statechart;
-
-import com.google.inject.Module;
-
-/**
- * Instances provide meta information about statechart languages as well as implementation in form of (guice) modules.
- * 
- * Current usage is restricted to simulation modules.
- * 
- * @author terfloth
- *
- */
-public interface ISCLanguageProvider {
-
-	/** 
-	 * @return  meta information about the language
-	 */
-	ISCLanguage getLanguage();
-	
-	/** 
-	 * Determins if a statechart is instance of the statechart language.
-	 * @param sc
-	 * @return
-	 */
-	boolean isInstanceOfLanguage(Statechart sc);
-	
-	/**
-	 * Provides the guice module that contains the implementation.
-	 * @return a module
-	 */
-	Module getSimulationModule();
-	
-}

+ 0 - 72
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/SCLanguageProviders.java

@@ -1,72 +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.simulation.core.language;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.yakindu.sct.model.sgraph.Statechart;
-
-import com.google.inject.Module;
-import com.google.inject.util.Modules;
-
-/**
- * Handles a set of language providers and provides language dependencies resolving features.
- * 
- * @author terfloth - Initial contribution
- *
- */
-public class SCLanguageProviders {
-
-	protected SCLanguages languages = new SCLanguages();
-	protected Map<String, ISCLanguageProvider> providerMap = new HashMap<String, ISCLanguageProvider>();
-	
-	public void addLanguageProvider(ISCLanguageProvider provider) {
-		if (! languages.contains(provider.getLanguage()) ) {
-			languages.addLanguage(provider.getLanguage());
-			providerMap.put(provider.getLanguage().getId(), provider);
-		}
-	}
-	
-	public List<ISCLanguageProvider> getLanguageProviders() {
-		return new ArrayList<ISCLanguageProvider>(providerMap.values());
-	}
-	
-	
-	public ISCLanguageProvider getProviderFor(Statechart sc) {
-		for (Iterator<ISCLanguageProvider> iterator = providerMap.values().iterator(); iterator.hasNext();) {
-			ISCLanguageProvider provider = (ISCLanguageProvider) iterator.next();
-			if (provider.isInstanceOfLanguage(sc)) return provider;	
-		}		
-		return null;
-	}
-	
-	
-	public Module getSimulationModuleFor(Statechart sc){
-		return getSimulationModuleForLanguage(getProviderFor(sc).getLanguage());
-	}
-	
-	
-	public Module getSimulationModuleForLanguage(ISCLanguage language) {
-		ISCLanguageProvider provider = providerMap.get(language.getId());
-		Module module = provider.getSimulationModule();
-		
-		ISCLanguage baseLanguage = languages.getBaseLanguage(language);
-		if (baseLanguage != null) {
-			Module baseModule = getSimulationModuleForLanguage(baseLanguage);
-			return Modules.override(baseModule).with(module);
-		}
-		return module;
-	}
-}

+ 0 - 41
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/SCLanguages.java

@@ -1,41 +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.simulation.core.language;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Handles a set of statechart meta information objects and allows resolving dependencies.
- * 
- * @author axel terfloth - Initial contribution
- *
- */
-public class SCLanguages {
-
-	protected Map< String, ISCLanguage> languageMap = new HashMap<String, ISCLanguage>();
-	
-	public void addLanguage(ISCLanguage language) {
-		languageMap.put(language.getId(), language);
-	}
-	
-	public boolean contains(ISCLanguage language) {
-		return languageMap.containsKey(language.getId());
-	}
-	
-	public ISCLanguage getLanguage(String id) {
-		return languageMap.get(id);
-	}
-	
-	ISCLanguage getBaseLanguage(ISCLanguage language) {
-		return getLanguage(language.getBaseLanguageId());
-	}
-}

+ 0 - 83
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/language/SimpleSCLanguage.java

@@ -1,83 +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.simulation.core.language;
-
-/**
- * Simple default implementation of the {@link ISCLanguage} interface.
- * 
- * @author terfloth
- *
- */
-public class SimpleSCLanguage implements ISCLanguage {
-
-	protected String id;
-	protected String name;
-	protected String baseLanguageId;
-	
-	public SimpleSCLanguage(String id, String name, String baseLanguageId) {
-		super();
-		this.id = id;
-		this.name = name;
-		this.baseLanguageId = baseLanguageId;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public String getBaseLanguageId() {
-		return baseLanguageId;
-	}
-
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result
-				+ ((baseLanguageId == null) ? 0 : baseLanguageId.hashCode());
-		result = prime * result + ((id == null) ? 0 : id.hashCode());
-		result = prime * result + ((name == null) ? 0 : name.hashCode());
-		return result;
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		SimpleSCLanguage other = (SimpleSCLanguage) obj;
-		if (baseLanguageId == null) {
-			if (other.baseLanguageId != null)
-				return false;
-		} else if (!baseLanguageId.equals(other.baseLanguageId))
-			return false;
-		if (id == null) {
-			if (other.id != null)
-				return false;
-		} else if (!id.equals(other.id))
-			return false;
-		if (name == null) {
-			if (other.name != null)
-				return false;
-		} else if (!name.equals(other.name))
-			return false;
-		return true;
-	}
-
-	
-}

+ 0 - 2
plugins/org.yakindu.sct.ui.editor/META-INF/MANIFEST.MF

@@ -41,7 +41,6 @@ Require-Bundle: org.eclipse.core.runtime,
  org.yakindu.sct.ui,
  org.yakindu.sct.model.sgraph,
  org.yakindu.sct.model.sgraph.edit,
- org.yakindu.sct.model.stext.resource,
  org.eclipse.xtext.builder,
  org.yakindu.sct.model.sgraph.ui,
  org.eclipse.gmf.runtime.emf.type.ui,
@@ -59,7 +58,6 @@ Export-Package: org.yakindu.sct.ui.editor,
  org.yakindu.sct.ui.editor.editor.figures,
  org.yakindu.sct.ui.editor.editor.figures.utils,
  org.yakindu.sct.ui.editor.editparts,
- org.yakindu.sct.ui.editor.extensions,
  org.yakindu.sct.ui.editor.factories,
  org.yakindu.sct.ui.editor.partitioning,
  org.yakindu.sct.ui.editor.policies,

+ 0 - 1
plugins/org.yakindu.sct.ui.editor/plugin.xml

@@ -3,7 +3,6 @@
 <plugin>
 	<!-- Extension Points -->
 	
-   <extension-point id="expressions" name="org.yakindu.sct.ui.editor.expressions" schema="schema/expressions.exsd"/>
    <extension-point id="org.yakindu.sct.ui.editor.proposals" name="proposals" schema="schema/org.yakindu.sct.ui.editor.proposals.exsd"/>
   
     <!-- Editor -->

+ 0 - 116
plugins/org.yakindu.sct.ui.editor/schema/expressions.exsd

@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.yakindu.sct.ui.editor" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.yakindu.sct.ui.editor" id="org.yakindu.sct.ui.editor.expressions" name="org.yakindu.sct.ui.editor.expressions"/>
-      </appinfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="ExpressionLanguageProvider" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ExpressionLanguageProvider">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.yakindu.sct.statechart.diagram.expressions.IExpressionsProvider"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="resourceExtension" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="semanticTarget" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>

+ 6 - 5
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editor/StatechartDiagramEditor.java

@@ -35,17 +35,18 @@ import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.ui.ide.IGotoMarker;
 import org.eclipse.xtext.ui.XtextProjectHelper;
+import org.yakindu.sct.domain.extension.DomainRegistry;
+import org.yakindu.sct.domain.extension.IDomainModuleProvider;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.ui.editor.DiagramActivator;
 import org.yakindu.sct.ui.editor.editor.proposals.ContentProposalViewerKeyHandler;
-import org.yakindu.sct.ui.editor.extensions.ExpressionLanguageProviderExtensions;
-import org.yakindu.sct.ui.editor.extensions.IExpressionLanguageProvider;
 import org.yakindu.sct.ui.editor.partitioning.DiagramPartitioningEditor;
 import org.yakindu.sct.ui.editor.partitioning.DiagramPartitioningUtil;
 import org.yakindu.sct.ui.editor.utils.HelpContextIds;
 import org.yakindu.sct.ui.editor.validation.SCTValidationJob;
 
+import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.xtext.utils.gmf.resource.DirtyStateListener;
@@ -106,9 +107,9 @@ public class StatechartDiagramEditor extends DiagramPartitioningEditor implement
 		final IFile file = ((IFileEditorInput) getEditorInput()).getFile();
 		validationJob = new SCTValidationJob();
 		validationJob.setResource(getDiagram().eResource());
-		IExpressionLanguageProvider registeredProvider = ExpressionLanguageProviderExtensions.getLanguageProvider(
-				Statechart.class.getName(), file.getFileExtension());
-		Injector injector = registeredProvider.getInjector();
+		IDomainModuleProvider moduleProvider = DomainRegistry.getDomainDescriptor(getDiagram().getElement())
+				.getModuleProvider();
+		Injector injector = Guice.createInjector(moduleProvider.getEmbeddedEditorModule(Statechart.class.getName()));
 		injector.injectMembers(validationJob);
 		validationJob.setRule(file);
 	}

+ 5 - 5
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/PlugableExternalXtextLabelEditPart.java

@@ -22,12 +22,13 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
 import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.yakindu.sct.domain.extension.DomainRegistry;
+import org.yakindu.sct.domain.extension.IDomainModuleProvider;
 import org.yakindu.sct.model.sgraph.SpecificationElement;
 import org.yakindu.sct.ui.editor.DiagramActivator;
-import org.yakindu.sct.ui.editor.extensions.ExpressionLanguageProviderExtensions;
-import org.yakindu.sct.ui.editor.extensions.IExpressionLanguageProvider;
 import org.yakindu.sct.ui.editor.policies.EAttributeDirectEditPolicy;
 
+import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.gmf.runtime.commons.parsers.StringAttributeParser;
@@ -68,9 +69,8 @@ public abstract class PlugableExternalXtextLabelEditPart extends ExternalXtextLa
 	}
 
 	private void init(String target) {
-		IExpressionLanguageProvider registeredProvider = ExpressionLanguageProviderExtensions.getLanguageProvider(
-				target, resolveSemanticElement().eResource().getURI().fileExtension());
-		injector = registeredProvider.getInjector();
+		IDomainModuleProvider moduleProvider = DomainRegistry.getDomainDescriptor(resolveSemanticElement()).getModuleProvider();
+		injector = Guice.createInjector(moduleProvider.getEmbeddedEditorModule(target));
 	}
 
 	@Override

+ 6 - 5
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/PlugableXtextLabelEditPart.java

@@ -22,12 +22,13 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
 import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.yakindu.sct.domain.extension.DomainRegistry;
+import org.yakindu.sct.domain.extension.IDomainModuleProvider;
 import org.yakindu.sct.model.sgraph.SpecificationElement;
 import org.yakindu.sct.ui.editor.DiagramActivator;
-import org.yakindu.sct.ui.editor.extensions.ExpressionLanguageProviderExtensions;
-import org.yakindu.sct.ui.editor.extensions.IExpressionLanguageProvider;
 import org.yakindu.sct.ui.editor.policies.EAttributeDirectEditPolicy;
 
+import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.gmf.runtime.commons.parsers.StringAttributeParser;
@@ -68,9 +69,9 @@ public abstract class PlugableXtextLabelEditPart extends XtextLabelEditPart impl
 	}
 
 	private void init(String target) {
-		IExpressionLanguageProvider registeredProvider = ExpressionLanguageProviderExtensions.getLanguageProvider(
-				target, resolveSemanticElement().eResource().getURI().fileExtension());
-		injector = registeredProvider.getInjector();
+		IDomainModuleProvider moduleProvider = DomainRegistry.getDomainDescriptor(resolveSemanticElement())
+				.getModuleProvider();
+		injector = Guice.createInjector(moduleProvider.getEmbeddedEditorModule(target));
 	}
 
 	@Override

+ 0 - 66
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/extensions/ExpressionLanguageProviderExtensions.java

@@ -1,66 +0,0 @@
-/**
- * Copyright (c) 2011 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.ui.editor.extensions;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * 
- * @author andreas muelder - Initial contribution and API
- * 
- */
-public class ExpressionLanguageProviderExtensions {
-
-	private static final String EXPRESSIONS_EXTENSION = "org.yakindu.sct.ui.editor.expressions";
-
-	private static final String ATTR_CLASS = "class";
-
-	private static final String ATTR_RESOURCE_EXTENSION = "resourceExtension";
-
-	private static final String ATTR_SEMANTIC_TARGET = "semanticTarget";
-
-	private static final Map<String, IExpressionLanguageProvider> providerMap = new HashMap<String, IExpressionLanguageProvider>();
-
-	protected ExpressionLanguageProviderExtensions() {
-		// Not intended to be instantiated
-	}
-
-	public static IExpressionLanguageProvider getLanguageProvider(String target, String resourceExtension) {
-		IConfigurationElement[] configurationElements = Platform.getExtensionRegistry().getConfigurationElementsFor(
-				EXPRESSIONS_EXTENSION);
-		for (IConfigurationElement configurationElement : configurationElements) {
-			try {
-				String semanticTarget = configurationElement.getAttribute(ATTR_SEMANTIC_TARGET);
-				String registeredExtension = configurationElement.getAttribute(ATTR_RESOURCE_EXTENSION);
-				if (target.equals(semanticTarget) && resourceExtension.equals(registeredExtension)) {
-
-					String key = target + configurationElement.getNamespaceIdentifier();
-					if (providerMap.get(key) != null) {
-						return providerMap.get(key);
-					} else {
-						IExpressionLanguageProvider provider = (IExpressionLanguageProvider) configurationElement
-								.createExecutableExtension(ATTR_CLASS);
-						providerMap.put(key, provider);
-						return provider;
-					}
-				}
-			} catch (CoreException e) {
-				e.printStackTrace();
-			}
-		}
-		return new IExpressionLanguageProvider.NullLanguageProvider();
-	}
-}

+ 0 - 32
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/extensions/IExpressionLanguageProvider.java

@@ -1,32 +0,0 @@
-/**
- * Copyright (c) 2011 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.ui.editor.extensions;
-
-import com.google.inject.Injector;
-
-/**
- * 
- * @author andreas muelder - Initial contribution and API
- * 
- */
-public interface IExpressionLanguageProvider {
-
-	public Injector getInjector();
-
-	public static class NullLanguageProvider implements IExpressionLanguageProvider {
-		public Injector getInjector() {
-			return null;
-		}
-	}
-}
-
-
-

+ 7 - 15
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/propertysheets/AbstractEditorPropertySection.java

@@ -28,9 +28,6 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Layout;
 import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
 import org.eclipse.ui.ISharedImages;
 import org.eclipse.ui.IWorkbenchPartSite;
 import org.eclipse.ui.IWorkbenchWindow;
@@ -40,9 +37,11 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.forms.widgets.ImageHyperlink;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.yakindu.sct.ui.editor.extensions.ExpressionLanguageProviderExtensions;
-import org.yakindu.sct.ui.editor.extensions.IExpressionLanguageProvider;
+import org.yakindu.sct.domain.extension.DomainRegistry;
+import org.yakindu.sct.domain.extension.DomainRegistry.DomainDescriptor;
+import org.yakindu.sct.domain.extension.IDomainModuleProvider;
 
+import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.xtext.utils.jface.fieldassist.CompletionProposalAdapter;
@@ -50,7 +49,6 @@ import de.itemis.xtext.utils.jface.viewers.ContextElementAdapter;
 import de.itemis.xtext.utils.jface.viewers.ContextElementAdapter.IContextElementProvider;
 import de.itemis.xtext.utils.jface.viewers.FilteringMenuManager;
 import de.itemis.xtext.utils.jface.viewers.StyledTextXtextAdapter;
-import de.itemis.xtext.utils.jface.viewers.util.ActiveEditorTracker;
 
 /**
  * 
@@ -139,15 +137,9 @@ public abstract class AbstractEditorPropertySection extends AbstractModelerPrope
 	}
 
 	protected Injector getInjector(String semanticTarget) {
-		IEditorPart editor = ActiveEditorTracker.getLastActiveEditor();
-		IEditorInput editorInput = editor.getEditorInput();
-		if (editorInput instanceof IFileEditorInput) {
-			String extension = ((IFileEditorInput) editorInput).getFile().getFileExtension();
-			IExpressionLanguageProvider registeredProvider = ExpressionLanguageProviderExtensions
-					.getLanguageProvider(semanticTarget, extension);
-			return registeredProvider.getInjector();
-		}
-		return null;
+		DomainDescriptor domainDescriptor = DomainRegistry.getDomainDescriptor(getContextObject());
+		IDomainModuleProvider moduleProvider = domainDescriptor.getModuleProvider();
+		return Guice.createInjector(moduleProvider.getEmbeddedEditorModule(semanticTarget));
 	}
 
 	public EObject getContextObject() {

+ 1 - 24
plugins/org.yakindu.sct.ui.integration.stext/plugin.xml

@@ -1,27 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.yakindu.sct.ui.editor.expressions">
-      <ExpressionLanguageProvider
-            class="org.yakindu.sct.ui.integration.stext.StatechartExpressionProvider"
-            resourceExtension="sct"
-            semanticTarget="org.yakindu.sct.model.sgraph.Statechart">
-      </ExpressionLanguageProvider>
-      <ExpressionLanguageProvider
-            class="org.yakindu.sct.ui.integration.stext.StateExpressionProvider"
-            resourceExtension="sct"
-            semanticTarget="org.yakindu.sct.model.sgraph.State">
-      </ExpressionLanguageProvider>
-      <ExpressionLanguageProvider
-            class="org.yakindu.sct.ui.integration.stext.TransitionExpressionProvider"
-            resourceExtension="sct"
-            semanticTarget="org.yakindu.sct.model.sgraph.Transition">
-      </ExpressionLanguageProvider>
-      <ExpressionLanguageProvider
-            class="org.yakindu.sct.ui.integration.stext.ExpressionExpressionProvider"
-            resourceExtension="sct"
-            semanticTarget="breakpointCondition">
-      </ExpressionLanguageProvider>
-   </extension>
+<plugin>
 </plugin>

+ 1 - 1
test-plugins/org.yakindu.sct.model.stext.resource.test/META-INF/MANIFEST.MF

@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
 Bundle-Name: Yakindu Statechart Tools (SCT) SText Resource Test
 Bundle-SymbolicName: org.yakindu.sct.model.stext.resource.test
 Bundle-Version: 2.4.1.qualifier
-Fragment-Host: org.yakindu.sct.model.stext.resource;bundle-version="1.0.0"
+Fragment-Host: org.yakindu.sct.model.resource;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.junit,
  de.itemis.xtext.utils.jface;bundle-version="1.0.0",

+ 1 - 1
test-plugins/org.yakindu.sct.model.stext.resource.test/src/org/yakindu/sct/model/stext/resource/test/SCTResourceTest.java

@@ -44,7 +44,7 @@ import org.yakindu.sct.model.sgraph.Scope;
 import org.yakindu.sct.model.sgraph.State;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.model.sgraph.Transition;
-import org.yakindu.sct.model.stext.resource.impl.StextResource;
+import org.yakindu.sct.model.stext.resource.StextResource;
 import org.yakindu.sct.model.stext.stext.EventDefinition;
 import org.yakindu.sct.model.stext.stext.ExitEvent;
 import org.yakindu.sct.model.stext.stext.InternalScope;

+ 1 - 1
test-plugins/org.yakindu.sct.model.stext.test/META-INF/MANIFEST.MF

@@ -14,7 +14,7 @@ Require-Bundle: org.eclipse.xtext.junit4;bundle-version="2.0.1",
  org.yakindu.sct.model.stext.ui,
  org.eclipse.core.runtime,
  org.eclipse.ui.workbench;resolution:=optional,
- org.yakindu.sct.model.stext.resource;bundle-version="1.0.0",
+ org.yakindu.sct.model.resource;bundle-version="1.0.0",
  org.eclipse.gmf.runtime.emf.core;bundle-version="1.4.1",
  org.yakindu.sct.test.models;bundle-version="2.1.0",
  org.yakindu.sct.simulation.core.sexec;bundle-version="2.1.2",

+ 1 - 1
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/STextJavaValidatorTest.java

@@ -48,7 +48,7 @@ import org.yakindu.sct.model.sgraph.Transition;
 import org.yakindu.sct.model.sgraph.Trigger;
 import org.yakindu.sct.model.sgraph.Vertex;
 import org.yakindu.sct.model.stext.inferrer.STextTypeInferrer;
-import org.yakindu.sct.model.stext.resource.impl.StextResource;
+import org.yakindu.sct.model.stext.resource.StextResource;
 import org.yakindu.sct.model.stext.stext.ImportScope;
 import org.yakindu.sct.model.stext.stext.InterfaceScope;
 import org.yakindu.sct.model.stext.stext.InternalScope;

+ 2 - 2
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/TypeInferrerTest.java

@@ -23,9 +23,9 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.yakindu.base.expressions.expressions.Expression;
-import org.yakindu.base.types.ITypeSystemRegistry;
 import org.yakindu.base.types.Type;
 import org.yakindu.base.types.inferrer.ITypeSystemInferrer;
+import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.base.types.validation.IValidationIssueAcceptor.ListBasedValidationIssueAcceptor;
 import org.yakindu.sct.model.sgraph.Scope;
 import org.yakindu.sct.model.stext.stext.EventDefinition;
@@ -50,7 +50,7 @@ public class TypeInferrerTest extends AbstractSTextTest {
 	@Rule
 	public ExpectedException exception = ExpectedException.none();
 	@Inject
-	public ITypeSystemRegistry typeSystem;
+	public ITypeSystem typeSystem;
 	@Inject
 	private ITypeSystemInferrer typeInferrer;
 

+ 3 - 3
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/util/AbstractSTextTest.java

@@ -29,12 +29,12 @@ import org.eclipse.xtext.parser.IParseResult;
 import org.eclipse.xtext.parser.IParser;
 import org.eclipse.xtext.resource.impl.ListBasedDiagnosticConsumer;
 import org.eclipse.xtext.util.CancelIndicator;
+import org.yakindu.sct.model.resource.SCTResourceFactory;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Scope;
 import org.yakindu.sct.model.sgraph.SpecificationElement;
 import org.yakindu.sct.model.sgraph.Statechart;
-import org.yakindu.sct.model.stext.resource.factory.StextResourceFactory;
-import org.yakindu.sct.model.stext.resource.impl.StextResource;
+import org.yakindu.sct.model.stext.resource.StextResource;
 import org.yakindu.sct.model.stext.stext.InterfaceScope;
 import org.yakindu.sct.model.stext.stext.InternalScope;
 
@@ -55,7 +55,7 @@ public abstract class AbstractSTextTest {
 	@Inject
 	private ILinker linker;
 	@Inject
-	private StextResourceFactory factory;
+	private SCTResourceFactory factory;
 
 	protected StextResource getResource() {
 		final StextResource resource = (StextResource) factory.createResource(URI.createFileURI(""));

+ 1 - 8
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/util/STextRuntimeTestModule.java

@@ -11,9 +11,7 @@
 package org.yakindu.sct.model.stext.test.util;
 
 import org.eclipse.xtext.scoping.IScopeProvider;
-import org.yakindu.base.types.inferrer.ITypeSystemInferrer;
 import org.yakindu.sct.model.stext.STextRuntimeModule;
-import org.yakindu.sct.model.stext.inferrer.STextTypeInferrer;
 
 /**
  * 
@@ -26,10 +24,5 @@ public class STextRuntimeTestModule extends STextRuntimeModule {
 	public Class<? extends IScopeProvider> bindIScopeProvider() {
 		return STextTestScopeProvider.class;
 	}
-	
-	@Override
-	public Class<? extends ITypeSystemInferrer> bindITypeSystemInferrer() {
-		return STextTypeInferrer.class;
-	}
-	
+
 }

+ 1 - 1
test-plugins/org.yakindu.sct.simulation.core.sexec.test/META-INF/MANIFEST.MF

@@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.runtime,
  org.yakindu.sct.model.sexec;bundle-version="1.0.0",
  org.yakindu.sct.simulation.core;bundle-version="1.0.0",
  org.yakindu.sct.model.stext;bundle-version="1.0.0",
- org.yakindu.sct.model.stext.resource;bundle-version="1.0.0",
+ org.yakindu.sct.model.resource;bundle-version="1.0.0",
  de.itemis.xtext.utils.gmf;bundle-version="1.0.0",
  org.eclipse.gmf.runtime.emf.core;bundle-version="1.4.1",
  org.eclipse.xtext.junit4;bundle-version="2.0.1",

+ 2 - 2
test-plugins/org.yakindu.sct.simulation.core.sexec.test/src/org/yakindu/sct/model/sexec/interpreter/test/STextInterpreterTest.java

@@ -19,8 +19,8 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.yakindu.base.expressions.expressions.Expression;
-import org.yakindu.base.types.ITypeSystemRegistry;
 import org.yakindu.base.types.typesystem.DefaultTypeSystem;
+import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.sct.model.sgraph.Scope;
 import org.yakindu.sct.model.stext.test.util.AbstractSTextTest;
 import org.yakindu.sct.model.stext.test.util.STextInjectorProvider;
@@ -47,7 +47,7 @@ public class STextInterpreterTest extends AbstractSTextTest {
 	@Inject
 	private IStatementInterpreter interpreter;
 	@Inject
-	private ITypeSystemRegistry typeSystem;
+	private ITypeSystem typeSystem;
 
 	@Test
 	public void testIntVariableAssignment() {