Search in sources :

Example 11 with IErlSelection

use of org.erlide.wrangler.refactoring.selection.IErlSelection in project erlide_eclipse by erlang.

the class GeneraliseFunctionRefactoring method checkFinalConditions.

@Override
public RefactoringStatus checkFinalConditions(final IProgressMonitor pm) throws CoreException, OperationCanceledException {
    final IErlSelection sel = GlobalParameters.getWranglerSelection();
    final IRefactoringRpcMessage theMessage = run(sel);
    if (theMessage.isSuccessful()) {
        changedFiles = theMessage.getRefactoringChangeset();
        return new RefactoringStatus();
    }
    return RefactoringStatus.createFatalErrorStatus(theMessage.getMessageString());
}
Also used : IRefactoringRpcMessage(org.erlide.wrangler.refactoring.backend.IRefactoringRpcMessage) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection)

Example 12 with IErlSelection

use of org.erlide.wrangler.refactoring.selection.IErlSelection in project erlide_eclipse by erlang.

the class SimpleOneStepWranglerRefactoring method checkFinalConditions.

/**
 * If the refactoring returns with a warning message, wrangler should know
 * that the user asked to continue. It is done by calling a function.
 *
 * @return a refactoring message
 */
// public abstract IRefactoringRpcMessage runAfterWarning(IErlSelection
// sel);
@Override
public RefactoringStatus checkFinalConditions(final IProgressMonitor pm) throws CoreException, OperationCanceledException {
    final IErlSelection sel = GlobalParameters.getWranglerSelection();
    final IRefactoringRpcMessage message = run(sel);
    if (message.isSuccessful()) {
        changedFiles = message.getRefactoringChangeset();
        return new RefactoringStatus();
    // } else if (message.getRefactoringState() ==
    // RefactoringState.WARNING) {
    // return RefactoringStatus.createWarningStatus(message
    // .getMessageString());
    }
    return RefactoringStatus.createFatalErrorStatus(message.getMessageString());
}
Also used : IRefactoringRpcMessage(org.erlide.wrangler.refactoring.backend.IRefactoringRpcMessage) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection)

Example 13 with IErlSelection

use of org.erlide.wrangler.refactoring.selection.IErlSelection in project erlide_eclipse by erlang.

the class RenameModuleRefactoring method getWorkflowController.

@Override
public RefactoringWorkflowController getWorkflowController(final Shell shell) {
    return new RefactoringWorkflowController(shell) {

        @Override
        public void doRefactoring() {
            final IErlSelection sel = GlobalParameters.getWranglerSelection();
            IRefactoringRpcMessage message = run(sel);
            if (message.isSuccessful()) {
                changedFiles = message.getRefactoringChangeset();
                status = new RefactoringStatus();
            } else if (message.getRefactoringState() == RefactoringState.QUESTION) {
                renameTestMod = ask("Question", message.getMessageString());
                message = runAlternative(sel);
                if (message.getRefactoringState() == RefactoringState.OK) {
                    changedFiles = message.getRefactoringChangeset();
                    status = new RefactoringStatus();
                } else {
                    status = RefactoringStatus.createFatalErrorStatus(message.getMessageString());
                }
            } else if (message.getRefactoringState() == RefactoringState.WARNING) {
                renameTestMod = !ask("Warning", message.getMessageString());
                if (!renameTestMod) {
                    message = runAlternative(sel);
                    if (message.getRefactoringState() == RefactoringState.OK) {
                        changedFiles = message.getRefactoringChangeset();
                        status = new RefactoringStatus();
                    } else {
                        status = RefactoringStatus.createFatalErrorStatus(message.getMessageString());
                    }
                } else {
                    stop();
                }
            } else {
                status = RefactoringStatus.createFatalErrorStatus(message.getMessageString());
            }
        }
    };
}
Also used : IRefactoringRpcMessage(org.erlide.wrangler.refactoring.backend.IRefactoringRpcMessage) RefactoringWorkflowController(org.erlide.wrangler.refactoring.core.RefactoringWorkflowController) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection)

Example 14 with IErlSelection

use of org.erlide.wrangler.refactoring.selection.IErlSelection in project erlide_eclipse by erlang.

the class UserRefactoring method getWorkflowController.

/**
 * Defines workflow of the refactoring, sets changed files and status
 *
 * @param shell
 * @return
 */
public RefactoringWorkflowController getWorkflowController(final Shell shell) {
    return new RefactoringWorkflowController(shell) {

        @Override
        public void doRefactoring() {
            final IErlSelection sel = GlobalParameters.getWranglerSelection();
            final IRefactoringRpcMessage message = run(sel);
            if (message.isSuccessful()) {
                changedFiles = message.getRefactoringChangeset();
                status = new RefactoringStatus();
            } else {
                status = RefactoringStatus.createFatalErrorStatus(message.getMessageString());
            }
        }
    };
}
Also used : IRefactoringRpcMessage(org.erlide.wrangler.refactoring.backend.IRefactoringRpcMessage) RefactoringWorkflowController(org.erlide.wrangler.refactoring.core.RefactoringWorkflowController) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection)

Example 15 with IErlSelection

use of org.erlide.wrangler.refactoring.selection.IErlSelection in project erlide_eclipse by erlang.

the class FoldAgainstMacro method checkFinalConditions.

@Override
public RefactoringStatus checkFinalConditions(final IProgressMonitor pm) throws CoreException, OperationCanceledException {
    final IErlSelection sel = GlobalParameters.getWranglerSelection();
    final IRefactoringRpcMessage message = run(sel);
    if (message.isSuccessful()) {
        changedFiles = message.getRefactoringChangeset();
        return new RefactoringStatus();
    }
    return RefactoringStatus.createFatalErrorStatus(message.getMessageString());
}
Also used : IRefactoringRpcMessage(org.erlide.wrangler.refactoring.backend.IRefactoringRpcMessage) RefactoringStatus(org.eclipse.ltk.core.refactoring.RefactoringStatus) IErlSelection(org.erlide.wrangler.refactoring.selection.IErlSelection)

Aggregations

IErlSelection (org.erlide.wrangler.refactoring.selection.IErlSelection)22 RefactoringStatus (org.eclipse.ltk.core.refactoring.RefactoringStatus)19 IRefactoringRpcMessage (org.erlide.wrangler.refactoring.backend.IRefactoringRpcMessage)14 RefactoringWorkflowController (org.erlide.wrangler.refactoring.core.RefactoringWorkflowController)5 IErlMemberSelection (org.erlide.wrangler.refactoring.selection.IErlMemberSelection)5 ExpressionPosRpcMessage (org.erlide.wrangler.refactoring.backend.internal.ExpressionPosRpcMessage)4 OtpErlangTuple (com.ericsson.otp.erlang.OtpErlangTuple)2 WranglerException (org.erlide.wrangler.refactoring.exception.WranglerException)2 OtpErlangBoolean (com.ericsson.otp.erlang.OtpErlangBoolean)1 OtpErlangList (com.ericsson.otp.erlang.OtpErlangList)1 OtpErlangLong (com.ericsson.otp.erlang.OtpErlangLong)1 OtpErlangObject (com.ericsson.otp.erlang.OtpErlangObject)1 OtpErlangString (com.ericsson.otp.erlang.OtpErlangString)1 File (java.io.File)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 ExecutionException (org.eclipse.core.commands.ExecutionException)1 IFile (org.eclipse.core.resources.IFile)1 CoreException (org.eclipse.core.runtime.CoreException)1 Shell (org.eclipse.swt.widgets.Shell)1