/* * (non-Javadoc) * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception { super.start(context); plugin = this; ISavedState lastState = ResourcesPlugin.getWorkspace().addSaveParticipant(this, new WorkspaceSaveParticipant()); if (lastState != null) { IPath location = lastState.lookup(new Path(SiteConnectionManager.STATE_FILENAME)); if (location != null) { SiteConnectionManager.getInstance().loadState(getStateLocation().append(location)); } location = lastState.lookup(new Path(DefaultSiteConnection.STATE_FILENAME)); if (location != null) { DefaultSiteConnection.getInstance().loadState(getStateLocation().append(location)); } } // For 1.5 compatibility lastState = ResourcesPlugin.getWorkspace() .addSaveParticipant( CorePlugin.getDefault(), new ISaveParticipant() { public void doneSaving(ISaveContext context) {} public void prepareToSave(ISaveContext context) throws CoreException {} public void rollback(ISaveContext context) {} public void saving(ISaveContext context) throws CoreException {} }); if (lastState != null) { IPath location = lastState.lookup(new Path("save")); // $NON-NLS-1$ if (location != null) { IPath absoluteLocation = CorePlugin.getDefault().getStateLocation().append(location); // only loads it once SiteConnectionManager.getInstance().loadState(absoluteLocation); File file = absoluteLocation.toFile(); if (!file.renameTo(new File(absoluteLocation.toOSString() + ".bak"))) { // $NON-NLS-1$ file.delete(); } } } }
/* * (non-Javadoc) * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext) */ public void saving(ISaveContext context) throws CoreException { int saveNum = context.getSaveNumber(); IPath savePath = new Path(SiteConnectionManager.STATE_FILENAME) .addFileExtension(Integer.toString(saveNum)); SiteConnectionManager.getInstance().saveState(getStateLocation().append(savePath)); context.map(new Path(SiteConnectionManager.STATE_FILENAME), savePath); savePath = new Path(DefaultSiteConnection.STATE_FILENAME) .addFileExtension(Integer.toString(saveNum)); DefaultSiteConnection.getInstance().saveState(getStateLocation().append(savePath)); context.map(new Path(DefaultSiteConnection.STATE_FILENAME), savePath); context.needSaveNumber(); }
/** * Returns the site Connection Manager instance * * @return */ public static ISiteConnectionManager getSiteConnectionManager() { return SiteConnectionManager.getInstance(); }