/******************************************************************************* | |
* Copyright (c) 2010 Mia-Software. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: | |
* Nicolas Guyomar (Mia-Software) | |
*******************************************************************************/ | |
package org.eclipse.modisco.jee.queries.tests; | |
import org.eclipse.emf.common.util.TreeIterator; | |
import org.eclipse.emf.common.util.URI; | |
import org.eclipse.emf.ecore.EObject; | |
import org.eclipse.emf.ecore.resource.Resource; | |
import org.eclipse.emf.ecore.resource.ResourceSet; | |
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; | |
import org.eclipse.gmt.modisco.infra.query.ModelQuery; | |
import org.eclipse.gmt.modisco.infra.query.ModelQuerySet; | |
import org.eclipse.gmt.modisco.infra.query.core.AbstractModelQuery; | |
import org.eclipse.gmt.modisco.infra.query.core.ModelQuerySetCatalog; | |
import org.eclipse.gmt.modisco.infra.query.core.exception.ModelQueryException; | |
import org.eclipse.gmt.modisco.java.ClassDeclaration; | |
import org.junit.Assert; | |
import org.junit.Test; | |
public class JeeServletAnnotations { | |
private final String name = "jeeServletAnnotations"; //$NON-NLS-1$ | |
private final ResourceSet resourceSet = new ResourceSetImpl(); | |
@SuppressWarnings("boxing") | |
@Test | |
public void test() throws ModelQueryException { | |
ModelQuerySetCatalog catalog = ModelQuerySetCatalog.getSingleton(); | |
ModelQuerySet querySet = catalog.getModelQuerySet(this.name); | |
Assert.assertNotNull(querySet); | |
// Retrieving some the queries for further testing | |
ModelQuery queryIsMultipartConfig = querySet.getQuery("IsMultipartConfig"); //$NON-NLS-1$ | |
Assert.assertNotNull(queryIsMultipartConfig); | |
// Retrieving some the queries for further testing | |
ModelQuery queryIsWebFilter = querySet.getQuery("IsWebFilter"); //$NON-NLS-1$ | |
Assert.assertNotNull(queryIsWebFilter); | |
// Retrieving some the queries for further testing | |
ModelQuery queryIsWebInitParam = querySet.getQuery("IsWebInitParam"); //$NON-NLS-1$ | |
Assert.assertNotNull(queryIsWebInitParam); | |
// Retrieving some the queries for further testing | |
ModelQuery queryIsWebListener = querySet.getQuery("IsWebListener"); //$NON-NLS-1$ | |
Assert.assertNotNull(queryIsWebListener); | |
// Retrieving some the queries for further testing | |
ModelQuery queryIsWebServlet = querySet.getQuery("IsWebServlet"); //$NON-NLS-1$ | |
Assert.assertNotNull(queryIsWebServlet); | |
URI modelUri = URI | |
.createURI("platform:/plugin/org.eclipse.modisco.jee.queries.tests/resources/AnnotationServlet.javaxmi"); //$NON-NLS-1$ | |
Resource myModel = this.resourceSet.getResource(modelUri, true); | |
TreeIterator<EObject> treeIterator = myModel.getAllContents(); | |
while (treeIterator.hasNext()) { | |
EObject eObject = treeIterator.next(); | |
AbstractModelQuery modelQueryImpl; | |
Boolean result; | |
if (eObject instanceof ClassDeclaration) { | |
ClassDeclaration classDecl = (ClassDeclaration) eObject; | |
if (classDecl.getName() != null) { | |
if (classDecl.getName() | |
.equalsIgnoreCase("InheritFilter")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebFilter); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("InheritGenericServlet")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebServlet); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("InheritServletContextListener")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebListener); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("IsMultipartConfig")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsMultipartConfig); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("IsWebFilter")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebFilter); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("IsWebInitParam")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebInitParam); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("IsWebListener")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebListener); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} else if (classDecl.getName() | |
.equalsIgnoreCase("IsWebServlet")) { //$NON-NLS-1$ | |
modelQueryImpl = catalog | |
.getModelQueryImpl(queryIsWebServlet); | |
result = (Boolean) modelQueryImpl | |
.basicEvaluate(classDecl); | |
Assert.assertTrue(result); | |
} | |
} | |
} | |
} | |
} | |
} |