/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.datamanagement.browser; import java.io.File; import java.io.IOException; import org.apache.commons.logging.LogFactory; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import de.rcenvironment.core.utils.common.TempFileServiceAccess; /** * Activates the Bundle. * * @author Doreen Seider */ public class Activator extends AbstractUIPlugin { private static Activator instance = null; private static File bundleSpecificTempDir; @Override public void start(BundleContext context) throws Exception { super.start(context); instance = this; bundleSpecificTempDir = TempFileServiceAccess.getInstance().createManagedTempDir(); } @Override public void stop(BundleContext context) throws Exception { super.stop(context); TempFileServiceAccess.getInstance().disposeManagedTempDirOrFile(bundleSpecificTempDir); instance = null; } public static Activator getInstance() { return instance; } /** * Provides a temp directory, which should be used in this bundle as root dir in all cases a temp directory or file must be created. If * the temp doesn't exist for some reason, it will be created anew. * * @return the temp dir */ public synchronized File getBundleSpecificTempDir() { if (!(bundleSpecificTempDir.exists() && bundleSpecificTempDir.isDirectory())) { try { bundleSpecificTempDir = TempFileServiceAccess.getInstance().createManagedTempDir(); } catch (IOException e) { LogFactory.getLog(getClass()).error("creating temp dir for dm gui bundle failed", e); } } return bundleSpecificTempDir; } }