diff options
Diffstat (limited to 'tests/junit/plugins/core/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/CopyOfIsNamed.java')
-rw-r--r-- | tests/junit/plugins/core/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/CopyOfIsNamed.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/CopyOfIsNamed.java b/tests/junit/plugins/core/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/CopyOfIsNamed.java new file mode 100644 index 00000000000..187a356d58c --- /dev/null +++ b/tests/junit/plugins/core/org.eclipse.papyrus.core.queries.test/src/org/eclipse/papyrus/core/queries/test/modisco/queries/CopyOfIsNamed.java @@ -0,0 +1,33 @@ +package org.eclipse.papyrus.core.queries.test.modisco.queries; + +import org.eclipse.uml2.uml.LiteralString; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException; +import org.eclipse.emf.facet.infra.query.core.java.IJavaModelQuery; +import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList; + +/** test - test if the name of the element is equal to the specified name */ +public class CopyOfIsNamed implements IJavaModelQuery<NamedElement, Boolean> { + + /** + * {@inheritDoc} + */ + public Boolean evaluate(final NamedElement context, final ParameterValueList parameterValues) + throws ModelQueryExecutionException { + // retrieve the parameter name + Object value = parameterValues.getParameterValueByName("name"); + if(value == null) { + throw new ModelQueryExecutionException("The parameter name has no values"); + } + if(!(value instanceof LiteralString)) { + throw new ModelQueryExecutionException("The parameter name does not have a String value"); + } + + if(context == null) { + throw new ModelQueryExecutionException("The context is null, should be a NamedElement"); + } + + return ((LiteralString)value).stringValue().equalsIgnoreCase(context.getName()); + + } +} |