| /******************************************************************************* |
| * Copyright (c) 2012, 2014 Obeo. |
| * 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: |
| * Obeo - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.emf.compare.uml2.tests; |
| |
| import java.net.URL; |
| |
| import org.eclipse.emf.common.EMFPlugin; |
| import org.eclipse.emf.common.util.URI; |
| import org.eclipse.emf.ecore.resource.URIConverter; |
| import org.eclipse.uml2.uml.resources.ResourcesPlugin; |
| |
| public abstract class AbstractUMLProfileTest extends AbstractUMLTest { |
| |
| /** |
| * Each sublass of AbstractUMLTest have to call this method in a @BeforeClass annotated method. This allow |
| * each test to customize its context. |
| */ |
| public static void addProfilePathmap() { |
| fillRegistries(); |
| if (!EMFPlugin.IS_ECLIPSE_RUNNING) { |
| final URL UMLJarredFileLocation = ResourcesPlugin.class.getResource("ResourcesPlugin.class"); |
| String UMLJarPath = UMLJarredFileLocation.toString(); |
| UMLJarPath = UMLJarPath.substring(0, UMLJarPath.indexOf('!')); |
| URIConverter.URI_MAP.put(URI.createURI("pathmap://UML_COMPARE_TESTS_PROFILE/"), |
| URI.createURI(getProfilePath())); |
| } |
| } |
| |
| /** |
| * Each sublass of AbstractUMLTest have to call this method in a @BeforeClass annotated method. This allow |
| * each test to safely delete its context. |
| */ |
| public static void resetProfilePathmap() { |
| if (!EMFPlugin.IS_ECLIPSE_RUNNING) { |
| URIConverter.URI_MAP.remove(URI.createURI("pathmap://UML_COMPARE_TESTS_PROFILE/")); |
| } |
| resetRegistries(); |
| } |
| |
| protected static String getProfilePath() { |
| final String thisNamespace = "org.eclipse.emf.compare.uml2.tests"; |
| final URL thisClassLocation = AbstractUMLProfileTest.class |
| .getResource(AbstractUMLProfileTest.class.getSimpleName() + ".class"); |
| String profilePath = thisClassLocation.toString(); |
| profilePath = profilePath.substring(0, profilePath.indexOf(thisNamespace) + thisNamespace.length()); |
| profilePath += "/model/"; |
| return profilePath; |
| } |
| } |