Browse Source

Refactored extension points for Generator Core

Andreas Mülder 14 years ago
parent
commit
6db565388e

+ 4 - 3
plugins/org.yakindu.sct.generator.c/plugin.xml

@@ -3,17 +3,18 @@
 
 <plugin>
    <extension
-         point="org.yakindu.sct.generator.core">
+         point="org.yakindu.sct.generator.core.generator">
       <SCTGenerator
-            class="org.yakindu.sct.generator.c.subscriber.CCodeGenerator"
+            class="org.yakindu.sct.generator.c.CCodeGenerator"
             description="YAKINDU C Code Generator"
             id="yakindu::c"
             name="YAKINDU C Code Generator">
       </SCTGenerator>
    </extension>
    <extension
-         point="org.yakindu.sct.generator.genmodel.featuretypes">
+         point="org.yakindu.sct.generator.core.featuretypes">
       <FeatureLibrary
+            defaultProvider="org.yakindu.sct.generator.c.features.CDefaultFeatureValueProvider"
             generatorId="yakindu::c"
             uri="platform:/plugin/org.yakindu.sct.generator.c/library/FeatureTypeLibrary.xmi">
       </FeatureLibrary>

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

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

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

@@ -0,0 +1,24 @@
+package org.yakindu.sct.generator.c.features;
+
+import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.model.sgen.FeatureParameterValue;
+import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
+import org.yakindu.sct.model.sgraph.Statechart;
+
+public class CDefaultFeatureValueProvider extends
+		AbstractDefaultFeatureValueProvider {
+
+	public CDefaultFeatureValueProvider() {
+	}
+
+	public boolean isProviderFor(FeatureTypeLibrary library) {
+		// TODO
+		return false;
+	}
+
+	@Override
+	protected void setDefaultValue(FeatureParameterValue parameterValue,
+			Statechart statechart) {
+	}
+
+}

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

@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
- <extension-point id="org.yakindu.sct.generator.core" name="SCT Generator" schema="schema/generator.exsd"/>
+ <extension-point id="org.yakindu.sct.generator.core.generator" name="SCT Generator" schema="schema/generator.exsd"/>
+  <extension-point id="org.yakindu.sct.generator.core.featuretypes" name="GenModel Feature Types" schema="schema/featuretypes.exsd"/>
  <extension
-         point="org.yakindu.sct.generator.genmodel.featuretypes">
+         point="org.yakindu.sct.generator.core.featuretypes">
       <FeatureLibrary
             generatorId="ALL"
             uri="platform:/plugin/org.yakindu.sct.generator.core/library/FeatureTypeLibrary.xmi">

plugins/org.yakindu.sct.generator.genmodel/schema/org.yakindu.sct.generator.genmodel.featuretypes.exsd → plugins/org.yakindu.sct.generator.core/schema/featuretypes.exsd


+ 1 - 1
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/extensions/AbstractDefaultFeatureValueProvider.java

@@ -1,4 +1,4 @@
-package org.yakindu.sct.generator.genmodel.extensions;
+package org.yakindu.sct.generator.core.features;
 
 import org.eclipse.emf.common.util.EList;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;

+ 5 - 2
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/extensions/IDefaultFeatureValueProvider.java

