Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.xtend.util.uml2ecore/src/org/eclipse/xtend/util/uml2ecore/templates/files.xpt')
-rw-r--r--plugins/org.eclipse.xtend.util.uml2ecore/src/org/eclipse/xtend/util/uml2ecore/templates/files.xpt57
1 files changed, 57 insertions, 0 deletions
diff --git a/plugins/org.eclipse.xtend.util.uml2ecore/src/org/eclipse/xtend/util/uml2ecore/templates/files.xpt b/plugins/org.eclipse.xtend.util.uml2ecore/src/org/eclipse/xtend/util/uml2ecore/templates/files.xpt
new file mode 100644
index 00000000..f842319c
--- /dev/null
+++ b/plugins/org.eclipse.xtend.util.uml2ecore/src/org/eclipse/xtend/util/uml2ecore/templates/files.xpt
@@ -0,0 +1,57 @@
+«IMPORT ecore»
+«EXTENSION org::openarchitectureware::util::uml2ecore::templates::utils»
+
+«DEFINE root FOR List»
+ «EXPAND root FOREACH (Collection[EPackage])this»
+«ENDDEFINE»
+
+
+«DEFINE root FOR EPackage»
+ «EXPAND constraintsFile»
+«ENDDEFINE»
+
+«DEFINE constraintsFile FOR EPackage»
+ «FILE name+"Constraints.chk"-»
+import «nsPrefix»;
+
+extension org::openarchitectureware::util::stdlib::naming;
+
+context «eClassifiers.get(0).name» ERROR "dummy - will hopefully be removed sometime :-)": true;
+
+ «EXPAND constraintsForClass FOREACH eAllContents.typeSelect(EClass)-»
+ «IF needsNamingUtils()»
+ «FOREACH eClassifiers.typeSelect(EClass) AS c-»
+ «IF c.eAttributes.collect(a|a.name).contains("name")»
+context «c.name» WARNING loc()+" name not specified: ["+metaType.name+"]":
+ name != null;
+ «ENDIF»
+ «ENDFOREACH»
+ «ENDIF»
+ «ENDFILE»
+«ENDDEFINE»
+
+«DEFINE constraintsForClass FOR EClass-»
+ «FOREACH eReferences AS r-»
+ «IF r.lowerBound == 1-»
+ «IF r.upperBound == 1-»
+context «name» ERROR loc()+" «r.name» must bet set: "+(metaType.getProperty("name") != null ? metaType.getProperty("name").get(this): "") +" ["+metaType.name+"]":
+ «r.name» != null;
+ «ENDIF-»
+ «IF r.upperBound > 1 || r.upperBound == -1-»
+context «name» ERROR loc()+" «r.name» cannot be empty: "+(metaType.getProperty("name") != null ? metaType.getProperty("name").get(this): "") +" ["+metaType.name+"]":
+ !«r.name».isEmpty;
+ «ENDIF-»
+ «ENDIF-»
+ «ENDFOREACH-»
+ «IF ePackage.needsNamingUtils()-»
+ «FOREACH eReferences.select(r|r.containment).select(r|r.upperBound > 1 || r.upperBound == -1) AS r-»
+ «IF ((EClass)r.eType).eAttributes.collect(a|a.name).contains("name")»
+context «r.eType.name» ERROR loc()+" «r.name» must have unique names: "+name:
+ ((«name»)eContainer).«r.name».select( c | c.name == name ).size == 1;
+ «ENDIF»
+ «ENDFOREACH-»
+ «ENDIF-»
+«ENDDEFINE»
+
+
+

Back to the top