Package org.eclipse.ltk.core.refactoring

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


        {
            return new NullChange();
        }
        else
        {
            CompositeChange ret = new CompositeChange("Export-Package update");

            ret.addAll(changes.toArray(new Change[changes.size()]));

            return ret;
        }
    }
View Full Code Here


    }
    return null;
  }

  private Change renameTemplateFile(IProgressMonitor pm) {
    CompositeChange result = new CompositeChange("Japid Template File name change.");
    final String newName= getArguments().getNewName();
    if (packageName.startsWith(CONTROLLERS)) {
      try {
        fType.getParent().getResource().refreshLocal(IResource.DEPTH_INFINITE, pm);
      } catch (CoreException e) {
        e.printStackTrace();
        return null;
      }
     
      String filenameRoot = packageName.substring(CONTROLLERS.length()) + "." + method.getElementName();
      for (String extension: templateExtensions) {
        String tempName = "app/japidviews/" + filenameRoot.replace('.', '/') + extension;
        IFile file = project.getFile(tempName);
        if (file.exists()) {
          RenameTemplateChange ren = new RenameTemplateChange(file.getFullPath(), newName + extension);
          result.add(ren);;
        }
      }
    }
    return result.getChildren().length > 0 ? result : null;
  }
View Full Code Here

    TextSearchEngine.create().search(scope, collector, pattern, pm);
   
    if (changes.isEmpty())
      return null;
   
    CompositeChange result= new CompositeChange("My special file updates"); //$NON-NLS-1$
    for (Iterator<Change> iter= changes.values().iterator(); iter.hasNext();) {
      result.add(iter.next());
    }
    return result;
  }
View Full Code Here

    @Override
    public Change createChange(final IProgressMonitor pm) throws CoreException,
            OperationCanceledException {

        final CompositeChange c = (CompositeChange) super.createChange(pm);

        for (final ChangedFile f : changedFiles) {
            if (f.isNameChanged()) {
                final IPath p = f.getPath();
                final String s = f.getNewName();
                final RenameResourceChange rch = new RenameResourceChange(p, s);

                c.add(rch);
            }
        }

        return c;
    }
View Full Code Here

    @Override
    public Change createChange(final IProgressMonitor pm) throws CoreException,
            OperationCanceledException {
        pm.beginTask("Creating changes", changedFiles.size() + 1);
        final CompositeChange change = new CompositeChange(getName());
        pm.internalWorked(1);

        try {
            Change c;
            for (final ChangedFile e : changedFiles) {
                c = e.createChanges();
                if (c != null) {
                    change.add(c);
                    pm.internalWorked(1);
                }
            }
        } catch (final IOException e) {
            final Status s = new Status(IStatus.ERROR, Activator.PLUGIN_ID,
View Full Code Here

        return status;
    }

    @Override
    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) {
          return null;
        }
        DroolsEclipsePlugin.getDefault().setForceFullBuild();
        return changes;
    }
View Full Code Here

        return status;
    }

    @Override
    public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
        CompositeChange changes = null;
        String content;
        changes = new CompositeChange("Reorganize DRL " + currentName + " Type ");
        drlFiles = drlProjectDetector.detect(file.getProject());
        for (IFile drlFile : drlFiles) {

            if ((content = readFile(drlFile))==null)
                return null;

            Pattern pattern = Pattern.compile("(?<=\\.|\\s)" + currentName + "(?=\\(|\\n|\\s)");
            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

        return status;
    }

    @Override
    public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
        CompositeChange changes = null;
        String content;
        changes = new CompositeChange("Fix " + currentName + " field on DRL files");
        IFile file = getSourceFieldIFile();
        String typeName = sourceField.getParent().getElementName();
        if (file!=null) {
            RenameFieldProcessor renameFieldProcessor = (RenameFieldProcessor)processor;
            for (IFile drlFile : drlFiles) {

                if ((content = readFile(drlFile))==null)
                    return null;

                TextFileChange change = new TextFileChange(drlFile.getName(), drlFile);
                MultiTextEdit mte = new MultiTextEdit();
                change.setEdit(mte);

                // rename the field name
                Pattern pattern = Pattern.compile(FIELD_NAME.replaceAll("FIELD_NAME", currentName));
                matcher = pattern.matcher(content);
                while (matcher.find()) {
                    ReplaceEdit replace = new ReplaceEdit(matcher.start(), currentName.length(), newName);
                    mte.addChild(replace);
                }

                // search all the variables of the type to replace the getters/setters
                pattern = Pattern.compile(VARIABLE_ASSIGNED.replace("TYPE", typeName));
                matcher = pattern.matcher(content);
                while (matcher.find()) {
                    if (matcher.group().length() > 0) {
                        String variableNameAssigned = matcher.group();
                        if (renameFieldProcessor.getRenameGetter()) {
                            String newGetterName = renameFieldProcessor.getNewGetterName();
                            String currentGetterName = renameFieldProcessor.getGetter().getElementName();
                            String regexp = GETTER_NAME.replace("VARIABLE_NAME", variableNameAssigned).replace("CURRENT_GETTER_NAME", currentGetterName);
                            createFieldRenameChanges(mte, content, regexp, currentGetterName, newGetterName);
                        }
                        if (renameFieldProcessor.getRenameSetter()) {
                            String newSetterName = renameFieldProcessor.getNewSetterName();
                            String currentSetterName = renameFieldProcessor.getSetter().getElementName();
                            String regexp = SETTER_NAME.replace("VARIABLE_NAME", variableNameAssigned).replace("CURRENT_SETTER_NAME", currentSetterName);
                            createFieldRenameChanges(mte, content, regexp, currentSetterName, newSetterName);
                        }
                    }
                }

                if (change.getEdit().getChildrenSize() > 0)
                    changes.add(change);

            }
        }
        return (changes.getChildren().length > 0)?changes:null;
    }
View Full Code Here

        return status;
    }

    @Override
    public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
        CompositeChange changes = new CompositeChange("Reorganize DRL " + currentName + "." + className + " imports ");
        String content;
        for (IFile drlFile : drlProjectDetector.detect(file.getProject())) {

            content = refactoringContent.getIFileContent(drlFile);
            if (content==null && (content = readFile(drlFile))==null)
                continue;

            String toReplace = currentName + "." + className;
            String replaceWith = newName + "." + className;

            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));
            }
        }
        return (changes.getChildren().length > 0)?changes:null;
    }
View Full Code Here

        this.formNode = formNode;
    }

    @Override
    public List<Change> getChanges() throws Exception {
        CompositeChange result = new CompositeChange(formNode.getName());
        if (formNode.hasForm()) {
            IFile file = folder.getFile(formNode.getFormFileName());
            result.addAll(processFile(file, Messages.getString("Search.formNode.form")));
        }
        if (formNode.hasFormValidation()) {
            IFile file = folder.getFile(formNode.getValidationFileName());
            result.addAll(processFile(file, Messages.getString("Search.formNode.validation")));
        }
        if (result.getChildren().length > 0)
            return Arrays.asList((Change) result);
        return new ArrayList<Change>();
    }
View Full Code Here

TOP

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

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.