diff options
author | afinkbein | 2008-09-09 21:12:56 +0000 |
---|---|---|
committer | afinkbein | 2008-09-09 21:12:56 +0000 |
commit | 8fcab0e421702c05d03c80ebe752dcba258d402c (patch) | |
tree | c8ac270a0496bbfa6797a9d7e67327b4236b3508 | |
parent | f07c98fd2cd19769b742c48f4c7c1ee8f41179b9 (diff) | |
download | org.eclipse.osee-8fcab0e421702c05d03c80ebe752dcba258d402c.tar.gz org.eclipse.osee-8fcab0e421702c05d03c80ebe752dcba258d402c.tar.xz org.eclipse.osee-8fcab0e421702c05d03c80ebe752dcba258d402c.zip |
-rw-r--r-- | org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java index b6788aa1b1c..86896e04d4e 100644 --- a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java @@ -10,9 +10,20 @@ *******************************************************************************/ package org.eclipse.osee.framework.ui.plugin; +import java.io.File; +import java.net.URL; import java.util.logging.Logger; + +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.Platform; +import org.eclipse.osee.framework.db.connection.core.OseeInfo; +import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.plugin.core.config.ConfigUtil; +import org.eclipse.osgi.service.datalocation.Location; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchListener; +import org.eclipse.ui.PlatformUI; import org.osgi.framework.BundleContext; /** @@ -41,6 +52,35 @@ public class OseePluginUiActivator extends OseeUiActivator { public void start(BundleContext context) throws Exception { super.start(context); OseeLog.registerLoggerListener(new EclipseErrorLogLogger()); + PlatformUI.getWorkbench().addWorkbenchListener(new IWorkbenchListener(){ + + @Override + public void postShutdown(IWorkbench workbench) { + } + + @Override + public boolean preShutdown(IWorkbench workbench, boolean forced) { + try{ + if(Lib.isWindows()){ + String clearCache = OseeInfo.getValue("clear_cache"); + if(Boolean.parseBoolean(clearCache)){ + Location location = Platform.getInstallLocation(); + URL url = FileLocator.toFileURL(location.getURL()); + File file = new File(url.getFile()); + File cache = new File(new File(new File(file, "p2"), "org.eclipse.equinox.p2.metadata.repository"), "cache"); + File[] files = cache.listFiles(); + for(File toDelete:files){ + toDelete.delete(); + } + } + } + } catch (Throwable th){ + + } + return true; + } + + }); } /* |