use of org.eclipse.che.ide.ext.java.shared.dto.refactoring.RefactoringStatus in project che by eclipse.
the class RenamePresenterTest method changesShouldNotBeAppliedAndShowErrorMessage.
@Test
public void changesShouldNotBeAppliedAndShowErrorMessage() throws Exception {
RefactoringStatus refactoringStatus = mock(RefactoringStatus.class);
when(refactoringStatus.getSeverity()).thenReturn(4);
when(changeCreationResult.isCanShowPreviewPage()).thenReturn(false);
when(changeCreationResult.getStatus()).thenReturn(refactoringStatus);
renamePresenter.show(refactorInfo);
verify(refactorService).createRenameRefactoring(createRenameRefactoringDto);
verify(renameRefactoringSessionPromise).then(renameRefactoringSessionCaptor.capture());
renameRefactoringSessionCaptor.getValue().apply(session);
renamePresenter.onAcceptButtonClicked();
verify(refactoringSession).setSessionId(SESSION_ID);
verifyPreparingRenameSettingsDto();
verifyPreparingRenameChanges();
verify(changeCreationResultPromise).then(changeCreationResultCaptor.capture());
changeCreationResultCaptor.getValue().apply(changeCreationResult);
verify(view).showErrorMessage(any());
}
use of org.eclipse.che.ide.ext.java.shared.dto.refactoring.RefactoringStatus in project che by eclipse.
the class MovePresenter method setMoveDestinationPath.
/** {@inheritDoc} */
@Override
public void setMoveDestinationPath(String path, String projectPath) {
ReorgDestination destination = dtoFactory.createDto(ReorgDestination.class);
destination.setType(ReorgDestination.DestinationType.PACKAGE);
destination.setSessionId(refactoringSessionId);
destination.setProjectPath(projectPath);
destination.setDestination(path);
Promise<RefactoringStatus> promise = refactorService.setDestination(destination);
promise.then(new Operation<RefactoringStatus>() {
@Override
public void apply(RefactoringStatus arg) throws OperationException {
view.setEnableAcceptButton(true);
view.setEnablePreviewButton(true);
switch(arg.getSeverity()) {
case INFO:
view.showStatusMessage(arg);
break;
case WARNING:
view.showStatusMessage(arg);
break;
case ERROR:
showErrorMessage(arg);
break;
case FATAL:
showErrorMessage(arg);
break;
case OK:
default:
view.clearStatusMessage();
break;
}
}
});
}
use of org.eclipse.che.ide.ext.java.shared.dto.refactoring.RefactoringStatus in project che by eclipse.
the class RenameRefactoringTest method testApplyLinkedRename.
@Test
public void testApplyLinkedRename() throws Exception {
StringBuilder b = new StringBuilder();
b.append("package p;\n");
b.append("public class A{}\n");
ICompilationUnit unit = getPackageP().createCompilationUnit("A.java", b.toString(), false, null);
IType type = unit.getAllTypes()[0];
RenameRefactoringSession refactoring = manager.createRenameRefactoring(type, unit, b.indexOf("A"), true);
assertThat(refactoring).isNotNull();
assertThat(refactoring.getSessionId()).isNotNull().isNotEmpty();
LinkedRenameRefactoringApply apply = new DtoServerImpls.LinkedRenameRefactoringApplyImpl();
apply.setSessionId(refactoring.getSessionId());
apply.setNewName("Test");
RefactoringStatus status = manager.applyLinkedRename(apply);
assertThat(status).isNotNull();
assertThat(status.getSeverity()).isEqualTo(RefactoringStatus.OK);
assertThat(unit.exists()).isFalse();
ICompilationUnit newUnit = getPackageP().getCompilationUnit("Test.java");
assertThat(newUnit.exists()).isTrue();
}
use of org.eclipse.che.ide.ext.java.shared.dto.refactoring.RefactoringStatus in project che by eclipse.
the class RenameRefactoringTest method testRenameValidateName.
@Test
public void testRenameValidateName() throws Exception {
StringBuilder b = new StringBuilder();
b.append("package p;\n");
b.append("public class A{}\n");
ICompilationUnit unit = getPackageP().createCompilationUnit("A.java", b.toString(), false, null);
IType type = unit.getAllTypes()[0];
RenameRefactoringSession refactoring = manager.createRenameRefactoring(type, unit, b.indexOf("A"), false);
DtoServerImpls.ValidateNewNameImpl validateNewName = new DtoServerImpls.ValidateNewNameImpl();
validateNewName.setSessionId(refactoring.getSessionId());
validateNewName.setNewName("MyClass");
RefactoringStatus status = manager.renameValidateNewName(validateNewName);
assertThat(status).isNotNull();
assertThat(status.getSeverity()).isEqualTo(RefactoringStatus.OK);
}
use of org.eclipse.che.ide.ext.java.shared.dto.refactoring.RefactoringStatus in project che by eclipse.
the class RenameRefactoringTest method testDoRename.
@Test
public void testDoRename() throws Exception {
StringBuilder b = new StringBuilder();
b.append("package p;\n");
b.append("public class A{}\n");
ICompilationUnit unit = getPackageP().createCompilationUnit("A.java", b.toString(), false, null);
IType type = unit.getAllTypes()[0];
RenameRefactoringSession refactoring = manager.createRenameRefactoring(type, unit, b.indexOf("A"), false);
DtoServerImpls.ValidateNewNameImpl validateNewName = new DtoServerImpls.ValidateNewNameImpl();
validateNewName.setSessionId(refactoring.getSessionId());
validateNewName.setNewName("MyClass");
manager.renameValidateNewName(validateNewName);
RenameSettings settings = new DtoServerImpls.RenameSettingsImpl();
settings.setSessionId(refactoring.getSessionId());
settings.setDeprecateDelegates(true);
settings.setUpdateReferences(true);
manager.setRenameSettings(settings);
ChangeCreationResult change = manager.createChange(refactoring.getSessionId());
assertThat(change).isNotNull();
RefactoringStatus applyRefactoring = manager.applyRefactoring(refactoring.getSessionId());
assertThat(applyRefactoring).isNotNull();
assertThat(applyRefactoring.getSeverity()).isEqualTo(RefactoringStatus.OK);
assertThat(unit.exists()).isFalse();
ICompilationUnit newUnit = getPackageP().getCompilationUnit("MyClass.java");
assertThat(newUnit.exists()).isTrue();
}
Aggregations