Search in sources :

Example 1 with InputDialog

use of org.eclipse.che.ide.api.dialogs.InputDialog in project che by eclipse.

the class NewPackageAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent e) {
    InputDialog inputDialog = dialogFactory.createInputDialog("New " + title, "Name:", new InputCallback() {

        @Override
        public void accepted(String value) {
            onAccepted(value);
        }
    }, null).withValidator(nameValidator);
    inputDialog.show();
}
Also used : InputDialog(org.eclipse.che.ide.api.dialogs.InputDialog) InputCallback(org.eclipse.che.ide.api.dialogs.InputCallback)

Example 2 with InputDialog

use of org.eclipse.che.ide.api.dialogs.InputDialog in project che by eclipse.

the class BranchPresenterTest method testOnRenameClickedWhenRemoteBranchSelectedAndUserConfirmRename.

@Test
public void testOnRenameClickedWhenRemoteBranchSelectedAndUserConfirmRename() throws Exception {
    reset(selectedBranch);
    when(service.branchRename(anyObject(), anyObject(), anyString(), anyString())).thenReturn(voidPromise);
    when(voidPromise.then(any(Operation.class))).thenReturn(voidPromise);
    when(voidPromise.catchError(any(Operation.class))).thenReturn(voidPromise);
    when(selectedBranch.getDisplayName()).thenReturn(REMOTE_BRANCH_NAME);
    when(selectedBranch.isRemote()).thenReturn(true);
    InputDialog inputDialog = mock(InputDialog.class);
    when(dialogFactory.createInputDialog(anyString(), anyString(), anyString(), anyInt(), anyInt(), anyObject(), anyObject())).thenReturn(inputDialog);
    ConfirmDialog confirmDialog = mock(ConfirmDialog.class);
    when(dialogFactory.createConfirmDialog(anyString(), anyString(), anyObject(), anyObject())).thenReturn(confirmDialog);
    selectBranch();
    presenter.onRenameClicked();
    verify(dialogFactory).createConfirmDialog(anyString(), anyString(), confirmCallbackCaptor.capture(), anyObject());
    ConfirmCallback confirmCallback = confirmCallbackCaptor.getValue();
    confirmCallback.accepted();
    verify(dialogFactory).createInputDialog(anyString(), anyString(), anyString(), anyInt(), anyInt(), inputCallbackCaptor.capture(), anyObject());
    InputCallback inputCallback = inputCallbackCaptor.getValue();
    inputCallback.accepted(RETURNED_MESSAGE);
    verify(voidPromise).then(voidPromiseCaptor.capture());
    voidPromiseCaptor.getValue().apply(null);
    verify(selectedBranch, times(2)).getDisplayName();
    verify(service, times(2)).branchList(anyObject(), anyObject(), eq(LIST_ALL));
    verify(console, never()).printError(anyString());
    verify(notificationManager, never()).notify(anyString());
    verify(constant, never()).branchRenameFailed();
}
Also used : ConfirmCallback(org.eclipse.che.ide.api.dialogs.ConfirmCallback) InputDialog(org.eclipse.che.ide.api.dialogs.InputDialog) InputCallback(org.eclipse.che.ide.api.dialogs.InputCallback) Operation(org.eclipse.che.api.promises.client.Operation) ConfirmDialog(org.eclipse.che.ide.api.dialogs.ConfirmDialog) BaseTest(org.eclipse.che.ide.ext.git.client.BaseTest) Test(org.junit.Test)

Example 3 with InputDialog

use of org.eclipse.che.ide.api.dialogs.InputDialog in project che by eclipse.

the class BranchPresenterTest method testOnRenameClickedWhenLocalBranchSelected.

@Test
public void testOnRenameClickedWhenLocalBranchSelected() throws Exception {
    reset(selectedBranch);
    when(service.branchRename(anyObject(), anyObject(), anyString(), anyString())).thenReturn(voidPromise);
    when(voidPromise.then(any(Operation.class))).thenReturn(voidPromise);
    when(voidPromise.catchError(any(Operation.class))).thenReturn(voidPromise);
    when(selectedBranch.getDisplayName()).thenReturn(BRANCH_NAME);
    when(selectedBranch.isRemote()).thenReturn(false);
    InputDialog inputDialog = mock(InputDialog.class);
    when(dialogFactory.createInputDialog(anyObject(), anyObject(), anyString(), anyInt(), anyInt(), anyObject(), anyObject())).thenReturn(inputDialog);
    selectBranch();
    presenter.onRenameClicked();
    verify(dialogFactory).createInputDialog(eq(null), eq(null), eq("branchName"), eq(0), eq("branchName".length()), inputCallbackCaptor.capture(), eq(null));
    InputCallback inputCallback = inputCallbackCaptor.getValue();
    inputCallback.accepted(RETURNED_MESSAGE);
    verify(selectedBranch, times(2)).getDisplayName();
    verify(dialogFactory, never()).createConfirmDialog(anyString(), anyString(), anyObject(), anyObject());
    verify(console, never()).printError(anyString());
    verify(notificationManager, never()).notify(anyString());
    verify(constant, never()).branchRenameFailed();
}
Also used : InputDialog(org.eclipse.che.ide.api.dialogs.InputDialog) InputCallback(org.eclipse.che.ide.api.dialogs.InputCallback) Operation(org.eclipse.che.api.promises.client.Operation) BaseTest(org.eclipse.che.ide.ext.git.client.BaseTest) Test(org.junit.Test)

