Example usage for org.aspectj.util LangUtil isEmpty

List of usage examples for org.aspectj.util LangUtil isEmpty

Introduction

In this page you can find the example usage for org.aspectj.util LangUtil isEmpty.

Prototype

public static boolean isEmpty(Map<?, ?> map) 

Source Link

Usage

From source file:org.eclipse.ajdt.core.ant.AjcTask.java

License:Open Source License

/**
 * Run the compile in the same VM by loading the compiler (Main), setting up any message holders, doing the compile, and
 * converting abort/failure and error messages to BuildException, as appropriate.
 * /*from  ww  w.j  a v a 2s  .co m*/
  * @return true on successful compilation
 * @throws BuildException if abort or failure messages or if errors and failonerror.
 * 
 */
protected boolean executeInSameVM(String[] args) {
    if (null != maxMem) {
        log("maxMem ignored unless forked: " + maxMem, Project.MSG_WARN);
    }
    IMessageHolder holder = messageHolder;
    int numPreviousErrors;
    if (null == holder) {
        MessageHandler mhandler = new MessageHandler(true);
        final IMessageHandler delegate;
        delegate = new AntMessageHandler(this.logger, this.verbose, false);
        mhandler.setInterceptor(delegate);
        holder = mhandler;
        numPreviousErrors = 0;
    } else {
        numPreviousErrors = holder.numMessages(IMessage.ERROR, true);
    }
    AjdtCommandForAnt command = new AjdtCommandForAnt();
    {
        Main newmain = new Main();
        newmain.setCommand(command);
        newmain.setHolder(holder);
        newmain.setCompletionRunner(new Runnable() {
            public void run() {
                doCompletionTasks();
            }
        });
        if (null != main) {
            MessageUtil.fail(holder, "still running prior main");
            return false;
        }
        main = newmain;
    }
    main.runMain(args, false);
    if (failonerror) {
        int errs = holder.numMessages(IMessage.ERROR, false);
        errs -= numPreviousErrors;
        if (0 < errs) {
            String m = errs + " errors";
            MessageUtil.print(System.err, holder, "", MessageUtil.MESSAGE_ALL, MessageUtil.PICK_ERROR, true);
            throw new BuildException(m);
        }
    }
    // Throw BuildException if there are any fail or abort
    // messages.
    // The BuildException message text has a list of class names
    // for the exceptions found in the messages, or the
    // number of fail/abort messages found if there were
    // no exceptions for any of the fail/abort messages.
    // The interceptor message handler should have already
    // printed the messages, including any stack traces.
    // HACK: this ignores the Usage message
    {
        IMessage[] fails = holder.getMessages(IMessage.FAIL, true);
        if (!LangUtil.isEmpty(fails)) {
            StringBuffer sb = new StringBuffer();
            String prefix = "fail due to ";
            int numThrown = 0;
            for (int i = 0; i < fails.length; i++) {
                String message = fails[i].getMessage();
                if (LangUtil.isEmpty(message)) {
                    message = "<no message>";
                } else if (-1 != message.indexOf(USAGE_SUBSTRING)) {
                    continue;
                }
                Throwable t = fails[i].getThrown();
                if (null != t) {
                    numThrown++;
                    sb.append(prefix);
                    sb.append(LangUtil.unqualifiedClassName(t.getClass()));
                    String thrownMessage = t.getMessage();
                    if (!LangUtil.isEmpty(thrownMessage)) {
                        sb.append(" \"" + thrownMessage + "\"");
                    }
                }
                sb.append("\"" + message + "\"");
                prefix = ", ";
            }
            if (0 < sb.length()) {
                sb.append(" (" + numThrown + " exceptions)");
                throw new BuildException(sb.toString());
            }
        }
    }
    return command.isFailed();
}

From source file:org.eclipse.ajdt.core.ant.AjcTask.java

License:Open Source License

/** @return null if path null or empty, String rendition otherwise */
protected static void addFlaggedPath(String flag, Path path, List list) {
    if (!LangUtil.isEmpty(flag) && ((null != path) && (0 < path.size()))) {
        list.add(flag);/*from ww  w  . j  av a2s .  c om*/
        list.add(path.toString());
    }
}

From source file:org.eclipse.ajdt.core.ant.AjcTask.java

License:Open Source License

/**
 * Complete the destination directory by copying resources from the source root directories (if the filter is specified) and
 * non-.class files from the input jars (if XCopyInjars is enabled).
 *///from ww w. ja  v a2  s .  c o  m
