From f3b264501e4cc13de87380e0102ae66edf0748de Mon Sep 17 00:00:00 2001 From: Kairides Date: Thu, 11 Jun 2020 10:37:50 +0200 Subject: [PATCH 1/3] LanguageComponent added to plugin + new Kermeta3 rule MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ronan Guéguen --- .../plugin.xml | 7 ++++ .../javaxdsml/ruleprovider/Kermeta3Rule.java | 28 +++++++++++++++ .../ruleprovider/Kermeta3RuleProvider.java | 36 ------------------- 3 files changed, 35 insertions(+), 36 deletions(-) create mode 100644 java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3Rule.java delete mode 100644 java_xdsml/plugins/org.eclipse.gemoc.execution.sequential.javaxdsml.metaprog/src/org/eclipse/gemoc/execution/sequential/javaxdsml/ruleprovider/Kermeta3RuleProvider.java 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 c0950ba..91b7f17 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 @@ -4,8 +4,15 @@ + + 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..09ec72f --- /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,28 @@ +package org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider; + +import org.eclipse.gemoc.dsl.Dsl; +import org.eclipse.gemoc.dsl.Entry; +import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.IRule; +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 IRule { + + private Kermeta3RuleHelper k3Helper = new Kermeta3RuleHelper(true); + + @Override + public Message execute(Dsl dsl) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Message execute(Entry entry) { + if("k3".matches(entry.getKey())) { + return k3Helper.execute(entry); + } + 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; - - } - -} From 8826fd9439de133bf8b39d21662a950e29aa789e Mon Sep 17 00:00:00 2001 From: Kairides Date: Thu, 11 Jun 2020 10:49:39 +0200 Subject: [PATCH 2/3] LanguageComponent description corrected MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ronan Guéguen --- .../plugin.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 91b7f17..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,7 +8,7 @@ name="org.eclipse.gemoc.metaprog.kermeta3" validator="org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider.Kermeta3RuleProvider"> From 61892ec08b424d83399b863800b0123810f5d11a Mon Sep 17 00:00:00 2001 From: Kairides Date: Mon, 15 Jun 2020 15:50:34 +0200 Subject: [PATCH 3/3] Kermeta3 validation changed to fit ILanguageComponentValidator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ronan Guéguen --- .../javaxdsml/ruleprovider/Kermeta3Rule.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) 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 index 09ec72f..a3b8940 100644 --- 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 @@ -1,26 +1,20 @@ package org.eclipse.gemoc.execution.sequential.javaxdsml.ruleprovider; -import org.eclipse.gemoc.dsl.Dsl; import org.eclipse.gemoc.dsl.Entry; -import org.eclipse.gemoc.xdsmlframework.api.extensions.metaprog.IRule; +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 IRule { +public class Kermeta3Rule implements ILanguageComponentValidator { private Kermeta3RuleHelper k3Helper = new Kermeta3RuleHelper(true); - @Override - public Message execute(Dsl dsl) { - // TODO Auto-generated method stub - return null; - } @Override - public Message execute(Entry entry) { + public Message validate(Entry entry) { if("k3".matches(entry.getKey())) { - return k3Helper.execute(entry); + return k3Helper.execute(entry.getValue(), entry.eResource().getURI()); } return(new Message("", Severity.DEFAULT)); }