/* * Copyright (c) 2010-2012 Research In Motion Limited. All rights reserved. * * This program and the accompanying materials are made available * under the terms of the Eclipse Public License, Version 1.0, * which accompanies this distribution and is available at * * http://www.eclipse.org/legal/epl-v10.html * */ package net.rim.ejde.internal.signing; import java.io.File; import java.io.IOException; import net.rim.ejde.internal.core.ContextManager; import net.rim.ejde.internal.core.IConstants; import net.rim.ejde.internal.util.Messages; import net.rim.ejde.internal.util.VMToolsUtils; import org.apache.log4j.Logger; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; public class RemoveSignKeysAction implements IWorkbenchWindowActionDelegate { private static Logger _log = Logger.getLogger( RemoveSignKeysAction.class ); /** * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action .IAction, * org.eclipse.jface.viewers.ISelection) */ public void selectionChanged( IAction action, ISelection selection ) { } @Override public void run( IAction action ) { if( MessageDialog.openQuestion( ContextManager.getActiveWorkbenchShell(), Messages.CodeSigningPrefsPage_MessageDialogTitle3, Messages.CodeSigningPrefsPage_MessageDialogMsg4 + Messages.CodeSigningPrefsPage_MessageDialogMsg6 ) ) { removeKeys(); } } private void removeKeys() { try { File cskFile = new File( VMToolsUtils.getVMToolsFolderPath() + File.separator + IConstants.CSK_FILE_NAME ); File dbFile = new File( VMToolsUtils.getVMToolsFolderPath() + File.separator + IConstants.DB_FILE_NAME ); if( ( !cskFile.exists() ) && ( !dbFile.exists() ) ) { MessageDialog dialog = new MessageDialog( ContextManager.getActiveWorkbenchShell(), Messages.CodeSigningPrefsPage_MessageDialogTitle3, null, Messages.CodeSigningPrefsPage_MessageDialogMsg3, MessageDialog.WARNING, new String[] { IDialogConstants.OK_LABEL }, 0 ); dialog.open(); return; } if( cskFile.exists() ) { cskFile.renameTo( new File( VMToolsUtils.getVMToolsFolderPath() + File.separator + IConstants.CSK_FILE_NAME + IConstants.UNDERSCORE_STRING + System.currentTimeMillis() ) ); } if( dbFile.exists() ) { dbFile.renameTo( new File( VMToolsUtils.getVMToolsFolderPath() + File.separator + IConstants.DB_FILE_NAME + IConstants.UNDERSCORE_STRING + System.currentTimeMillis() ) ); } if( ( !cskFile.exists() ) && ( !dbFile.exists() ) ) { MessageDialog dialog = new MessageDialog( ContextManager.getActiveWorkbenchShell(), Messages.CodeSigningPrefsPage_MessageDialogTitle3, null, Messages.CodeSigningPrefsPage_MessageDialogMsg5 + Messages.CodeSigningPrefsPage_MessageDialogMsg6, MessageDialog.INFORMATION, new String[] { IDialogConstants.OK_LABEL }, 0 ); dialog.open(); _log.info( Messages.CodeSigningPrefsPage_MessageDialogMsg7 ); } } catch( IOException e ) { _log.error( e.getMessage() ); } } @Override public void dispose() { // TODO Auto-generated method stub } @Override public void init( IWorkbenchWindow window ) { // TODO Auto-generated method stub } }