private void completeDestdir() {
    if (!copyInjars && (null == sourceRootCopyFilter) && (null == inpathDirCopyFilter)) {
        return;
    } else if ((destDir == DEFAULT_DESTDIR) || !destDir.canWrite()) {
        String s = "unable to copy resources to destDir: " + destDir;
        throw new BuildException(s);
    }
    final Project project = getProject();
    if (copyInjars) { // XXXX remove as unused since 1.1.1
        if (null != inpath) {
            log("copyInjars does not support inpath.\n", Project.MSG_WARN);
        }
        String taskName = getTaskName() + " - unzip";
        String[] paths = injars.list();
        if (!LangUtil.isEmpty(paths)) {
            PatternSet patternSet = new PatternSet();
            patternSet.setProject(project);
            patternSet.setIncludes("**/*");
            patternSet.setExcludes("**/*.class");
            for (int i = 0; i < paths.length; i++) {
                Expand unzip = new Expand();
                unzip.setProject(project);
                unzip.setTaskName(taskName);
                unzip.setDest(destDir);
                unzip.setSrc(new File(paths[i]));
                unzip.addPatternset(patternSet);
                unzip.execute();
            }
        }
    }
    if ((null != sourceRootCopyFilter) && (null != sourceRoots)) {
        String[] paths = sourceRoots.list();
        if (!LangUtil.isEmpty(paths)) {
            Copy copy = new Copy();
            copy.setProject(project);
            copy.setTodir(destDir);
            for (int i = 0; i < paths.length; i++) {
                FileSet fileSet = new FileSet();
                fileSet.setDir(new File(paths[i]));
                fileSet.setIncludes("**/*");
                fileSet.setExcludes(sourceRootCopyFilter);
                copy.addFileset(fileSet);
            }
            copy.execute();
        }
    }
    if ((null != inpathDirCopyFilter) && (null != inpath)) {
        String[] paths = inpath.list();
        if (!LangUtil.isEmpty(paths)) {
            Copy copy = new Copy();
            copy.setProject(project);
            copy.setTodir(destDir);
            boolean gotDir = false;
            for (int i = 0; i < paths.length; i++) {
                File inpathDir = new File(paths[i]);
                if (inpathDir.isDirectory() && inpathDir.canRead()) {
                    if (!gotDir) {
                        gotDir = true;
                    }
                    FileSet fileSet = new FileSet();
                    fileSet.setDir(inpathDir);
                    fileSet.setIncludes("**/*");
                    fileSet.setExcludes(inpathDirCopyFilter);
                    copy.addFileset(fileSet);
                }
            }
            if (gotDir) {
                copy.execute();
            }
        }
    }
}

From source file:org.eclipse.ajdt.core.ant.AjcTask.java

License:Open Source License

/**
 * Complete the output jar by copying resources from the source root directories if the filter is specified. and non-.class
 * files from the input jars if enabled.
 *///  w w  w  . ja va 2  s .c om
private void completeOutjar() {
    if (((null == tmpOutjar) || !tmpOutjar.canRead())
            || (!copyInjars && (null == sourceRootCopyFilter) && (null == inpathDirCopyFilter))) {
        return;
    }
    Zip zip = new Zip();
    Project project = getProject();
    zip.setProject(project);
    zip.setTaskName(getTaskName() + " - zip");
    zip.setDestFile(outjar);
    ZipFileSet zipfileset = new ZipFileSet();
    zipfileset.setProject(project);
    zipfileset.setSrc(tmpOutjar);
    zipfileset.setIncludes("**/*.class");
    zip.addZipfileset(zipfileset);
    if (copyInjars) {
        String[] paths = injars.list();
        if (!LangUtil.isEmpty(paths)) {
            for (int i = 0; i < paths.length; i++) {
                File jarFile = new File(paths[i]);
                zipfileset = new ZipFileSet();
                zipfileset.setProject(project);
                zipfileset.setSrc(jarFile);
                zipfileset.setIncludes("**/*");
                zipfileset.setExcludes("**/*.class");
                zip.addZipfileset(zipfileset);
            }
        }
    }
    if ((null != sourceRootCopyFilter) && (null != sourceRoots)) {
        String[] paths = sourceRoots.list();
        if (!LangUtil.isEmpty(paths)) {
            for (int i = 0; i < paths.length; i++) {
                File srcRoot = new File(paths[i]);
                FileSet fileset = new FileSet();
                fileset.setProject(project);
                fileset.setDir(srcRoot);
                fileset.setIncludes("**/*");
                fileset.setExcludes(sourceRootCopyFilter);
                zip.addFileset(fileset);
            }
        }
    }
    if ((null != inpathDirCopyFilter) && (null != inpath)) {
        String[] paths = inpath.list();
        if (!LangUtil.isEmpty(paths)) {
            for (int i = 0; i < paths.length; i++) {
                File inpathDir = new File(paths[i]);
                if (inpathDir.isDirectory() && inpathDir.canRead()) {
                    FileSet fileset = new FileSet();
                    fileset.setProject(project);
                    fileset.setDir(inpathDir);
                    fileset.setIncludes("**/*");
                    fileset.setExcludes(inpathDirCopyFilter);
                    zip.addFileset(fileset);
                }
            }
        }
    }
    zip.execute();
}