blob: 9e1f6d3e358dc66a1b443e58f4cf0b3f842594ba [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2018 Willink Transformations 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:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.examples.test.ecore;
import org.apache.log4j.Appender;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.ocl.examples.pivot.tests.PivotTestCaseWithAutoTearDown;
import org.eclipse.ocl.examples.xtext.tests.TestCaseAppender;
import org.eclipse.ocl.examples.xtext.tests.TestCaseLogger;
import org.eclipse.ocl.pivot.internal.resource.ProjectMap;
import org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap;
import org.eclipse.ocl.pivot.resource.ProjectManager;
import org.eclipse.ocl.pivot.utilities.ClassUtil;
/**
*/
public abstract class AbstractProjectMapTest extends PivotTestCaseWithAutoTearDown
{
/* protected void doTestProjectMapRegistered(/ *@NonNull* / EPackage modelPackage, @NonNull String modelPath) {
URI nsURI = URI.createURI(modelPackage.getNsURI());
URI pluginURI = URI.createPlatformPluginURI(modelPath, true);
URI resourceURI = URI.createPlatformResourceURI(modelPath, true);
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
ProjectMap getProjectMap() = new ProjectMap();
getProjectMap().initializeResourceSet(resourceSet);
// IProjectDescriptor projectDescriptor = getProjectMap().getProjectDescriptor(project);
// IPackageDescriptor packageDescriptor = projectDescriptor.getPackageDescriptor(nsURI);
getProjectMap().configure(resourceSet, StandaloneProjectMap.LoadModelStrategy.INSTANCE, null);
Resource registeredResource = resourceSet.getPackageRegistry().getEPackage(nsURI.toString()).eResource();
assertNull(registeredResource.getResourceSet()); // Registered packages have a private shared resource
assertEquals(registeredResource.getURI(), nsURI);
Resource platformPluginEObject = resourceSet.getResource(pluginURI, true);
Resource platformResourceEObject = resourceSet.getResource(resourceURI, true);
assertEquals(registeredResource, platformPluginEObject);
assertEquals(registeredResource, platformResourceEObject);
assertNull(registeredResource.getResourceSet());
} */
/* protected void doTestProjectMapLocal(@NonNull EPackage ePackage, @NonNull String project, @NonNull String modelPath) {
ProjectMap.getResourceFactoryRegistry(null).getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
@NonNull URI nsURI = URI.createURI(ePackage.getNsURI());
@NonNull URI platformPluginURI = URI.createPlatformPluginURI(modelPath, true);
@NonNull URI platformResourceURI = URI.createPlatformResourceURI(modelPath, true);
ProjectMap getProjectMap() = new ProjectMap();
IProjectDescriptor projectDescriptor = getProjectMap().getProjectDescriptor(project);
assert projectDescriptor != null;
IPackageDescriptor packageDescriptor = projectDescriptor.getPackageDescriptor(nsURI);
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadEPackageStrategy.INSTANCE, null);
Resource resource = resourceSet.getPackageRegistry().getEPackage(nsURI.toString()).eResource();
assertTrue(ClassUtil.isRegistered(resource));
assertEquals(nsURI, resource.getURI());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertEquals(resource, platformPluginEObject);
assertEquals(resource, platformResourceEObject);
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadModelStrategy.INSTANCE, null);
Resource resource = resourceSet.getPackageRegistry().getEPackage(nsURI.toString()).eResource();
assertFalse(ClassUtil.isRegistered(resource));
assertEquals(platformResourceURI, resource.getURI());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertEquals(resource, platformPluginEObject);
assertEquals(resource, platformResourceEObject);
}
} */
@Override
protected void setUp() throws Exception {
super.setUp();
TestCaseAppender.INSTANCE.install();
}
protected void doTestProjectMap_LoadBoth(/*@NonNull*/ EPackage ePackage, @NonNull String project, @NonNull String modelPath, @NonNull String fragment) {
ProjectMap.getResourceFactoryRegistry(null).getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
@NonNull URI platformPluginURI = URI.createPlatformPluginURI(modelPath, true);
@NonNull URI platformResourceURI = URI.createPlatformResourceURI(modelPath, true);
@NonNull URI nsURI = URI.createURI(ePackage.getNsURI());
@NonNull URI platformPluginEObjectURI = platformPluginURI.appendFragment(fragment);
@NonNull URI platformResourceEObjectURI = platformResourceURI.appendFragment(fragment);
ProjectManager.IProjectDescriptor projectDescriptor = getProjectMap().getProjectDescriptor(project);
assert projectDescriptor != null;
ProjectManager.IPackageDescriptor packageDescriptor = projectDescriptor.getPackageDescriptor(nsURI);
assert packageDescriptor != null;
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadBothStrategy.INSTANCE, null);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertFalse(ClassUtil.isRegistered(platformPluginEObject.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(platformPluginURI, platformPluginEObject.eResource().getURI());
assertFalse(nsEPackage == platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadBothStrategy.INSTANCE, null);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertFalse(ClassUtil.isRegistered(platformPluginEObject.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(platformPluginURI, platformPluginEObject.eResource().getURI());
assertFalse(nsEPackage == platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadBothStrategy.INSTANCE, null);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertFalse(ClassUtil.isRegistered(platformPluginEObject.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(platformResourceURI, platformPluginEObject.eResource().getURI());
assertFalse(nsEPackage == platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
}
}
protected void doTestProjectMap_LoadDefault(/*@NonNull*/ EPackage ePackage, @NonNull String project, @NonNull String modelPath, @NonNull String fragment, boolean selfReferential) {
Iterable<Appender> savedAppenders = TestCaseLogger.INSTANCE.install();
try {
ProjectMap.getResourceFactoryRegistry(null).getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
@NonNull URI platformPluginURI = URI.createPlatformPluginURI(modelPath, true);
@NonNull URI platformResourceURI = URI.createPlatformResourceURI(modelPath, true);
@NonNull URI nsURI = URI.createURI(ePackage.getNsURI());
@NonNull URI platformPluginEObjectURI = platformPluginURI.appendFragment(fragment);
@NonNull URI platformResourceEObjectURI = platformResourceURI.appendFragment(fragment);
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(nsEPackage, platformPluginEObject);
assertEquals(nsEPackage, platformResourceEObject);
assertEquals("Conflicting access to '" + platformResourceURI + "' or '" + platformPluginURI + "' already accessed as '" + nsURI + "'", TestCaseLogger.INSTANCE.get());
}
TestCaseLogger.INSTANCE.clear();
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertEquals(selfReferential, ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(selfReferential, !platformPluginURI.equals(nsEPackage.eResource().getURI()));
assertEquals(selfReferential, nsEPackage != platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
if (!selfReferential) {
assertEquals(selfReferential ? "" : "Conflicting access to '" + nsURI + "' already accessed as '" + platformPluginURI + "'", TestCaseLogger.INSTANCE.get());
}
}
TestCaseLogger.INSTANCE.clear();
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertEquals(selfReferential, ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(selfReferential, !platformResourceURI.equals(nsEPackage.eResource().getURI()));
assertEquals(selfReferential, nsEPackage != platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
if (!selfReferential) {
assertEquals(selfReferential ? "" : "Conflicting access to '" + nsURI + "' already accessed as '" + platformResourceURI + "'", TestCaseLogger.INSTANCE.get());
}
}
} finally {
TestCaseLogger.INSTANCE.uninstall(savedAppenders);
}
}
protected void doTestProjectMap_LoadEPackage(/*@NonNull*/ EPackage ePackage, @NonNull String project, @NonNull String modelPath, @NonNull String fragment) {
ProjectMap.getResourceFactoryRegistry(null).getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
@NonNull URI platformPluginURI = URI.createPlatformPluginURI(modelPath, true);
@NonNull URI platformResourceURI = URI.createPlatformResourceURI(modelPath, true);
@NonNull URI nsURI = URI.createURI(ePackage.getNsURI());
@NonNull URI platformPluginEObjectURI = platformPluginURI.appendFragment(fragment);
@NonNull URI platformResourceEObjectURI = platformResourceURI.appendFragment(fragment);
ProjectManager.IProjectDescriptor projectDescriptor = getProjectMap().getProjectDescriptor(project);
assert projectDescriptor != null;
ProjectManager.IPackageDescriptor packageDescriptor = projectDescriptor.getPackageDescriptor(nsURI);
assert packageDescriptor != null;
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadGeneratedPackageStrategy.INSTANCE, null);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(nsEPackage, platformPluginEObject);
assertEquals(nsEPackage, platformResourceEObject);
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadGeneratedPackageStrategy.INSTANCE, null);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(nsEPackage, platformPluginEObject);
assertEquals(nsEPackage, platformResourceEObject);
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadGeneratedPackageStrategy.INSTANCE, null);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(nsEPackage, platformPluginEObject);
assertEquals(nsEPackage, platformResourceEObject);
}
}
protected void doTestProjectMap_LoadFirst(/*@NonNull*/ EPackage ePackage, @NonNull String project, @NonNull String modelPath, @NonNull String fragment, boolean selfReferential) {
ProjectMap.getResourceFactoryRegistry(null).getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
@NonNull URI platformPluginURI = URI.createPlatformPluginURI(modelPath, true);
@NonNull URI platformResourceURI = URI.createPlatformResourceURI(modelPath, true);
@NonNull URI nsURI = URI.createURI(ePackage.getNsURI());
@NonNull URI platformPluginEObjectURI = platformPluginURI.appendFragment(fragment);
@NonNull URI platformResourceEObjectURI = platformResourceURI.appendFragment(fragment);
ProjectManager.IProjectDescriptor projectDescriptor = getProjectMap().getProjectDescriptor(project);
assert projectDescriptor != null;
ProjectManager.IPackageDescriptor packageDescriptor = projectDescriptor.getPackageDescriptor(nsURI);
assert packageDescriptor != null;
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadFirstStrategy.INSTANCE, StandaloneProjectMap.MapToFirstConflictHandler.INSTANCE);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertTrue(ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(nsURI.toString(), nsEPackage.getNsURI());
assertEquals(nsEPackage, platformPluginEObject);
assertEquals(nsEPackage, platformResourceEObject);
resourceSet.eAdapters().remove(getProjectMap());
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadFirstStrategy.INSTANCE, StandaloneProjectMap.MapToFirstConflictHandler.INSTANCE);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertEquals(selfReferential, ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(selfReferential, !platformPluginURI.equals(nsEPackage.eResource().getURI()));
assertEquals(selfReferential, nsEPackage != platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
resourceSet.eAdapters().remove(getProjectMap());
}
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadFirstStrategy.INSTANCE, StandaloneProjectMap.MapToFirstConflictHandler.INSTANCE);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertEquals(selfReferential, ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(selfReferential, !platformResourceURI.equals(nsEPackage.eResource().getURI()));
assertEquals(selfReferential, nsEPackage != platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
resourceSet.eAdapters().remove(getProjectMap());
}
}
protected void doTestProjectMap_LoadModel(/*@NonNull*/ EPackage ePackage, @NonNull String project, @NonNull String modelPath, @NonNull String fragment, boolean selfReferential) {
Iterable<Appender> savedAppenders = TestCaseLogger.INSTANCE.install();
try {
ProjectMap.getResourceFactoryRegistry(null).getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
@NonNull URI platformPluginURI = URI.createPlatformPluginURI(modelPath, true);
@NonNull URI platformResourceURI = URI.createPlatformResourceURI(modelPath, true);
@NonNull URI nsURI = URI.createURI(ePackage.getNsURI());
@NonNull URI platformPluginEObjectURI = platformPluginURI.appendFragment(fragment);
@NonNull URI platformResourceEObjectURI = platformResourceURI.appendFragment(fragment);
ProjectManager.IProjectDescriptor projectDescriptor = getProjectMap().getProjectDescriptor(project);
assert projectDescriptor != null;
ProjectManager.IPackageDescriptor packageDescriptor = projectDescriptor.getPackageDescriptor(nsURI);
assert packageDescriptor != null;
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadDynamicResourceStrategy.INSTANCE, null);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
assertFalse(ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(platformResourceURI, nsEPackage.eResource().getURI());
assertEquals(nsEPackage, platformPluginEObject);
assertEquals(nsEPackage, platformResourceEObject);
assertEquals(selfReferential ? "Attempt to load self-referential '" + nsURI + "' as model replaced by registered EPackage" : "", TestCaseLogger.INSTANCE.get());
}
TestCaseLogger.INSTANCE.clear();
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadDynamicResourceStrategy.INSTANCE, null);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertEquals(false/*selfReferential*/, ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(false/*selfReferential*/, !platformPluginURI.equals(nsEPackage.eResource().getURI()));
assertEquals(false/*selfReferential*/, nsEPackage != platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
// assertEquals(false/*selfReferential*/ ? "Attempt to load self-referential '" + nsURI + "' as model replaced by registered EPackage" : "", TestCaseLogger.INSTANCE.get());
}
TestCaseLogger.INSTANCE.clear();
{
ResourceSet resourceSet = new ResourceSetImpl();
getProjectMap().initializeResourceSet(resourceSet);
packageDescriptor.configure(resourceSet, StandaloneProjectMap.LoadDynamicResourceStrategy.INSTANCE, null);
EObject platformResourceEObject = resourceSet.getEObject(platformResourceEObjectURI, true);
EObject platformPluginEObject = resourceSet.getEObject(platformPluginEObjectURI, true);
EPackage nsEPackage = resourceSet.getPackageRegistry().getEPackage(nsURI.toString());
assertEquals(false/*selfReferential*/, ClassUtil.isRegistered(nsEPackage.eResource()));
assertEquals(false/*selfReferential*/, !platformResourceURI.equals(nsEPackage.eResource().getURI()));
assertEquals(false/*selfReferential*/, nsEPackage != platformPluginEObject);
assertEquals(platformPluginEObject, platformResourceEObject);
// assertEquals(false/*selfReferential*/ ? "Attempt to load self-referential '" + nsURI + "' as model replaced by registered EPackage" : "", TestCaseLogger.INSTANCE.get());
}
} finally {
TestCaseLogger.INSTANCE.uninstall(savedAppenders);
}
}
}