Example usage for org.eclipse.jdt.internal.core.util Util arrayConcat

List of usage examples for org.eclipse.jdt.internal.core.util Util arrayConcat

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core.util Util arrayConcat.

Prototype

public static final String[] arrayConcat(String[] first, String second) 

Source Link

Document

Returns a new array adding the second array at the end of first array.

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.DeltaProcessor.java

License:Open Source License

private void updateRootIndex(PackageFragmentRoot root, String[] pkgName, IResourceDelta delta) {
    Openable pkg = root.getPackageFragment(pkgName);
    updateIndex(pkg, delta);/*from   w w  w. j a v  a 2 s. c  o m*/
    IResourceDelta[] children = (IResourceDelta[]) delta.getAffectedChildren();
    for (int i = 0, length = children.length; i < length; i++) {
        IResourceDelta child = children[i];
        File resource = child.getFile();
        if (resource.isDirectory()) {
            String[] subpkgName = Util.arrayConcat(pkgName, resource.getName());
            updateRootIndex(root, subpkgName, child);
        }
    }
}

From source file:org.eclipse.jdt.internal.core.CopyResourceElementsOperation.java

License:Open Source License

/**
 * Creates any destination package fragment(s) which do not exists yet.
 * Return true if a read-only package fragment has been found among package fragments, false otherwise
 *///  ww w  .  ja  va2 s  .  c  o  m
private boolean createNeededPackageFragments(IContainer sourceFolder, PackageFragmentRoot root,
        String[] newFragName, boolean moveFolder) throws JavaModelException {
    boolean containsReadOnlyPackageFragment = false;
    IContainer parentFolder = (IContainer) root.resource();
    JavaElementDelta projectDelta = null;
    String[] sideEffectPackageName = null;
    char[][] inclusionPatterns = root.fullInclusionPatternChars();
    char[][] exclusionPatterns = root.fullExclusionPatternChars();
    for (int i = 0; i < newFragName.length; i++) {
        String subFolderName = newFragName[i];
        sideEffectPackageName = Util.arrayConcat(sideEffectPackageName, subFolderName);
        IResource subFolder = parentFolder.findMember(subFolderName);
        if (subFolder == null) {
            // create deepest folder only if not a move (folder will be moved in processPackageFragmentResource)
            if (!(moveFolder && i == newFragName.length - 1)) {
                createFolder(parentFolder, subFolderName, this.force);
            }
            parentFolder = parentFolder.getFolder(new Path(subFolderName));
            sourceFolder = sourceFolder.getFolder(new Path(subFolderName));
            if (Util.isReadOnly(sourceFolder)) {
                containsReadOnlyPackageFragment = true;
            }
            IPackageFragment sideEffectPackage = root.getPackageFragment(sideEffectPackageName);
            if (i < newFragName.length - 1 // all but the last one are side effect packages
                    && !Util.isExcluded(parentFolder, inclusionPatterns, exclusionPatterns)) {
                if (projectDelta == null) {
                    projectDelta = getDeltaFor(root.getJavaProject());
                }
                projectDelta.added(sideEffectPackage);
            }
            this.createdElements.add(sideEffectPackage);
        } else {
            parentFolder = (IContainer) subFolder;
        }
    }
    return containsReadOnlyPackageFragment;
}