diff --git a/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/plugin.xml b/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/plugin.xml index df7b022..2889516 100644 --- a/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/plugin.xml +++ b/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/plugin.xml @@ -8,19 +8,10 @@ name="org.eclipse.gemoc.metaprog.kermeta3" validator="org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider.Kermeta3RuleProvider"> - - - - + optional="false" + validationRule="org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider.Kermeta3Rule"> diff --git a/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3Rule.java b/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3Rule.java new file mode 100644 index 0000000..a3b8940 --- /dev/null +++ b/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3Rule.java @@ -0,0 +1,22 @@ +package org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider; + +import org.eclipse.gemoc.dsl.Entry; +import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.ILanguageComponentValidator; +import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.Message; +import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.Severity; +import org.eclipse.gemoc.xdsmlframework.extensions.kermeta3.Kermeta3RuleHelper; + +public class Kermeta3Rule implements ILanguageComponentValidator { + + private Kermeta3RuleHelper k3Helper = new Kermeta3RuleHelper(true); + + + @Override + public Message validate(Entry entry) { + if("k3".matches(entry.getKey())) { + return k3Helper.execute(entry.getValue(), entry.eResource().getURI()); + } + return(new Message("", Severity.DEFAULT)); + } + +} diff --git a/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3RuleProvider.java b/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3RuleProvider.java deleted file mode 100644 index a834311..0000000 --- a/java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3RuleProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.IRule; -import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.IRuleProvider; -import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.EcoreRule; -import org.eclipse.gemoc.xdsmlframework.extensions.kermeta3.Kermeta3Rule; - - -/** - * RuleProvider used for the Kermeta3 meta-programming approach - * @author GUEGUEN Ronan - * - */ -public class Kermeta3RuleProvider implements IRuleProvider { - - private Set ruleSet = new HashSet(); - - /** - * Creates a RuleProvider for the Kermeta3 meta-programming approach, contains rules from the Ecore RuleProvider - */ - public Kermeta3RuleProvider() { - ruleSet.add(new EcoreRule()); - ruleSet.add(new Kermeta3Rule(true)); - } - - @Override - public Collection getValidationRules(){ - return ruleSet; - - } - -}