Package org.eclipse.ltk.core.refactoring

Examples of org.eclipse.ltk.core.refactoring.TextFileChange


      if (!this.isEmptyEdit(importEdit))
        edit.addChild(importEdit);
      if (this.isEmptyEdit(edit))
        return;

      TextFileChange change = (TextFileChange) this.changes.get(unit);
      if (change == null) {
        change = new TextFileChange(unit.getElementName(), (IFile) unit
            .getResource());
        change.setTextType("java"); //$NON-NLS-1$
        change.setEdit(edit);
      } else
        change.getEdit().addChild(edit);

      this.changes.put(unit, change);
    } catch (final MalformedTreeException exception) {
      RefactoringPlugin.log(exception);
    } catch (final IllegalArgumentException exception) {
View Full Code Here


    public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
        CompositeChange changes = new CompositeChange("Reorganize DRL " + currentName + " Type ");
        drlFiles = drlProjectDetector.detect(file.getProject());
        classPattern = Pattern.compile("(?<=\\W)" + currentName + "(?=\\W)");
        for (IFile drlFile : drlFiles) {
          TextFileChange change = createChangesForFile(drlFile);
            if ( change != null && change.getEdit().getChildrenSize() > 0 ) {
                changes.add(change);
            }
        }
       
        if (changes.getChildren().length == 0) {
View Full Code Here

    String content = FileUtil.readFile(drlFile);
    if ( content == null ) {
        return null;
    }
   
    TextFileChange change = new TextFileChange(drlFile.getName(), drlFile);
    MultiTextEdit mte = new MultiTextEdit();
    change.setEdit(mte);
   
    boolean isImported = false;
    for (ImportDescr importDescr : drlInfo.getPackageDescr().getImports()) {
      isImported |= importDescr.getTarget().equals(className) || importDescr.getTarget().equals(packageName + ".*");
      addReplace(mte, importDescr.getTarget(), content, importDescr.getStartCharacter(), importDescr.getEndCharacter());
View Full Code Here

              return null;
            }

            matcher = pattern.matcher(content);

            TextFileChange change = new TextFileChange(drlFile.getName(), drlFile);
            MultiTextEdit mte = new MultiTextEdit();
            change.setEdit(mte);
            while (matcher.find()) {
                ReplaceEdit replace = new ReplaceEdit(matcher.start(), currentName.length(), newName);
                mte.addChild(replace);
            }
            if (change.getEdit().getChildrenSize() > 0)
                changes.add(change);
        }
        if (changes.getChildren().length==0)
            return null;
        return (changes.getChildren().length > 0)?changes:null;
View Full Code Here

      throw new CoreException(new Status(IStatus.ERROR, RefactoringPlugin.getDefault().getBundleID(), IStatus.ERROR, "Could not locate component: " + _resourcePath.lastSegment(), null)); //$NON-NLS-1$
    }
    if (oldApiFile != null || oldWoFolders.length > 0) {
      CompositeChange compositeChange = new CompositeChange("Rename WOComponent Files");
      if (oldApiFile != null) {
        TextFileChange apiTextFileChange = new TextFileChange("Rename Java class name in API file", oldApiFile);
        apiTextFileChange.setTextType("xml");
        String javaFileName = getCompilationUnit().getElementName();
        String apiContent = apiTextFileChange.getCurrentContent(null);
        apiTextFileChange.setEdit(new ReplaceEdit(apiContent.indexOf(javaFileName), javaFileName.length(), getNewName() + ".java"));
        compositeChange.add(apiTextFileChange);
        compositeChange.add(new RenameResourceChange(oldApiFile.getFullPath(), getNewName() + ".api"));
      }
      for (int i = 0; i < oldWoFolders.length; i++) {
        IFolder oldWoFolder = oldWoFolders[i];
View Full Code Here

    public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
        CompositeChange changes = new CompositeChange("Reorganize DRL " + currentName + " Type ");
        drlFiles = drlProjectDetector.detect(file.getProject());
        classPattern = Pattern.compile("(?<=\\W)" + currentName + "(?=\\W)");
        for (IFile drlFile : drlFiles) {
          TextFileChange change = createChangesForFile(drlFile);
            if ( change != null && change.getEdit().getChildrenSize() > 0 ) {
                changes.add(change);
            }
        }
       
        if (changes.getChildren().length == 0) {
View Full Code Here

    String content = FileUtil.readFile(drlFile);
    if ( content == null ) {
        return null;
    }
   
    TextFileChange change = new TextFileChange(drlFile.getName(), drlFile);
    MultiTextEdit mte = new MultiTextEdit();
    change.setEdit(mte);
   
    boolean isImported = false;
    for (ImportDescr importDescr : drlInfo.getPackageDescr().getImports()) {
      isImported |= importDescr.getTarget().equals(className) || importDescr.getTarget().equals(packageName + ".*");
      addReplace(mte, importDescr.getTarget(), content, importDescr.getStartCharacter(), importDescr.getEndCharacter());
View Full Code Here

            Pattern pattern = Pattern.compile(toReplace);
            matcher = pattern.matcher(content);

            if (matcher.find()) {
                TextFileChange change = new TextFileChange(drlFile.getName(), drlFile);
                MultiTextEdit mte = new MultiTextEdit();
                change.setEdit(mte);
                ReplaceEdit replace = new ReplaceEdit(matcher.start(), toReplace.length(), replaceWith);
                mte.addChild(replace);
                changes.add(change);
                refactoringContent.updateContent(drlFile, content.replace(toReplace, replaceWith));
            }
View Full Code Here

      IWorkspace workspace = ResourcesPlugin.getWorkspace();
      workspace.addResourceChangeListener(rcl);
      try{
        TextEdit[] edits = new TextEdit[0];
        if (change instanceof TextFileChange){
          TextFileChange fileChange = (TextFileChange)change;
          fileChange.setSaveMode(TextFileChange.FORCE_SAVE);
          TextEdit edit = fileChange.getEdit();
          if (edit instanceof MultiTextEdit){
            edits = ((MultiTextEdit)edit).getChildren();
          }else{
            edits = new TextEdit[]{edit};
          }
View Full Code Here

        results.addAll(previewChanges(c));
      }
    }else{
      HashMap<String,String> result = new HashMap<String,String>();
      if (change instanceof TextFileChange){
        TextFileChange text = (TextFileChange)change;
        result.put("type", "diff");
        result.put("file",
            text.getFile().getLocation().toOSString().replace('\\', '/'));
      }else{
        result.put("type", "other");
        result.put("message", change.toString());
      }
      results.add(result);
View Full Code Here

TOP

Related Classes of org.eclipse.ltk.core.refactoring.TextFileChange

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.