[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.mdt.uml2] RedefinableTemplateSignature on Operation does not validate

Hi,

I have a (UML2-)model where an Operation-element contains a RedefinableTemplateSignature.

Now if I validate this model using the UMLValidator, it fails, because:

The required feature 'classifier' of 'org.eclipse.uml2.uml.internal.impl.RedefinableTemplateSignatureImpl@10e1a4{file:/D:/.../main.uml#_-MRgaoKZEd6ddeTuI_hc6g}' must be set

There seems to be the constraint, that the feature "classifier" of the RedefinableTemplateSignature-element must be set. But the RedefinableTemplateSignature-element in my case is used on an Operation-element, which should be OK, since an Operation is an TemplateableElement.

Is this a bug or what am I missing?

thank you

P.S.

my model:

<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"; xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML"; xmi:id="_-MRgQIKZEd6ddeTuI_hc6g" name="main">
<packagedElement xmi:type="uml:Package" xmi:id="_-MRgToKZEd6ddeTuI_hc6g" name="foo.bar">
<packagedElement xmi:type="uml:Class" xmi:id="_-MRgWIKZEd6ddeTuI_hc6g" name="MyClass">
<ownedOperation xmi:id="_-MRgZ4KZEd6ddeTuI_hc6g" name="genMethod" visibility="public">
<ownedParameter xmi:id="_-MRgaYKZEd6ddeTuI_hc6g" direction="return">
<type xmi:type="uml:PrimitiveType" href="references.uml#_-MRgcYKZEd6ddeTuI_hc6g"/>
</ownedParameter>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_-MRgaoKZEd6ddeTuI_hc6g" name="signatureForgenMethod" parameter="_-MRga4KZEd6ddeTuI_hc6g">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_-MRga4KZEd6ddeTuI_hc6g" parameteredElement="_-MRgbIKZEd6ddeTuI_hc6g">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_-MRgbIKZEd6ddeTuI_hc6g" name="T" templateParameter="_-MRga4KZEd6ddeTuI_hc6g"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
</packagedElement>
</packagedElement>
</uml:Model>


My validation-method:


private boolean validate( EObject sourceModel, BasicDiagnostic diagnostics )
{
boolean ret = true;


		for( Iterator<?> iter = sourceModel.eAllContents(); iter.hasNext(); )
		{
			EObject currEObject = (EObject) iter.next();

			boolean valRes = UMLValidator.INSTANCE.validate(currEObject,
					diagnostics, null);

			if( valRes == false )
			{
				ret = false;
			}
		}

		return ret;
	}