You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2012/10/17 15:23:10 UTC
svn commit: r1399227 - in /directory/studio/trunk/plugins/ldapbrowser.ui: ./
src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/
Author: pamarcelot
Date: Wed Oct 17 13:23:09 2012
New Revision: 1399227
URL: http://svn.apache.org/viewvc?rev=1399227&view=rev
Log:
Fix for DIRSTUDIO-657 (Add options to output the resulting LDIF of a batch operation to a file or to the clipboard)
Modified:
directory/studio/trunk/plugins/ldapbrowser.ui/pom.xml
directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationFinishWizardPage.java
directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationWizard.java
directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages.properties
directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_de.properties
directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_fr.properties
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/pom.xml?rev=1399227&r1=1399226&r2=1399227&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/pom.xml (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/pom.xml Wed Oct 17 13:23:09 2012
@@ -130,11 +130,13 @@
org.apache.directory.studio.ldifparser,
org.eclipse.core.expressions,
org.eclipse.core.filesystem,
+ org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.jface.text,
org.eclipse.ui,
org.eclipse.ui.editors,
org.eclipse.ui.forms,
+ org.eclipse.ui.ide,
org.eclipse.ui.views,
org.eclipse.ui.workbench.texteditor,
org.eclipse.search</Require-Bundle>
@@ -242,6 +244,11 @@
</dependency>
<dependency>
<groupId>org.eclipse.core</groupId>
+ <artifactId>resources</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.core</groupId>
<artifactId>jobs</artifactId>
<scope>provided</scope>
</dependency>
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationFinishWizardPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationFinishWizardPage.java?rev=1399227&r1=1399226&r2=1399227&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationFinishWizardPage.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationFinishWizardPage.java Wed Oct 17 13:23:09 2012
@@ -27,6 +27,7 @@ import org.eclipse.jface.wizard.WizardPa
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
@@ -41,17 +42,36 @@ import org.eclipse.swt.widgets.Composite
public class BatchOperationFinishWizardPage extends WizardPage
{
/** The continue on error flag key */
+ public static final String EXECUTE_METHOD_DIALOGSETTING_KEY = BatchOperationFinishWizardPage.class.getName()
+ + ".executeMethod"; //$NON-NLS-1$
+
+ /** The continue on error flag key */
public static final String CONTINUE_ON_ERROR_DIALOGSETTING_KEY = BatchOperationFinishWizardPage.class.getName()
+ ".continueOnError"; //$NON-NLS-1$
+ // Execution Method Values
public final static int EXECUTION_METHOD_NONE = -1;
- public final static int EXECUTION_METHOD_LDIF = 0;
- public final static int EXECUTION_METHOD_ONLINE = 1;
+ public final static int EXECUTION_METHOD_ON_CONNECTION = 0;
+ public final static int EXECUTION_METHOD_LDIF_EDITOR = 1;
+ public final static int EXECUTION_METHOD_LDIF_FILE = 2;
+ public final static int EXECUTION_METHOD_LDIF_CLIPBOARD = 3;
// UI widgets
- private Button executeOnlineButton;
- private Button generateLdifButton;
+ private Button executeOnConnectionButton;
private Button continueOnErrorButton;
+ private Button generateLdifButton;
+ private Button generateInLDIFEditorButton;
+ private Button generateInFileButton;
+ private Button generateInClipboardButton;
+
+ // Listeners
+ private SelectionListener validateSelectionListener = new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent e )
+ {
+ validate();
+ }
+ };
/**
@@ -69,63 +89,134 @@ public class BatchOperationFinishWizardP
/**
- * Validates the page.
- */
- private void validate()
- {
- continueOnErrorButton.setEnabled( getExecutionMethod() == EXECUTION_METHOD_ONLINE );
- setPageComplete( getExecutionMethod() != EXECUTION_METHOD_NONE );
- }
-
-
- /**
* {@inheritDoc}
*/
public void createControl( Composite parent )
{
// Composite
Composite composite = new Composite( parent, SWT.NONE );
- GridLayout gl = new GridLayout( 2, false );
+ GridLayout gl = new GridLayout();
composite.setLayout( gl );
composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
- // Execute Online Button
- executeOnlineButton = BaseWidgetUtils.createRadiobutton( composite, Messages
- .getString( "BatchOperationFinishWizardPage.ExecuteOnline" ), 2 ); //$NON-NLS-1$
- executeOnlineButton.setSelection( true );
- executeOnlineButton.addSelectionListener( new SelectionAdapter()
- {
- public void widgetSelected( SelectionEvent e )
- {
- validate();
- }
- } );
+ // Execute On Connection Button
+ executeOnConnectionButton = BaseWidgetUtils.createRadiobutton( composite, Messages
+ .getString( "BatchOperationFinishWizardPage.ExecuteOnConnection" ), 1 ); //$NON-NLS-1$
+
+ // Execute On Connection Composite
+ Composite executeOnConnectionComposite = BaseWidgetUtils.createColumnContainer( composite, 2, 1 );
// Continue On Error Radio Button
- BaseWidgetUtils.createRadioIndent( composite, 1 );
- continueOnErrorButton = BaseWidgetUtils.createCheckbox( composite, Messages
+ BaseWidgetUtils.createRadioIndent( executeOnConnectionComposite, 1 );
+ continueOnErrorButton = BaseWidgetUtils.createCheckbox( executeOnConnectionComposite, Messages
.getString( "ImportLdifMainWizardPage.ContinueOnError" ), 1 ); //$NON-NLS-1$
- if ( BrowserUIPlugin.getDefault().getDialogSettings().get( CONTINUE_ON_ERROR_DIALOGSETTING_KEY ) == null )
- {
- BrowserUIPlugin.getDefault().getDialogSettings().put( CONTINUE_ON_ERROR_DIALOGSETTING_KEY, true );
- }
- continueOnErrorButton.setSelection( BrowserUIPlugin.getDefault().getDialogSettings()
- .getBoolean( CONTINUE_ON_ERROR_DIALOGSETTING_KEY ) );
// Generate LDIF Button
generateLdifButton = BaseWidgetUtils.createRadiobutton( composite, Messages
- .getString( "BatchOperationFinishWizardPage.GenerateLDIF" ), 2 ); //$NON-NLS-1$
- generateLdifButton.addSelectionListener( new SelectionAdapter()
+ .getString( "BatchOperationFinishWizardPage.GenerateLDIF" ), 1 ); //$NON-NLS-1$
+
+ // Generate LDIF Button Composite
+ Composite generateLdifButtonComposite = BaseWidgetUtils.createColumnContainer( composite, 2, 1 );
+
+ // In The LDIF Editor Button
+ BaseWidgetUtils.createRadioIndent( generateLdifButtonComposite, 1 );
+ generateInLDIFEditorButton = BaseWidgetUtils.createRadiobutton( generateLdifButtonComposite, Messages
+ .getString( "BatchOperationFinishWizardPage.GenerateLDIFInLDIFEditor" ), 1 ); //$NON-NLS-1$
+
+ // In A File Button
+ BaseWidgetUtils.createRadioIndent( generateLdifButtonComposite, 1 );
+ generateInFileButton = BaseWidgetUtils.createRadiobutton( generateLdifButtonComposite, Messages
+ .getString( "BatchOperationFinishWizardPage.GenerateLDIFInFile" ), 1 ); //$NON-NLS-1$
+
+ // In The Clipboard Button
+ BaseWidgetUtils.createRadioIndent( generateLdifButtonComposite, 1 );
+ generateInClipboardButton = BaseWidgetUtils.createRadiobutton( generateLdifButtonComposite, Messages
+ .getString( "BatchOperationFinishWizardPage.GenerateLDIFInClipBoard" ), 1 ); //$NON-NLS-1$
+
+ init();
+ validate();
+ addListeners();
+
+ setControl( composite );
+ }
+
+
+ /**
+ * Initializes the UI.
+ */
+ private void init()
+ {
+ try
{
- public void widgetSelected( SelectionEvent e )
+ // Default value for the 'Execute Method' dialog setting
+ if ( BrowserUIPlugin.getDefault().getDialogSettings().get( EXECUTE_METHOD_DIALOGSETTING_KEY ) == null )
{
- validate();
+ BrowserUIPlugin.getDefault().getDialogSettings()
+ .put( EXECUTE_METHOD_DIALOGSETTING_KEY, EXECUTION_METHOD_ON_CONNECTION );
}
- } );
- validate();
+ // Default value for the 'Continue On Error' dialog setting
+ if ( BrowserUIPlugin.getDefault().getDialogSettings().get( CONTINUE_ON_ERROR_DIALOGSETTING_KEY ) == null )
+ {
+ BrowserUIPlugin.getDefault().getDialogSettings().put( CONTINUE_ON_ERROR_DIALOGSETTING_KEY, true );
+ }
- setControl( composite );
+ // Getting the 'Execute Method' dialog setting
+ int executeMethod = BrowserUIPlugin.getDefault().getDialogSettings()
+ .getInt( EXECUTE_METHOD_DIALOGSETTING_KEY );
+
+ switch ( executeMethod )
+ {
+ case EXECUTION_METHOD_ON_CONNECTION:
+ executeOnConnectionButton.setSelection( true );
+ generateInLDIFEditorButton.setSelection( true );
+ break;
+ case EXECUTION_METHOD_LDIF_EDITOR:
+ generateLdifButton.setSelection( true );
+ generateInLDIFEditorButton.setSelection( true );
+ break;
+ case EXECUTION_METHOD_LDIF_FILE:
+ generateLdifButton.setSelection( true );
+ generateInFileButton.setSelection( true );
+ break;
+ case EXECUTION_METHOD_LDIF_CLIPBOARD:
+ generateLdifButton.setSelection( true );
+ generateInClipboardButton.setSelection( true );
+ break;
+ }
+
+ // Getting the 'Continue On Error' dialog setting
+ continueOnErrorButton.setSelection( BrowserUIPlugin.getDefault().getDialogSettings()
+ .getBoolean( CONTINUE_ON_ERROR_DIALOGSETTING_KEY ) );
+ }
+ catch ( Exception e )
+ {
+ // Nothing to do
+ }
+ }
+
+
+ /**
+ * Validates the page.
+ */
+ private void validate()
+ {
+ continueOnErrorButton.setEnabled( executeOnConnectionButton.getSelection() );
+ generateInLDIFEditorButton.setEnabled( generateLdifButton.getSelection() );
+ generateInFileButton.setEnabled( generateLdifButton.getSelection() );
+ generateInClipboardButton.setEnabled( generateLdifButton.getSelection() );
+
+ setPageComplete( getExecutionMethod() != EXECUTION_METHOD_NONE );
+ }
+
+
+ /**
+ * Adds listeners.
+ */
+ private void addListeners()
+ {
+ executeOnConnectionButton.addSelectionListener( validateSelectionListener );
+ generateLdifButton.addSelectionListener( validateSelectionListener );
}
@@ -136,18 +227,27 @@ public class BatchOperationFinishWizardP
*/
public int getExecutionMethod()
{
- if ( executeOnlineButton.getSelection() )
+ if ( executeOnConnectionButton.getSelection() )
{
- return EXECUTION_METHOD_ONLINE;
+ return EXECUTION_METHOD_ON_CONNECTION;
}
else if ( generateLdifButton.getSelection() )
{
- return EXECUTION_METHOD_LDIF;
- }
- else
- {
- return EXECUTION_METHOD_NONE;
+ if ( generateInLDIFEditorButton.getSelection() )
+ {
+ return EXECUTION_METHOD_LDIF_EDITOR;
+ }
+ else if ( generateInFileButton.getSelection() )
+ {
+ return EXECUTION_METHOD_LDIF_FILE;
+ }
+ else if ( generateInClipboardButton.getSelection() )
+ {
+ return EXECUTION_METHOD_LDIF_CLIPBOARD;
+ }
}
+
+ return EXECUTION_METHOD_NONE;
}
@@ -167,7 +267,8 @@ public class BatchOperationFinishWizardP
*/
public void saveDialogSettings()
{
- BrowserUIPlugin.getDefault().getDialogSettings().put( CONTINUE_ON_ERROR_DIALOGSETTING_KEY,
- continueOnErrorButton.getSelection() );
+ BrowserUIPlugin.getDefault().getDialogSettings().put( EXECUTE_METHOD_DIALOGSETTING_KEY, getExecutionMethod() );
+ BrowserUIPlugin.getDefault().getDialogSettings()
+ .put( CONTINUE_ON_ERROR_DIALOGSETTING_KEY, getContinueOnError() );
}
}
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationWizard.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationWizard.java?rev=1399227&r1=1399226&r2=1399227&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationWizard.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/BatchOperationWizard.java Wed Oct 17 13:23:09 2012
@@ -21,10 +21,17 @@
package org.apache.directory.studio.ldapbrowser.ui.wizards;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileWriter;
+
import org.apache.directory.shared.ldap.model.name.Dn;
+import org.apache.directory.studio.common.ui.CommonUIUtils;
import org.apache.directory.studio.connection.core.Connection;
import org.apache.directory.studio.connection.ui.RunnableContextRunner;
import org.apache.directory.studio.ldapbrowser.common.actions.BrowserSelectionUtils;
+import org.apache.directory.studio.ldapbrowser.common.actions.CopyAction;
import org.apache.directory.studio.ldapbrowser.core.BrowserCoreConstants;
import org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable;
import org.apache.directory.studio.ldapbrowser.core.jobs.SearchRunnable;
@@ -39,44 +46,55 @@ import org.apache.directory.studio.ldapb
import org.apache.directory.studio.ldapbrowser.ui.BrowserUIConstants;
import org.apache.directory.studio.ldifeditor.editor.LdifEditor;
import org.apache.directory.studio.ldifeditor.editor.NonExistingLdifEditorInput;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.TextTransfer;
+import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.SaveAsDialog;
import org.eclipse.ui.texteditor.IDocumentProvider;
public class BatchOperationWizard extends Wizard implements INewWizard
{
-
+ /** The connection */
private IBrowserConnection connection;
+ // Wizard pages
private BatchOperationApplyOnWizardPage applyOnPage;
-
private BatchOperationTypeWizardPage typePage;
-
private BatchOperationLdifWizardPage ldifPage;
-
private BatchOperationModifyWizardPage modifyPage;
-
private BatchOperationFinishWizardPage finishPage;
+ /**
+ * Creates a new instance of BatchOperationWizard.
+ */
public BatchOperationWizard()
{
super.setWindowTitle( Messages.getString( "BatchOperationWizard.BatchOperation" ) ); //$NON-NLS-1$
@@ -84,18 +102,29 @@ public class BatchOperationWizard extend
}
+ /**
+ * Gets the id.
+ *
+ * @return the id
+ */
public static String getId()
{
return BrowserUIConstants.WIZARD_BATCH_OPERATION;
}
+ /**
+ * {@inheritDoc}
+ */
public void init( IWorkbench workbench, IStructuredSelection selection )
{
// PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection()
}
+ /**
+ * {@inheritDoc}
+ */
public void addPages()
{
@@ -164,19 +193,29 @@ public class BatchOperationWizard extend
BrowserUIConstants.PLUGIN_ID + "." + "tools_batchoperation_wizard" ); //$NON-NLS-1$ //$NON-NLS-2$
}
+ /**
+ * This private class implements a dummy wizard page that is displayed when no connection is selected.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
class DummyWizardPage extends WizardPage
{
-
+ /**
+ * Creates a new instance of DummyWizardPage.
+ */
protected DummyWizardPage()
{
super( "" ); //$NON-NLS-1$
super.setTitle( Messages.getString( "BatchOperationWizard.NoConnectionSelected" ) ); //$NON-NLS-1$
- super.setDescription( Messages.getString( "BatchOperationWizard.SelectOPenCollection" ) ); //$NON-NLS-1$
+ super.setDescription( Messages.getString( "BatchOperationWizard.SelectOpenConnection" ) ); //$NON-NLS-1$
// super.setImageDescriptor(BrowserUIPlugin.getDefault().getImageDescriptor(BrowserUIConstants.IMG_ENTRY_WIZARD));
super.setPageComplete( true );
}
+ /**
+ * {@inheritDoc}
+ */
public void createControl( Composite parent )
{
Composite composite = new Composite( parent, SWT.NONE );
@@ -189,9 +228,11 @@ public class BatchOperationWizard extend
}
+ /**
+ * {@inheritDoc}
+ */
public IWizardPage getNextPage( IWizardPage page )
{
-
if ( this.applyOnPage != null )
{
@@ -230,9 +271,11 @@ public class BatchOperationWizard extend
}
+ /**
+ * {@inheritDoc}
+ */
public boolean canFinish()
{
-
if ( this.applyOnPage != null )
{
if ( !this.applyOnPage.isPageComplete() )
@@ -265,12 +308,18 @@ public class BatchOperationWizard extend
}
+ /**
+ * {@inheritDoc}
+ */
public boolean performCancel()
{
return true;
}
+ /**
+ * {@inheritDoc}
+ */
public boolean performFinish()
{
if ( this.applyOnPage != null )
@@ -331,19 +380,16 @@ public class BatchOperationWizard extend
ldif.append( BrowserCoreConstants.LINE_SEPARATOR );
}
- if ( finishPage.getExecutionMethod() == BatchOperationFinishWizardPage.EXECUTION_METHOD_LDIF )
+ if ( finishPage.getExecutionMethod() == BatchOperationFinishWizardPage.EXECUTION_METHOD_LDIF_EDITOR )
{
-
- IEditorInput input = new NonExistingLdifEditorInput();
- String editorId = LdifEditor.getId();
-
+ // Opening an LDIF Editor with the LDIF content
try
{
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- IWorkbenchPage page = window.getActivePage();
- IEditorPart editor = page.openEditor( input, editorId );
+ IEditorInput input = new NonExistingLdifEditorInput();
+ IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .openEditor( input, LdifEditor.getId() );
IDocumentProvider documentProvider = ( ( LdifEditor ) editor ).getDocumentProvider();
- if ( documentProvider != null && input != null )
+ if ( documentProvider != null )
{
IDocument document = documentProvider.getDocument( input );
if ( document != null )
@@ -359,8 +405,121 @@ public class BatchOperationWizard extend
return true;
}
- else if ( finishPage.getExecutionMethod() == BatchOperationFinishWizardPage.EXECUTION_METHOD_ONLINE )
+ else if ( finishPage.getExecutionMethod() == BatchOperationFinishWizardPage.EXECUTION_METHOD_LDIF_FILE ) // TODO
{
+ // Saving the LDIF to a file
+
+ // Getting the shell
+ Shell shell = Display.getDefault().getActiveShell();
+
+ // detect IDE or RCP:
+ // check if perspective org.eclipse.ui.resourcePerspective is available
+ boolean isIDE = CommonUIUtils.isIDEEnvironment();
+
+ if ( isIDE )
+ {
+ // Asking the user for the location where to 'save as' the file
+ SaveAsDialog dialog = new SaveAsDialog( shell );
+
+ if ( dialog.open() != Dialog.OK )
+ {
+ return false;
+ }
+
+ // Getting if the resulting file
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( dialog.getResult() );
+
+ try
+ {
+ // Creating the file if it does not exist
+ if ( !file.exists() )
+ {
+ file.create( new ByteArrayInputStream( "".getBytes() ), true, null ); //$NON-NLS-1$
+ }
+
+ // Saving the LDIF to the file in the workspace
+ file.setContents( new ByteArrayInputStream( ldif.toString().getBytes() ), true, true,
+ new NullProgressMonitor() );
+ }
+ catch ( Exception e )
+ {
+ return false;
+ }
+ }
+ else
+ {
+ boolean canOverwrite = false;
+ String path = null;
+
+ while ( !canOverwrite )
+ {
+ // Open FileDialog
+ FileDialog dialog = new FileDialog( shell, SWT.SAVE );
+ path = dialog.open();
+ if ( path == null )
+ {
+ return false;
+ }
+
+ // Check whether file exists and if so, confirm overwrite
+ final File externalFile = new File( path );
+ if ( externalFile.exists() )
+ {
+ String question = NLS.bind( Messages
+ .getString( "BatchOperationWizard.TheFileAlreadyExistsReplace" ), path ); //$NON-NLS-1$
+ MessageDialog overwriteDialog = new MessageDialog( shell, Messages
+ .getString( "BatchOperationWizard.Question" ), null, question, //$NON-NLS-1$
+ MessageDialog.QUESTION, new String[]
+ {
+ IDialogConstants.YES_LABEL,
+ IDialogConstants.NO_LABEL,
+ IDialogConstants.CANCEL_LABEL }, 0 );
+ int overwrite = overwriteDialog.open();
+ switch ( overwrite )
+ {
+ case 0: // Yes
+ canOverwrite = true;
+ break;
+ case 1: // No
+ break;
+ case 2: // Cancel
+ default:
+ return false;
+ }
+ }
+ else
+ {
+ canOverwrite = true;
+ }
+ }
+
+ // Saving the LDIF to the file on disk
+ try
+ {
+ BufferedWriter outFile = new BufferedWriter( new FileWriter( path ) );
+ outFile.write( ldif.toString() );
+ outFile.close();
+ }
+ catch ( Exception e )
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+ else if ( finishPage.getExecutionMethod() == BatchOperationFinishWizardPage.EXECUTION_METHOD_LDIF_CLIPBOARD )
+ {
+ // Copying the LDIF to the clipboard
+ CopyAction.copyToClipboard( new Object[]
+ { ldif.toString() }, new Transfer[]
+ { TextTransfer.getInstance() } );
+
+ return true;
+ }
+ else if ( finishPage.getExecutionMethod() == BatchOperationFinishWizardPage.EXECUTION_METHOD_ON_CONNECTION )
+ {
+ // Executing the LDIF on the connection
ExecuteLdifRunnable runnable = new ExecuteLdifRunnable( getConnection(), ldif.toString(), true,
finishPage.getContinueOnError() );
StudioBrowserJob job = new StudioBrowserJob( runnable );
@@ -377,12 +536,22 @@ public class BatchOperationWizard extend
}
+ /**
+ * Gets the type of the page.
+ *
+ * @return the type of the page
+ */
public BatchOperationTypeWizardPage getTypePage()
{
return typePage;
}
+ /**
+ * Gets the connection.
+ *
+ * @return the connection
+ */
public IBrowserConnection getConnection()
{
return this.connection;
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages.properties?rev=1399227&r1=1399226&r2=1399227&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages.properties (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages.properties Wed Oct 17 13:23:09 2012
@@ -22,8 +22,11 @@ BatchOperationApplyOnWizardPage.ResultsO
BatchOperationApplyOnWizardPage.SearchResultOf=Search Results of "{0}" ({1} Entries)
BatchOperationApplyOnWizardPage.SelectApplicationEntries=Select Application Entries
BatchOperationApplyOnWizardPage.SelectedEntries=Selected Entries ({0}) Entries
-BatchOperationFinishWizardPage.ExecuteOnline=Execute online
-BatchOperationFinishWizardPage.GenerateLDIF=Generate LDIF
+BatchOperationFinishWizardPage.ExecuteOnConnection=Execute on the connection
+BatchOperationFinishWizardPage.GenerateLDIF=Generate in LDIF format
+BatchOperationFinishWizardPage.GenerateLDIFInLDIFEditor=In the LDIF Editor
+BatchOperationFinishWizardPage.GenerateLDIFInFile=In a file
+BatchOperationFinishWizardPage.GenerateLDIFInClipBoard=In the clipboard
BatchOperationFinishWizardPage.PleaseSelectBatchOperation=Please select if the batch operation should be executed online or a LDIF should be generated.
BatchOperationFinishWizardPage.SelectExecutionMethod=Select Execution Method
BatchOperationLdifWizardPage.LDIFFragment=LDIF Fragment
@@ -37,7 +40,9 @@ BatchOperationTypeWizardPage.PleaseSelec
BatchOperationTypeWizardPage.SelectOperationType=Select Operation Type
BatchOperationWizard.BatchOperation=Batch Operation
BatchOperationWizard.NoConnectionSelected=No connection selected or connection is closed
-BatchOperationWizard.SelectOPenCollection=In order to use the batch operation wizard please select a opened connection.
+BatchOperationWizard.SelectOpenConnection=In order to use the batch operation wizard please select an opened connection.
+BatchOperationWizard.TheFileAlreadyExistsReplace=The file "{0}" already exists. Do you want to replace the existing file?
+BatchOperationWizard.Question=Question
ExportBaseFromWizardPage.DataToExport=Data to Export
ExportBaseFromWizardPage.PleaseDefineSearchParameters=Please define search parameters for the export.
ExportBaseToPage.ErrorDirectoryNotWritable=Selected {0} file directory is not writable.
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_de.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_de.properties?rev=1399227&r1=1399226&r2=1399227&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_de.properties (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_de.properties Wed Oct 17 13:23:09 2012
@@ -22,8 +22,11 @@ BatchOperationApplyOnWizardPage.ResultsO
BatchOperationApplyOnWizardPage.SearchResultOf=Suchresultate von "{0}" ({1} Eintr\u00E4ge)
BatchOperationApplyOnWizardPage.SelectApplicationEntries=W\u00E4hle Applikations-Eintr\u00E4ge
BatchOperationApplyOnWizardPage.SelectedEntries=Ausgew\u00E4hlte Eintr\u00E4ge ({0} Eintr\u00E4ge)
-BatchOperationFinishWizardPage.ExecuteOnline=Online ausf\u00FChren
-BatchOperationFinishWizardPage.GenerateLDIF=LDIF erstellen
+BatchOperationFinishWizardPage.ExecuteOnConnection=Ausf\u00FChren auf der Verbindung
+BatchOperationFinishWizardPage.GenerateLDIF=Generieren Sie im LDIF-Format
+BatchOperationFinishWizardPage.GenerateLDIFInLDIFEditor=In der LDIF Editor
+BatchOperationFinishWizardPage.GenerateLDIFInFile=In einer Datei
+BatchOperationFinishWizardPage.GenerateLDIFInClipBoard=In die Zwischenablage
BatchOperationFinishWizardPage.PleaseSelectBatchOperation=Bitte w\u00E4hle ob der Batch Betrieb online ausgef\u00FChrt werden soll oder ob ein LDIF erstellt werden soll.
BatchOperationFinishWizardPage.SelectExecutionMethod=Ausf\u00FChr-Methode ausw\u00E4hlen
BatchOperationLdifWizardPage.LDIFFragment=LDIF Fragment
@@ -37,7 +40,9 @@ BatchOperationTypeWizardPage.PleaseSelec
BatchOperationTypeWizardPage.SelectOperationType=W\u00E4hle Betriebs-Typ
BatchOperationWizard.BatchOperation=Batch-Betrieb
BatchOperationWizard.NoConnectionSelected=Keine Verbindung ausgew\u00E4hlt oder Verbindung geschlossen
-BatchOperationWizard.SelectOPenCollection=Um den Batch Betriebs-Assistenten zu verwenden bitte eine offene Verbindung ausw\u00E4hlen.
+BatchOperationWizard.SelectOpenConnection=Um den Batch Betriebs-Assistenten zu verwenden bitte eine offene Verbindung ausw\u00E4hlen.
+BatchOperationWizard.TheFileAlreadyExistsReplace=Die Datei "{0}" existiert bereits. Soll die Datei \u00FCberschrieben werden?
+BatchOperationWizard.Question=Frage
ExportBaseFromWizardPage.DataToExport=Zu exportierende Daten
ExportBaseFromWizardPage.PleaseDefineSearchParameters=Bitte Such-Parameter f\u00FCr den Export definieren.
ExportBaseToPage.ErrorDirectoryNotWritable=Verzeichnis der ausgew\u00E4hlten Datei {0} ist nicht beschreibbar.
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_fr.properties
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_fr.properties?rev=1399227&r1=1399226&r2=1399227&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_fr.properties (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/wizards/messages_fr.properties Wed Oct 17 13:23:09 2012
@@ -23,8 +23,11 @@ BatchOperationApplyOnWizardPage.SearchRe
BatchOperationApplyOnWizardPage.SelectApplicationEntries=S\u00E9lectionner les entr\u00E9es
BatchOperationApplyOnWizardPage.SelectedEntries=Entr\u00E9es s\u00E9lectionn\u00E9es ({0}) Entr\u00E9es
-BatchOperationFinishWizardPage.ExecuteOnline=Executer en mode connect\u00E9
-BatchOperationFinishWizardPage.GenerateLDIF=Generere le fichier LDIF
+BatchOperationFinishWizardPage.ExecuteOnConnection=Executer sur la connexion
+BatchOperationFinishWizardPage.GenerateLDIF=G\u00E9n\u00E9rer au format LDIF
+BatchOperationFinishWizardPage.GenerateLDIFInLDIFEditor=Dans l'\u00E9diteur LDIF
+BatchOperationFinishWizardPage.GenerateLDIFInFile=Dans un fichier
+BatchOperationFinishWizardPage.GenerateLDIFInClipBoard=Dans le presse-papier
BatchOperationFinishWizardPage.PleaseSelectBatchOperation=Veuillez indiquer si le groupe d'op\u00E9rations doit \u00EAtre ex\u00E9cut\u00E9e imm\u00E9diatement ou si un fichier LDIF doit \u00EAtre g\u00E9n\u00E9r\u00E9
BatchOperationFinishWizardPage.SelectExecutionMethod=Choisir le mode d'ex\u00E9cution
@@ -42,7 +45,9 @@ BatchOperationTypeWizardPage.SelectOpera
BatchOperationWizard.BatchOperation=Groupe d'op\u00E9rations
BatchOperationWizard.NoConnectionSelected=Pas de connexion s\u00E9lectionn\u00E9e ou connexion close
-BatchOperationWizard.SelectOPenCollection=Pour d\u00E9finir un groupe d'op\u00E9rations, veuillez s\u00E9lectionner une connexion ouverte.
+BatchOperationWizard.SelectOpenConnection=Pour d\u00E9finir un groupe d'op\u00E9rations, veuillez s\u00E9lectionner une connexion ouverte.
+BatchOperationWizard.TheFileAlreadyExistsReplace=The file "{0}" already exists. Do you want to replace the existing file?
+BatchOperationWizard.Question=Question
ExportBaseFromWizardPage.DataToExport=Donn\u00E9es \u00E0 exporter
ExportBaseFromWizardPage.PleaseDefineSearchParameters=Veuillez d\u00E9finir les param\u00E8tres de recherche pour l'exportation.