blob: 909bb3d481ec6f6de8641140aca70cd2763d9701 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2019 Mia-Software and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Gregoire DUPE (Mia-Software)
*******************************************************************************/
package org.eclipse.modisco.infra.browser.custom.examples.java.jdk.tests;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.ILog;
import org.eclipse.core.runtime.ILogListener;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.modisco.infra.common.core.internal.utils.FileUtils;
import org.eclipse.modisco.infra.common.core.internal.utils.IFilter;
import org.eclipse.modisco.infra.common.core.internal.utils.ProjectUtils;
import org.eclipse.modisco.infra.common.core.logging.MoDiscoLogger;
import org.eclipse.modisco.infra.facet.FacetSet;
import org.eclipse.modisco.infra.facet.core.FacetSetCatalog;
import org.eclipse.modisco.infra.query.ModelQuerySet;
import org.eclipse.modisco.infra.query.core.ModelQuerySetCatalog;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
/**
* @author Gregoire DUPE
*
*/
public class Tests {
private static final String PLUGIN_URI = "platform:/plugin/org.eclipse.modisco.infra.browser.custom.examples.java.jdk"; //$NON-NLS-1$
@Test
public void emfHighlightuiCustom() throws Exception {
URI uri = URI.createURI(Tests.PLUGIN_URI + "/_example_EMFHighlight.uiCustom"); //$NON-NLS-1$
FileUtils.checkEMFResource(uri, 1);
}
@Test
public void jdkAndEclipseFacets() throws Exception {
URI uri = URI.createURI(Tests.PLUGIN_URI
+ "/_example_jdkAndEclipseFacets.facetSet"); //$NON-NLS-1$
FileUtils.checkEMFResource(uri, 1);
FacetSetCatalog catalog = FacetSetCatalog.getSingleton();
FacetSet facetSet = catalog.getFacetSet("_example_jdkAndEclipseFacets"); //$NON-NLS-1$
Assert.assertNotNull(facetSet);
}
@Test
public void jdkAndEclipseFacetsCustomization() throws Exception {
URI uri = URI.createURI(Tests.PLUGIN_URI
+ "/_example_jdkAndEclipseFacetsCustomization.uiCustom"); //$NON-NLS-1$
FileUtils.checkEMFResource(uri, 1);
}
@Test
public void jdkAndEclipseQuerySet() throws Exception {
URI uri = URI.createURI(Tests.PLUGIN_URI
+ "/_example_jdkAndEclipseQuerySet.querySet"); //$NON-NLS-1$
FileUtils.checkEMFResource(uri, 1);
ModelQuerySetCatalog catalog = ModelQuerySetCatalog.getSingleton();
ModelQuerySet querySet = catalog
.getModelQuerySet("_example_jdkAndEclipseQuerySet"); //$NON-NLS-1$
Assert.assertNotNull(querySet);
}
@Test
public void javaExample() throws Exception {
URI uri = URI.createURI(Tests.PLUGIN_URI
+ "/org.eclipse.gmf.runtime.diagram.ui.actions.javaxmi"); //$NON-NLS-1$
FileUtils.checkEMFResource(uri, 1);
}
@Test
public void bug308991() throws CoreException, IOException,
InterruptedException {
final List<IStatus> statusList = new ArrayList<IStatus>();
ILogListener listener = new ILogListener() {
public void logging(final IStatus status, final String plugin) {
statusList.add(status);
}
};
ILog log = Platform.getLog(Platform
.getBundle("org.eclipse.modisco.infra.common.core")); //$NON-NLS-1$
log.addLogListener(listener);
ProjectUtils
.importPlugin(
Platform.getBundle("org.eclipse.modisco.infra.browser.custom.examples.java.jdk"), //$NON-NLS-1$
new IFilter() {
public boolean filter(final Object object) {
boolean result = true;
if (object instanceof File) {
File file = (File) object;
result = !file.getName().equals(
".checkstyle"); //$NON-NLS-1$
} else if (object instanceof String) {
String str = (String) object;
result = !str.equals(".checkstyle"); //$NON-NLS-1$
}
return result;
}
});
IProject project = ResourcesPlugin
.getWorkspace()
.getRoot()
.getProject(
"org.eclipse.modisco.infra.browser.custom.examples.java.jdk"); //$NON-NLS-1$
ProjectUtils.refresh(project);
log.removeLogListener(listener);
if (!statusList.isEmpty()) {
MultiStatus status = new MultiStatus(Activator.getDefault()
.getBundle().getSymbolicName(), IStatus.ERROR, statusList
.toArray(new IStatus[] {}), "Test failed.", new Exception()); //$NON-NLS-1$
CoreException e = new CoreException(status);
MoDiscoLogger.logError(e, Activator.getDefault());
throw e;
}
}
}