X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.slc.client.ui%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fwizards%2FConfirmOverwriteWizard.java;fp=org.argeo.slc.client.ui%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fwizards%2FConfirmOverwriteWizard.java;h=0000000000000000000000000000000000000000;hb=ecc22e604e47533c79de9cecdcdeacbc752cbff1;hp=d766219643d244b9dc73f776b56a9a376997428f;hpb=e07ded4632e53f8b8869763bc1f1f4091361e76e;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/wizards/ConfirmOverwriteWizard.java b/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/wizards/ConfirmOverwriteWizard.java deleted file mode 100644 index d76621964..000000000 --- a/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/wizards/ConfirmOverwriteWizard.java +++ /dev/null @@ -1,211 +0,0 @@ -package org.argeo.slc.client.ui.wizards; - -import javax.jcr.Node; -import javax.jcr.RepositoryException; -import javax.jcr.Session; - -import org.argeo.slc.SlcException; -import org.argeo.slc.client.ui.ClientUiPlugin; -import org.argeo.slc.client.ui.SlcUiConstants; -import org.argeo.slc.jcr.SlcJcrResultUtils; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.ISharedImages; - -public class ConfirmOverwriteWizard extends Wizard { - - // Define widget here to simplify getters - private Button overwriteBtn, renameBtn; - private Text newNameTxt; - private Label newNameLbl; - - // business object - private String sourceNodeName; - private Node targetParentNode; - - private String newName; - private String parentRelPath; - private boolean overwrite; - - public ConfirmOverwriteWizard(String sourceNodeName, Node targetParentNode) { - setWindowTitle("Confirm overwrite or define a new name"); - this.sourceNodeName = sourceNodeName; - this.targetParentNode = targetParentNode; - } - - @Override - public void addPages() { - try { - addPage(new MyPage()); - } catch (Exception e) { - throw new SlcException("Cannot add page to wizard ", e); - } - getShell().setImage( - ClientUiPlugin.getDefault().getWorkbench().getSharedImages() - .getImageDescriptor(ISharedImages.IMG_LCL_LINKTO_HELP) - .createImage()); - } - - // Expose info to the calling view - public boolean overwrite() { - return overwrite; - } - - public String newName() { - return newName; - } - - @Override - public boolean performFinish() { - boolean doFinish = false; - - if (canFinish()) { - if (overwriteBtn.getSelection()) - doFinish = MessageDialog.openConfirm(Display.getDefault() - .getActiveShell(), "CAUTION", "All data contained in [" - + (parentRelPath != null ? parentRelPath : "") - + "/"+ sourceNodeName - + "] are about to be definitively destroyed. \n " - + "Are you sure you want to proceed ?"); - else - doFinish = true; - // cache values - } - if (doFinish) { - overwrite = overwriteBtn.getSelection(); - newName = newNameTxt.getText(); - } - return doFinish; - } - - class MyPage extends WizardPage implements ModifyListener { - - public MyPage() { - super(""); - String msg = "An object with same name (" + sourceNodeName - + ") already exists at chosen target path"; - - // Add target rel path to the message - Session session; - String relPath; - try { - session = targetParentNode.getSession(); - relPath = targetParentNode.getPath(); - String basePath = SlcJcrResultUtils - .getMyResultsBasePath(session); - if (relPath.startsWith(basePath)) - relPath = relPath.substring(basePath.length()); - // FIXME currently add the default base label - parentRelPath = SlcUiConstants.DEFAULT_MY_RESULTS_FOLDER_LABEL - + relPath; - } catch (RepositoryException e) { - throw new SlcException("Unexpected error while defining " - + "target parent node rel path", e); - } - msg = msg + (parentRelPath == null ? "." : ": \n" + parentRelPath); - - // Set Title - setTitle(msg); - } - - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - composite.setLayout(new GridLayout(2, false)); - - // choose between overwrite and rename - overwriteBtn = new Button(composite, SWT.RADIO); - overwriteBtn.setText("Overwrite"); - GridData gd = new GridData(); - gd.horizontalIndent = 30; - gd.horizontalSpan = 2; - overwriteBtn.setLayoutData(gd); - overwriteBtn.setSelection(true); - - renameBtn = new Button(composite, SWT.RADIO); - renameBtn.setText("Rename"); - renameBtn.setSelection(false); - renameBtn.setText("Rename"); - gd = new GridData(); - gd.horizontalIndent = 30; - gd.horizontalSpan = 2; - renameBtn.setLayoutData(gd); - - newNameLbl = new Label(composite, SWT.LEAD); - newNameLbl.setText("New name"); - newNameLbl.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, - false)); - newNameLbl.setEnabled(false); - - newNameTxt = new Text(composite, SWT.LEAD | SWT.BORDER); - newNameTxt.setText(sourceNodeName); - newNameTxt.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, - false)); - if (newNameTxt != null) - newNameTxt.addModifyListener(this); - newNameTxt.setEnabled(false); - - SelectionAdapter sa = new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - updateSelection(overwriteBtn.getSelection()); - } - }; - overwriteBtn.addSelectionListener(sa); - renameBtn.addSelectionListener(sa); - - // Compulsory - setControl(composite); - } - - private void updateSelection(boolean overwrite) { - newNameLbl.setEnabled(!overwrite); - newNameTxt.setEnabled(!overwrite); - if (overwrite) - setPageComplete(true); - else - checkComplete(); - } - - protected String getTechName() { - return newNameTxt.getText(); - } - - public void modifyText(ModifyEvent event) { - checkComplete(); - } - - private void checkComplete() { - try { - - String newName = newNameTxt.getText(); - if (newName == null || "".equals(newName.trim())) { - setMessage("Name cannot be blank or empty", - WizardPage.ERROR); - setPageComplete(false); - } else if (targetParentNode.hasNode(newName)) { - setMessage("An object with the same name already exists.", - WizardPage.ERROR); - setPageComplete(false); - } else { - setMessage("Complete", WizardPage.INFORMATION); - setPageComplete(true); - } - } catch (RepositoryException e) { - throw new SlcException("Unexpected error while checking " - + "children node with same name", e); - } - } - } -} \ No newline at end of file