Example 4 with InputDialog

use of org.eclipse.che.ide.api.dialogs.InputDialog in project che by eclipse.

the class BranchPresenterTest method testOnCreateClickedWhenBranchCreateRequestIsSuccessful.

@Test
public void testOnCreateClickedWhenBranchCreateRequestIsSuccessful() throws Exception {
    when(service.branchCreate(anyObject(), any(Path.class), anyString(), anyString())).thenReturn(branchPromise);
    when(branchPromise.then(any(Operation.class))).thenReturn(branchPromise);
    when(branchPromise.catchError(any(Operation.class))).thenReturn(branchPromise);
    InputDialog inputDialog = mock(InputDialog.class);
    when(dialogFactory.createInputDialog(anyString(), anyString(), anyObject(), anyObject())).thenReturn(inputDialog);
    presenter.showBranches(project);
    presenter.onCreateClicked();
    verify(dialogFactory).createInputDialog(anyString(), anyString(), inputCallbackCaptor.capture(), anyObject());
    InputCallback inputCallback = inputCallbackCaptor.getValue();
    inputCallback.accepted(BRANCH_NAME);
    verify(branchPromise).then(branchCaptor.capture());
    branchCaptor.getValue().apply(selectedBranch);
    verify(constant).branchTypeNew();
    verify(service).branchCreate(anyObject(), any(Path.class), anyString(), anyString());
    verify(service, times(2)).branchList(anyObject(), anyObject(), eq(LIST_ALL));
}
Also used : Path(org.eclipse.che.ide.resource.Path) InputDialog(org.eclipse.che.ide.api.dialogs.InputDialog) InputCallback(org.eclipse.che.ide.api.dialogs.InputCallback) Operation(org.eclipse.che.api.promises.client.Operation) BaseTest(org.eclipse.che.ide.ext.git.client.BaseTest) Test(org.junit.Test)

Example 5 with InputDialog

use of org.eclipse.che.ide.api.dialogs.InputDialog in project che by eclipse.

the class RenameItemAction method actionPerformed.

/** {@inheritDoc} */
@Override
public void actionPerformed(ActionEvent e) {
    final Resource resource = appContext.getResource();
    checkState(resource != null, "Null resource occurred");
    final String resourceName = resource.getName();
    final int selectionLength = resourceName.indexOf('.') >= 0 ? resourceName.lastIndexOf('.') : resourceName.length();
    final InputValidator validator;
    final String dialogTitle;
    if (resource.getResourceType() == FILE) {
        validator = new FileNameValidator(resourceName);
        dialogTitle = localization.renameFileDialogTitle(resourceName);
    } else if (resource.getResourceType() == FOLDER) {
        validator = new FolderNameValidator(resourceName);
        dialogTitle = localization.renameFolderDialogTitle(resourceName);
    } else if (resource.getResourceType() == PROJECT) {
        validator = new ProjectNameValidator(resourceName);
        dialogTitle = localization.renameProjectDialogTitle(resourceName);
    } else {
        throw new IllegalStateException("Not a resource");
    }
    final InputCallback inputCallback = new InputCallback() {

        @Override
        public void accepted(final String value) {
            //we shouldn't perform renaming file with the same name
            if (!value.trim().equals(resourceName)) {
                closeRelatedEditors(resource);
                final Path destination = resource.getLocation().parent().append(value);
                resource.move(destination).catchError(new Operation<PromiseError>() {

                    @Override
                    public void apply(PromiseError arg) throws OperationException {
                        notificationManager.notify("", arg.getMessage(), FAIL, EMERGE_MODE);
                    }
                });
            }
        }
    };
    InputDialog inputDialog = dialogFactory.createInputDialog(dialogTitle, localization.renameDialogNewNameLabel(), resource.getName(), 0, selectionLength, inputCallback, null);
    inputDialog.withValidator(validator);
    inputDialog.show();
}
Also used : Path(org.eclipse.che.ide.resource.Path) InputDialog(org.eclipse.che.ide.api.dialogs.InputDialog) InputCallback(org.eclipse.che.ide.api.dialogs.InputCallback) Resource(org.eclipse.che.ide.api.resources.Resource) InputValidator(org.eclipse.che.ide.api.dialogs.InputValidator) PromiseError(org.eclipse.che.api.promises.client.PromiseError) OperationException(org.eclipse.che.api.promises.client.OperationException)

Aggregations

InputCallback (org.eclipse.che.ide.api.dialogs.InputCallback)7 InputDialog (org.eclipse.che.ide.api.dialogs.InputDialog)7 Operation (org.eclipse.che.api.promises.client.Operation)3 BaseTest (org.eclipse.che.ide.ext.git.client.BaseTest)3 Test (org.junit.Test)3 Path (org.eclipse.che.ide.resource.Path)2 OperationException (org.eclipse.che.api.promises.client.OperationException)1 PromiseError (org.eclipse.che.api.promises.client.PromiseError)1 ConfirmCallback (org.eclipse.che.ide.api.dialogs.ConfirmCallback)1 ConfirmDialog (org.eclipse.che.ide.api.dialogs.ConfirmDialog)1 InputValidator (org.eclipse.che.ide.api.dialogs.InputValidator)1 Resource (org.eclipse.che.ide.api.resources.Resource)1