@@ -1,7 +1,8 @@
-package org.yakindu.sct.generator.genmodel.extensions;
+package org.yakindu.sct.generator.core.features;
 
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureType;
+import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
 import org.yakindu.sct.model.sgraph.Statechart;
 
 /**
@@ -14,5 +15,7 @@ public interface IDefaultFeatureValueProvider {
 	public FeatureConfiguration createDefaultFeatureConfiguration(
 			FeatureType type, Statechart statechart);
 
-	public boolean isProviderFor(String featureTypeName);
+	public boolean isProviderFor(FeatureTypeLibrary library);
+	
+	
 }

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

@@ -1,4 +1,4 @@
-package org.yakindu.sct.generator.genmodel.extensions;
+package org.yakindu.sct.generator.core.features;
 
 import static com.google.common.collect.Iterables.transform;
 import static com.google.common.collect.Lists.newArrayList;

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

@@ -3,7 +3,7 @@
 
 <plugin>
    <extension
-         point="org.yakindu.sct.generator.core">
+         point="org.yakindu.sct.generator.core.generator">
       <SCTGenerator
             class="org.yakindu.sct.generator.cpp.subscriber.CppCodeGenerator"
             description="YAKINDU.org C++ Code Generator"
@@ -12,7 +12,7 @@
       </SCTGenerator>
    </extension>
    <extension
-         point="org.yakindu.sct.generator.genmodel.featuretypes">
+         point="org.yakindu.sct.generator.core.featuretypes">
       <FeatureLibrary
             generatorId="yakindu::cpp"
             uri="platform:/plugin/org.yakindu.sct.generator.cpp/library/FeatureTypeLibrary.xmi">

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

@@ -6,9 +6,9 @@ import java.util.List;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.yakindu.sct.generator.genmodel.extensions.IDefaultFeatureValueProvider;
-import org.yakindu.sct.generator.genmodel.extensions.LibraryExtensions;
-import org.yakindu.sct.generator.genmodel.extensions.LibraryExtensions.LibraryDescriptor;
+import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.features.LibraryExtensions;
+import org.yakindu.sct.generator.core.features.LibraryExtensions.LibraryDescriptor;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureType;
 import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
@@ -66,7 +66,7 @@ public class ModelCreator {
 			IDefaultFeatureValueProvider defaultProvider = desc
 					.createFeatureValueProvider();
 			if (defaultProvider != null
-					&& defaultProvider.isProviderFor(featureType.getName()))
+					&& defaultProvider.isProviderFor((FeatureTypeLibrary)featureType.eContainer()))
 				return defaultProvider.createDefaultFeatureConfiguration(
 						featureType, statechart);
 		}

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

@@ -26,7 +26,6 @@ Import-Package: org.apache.log4j,
  org.eclipse.xtext.xtend2.lib
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.yakindu.sct.generator.genmodel,
- org.yakindu.sct.generator.genmodel.extensions,
  org.yakindu.sct.generator.genmodel.parser.antlr,
  org.yakindu.sct.generator.genmodel.parser.antlr.internal,
  org.yakindu.sct.generator.genmodel.serializer,

+ 1 - 1
plugins/org.yakindu.sct.generator.genmodel/plugin.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
-   <extension-point id="org.yakindu.sct.generator.genmodel.featuretypes" name="GenModel Feature Types" schema="schema/org.yakindu.sct.generator.genmodel.featuretypes.exsd"/>
+  
 </plugin>

+ 2 - 2
plugins/org.yakindu.sct.generator.genmodel/src/org/yakindu/sct/generator/genmodel/scoping/SGenGlobalScopeProvider.java

@@ -9,8 +9,8 @@ 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.SimpleScope;
-import org.yakindu.sct.generator.genmodel.extensions.LibraryExtensions;
-import org.yakindu.sct.generator.genmodel.extensions.LibraryExtensions.LibraryDescriptor;
+import org.yakindu.sct.generator.core.features.LibraryExtensions;
+import org.yakindu.sct.generator.core.features.LibraryExtensions.LibraryDescriptor;
 import org.yakindu.sct.generator.genmodel.resource.FeatureResourceDescription;
 import org.yakindu.sct.model.sgen.GeneratorModel;
 import org.yakindu.sct.model.sgen.SGenPackage;

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

@@ -2,7 +2,7 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension
-         point="org.yakindu.sct.generator.core">
+         point="org.yakindu.sct.generator.core.generator">
       <SCTGenerator
             class="org.yakindu.sct.generator.java.JavaSCTGenerator"
             description="YAKINDU Java Code Generator"
@@ -11,7 +11,7 @@
       </SCTGenerator>
    </extension>
    <extension
-         point="org.yakindu.sct.generator.genmodel.featuretypes">
+         point="org.yakindu.sct.generator.core.featuretypes">
       <FeatureLibrary
             generatorId="yakindu::java"
             uri="platform:/plugin/org.yakindu.sct.generator.java/library/FeatureTypeLibrary.xmi">

+ 7 - 5
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/features/DefaultFeatureValueProvider.java

@@ -3,9 +3,10 @@ package org.yakindu.sct.generator.java.features;
 import static org.yakindu.sct.generator.java.features.IJavaFeatureConstants.BASE_PACKAGE;
 import static org.yakindu.sct.generator.java.features.IJavaFeatureConstants.IMPLEMENTATION_SUFFIX;
 
-import org.yakindu.sct.generator.genmodel.extensions.AbstractDefaultFeatureValueProvider;
-import org.yakindu.sct.generator.genmodel.extensions.IDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.features.AbstractDefaultFeatureValueProvider;
+import org.yakindu.sct.generator.core.features.IDefaultFeatureValueProvider;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
+import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
 import org.yakindu.sct.model.sgraph.Statechart;
 
 /**
@@ -13,7 +14,7 @@ import org.yakindu.sct.model.sgraph.Statechart;
  * @author muelder
  * 
  */
-public class DefaultFeatureValueProvider extends
+public class JavaFeatureValueProvider extends
 		AbstractDefaultFeatureValueProvider implements
 		IDefaultFeatureValueProvider {
 
@@ -28,8 +29,9 @@ public class DefaultFeatureValueProvider extends
 		}
 	}
 
-	public boolean isProviderFor(String featureTypeName) {
-		return IJavaFeatureConstants.NAMING_FEATURE.equals(featureTypeName);
+	public boolean isProviderFor(FeatureTypeLibrary library) {
+		//TODO
+		return false;
 	}
 
 }