/******************************************************************************* * Copyright (c) 2012-2015 INRIA. * 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: * Generoso Pagano - initial API and implementation ******************************************************************************/ /** * */ package fr.inria.soctrace.test.junit.utils; import fr.inria.soctrace.lib.model.Tool; import fr.inria.soctrace.lib.model.Trace; import fr.inria.soctrace.lib.model.utils.SoCTraceException; import fr.inria.soctrace.lib.search.ITraceSearch; import fr.inria.soctrace.lib.search.TraceSearch; import fr.inria.soctrace.test.junit.utils.importer.VirtualImporter; /** * Loader for resources generated by the PrepareTestResource * program. * * @author "Generoso Pagano <generoso.pagano@inria.fr>" */ public class ResourceLoader { private static Tool virtualImporterTool = null; private static Tool junitTool = null; private static Trace processedTrace = null; private static Trace testTrace = null; /** * Static getter for Virtual Importer Tool */ public static Tool getVirtualImporterTool() { if (virtualImporterTool != null) return virtualImporterTool; loadAll(); return virtualImporterTool; } /** * Static getter for JUnit Dummy Tool */ public static Tool getJunitTestTool() { if (junitTool != null) return junitTool; loadAll(); return junitTool; } /** * Static getter for JUnit Dummy Processed Trace */ public static Trace getJunitProcessedTrace() { if (processedTrace != null) return processedTrace; loadAll(); return processedTrace; } /** * Static getter for JUnit Test Virtual Trace */ public static Trace getVirtualTrace() { if (testTrace != null) return testTrace; loadAll(); return testTrace; } /** * Load all default model elements from DBs. * Do it once to minimize search interface overhead. */ private static void loadAll() { try { ITraceSearch search = new TraceSearch().initialize(); if (testTrace == null) testTrace = search.getTraceByDBName(VirtualImporter.DB_NAME); if (processedTrace == null) processedTrace = search.getTraceByDBName(TestConstants.PROCESSED_TRACE_DB_NAME); if (virtualImporterTool == null) virtualImporterTool = search.getToolByName(TestConstants.VIRTUAL_IMPORTER_TOOL_NAME); if (junitTool == null) junitTool = search.getToolByName(TestConstants.JUNIT_TEST_TOOL_NAME); search.uninitialize(); } catch (SoCTraceException e) { e.printStackTrace(); } } }