Association_Impl returns Association: {Association} (isAbstract?='isAbstract')? 'assoc' name=ID ('specializes' generalization+=Generalization_Impl)? '{' //The properties of an association are the association ends whose values are // the instances being related by a specific instance of the association. //Two properties (asso ends) are prescribed, one is optional (ownedEnd+=Property_Association_Impl)* //member-end min 2x 'role_1:' memberEnd+=[Property|QualifiedName] ';' 'role_2:' memberEnd+=[Property|QualifiedName] ';' ('further_roles: '(memberEnd+=[Property|QualifiedName] ';')* )? '}' ;
!STACK 0 org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=1, size=0 at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:346) at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.hasNext(EContentsEList.java:478) at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.next(EContentsEList.java:559) at org.eclipse.emf.common.util.AbstractTreeIterator.next(AbstractTreeIterator.java:133) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.clearAllReferences(AbstractCleaningLinker.java:75) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.beforeModelLinked(AbstractCleaningLinker.java:65) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.linkModel(AbstractCleaningLinker.java:37) at org.eclipse.xtext.resource.XtextResource.doLinking(XtextResource.java:282) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLinking(LazyLinkingResource.java:88) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:250) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:240) at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:163) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:81) at org.eclipse.xtext.resource.XtextResource.reparse(XtextResource.java:186) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:207) at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.process(AbstractReadWriteAcces.java:111) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$DocumentListener.performNecessaryUpdates(XtextReconciler.java:95) at org.eclipse.xtext.ui.editor.model.XtextDocument.updateContentBeforeRead(XtextDocument.java:147) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.beforeReadOnly(XtextDocument.java:168) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.beforeReadOnly(XtextDocument.java:1) at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.readOnly(AbstractReadWriteAcces.java:61) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:228) at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:79) at org.eclipse.xtext.ui.editor.validation.ValidationJob.createIssues(ValidationJob.java:75) at org.eclipse.xtext.ui.editor.validation.ValidationJob.run(ValidationJob.java:64) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: org.eclipse.xtext.validation.IConcreteSyntaxValidator$InvalidConcreteSyntaxException: These errors need to be fixed before the model can be serialized. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a': The feature Association.memberEnd contains non-transient values but has no corresponding assignment in rule PackageableElement. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a'.ownedEnd[0]->Property'memeberEnd_1': The feature TypedElement(Property).type contains non-transient values but has no corresponding assignment in rule Property_Association_Impl. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a'.ownedEnd[0]->Property'memeberEnd_1': The feature Property.association contains non-transient values but has no corresponding assignment in rule Property_Association_Impl. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a'.ownedEnd[0]->Property'memeberEnd_1': The feature Property.association contains non-transient values but has no corresponding assignment in rule Property_Impl. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a'.ownedEnd[1]->Property'memeberEnd_2': The feature TypedElement(Property).type contains non-transient values but has no corresponding assignment in rule Property_Association_Impl. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a'.ownedEnd[1]->Property'memeberEnd_2': The feature Property.association contains non-transient values but has no corresponding assignment in rule Property_Association_Impl. Model.packagedElement[0]->Package'de'.packagedElement[2]->Association'a'.ownedEnd[1]->Property'memeberEnd_2': The feature Property.association contains non-transient values but has no corresponding assignment in rule Property_Impl.
override apply(EObject element, IModificationContext context) throws Exception { //adding some properties for the association if (element instanceof Association){ val asso = element as Association val prop1 = UMLFactory.eINSTANCE.createProperty() prop1.name = "memeberEnd_1" //simple acces to a class, in the xtext-file a class is created at the first place prop1.type = asso.nearestPackage.ownedTypes.get(0) println(prop1.type.name) val prop2 = UMLFactory.eINSTANCE.createProperty() prop2.name = "memeberEnd_2" prop2.type = asso.nearestPackage.ownedTypes.get(0) println(prop2.type.name) asso.getOwnedEnds.add(prop1) asso.getOwnedEnds.add(prop2) }
1 [Worker-3] ERROR org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy - Parsing in reconciler failed. org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=1, size=0 at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:346) at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.hasNext(EContentsEList.java:478) at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.next(EContentsEList.java:559) at org.eclipse.emf.common.util.AbstractTreeIterator.next(AbstractTreeIterator.java:133) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.clearAllReferences(AbstractCleaningLinker.java:75) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.beforeModelLinked(AbstractCleaningLinker.java:65) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.linkModel(AbstractCleaningLinker.java:37) at org.eclipse.xtext.resource.XtextResource.doLinking(XtextResource.java:282) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLinking(LazyLinkingResource.java:88) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:250) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:240) at org.eclipse.xtext.resource.XtextResource.update(XtextResource.java:221) at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.doReconcile(XtextDocumentReconcileStrategy.java:125) at org.eclipse.xtext.ui.editor.reconciler.XtextDocumentReconcileStrategy.reconcile(XtextDocumentReconcileStrategy.java:55) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.doRun(XtextReconciler.java:329) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.access$3(XtextReconciler.java:316) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$1.process(XtextReconciler.java:273) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler$1.process(XtextReconciler.java:1) at org.eclipse.xtext.util.concurrent.IUnitOfWork$Void.exec(IUnitOfWork.java:36) at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.modify(AbstractReadWriteAcces.java:81) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:201) at org.eclipse.xtext.ui.editor.model.XtextDocument.internalModify(XtextDocument.java:98) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.run(XtextReconciler.java:270) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)