diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java deleted file mode 100644 index a46aa5944..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/util/JSFLibraryRegistryUpgradeUtil.java +++ /dev/null @@ -1,235 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2007 Oracle Corporation and others. - * 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: - * Oracle Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.jsf.core.internal.jsflibraryregistry.util; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Platform; -import org.eclipse.emf.common.util.URI; -import org.eclipse.jst.jsf.core.internal.JSFCorePlugin; - -/** - * Utility for checking for, and upgrading the JSF Library Registry when the EMF model changes. - * @deprecated - */ -public class JSFLibraryRegistryUpgradeUtil { - static String v1Tov2UpgradeURL = "http://www.eclipse.org/JSFxxxxxxxxxxxxxxxxxxxxxx"; //$NON-NLS-1$ - - /** - * default state is OK, no upgrade - */ - private UpgradeStatus upgradeStatus; - - /** - * The workspace-relative part of the URL of the JSF Library Registry - * persistence store. (version 1) - */ - public static final String JSF_LIBRARY_REGISTRY_V1_URL = ".metadata/.plugins/org.eclipse.jst.jsf.core/JSFLibraryRegistry.xml"; //$NON-NLS-1$ - - /** - * The workspace-relative part of the URL of the JSF Library Registry - * persistence store. (version 2) - */ - public static final String JSF_LIBRARY_REGISTRY_V2_URL = ".metadata/.plugins/org.eclipse.jst.jsf.core/JSFLibraryRegistryV2.xml"; //$NON-NLS-1$ - - /** - * The LATEST VERSION of the workspace-relative part of the URL of the JSF Library Registry - * persistence store. - */ - public static final String JSF_LIBRARY_REGISTRY_LATESTVERSION_URL = JSF_LIBRARY_REGISTRY_V2_URL; - /** - * The latest version value. - */ - public static final int LATESTVERSION = 2; - - private static final int NO_VERSION = 0; - - private static JSFLibraryRegistryUpgradeUtil INSTANCE; - - /** - * @return the stateful runtime singleton - */ - public static synchronized JSFLibraryRegistryUpgradeUtil getInstance(){ - if (INSTANCE == null){ - INSTANCE = new JSFLibraryRegistryUpgradeUtil(); - } - return INSTANCE; - } - - /** - * Return the URI for the specified JSF Library Registry - * @param registryVersion - * @return URI - * @throws MalformedURLException - */ - public static URI getRegistryURI(String registryVersion) throws MalformedURLException { - URL jsfLibRegURL = new URL(Platform.getInstanceLocation().getURL(), registryVersion); - return URI.createURI(jsfLibRegURL.toString()); - } - - /** - * @param originalFile - * @return the backup file name for a file - */ - public static String getBackupFileName(final String originalFile) - { - return originalFile.concat(".bkp"); //$NON-NLS-1$ - } - - /** - * Upgrades the JSF Library registry from oldest to newest - * @param expectedVersion - */ - public void upgradeRegistryIfNecessary(int expectedVersion) { - //when adding upgrades, the upgrades should progress from oldest to newest - try - { - int curVersion = getCurVersion(); - - if (curVersion < expectedVersion && curVersion != NO_VERSION) - { - UpgradeOperation op = getUpgradeOperation(curVersion); - - if (op.canExecute()) - { - try - { - // TODO: when move to Java 5, use co-variant return - upgradeStatus = (UpgradeStatus) - op.execute(new NullProgressMonitor(), null); - upgradeStatus.setUpgradeOperation(op); - } - catch (ExecutionException e) - { - // should never happen since we control the URL's - JSFCorePlugin.log(IStatus.ERROR, "Error during loading JSF Library registry", e); //$NON-NLS-1$ - //TODO: flag failure in status - upgradeStatus = - new UpgradeStatus(IStatus.ERROR, true, Messages.JSFLibraryRegistryUpgradeUtil_Error); - } - } - else - { - // TODO: what if can't execute? - upgradeStatus = - new UpgradeStatus(IStatus.ERROR, false, Messages.JSFLibraryRegistryUpgradeUtil_Error); } - } - else - { - // everything ok, not upgrade - upgradeStatus = new UpgradeStatus(); - } - } - catch (MalformedURLException e) { - // should never happen since we control the URL's - JSFCorePlugin.log(IStatus.ERROR, "Error during loading JSF Library registry", e); //$NON-NLS-1$ - } - } - - private int getCurVersion() throws MalformedURLException - { - // TODO: need generalized algorithm here - URI v2File = getRegistryURI(JSF_LIBRARY_REGISTRY_V2_URL); - File file = new File(v2File.toFileString()); - if (file.exists()) - { - return 2; - } - - URI v1File = getRegistryURI(JSF_LIBRARY_REGISTRY_V1_URL); - file = new File(v1File.toFileString()); - if (file.exists()) - { - return 1; - } - return NO_VERSION; - } - - /** - * @param curVersion - * @return the upgrade operation to move from curVersion to the latest - * @throws MalformedURLException - */ - protected UpgradeOperation getUpgradeOperation(int curVersion) throws MalformedURLException - { - UpgradeOperation op = new UpgradeOperation(Messages.JSFLibraryRegistryUpgradeUtil_Operation); - switch(curVersion) - { - case 1: - op.addVersionUpgrade( - new MigrateV1toV2Operation(Messages.JSFLibraryRegistryUpgradeUtil_v1Tov2Operation - ,getRegistryURI(JSF_LIBRARY_REGISTRY_V1_URL) - , getRegistryURI(JSF_LIBRARY_REGISTRY_V2_URL))); - } - - return op; - } - - - /** - * @return array of {@link UpgradeStatus}s. There can be more than one if the registry has been upgraded by more than one version. - * Will not be null. - */ - public UpgradeStatus getUpgradeStatus(){ - return this.upgradeStatus; - } - - static void deleteFile(String fileName) { - File f = new File(fileName); - if (f.exists()){ - f.delete(); - if (f.exists()) - f.deleteOnExit(); - } - } - - static void copyFile(String srcFileName, String destFileName) { - - File srcFile = new File(srcFileName); - File destFile = new File(destFileName); - FileInputStream from = null; - FileOutputStream to = null; - try { - from = new FileInputStream(srcFile); - to = new FileOutputStream(destFile); - byte[] buffer = new byte[4096]; - int bytesRead; - - while ((bytesRead = from.read(buffer)) != -1) - to.write(buffer, 0, bytesRead); // write - } catch (IOException ioe){ - JSFCorePlugin.log(ioe, "Error during file copy"); //$NON-NLS-1$ - } finally { - if (from != null) - try { - from.close(); - } catch (IOException e) { - JSFCorePlugin.log(e, "Error during file close"); //$NON-NLS-1$ - } - if (to != null) - try { - to.close(); - } catch (IOException e) { - JSFCorePlugin.log(e, "Error during file close"); //$NON-NLS-1$ - } - } - - } - -} |