use of org.eclipse.ltk.core.refactoring.participants.RenameRefactoring in project tdi-studio-se by Talend.
the class ChangeProjectTechinicalNameMigrationTask method renameProject.
/**
*
* DOC ggu Comment method "renameProject".
*
* @param localProject
* @param newProjectName
* @return
*/
@SuppressWarnings("restriction")
protected boolean renameProject(IProject localProject, String newProjectName) {
RenameResourceProcessor renameProcessor = new RenameResourceProcessor(localProject);
renameProcessor.setNewResourceName(newProjectName);
CheckConditionsOperation condictionOperation = new CheckConditionsOperation(new RenameRefactoring(renameProcessor), CheckConditionsOperation.FINAL_CONDITIONS);
CreateChangeOperation operation = new CreateChangeOperation(condictionOperation, RefactoringCore.getConditionCheckingFailedSeverity());
PerformChangeOperation performChangeOp = new PerformChangeOperation(operation);
try {
performChangeOp.run(null);
} catch (CoreException e) {
ExceptionHandler.process(e);
return false;
}
return true;
}
use of org.eclipse.ltk.core.refactoring.participants.RenameRefactoring in project tdi-studio-se by Talend.
the class EditPropertiesAction method processRename.
protected void processRename(IRepositoryNode node, String originalName) {
try {
IRunProcessService runProcessService = CorePlugin.getDefault().getRunProcessService();
ITalendProcessJavaProject talendProcessJavaProject = runProcessService.getTalendProcessJavaProject();
if (talendProcessJavaProject == null) {
return;
}
IFolder srcFolder = talendProcessJavaProject.getSrcFolder();
IPackageFragmentRoot root = talendProcessJavaProject.getJavaProject().getPackageFragmentRoot(srcFolder);
// add for bug TDI-24379 on August 23, 2013.
IFolder srcInterFolder = srcFolder.getFolder(JavaUtils.JAVA_INTERNAL_DIRECTORY);
if (srcInterFolder.exists()) {
File file = new File(srcInterFolder.getLocationURI());
for (File f : file.listFiles()) {
if (f.isFile()) {
f.delete();
}
}
}
// qli modified to fix the bug 5400 and 6185.
// update for fix [TESB-6784]
IPackageFragment routinesPkg = getPackageFragment(root, node);
// ICompilationUnit unit = routinesPkg.getCompilationUnit(originalName +
// SuffixConstants.SUFFIX_STRING_java);
//$NON-NLS-1$
ICompilationUnit unit = routinesPkg.getCompilationUnit(originalName + ".java");
if (unit == null) {
return;
}
String newName = node.getObject().getProperty().getLabel();
JavaRenameProcessor processor = new RenameCompilationUnitProcessor(unit);
// processor.setNewElementName(newName + SuffixConstants.SUFFIX_STRING_java);
//$NON-NLS-1$
processor.setNewElementName(newName + ".java");
RenameRefactoring ref = new RenameRefactoring(processor);
final PerformRefactoringOperation operation = new PerformRefactoringOperation(ref, CheckConditionsOperation.ALL_CONDITIONS);
IRunnableWithProgress r = new IRunnableWithProgress() {
@Override
public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
try {
operation.run(monitor);
} catch (CoreException e) {
ExceptionHandler.process(e);
}
}
});
}
};
PlatformUI.getWorkbench().getProgressService().run(true, true, r);
RefactoringStatus conditionStatus = operation.getConditionStatus();
if (conditionStatus.hasError()) {
//$NON-NLS-1$
String errorMessage = Messages.getString("EditPropertiesAction.renameError", unit.getElementName(), newName);
RefactoringStatusEntry[] entries = conditionStatus.getEntries();
for (RefactoringStatusEntry entry : entries) {
//$NON-NLS-1$
errorMessage += "\n>>>" + entry.getMessage();
}
Shell shell = null;
IRepositoryView viewPart = getViewPart();
if (viewPart != null) {
shell = viewPart.getViewSite().getShell();
} else {
shell = Display.getCurrent().getActiveShell();
}
//$NON-NLS-1$
MessageDialog.openError(shell, Messages.getString("EditPropertiesAction.warning"), errorMessage);
return;
}
// ICompilationUnit newUnit = routinesPkg.getCompilationUnit(newName + SuffixConstants.SUFFIX_STRING_java);
//$NON-NLS-1$
ICompilationUnit newUnit = routinesPkg.getCompilationUnit(newName + ".java");
if (newUnit == null) {
return;
}
RoutineItem item = (RoutineItem) node.getObject().getProperty().getItem();
IFile javaFile = (IFile) newUnit.getAdapter(IResource.class);
try {
ByteArray byteArray = item.getContent();
byteArray.setInnerContentFromFile(javaFile);
IRepositoryService service = CorePlugin.getDefault().getRepositoryService();
IProxyRepositoryFactory repFactory = service.getProxyRepositoryFactory();
repFactory.save(item);
} catch (Exception e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
} catch (Exception e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
use of org.eclipse.ltk.core.refactoring.participants.RenameRefactoring in project tdi-studio-se by Talend.
the class StandAloneTalendJavaEditor method refreshName.
/*
* (non-Javadoc)
*
* @see org.talend.core.ui.IUIRefresher#refreshName()
*/
@Override
public void refreshName() {
ICompilationUnit unit = (ICompilationUnit) this.getInputJavaElement();
String newName = item.getProperty().getLabel();
try {
boolean noError = true;
// String newName2 = newName + SuffixConstants.SUFFIX_STRING_java;
//$NON-NLS-1$
String newName2 = newName + ".java";
if (item instanceof RoutineItem && !unit.getElementName().equals(newName2)) {
JavaRenameProcessor processor = new RenameCompilationUnitProcessor(unit);
processor.setNewElementName(newName2);
RenameRefactoring ref = new RenameRefactoring(processor);
final PerformRefactoringOperation operation = new PerformRefactoringOperation(ref, CheckConditionsOperation.ALL_CONDITIONS);
IRunnableWithProgress r = new IRunnableWithProgress() {
@Override
public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
try {
operation.run(monitor);
} catch (CoreException e) {
ExceptionHandler.process(e);
}
}
});
}
};
PlatformUI.getWorkbench().getProgressService().run(true, true, r);
RefactoringStatus conditionStatus = operation.getConditionStatus();
if (conditionStatus != null && conditionStatus.hasError()) {
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
String errorMessage = "Rename " + unit.getElementName() + " to " + newName + " has errors!";
RefactoringStatusEntry[] entries = conditionStatus.getEntries();
for (RefactoringStatusEntry entry : entries) {
//$NON-NLS-1$
errorMessage += "\n>>>" + entry.getMessage();
}
//$NON-NLS-1$
MessageDialog.openError(this.getSite().getShell(), "Warning", errorMessage);
noError = false;
}
}
if (noError) {
doSave(null);
}
setName();
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
use of org.eclipse.ltk.core.refactoring.participants.RenameRefactoring in project webtools.sourceediting by eclipse.
the class RenameHandler method run.
public void run(ISelection selection, XSDSchema schema, XSDNamedComponent selectedComponent) {
if (selectedComponent.getName() == null) {
selectedComponent.setName(new String());
}
if (selectedComponent.getSchema() == null) {
if (schema != null) {
schema.updateElement(true);
}
}
boolean rc = SaveDirtyFilesDialog.saveDirtyFiles();
if (!rc) {
return;
}
RefactoringComponent component = new XMLRefactoringComponent(selectedComponent, (IDOMElement) selectedComponent.getElement(), selectedComponent.getName(), selectedComponent.getTargetNamespace());
RenameComponentProcessor processor = new RenameComponentProcessor(component, selectedComponent.getName());
RenameRefactoring refactoring = new RenameRefactoring(processor);
try {
RefactoringWizard wizard = new RenameRefactoringWizard(refactoring, RefactoringWizardMessages.RenameComponentWizard_defaultPageTitle, RefactoringWizardMessages.RenameComponentWizard_inputPage_description, null);
RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard);
op.run(XSDEditorPlugin.getShell(), wizard.getDefaultPageTitle());
} catch (InterruptedException e) {
// do nothing. User action got canceled
}
}
use of org.eclipse.ltk.core.refactoring.participants.RenameRefactoring in project webtools.sourceediting by eclipse.
the class UpdateNameCommand method renameComponent.
/**
* Performs a rename refactoring to rename the component and all the
* references to it within the current schema.
*
* @param newName the new component name.
*/
private void renameComponent(String newName) {
// this is a 'globally' defined component (e.g. global element)
if (component.eContainer() instanceof XSDSchema) {
IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (workbenchWindow != null) {
IWorkbenchPage page = workbenchWindow.getActivePage();
if (page != null) {
IEditorInput editorInput = page.getActiveEditor().getEditorInput();
if (editorInput instanceof FileEditorInput) {
RefactoringComponent refactoringComponent = new XMLRefactoringComponent(component, (IDOMElement) component.getElement(), component.getName(), component.getTargetNamespace());
RenameComponentProcessor processor = new RenameComponentProcessor(refactoringComponent, newName, true);
RenameRefactoring refactoring = new RenameRefactoring(processor);
PerformUnsavedRefactoringOperation operation = new PerformUnsavedRefactoringOperation(refactoring);
operation.run(null);
} else {
// We can't refactor rename external files
component.setName(newName);
}
}
}
} else {
// this is a 'locally' defined component (e.g. local element)
// no need to call refactoring since this component can't be referenced
component.setName(newName);
}
}
Aggregations