Example usage for java.util Collection toArray

List of usage examples for java.util Collection toArray

Introduction

In this page you can find the example usage for java.util Collection toArray.

Prototype

Object[] toArray();

Source Link

Document

Returns an array containing all of the elements in this collection.

Usage

From source file:com.ephesoft.dcma.util.EphesoftStringUtil.java

/**
 * Joins the collection values passed as a parameter separated by the delimiter passed as a parameter.
 * //ww w .  j a  v a  2 s  .com
 * @param collection {@link Collection} collection whose values needs to be joined.
 * @param separator delimiter to be used as a separator between values.
 * @return {@link String} joined string.
 */
public static <E> String join(final Collection<E> collection, final char separator) {
    String joinString = null;
    if (!CollectionUtil.isEmpty(collection) && 0 != separator) {
        joinString = StringUtils.join(collection.toArray(), separator);
    }
    return joinString;
}

From source file:sep.gaia.resources.poi.POILoaderWorker.java

/**
 * Generates a POI from a way by adopting its attributes and picking one of the positions it consists of
 * as the POIs position./*from   w  w w  . j av a 2 s .c om*/
 * @param way The way to convert.
 * @return The POI generated.
 */
private static PointOfInterest wayToPoi(Way way) {
    Map<String, String> tags = way.getAttributes();
    String name = tags.get("name");

    Collection<FloatVector3D> nodePositions = way.getNodePositions();

    if (name != null && nodePositions.size() > 0) {

        int index = nodePositions.size() / 2;
        FloatVector3D position = (FloatVector3D) nodePositions.toArray()[index];

        PointOfInterest poi = new PointOfInterest(name, position.getX(), position.getY());
        poi.setAttributes(tags);

        return poi;
    }
    return null;
}

From source file:gov.nist.healthcare.ttt.parsing.Parsing.java

public static boolean isValidDirectDisposition(String mtom) throws MessagingException, IOException {
    SOAPWithAttachment swa = Parsing.parseMtom(mtom);
    Collection<byte[]> documents = swa.getAttachment();
    if (documents == null || documents.size() == 0) {
        return false;
    }/*from w ww. ja  va  2  s.c o m*/
    String directDis = new String((byte[]) documents.toArray()[0]);
    return DirectDisposition.isValidDirectDisposition(directDis);

}

From source file:com.vmware.bdd.manager.SoftwareManagerCollector.java

/**
 * TODO this method has to be reverted:/*from  ww w.j  av a  2  s  .c  o m*/
 * because if the target path is not accessible, it will load cert from the default keystore in java home,
 * but still try to write it to the non accessible path.
 * @param certificate
 * @param keyStorePath
 */
protected static void saveSslCertificate(String certificate, String keyStorePath) {
    Certificate[] certs;
    //parse certificates
    try {
        if (CommonUtil.isBlank(certificate)) {
            throw SoftwareManagerCollectorException.BAD_CERT(null);
        }

        byte[] certBytes = Base64.decodeBase64(certificate.replaceAll("-----BEGIN CERTIFICATE-----", "")
                .replaceAll("-----END CERTIFICATE-----", "").getBytes());

        CertificateFactory cf = CertificateFactory.getInstance("X.509");
        Collection c = cf.generateCertificates(new ByteArrayInputStream(certBytes));
        certs = new Certificate[c.toArray().length];

        if (c.size() == 0) {
            throw SoftwareManagerCollectorException.BAD_CERT(null);
        } else if (c.size() == 1) {
            certs[0] = cf.generateCertificate(new ByteArrayInputStream(certBytes));
        } else {
            certs = (Certificate[]) c.toArray(certs);
        }
    } catch (CertificateException e) {
        throw SoftwareManagerCollectorException.BAD_CERT(e);
    }

    //load & save keystore
    OutputStream out = null;
    try {
        KeyStore keyStore = CommonUtil.loadAppMgrKeyStore(keyStorePath);
        if (keyStore == null) {
            logger.error(Messages.getString("SW_MGR_COLLECTOR.CANNT_READ_KEYSTORE"));
            throw new SWMgrCollectorInternalException(
                    Messages.getString("SW_MGR_COLLECTOR.CANNT_READ_KEYSTORE"));
        }

        MessageDigest md5 = MessageDigest.getInstance("MD5");
        String md5Fingerprint = "";
        for (Certificate cert : certs) {
            md5.update(cert.getEncoded());
            md5Fingerprint = CommonUtil.toHexString(md5.digest());
            logger.debug("md5 finger print: " + md5Fingerprint);
            logger.debug("added cert: " + cert);
            keyStore.setCertificateEntry(md5Fingerprint, cert);
        }
        out = new FileOutputStream(keyStorePath + Constants.APPMANAGER_KEYSTORE_FILE);
        keyStore.store(new BufferedOutputStream(out), Constants.APPMANAGER_KEYSTORE_PASSWORD);
    } catch (CertificateException | NoSuchAlgorithmException | IOException | KeyStoreException e) {
        logger.error(Messages.getString("SW_MGR_COLLECTOR.FAIL_SAVE_CERT"), e);
        throw new SWMgrCollectorInternalException(e, Messages.getString("SW_MGR_COLLECTOR.FAIL_SAVE_CERT"));
    } finally {
        if (out != null) {
            try {
                out.close();
            } catch (IOException e) {
                logger.warn("Output stream of appmanagers.jks close failed.");
            }
        }
    }
}

From source file:com.sunchenbin.store.feilong.core.bean.ConvertUtil.java

/**
 * ? <code>collection</code>??.
 * // w  w w. ja  va  2  s .co  m
 * <h3>:</h3>
 * 
 * <blockquote>
 * 
 * <pre>
 * List&lt;String&gt; list = new ArrayList&lt;String&gt;();
 * list.add(&quot;feilong&quot;);
 * list.add(&quot;&quot;);
 * list.add(&quot;xinge&quot;);
 * 
 * ToStringConfig toStringConfig = new ToStringConfig(&quot;,&quot;);
 * toStringConfig.setIsJoinNullOrEmpty(false);
 * 
 * assertEquals(&quot;feilong,xinge&quot;, ConvertUtil.toString(toStringConfig, list));
 * </pre>
 * 
 * </blockquote>
 * 
 * @param toStringConfig
 *             
 * @param collection
 *            ?, ?,collection 
 * @return  collection isNullOrEmpty,null<br>
 *          toStringConfig null, {@link ToStringConfig#DEFAULT_CONNECTOR} <br>
 *         ?null,,toStringConfig.getConnector()
 * @see #toString(ToStringConfig, Object...)
 * @since 1.4.0
 */
public static String toString(ToStringConfig toStringConfig, final Collection<?> collection) {
    if (Validator.isNullOrEmpty(collection)) {
        return StringUtils.EMPTY;
    }
    Object[] array = collection.toArray();
    return toString(toStringConfig, array);
}

From source file:gov.nih.nci.rembrandt.web.xml.FTestReport.java

public static Document getReportXML(Finding finding, Map filterMapParams, boolean allAnnotations) {

    DecimalFormat resultFormat = new DecimalFormat("0.0000");
    DecimalFormat sciFormat = new DecimalFormat("0.00E0");
    DecimalFormat tmpsciFormat = new DecimalFormat("###0.0000#####################");

    /*// w  w w  . ja v  a 2  s  .com
     *  this is for filtering, we will want a p-value filter for CC
     */
    ArrayList filter_string = new ArrayList(); // hashmap of genes | reporters | cytobands
    String filter_type = "show"; // show | hide
    String filter_element = "none"; // none | gene | reporter | cytoband

    if (filterMapParams.containsKey("filter_string") && filterMapParams.get("filter_string") != null)
        filter_string = (ArrayList) filterMapParams.get("filter_string");
    if (filterMapParams.containsKey("filter_type") && filterMapParams.get("filter_type") != null)
        filter_type = (String) filterMapParams.get("filter_type");
    if (filterMapParams.containsKey("filter_element") && filterMapParams.get("filter_element") != null)
        filter_element = (String) filterMapParams.get("filter_element");

    String defaultV = "--";
    String delim = " | ";

    Document document = DocumentHelper.createDocument();

    Element report = document.addElement("Report");
    Element cell = null;
    Element data = null;
    Element dataRow = null;
    //add the atts
    report.addAttribute("reportType", "Class Comparison");
    report.addAttribute("helpLink", ContextSensitiveHelpTag.getHelpLink("Class Comparison"));
    //lets flag this as Ftest
    report.addAttribute("reportSubType", "FTEST");
    //fudge these for now
    report.addAttribute("groupBy", "none");
    String queryName = "none";
    queryName = finding.getTaskId();

    //set the queryName to be unique for session/cache access
    report.addAttribute("queryName", queryName);
    report.addAttribute("sessionId", "the session id");
    report.addAttribute("creationTime", "right now");

    StringBuffer sb = new StringBuffer();

    int recordCount = 0;
    int totalSamples = 0;

    //TODO: instance of
    FTestFinding ccf = (FTestFinding) finding;

    //process the query details

    ArrayList<String> queryDetails = new ArrayList();

    ClassComparisonQueryDTO ccdto = (ClassComparisonQueryDTO) ccf.getQueryDTO();

    if (ccdto != null) {
        String tmp = "";
        tmp = ccdto.getQueryName() != null ? ccdto.getQueryName() : "";
        queryDetails.add("Query Name: " + tmp);
        tmp = ccdto.getArrayPlatformDE() != null ? ccdto.getArrayPlatformDE().getValue().toString() : "";
        queryDetails.add("Array Platform: " + tmp);

        tmp = "";
        List<ClinicalQueryDTO> grps = ccdto.getComparisonGroups() != null ? ccdto.getComparisonGroups()
                : new ArrayList();
        Collection grs = new ArrayList();
        for (ClinicalQueryDTO cdto : grps) {
            if (cdto.getQueryName() != null)
                grs.add(cdto.getQueryName());
        }

        tmp += StringUtils.join(grs.toArray(), ", ") + " (baseline)";
        queryDetails.add("Groups: " + tmp);

        tmp = ccdto.getExprFoldChangeDE() != null ? ccdto.getExprFoldChangeDE().getValue().toString() : "";
        queryDetails.add("Fold Change: " + tmp);
        //queryDetails.add("Institutions: " + ccdto.getInstitutionDEs());
        tmp = ccdto.getMultiGroupComparisonAdjustmentTypeDE() != null
                ? ccdto.getMultiGroupComparisonAdjustmentTypeDE().getValue().toString()
                : "";
        queryDetails.add("Multi Group: " + tmp);
        tmp = ccdto.getStatisticalSignificanceDE() != null
                ? ccdto.getStatisticalSignificanceDE().getValue().toString()
                : "";
        queryDetails.add("Stat Sig.: " + tmp);
        tmp = ccdto.getStatisticTypeDE() != null ? ccdto.getStatisticTypeDE().getValue().toString() : "";
        queryDetails.add("Stat Type: " + tmp);
    }

    String qd = "";
    for (String q : queryDetails) {
        qd += q + " ||| ";
    }

    if (ccf != null) {

        Element details = report.addElement("Query_details");
        cell = details.addElement("Data");
        cell.addText(qd);
        cell = null;

        Element headerRow = report.addElement("Row").addAttribute("name", "headerRow");
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Reporter");
        data = null;
        cell = null;

        //pvalue is fixed in the second column, essential for XSL
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        String isAdj = ccf.arePvaluesAdjusted() ? " (Adjusted) " : "";
        data = cell.addElement("Data").addAttribute("type", "header")
                .addText(RembrandtConstants.PVALUE + isAdj);
        data = null;
        cell = null;

        //one col for each group in the comparison
        List<String> groupNames = ccf.getGroupNames();
        for (String n : groupNames) {
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText(n + " Group Avg");
            data = null;
            cell = null;
        }

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Fold Change");
        data = null;
        cell = null;

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Gene Symbol");
        data = null;
        cell = null;

        //starting annotations...get them only if allAnnotations == true
        if (allAnnotations) {
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("GenBank Acc");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("Locus link");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("GO Id");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("Pathways");
            data = null;
            cell = null;
        }

        /* done with the headerRow and SampleRow Elements, time to add data rows */

        List<FTestResultEntry> fTestResultEntrys = ccf.getResultEntries();
        List<String> reporterIds = new ArrayList<String>();

        for (FTestResultEntry fTestResultEntry : fTestResultEntrys) {
            if (fTestResultEntry.getReporterId() != null) {
                reporterIds.add(fTestResultEntry.getReporterId());
            }
        }

        ArrayPlatformType arrayPlatform = ccdto.getArrayPlatformDE() != null
                ? ccdto.getArrayPlatformDE().getValueObjectAsArrayPlatformType()
                : ArrayPlatformType.AFFY_OLIGO_PLATFORM;
        Map reporterResultsetMap = null;
        if (allAnnotations) {
            //Map<String, ReporterAnnotations> reporterResultsetMap = null;
            try {
                reporterResultsetMap = AnnotationHandler.getAllAnnotationsFor(reporterIds, arrayPlatform);
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            //Map<String, String> reporterResultsetMap = null;
            try {
                reporterResultsetMap = AnnotationHandler.getGeneSymbolsFor(reporterIds, arrayPlatform);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        for (FTestResultEntry ccre : ccf.getResultEntries()) {

            dataRow = report.addElement("Row").addAttribute("name", "dataRow");
            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "reporter")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header").addText(ccre.getReporterId());
            data = null;
            cell = null;

            cell = dataRow.addElement("Cell").addAttribute("type", "pval").addAttribute("class", "data")
                    .addAttribute("group", "data");
            //String pv = (ccre.getPvalue() == null) ? String.valueOf(ccre.getPvalue()) : "N/A";
            BigDecimal bigd = new BigDecimal(ccre.getPvalue());
            data = cell.addElement("Data").addAttribute("type", "header").addText(bigd.toPlainString());
            data = null;
            cell = null;

            //one col for each group
            for (int i = 0; i < ccre.getGroupMeans().length; i++) {
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "data")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header")
                        .addText(resultFormat.format(ccre.getGroupMeans()[i]));
                data = null;
                cell = null;
            }

            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "data")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header")
                    .addText(String.valueOf(resultFormat.format(ccre.getMaximumFoldChange())));
            data = null;
            cell = null;

            //if only showing genes
            if (!allAnnotations && reporterResultsetMap != null) {
                String reporterId = ccre.getReporterId();
                String genes = reporterResultsetMap.get(reporterId) != null
                        ? (String) reporterResultsetMap.get(reporterId)
                        : defaultV;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "gene")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(genes);
                data = null;
                cell = null;
            } else {
                //get the gene symbols for this reporter
                //ccre.getReporterId()
                String genes = defaultV;

                //start annotations
                String accIds = defaultV;
                String llink = defaultV;
                String go = defaultV;
                String pw = defaultV;

                if (reporterResultsetMap != null) { // && reporterIds != null
                    //int count = 0;
                    String reporterId = ccre.getReporterId();
                    //ReporterResultset reporterResultset = reporterResultsetMap.get(reporterId);
                    ReporterAnnotations ra = (ReporterAnnotations) reporterResultsetMap.get(reporterId);

                    //Collection<String> geneSymbols = (Collection<String>)reporterResultset.getAssiciatedGeneSymbols();
                    String geneSymbols = ra.getGeneSymbol();
                    if (geneSymbols != null)
                        genes = geneSymbols;
                    /*
                    if(geneSymbols != null){
                       genes = StringUtils.join(geneSymbols.toArray(), delim);
                    }
                    */
                    Collection<String> genBank_AccIDS = (Collection<String>) ra.getAccessions();
                    if (genBank_AccIDS != null) {
                        accIds = StringUtils.join(genBank_AccIDS.toArray(), delim);
                    }
                    Collection<String> locusLinkIDs = (Collection<String>) ra.getLocusLinks();
                    if (locusLinkIDs != null) {
                        llink = StringUtils.join(locusLinkIDs.toArray(), delim);
                    }
                    Collection<String> goIds = (Collection<String>) ra.getGoIDS();
                    if (goIds != null) {
                        go = StringUtils.join(goIds.toArray(), delim);
                    }
                    Collection<String> pathways = (Collection<String>) ra.getPathways();
                    if (pathways != null) {
                        pw = StringUtils.join(pathways.toArray(), delim);
                    }
                }

                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "gene")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(genes);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(accIds);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(llink);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(go);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(pw);
                data = null;
                cell = null;

            }
        }
    } else {
        //TODO: handle this error
        sb.append("<br/><br/>Class Comparison is empty<br/>");
    }

    logger.info(document.toString());
    return document;
}

From source file:gov.nih.nci.ispy.web.xml.ClassComparisonReport.java

public static Document getReportXML(Finding finding, Map filterMapParams, boolean allAnnotations) {

    allAnnotations = true; //force this for now ISPY prerelease - RCL 3/2

    DecimalFormat resultFormat = new DecimalFormat("0.0000");
    DecimalFormat sciFormat = new DecimalFormat("0.00E0");
    DecimalFormat tmpsciFormat = new DecimalFormat("###0.0000#####################");

    /*//from   w  w w  .j ava2  s .  c o  m
     *  this is for filtering, we will want a p-value filter for CC
     */
    ArrayList filter_string = new ArrayList(); // hashmap of genes | reporters | cytobands
    String filter_type = "show"; // show | hide
    String filter_element = "none"; // none | gene | reporter | cytoband

    if (filterMapParams.containsKey("filter_string") && filterMapParams.get("filter_string") != null)
        filter_string = (ArrayList) filterMapParams.get("filter_string");
    if (filterMapParams.containsKey("filter_type") && filterMapParams.get("filter_type") != null)
        filter_type = (String) filterMapParams.get("filter_type");
    if (filterMapParams.containsKey("filter_element") && filterMapParams.get("filter_element") != null)
        filter_element = (String) filterMapParams.get("filter_element");

    String defaultV = "--";
    String delim = " | ";

    Document document = DocumentHelper.createDocument();

    Element report = document.addElement("Report");
    Element cell = null;
    Element data = null;
    Element dataRow = null;
    //add the atts
    report.addAttribute("reportType", "Class Comparison");
    //fudge these for now
    report.addAttribute("groupBy", "none");
    String queryName = "none";
    queryName = finding.getTaskId();

    //set the queryName to be unique for session/cache access
    report.addAttribute("queryName", queryName);
    report.addAttribute("sessionId", "the session id");
    report.addAttribute("creationTime", "right now");

    StringBuffer sb = new StringBuffer();

    int recordCount = 0;
    int totalSamples = 0;

    //TODO: instance of
    ClassComparisonFinding ccf = (ClassComparisonFinding) finding;

    //process the query details
    ArrayList<String> queryDetails = new ArrayList();
    ClassComparisonQueryDTO ccdto = (ClassComparisonQueryDTO) ccf.getQueryDTO();
    String reporterType = ccdto.getArrayPlatformDE().getValueObject();

    if (ccdto != null) {
        String tmp = "";
        tmp = ccdto.getQueryName() != null ? ccdto.getQueryName() : "";
        queryDetails.add("Query Name: " + tmp);
        tmp = ccdto.getArrayPlatformDE() != null ? ccdto.getArrayPlatformDE().getValue().toString() : "";
        queryDetails.add("Array Platform: " + tmp);

        tmp = "";
        List<ClinicalQueryDTO> grps = ccdto.getComparisonGroups() != null ? ccdto.getComparisonGroups()
                : new ArrayList();
        Collection grs = new ArrayList();
        for (ClinicalQueryDTO cdto : grps) {
            if (cdto.getQueryName() != null)
                grs.add(cdto.getQueryName());
        }

        tmp += StringUtils.join(grs.toArray(), ", ") + " (baseline)";
        queryDetails.add("Groups: " + tmp);
        /*
        noHTMLString = noHTMLString.replaceAll("<", "{");
        noHTMLString = noHTMLString.replaceAll(">", "}");
        noHTMLString = noHTMLString.replaceAll("&nbsp;", " ");
        */
        tmp = ccdto.getExprFoldChangeDE() != null ? ccdto.getExprFoldChangeDE().getValue().toString() : "";
        queryDetails.add("Fold Change: " + tmp);
        //queryDetails.add("Institutions: " + ccdto.getInstitutionDEs());
        tmp = ccdto.getMultiGroupComparisonAdjustmentTypeDE() != null
                ? ccdto.getMultiGroupComparisonAdjustmentTypeDE().getValue().toString()
                : "";
        queryDetails.add("Multi Group: " + tmp);
        tmp = ccdto.getStatisticalSignificanceDE() != null
                ? ccdto.getStatisticalSignificanceDE().getValue().toString()
                : "";
        queryDetails.add("Stat Sig.: " + tmp);
        tmp = ccdto.getStatisticTypeDE() != null ? ccdto.getStatisticTypeDE().getValue().toString() : "";
        queryDetails.add("Stat Type: " + tmp);
    }
    /*
    queryDetails.add("Analysis Result name: " + ccform.getAnalysisResultName());
    queryDetails.add("Array Platform: " + ccform.getArrayPlatform());
    queryDetails.add("Baseline group: " + ccform.getBaselineGroup());
    queryDetails.add("Comparison Groups: " + ccform.getSelectedGroups()[0].toString());
    queryDetails.add("Comparison Adjustment: " + ccform.getComparisonAdjustment());
    //queryDetails.add("Comp. Adj. Coll: " + ccform.getComparisonAdjustmentCollection());
    //queryDetails.add("Existing Groups: " + ccform.getExistingGroups());
    //queryDetails.add("Existing group list: " + ccform.getExistingGroupsList());
    //queryDetails.add("Fold Change: " + ccform.getFoldChange());
    queryDetails.add("Fold Change auto: " + ccform.getFoldChangeAuto());
    //queryDetails.add("Fold change auto list: " + ccform.getFoldChangeAutoList());
    //queryDetails.add("Fold change manual: " + ccform.getFoldChangeManual());
    queryDetails.add("Stastic: " + ccform.getStatistic());
    queryDetails.add("Stastical method: " + ccform.getStatisticalMethod());
    //queryDetails.add("Stastical method coll.: " + ccform.getStatisticalMethodCollection());
    queryDetails.add("Stastical significance: " + ccform.getStatisticalSignificance());
    */
    String qd = "";
    for (String q : queryDetails) {
        qd += q + " ||| ";
    }

    if (ccf != null) {

        Element details = report.addElement("Query_details");
        cell = details.addElement("Data");
        cell.addText(qd);
        cell = null;

        Element headerRow = report.addElement("Row").addAttribute("name", "headerRow");
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Reporter");
        data = null;
        cell = null;
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Group Avg");
        data = null;
        cell = null;
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        String isAdj = ccf.arePvaluesAdjusted() ? " (Adjusted) " : "";
        data = cell.addElement("Data").addAttribute("type", "header").addText("P-Value" + isAdj);
        data = null;
        cell = null;

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Fold Change");
        data = null;
        cell = null;

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Gene Symbol");
        data = null;
        cell = null;

        //starting annotations...get them only if allAnnotations == true
        if (allAnnotations) {
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("GenBank Acc");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("Locus link");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("GO Id");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("Pathways");
            data = null;
            cell = null;
        }

        /* done with the headerRow and SampleRow Elements, time to add data rows */

        /*
        Map<String,ReporterResultset> reporterResultsetMap = null;
        reporterResultsetMap = ccf.getReporterAnnotationsMap();
        */

        List<ClassComparisonResultEntry> classComparisonResultEntrys = ccf.getResultEntries();
        List<String> reporterIds = new ArrayList<String>();

        for (ClassComparisonResultEntry classComparisonResultEntry : classComparisonResultEntrys) {
            if (classComparisonResultEntry.getReporterId() != null) {
                reporterIds.add(classComparisonResultEntry.getReporterId());
            }
        }

        Map reporterResultsetMap = null;
        try {
            GeneExprAnnotationService geService = GeneExprAnnotationServiceFactory.getInstance();
            reporterResultsetMap = geService.getAnnotationsMapForReporters(reporterIds);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        /*
        //new stuff
        AnnotationHandler h = new AnnotationHandler();
        Map reporterResultsetMap = null;
        if(allAnnotations){
           //Map<String, ReporterAnnotations> reporterResultsetMap = null;
           try {
          reporterResultsetMap = h.getAllAnnotationsFor(reporterIds);
           } catch (Exception e) {
          e.printStackTrace();
           }
        }
        else   {
           //Map<String, String> reporterResultsetMap = null;
           try {
          reporterResultsetMap = h.getGeneSymbolsFor(reporterIds);
           } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
           }
        }
        */

        /*
        //this looks like a failsafe for the old method
        if(reporterResultsetMap == null)   {
         try {
            reporterResultsetMap = GeneExprAnnotationService.getAnnotationsMapForReporters(reporterIds);
         }
         catch(Exception e){}
          }
          */

        for (ClassComparisonResultEntry ccre : ccf.getResultEntries()) {

            dataRow = report.addElement("Row").addAttribute("name", "dataRow");
            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "reporter")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", reporterType).addText(ccre.getReporterId());
            data = null;
            cell = null;
            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "data")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header")
                    .addText(resultFormat.format(ccre.getMeanGrp1()) + " / "
                            + resultFormat.format(ccre.getMeanBaselineGrp()));
            data = null;
            cell = null;
            cell = dataRow.addElement("Cell").addAttribute("type", "pval").addAttribute("class", "data")
                    .addAttribute("group", "data");
            //String pv = (ccre.getPvalue() == null) ? String.valueOf(ccre.getPvalue()) : "N/A";
            String pv = defaultV;
            BigDecimal bigd;
            try {
                bigd = new BigDecimal(ccre.getPvalue());
                pv = bigd.toPlainString();
            } catch (Exception e) {
                //missing value
            }
            data = cell.addElement("Data").addAttribute("type", "header").addText(pv);
            data = null;
            cell = null;
            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "data")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header")
                    .addText(String.valueOf(resultFormat.format(ccre.getFoldChange())));
            data = null;
            cell = null;

            //if only showing genes
            if (!allAnnotations && reporterResultsetMap != null) {
                String reporterId = ccre.getReporterId().toUpperCase().trim();
                String genes = reporterResultsetMap.get(reporterId) != null
                        ? (String) reporterResultsetMap.get(reporterId)
                        : defaultV;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "gene")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(genes);
                data = null;
                cell = null;
            } else {
                //get the gene symbols for this reporter
                //ccre.getReporterId()
                String genes = defaultV;

                //start annotations
                String accIds = defaultV;
                String llink = defaultV;
                String go = defaultV;
                String pw = defaultV;

                if (reporterResultsetMap != null) { // && reporterIds != null
                    //int count = 0;
                    String reporterId = ccre.getReporterId().toUpperCase().trim();
                    //ReporterResultset reporterResultset = reporterResultsetMap.get(reporterId);
                    ReporterAnnotation ra = (ReporterAnnotation) reporterResultsetMap.get(reporterId);

                    //Collection<String> geneSymbols = (Collection<String>)reporterResultset.getAssiciatedGeneSymbols();
                    if (ra != null) {
                        List geneSymbols = ra.getGeneSymbols();
                        //if(geneSymbols != null)   
                        //   genes = geneSymbols.toString();

                        if (geneSymbols != null) {
                            genes = StringUtils.join(geneSymbols.toArray(), delim);
                        }

                        Collection<String> genBank_AccIDS = (Collection<String>) ra.getGenbankAccessions();
                        if (genBank_AccIDS != null) {
                            accIds = StringUtils.join(genBank_AccIDS.toArray(), delim);
                        }
                        Collection<String> locusLinkIDs = (Collection<String>) ra.getLocusLinkIds();
                        if (locusLinkIDs != null) {
                            llink = StringUtils.join(locusLinkIDs.toArray(), delim);
                        }
                        Collection<String> goIds = (Collection<String>) ra.getGOIds();
                        if (goIds != null) {
                            go = StringUtils.join(goIds.toArray(), delim);
                        }
                        Collection<String> pathways = (Collection<String>) ra.getPathwayIds();
                        if (pathways != null) {
                            pw = StringUtils.join(pathways.toArray(), delim);
                        }
                    }
                }

                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "gene")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(genes);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(accIds);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(llink);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(go);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(pw);
                data = null;
                cell = null;

            }
        }
    } else {
        //TODO: handle this error
        sb.append("<br><Br>Class Comparison is empty<br>");
    }

    return document;
}

From source file:com.l2jfree.util.L2Collections.java

public static <T> T random(Collection<? extends T> c) {
    if (c instanceof RandomAccess) {
        final List<? extends T> list = (List<? extends T>) c;

        return list.isEmpty() ? null : (T) list.get(Rnd.get(list.size()));
    } else {// w w  w.j  av  a  2 s . co m
        final Object[] array = c.toArray();

        return array.length == 0 ? null : (T) array[Rnd.get(array.length)];
    }
}

From source file:edu.ku.brc.af.ui.forms.BaseBusRules.java

/**
 * Removed an Object from a Collection by Id.
 * @param collection the Java Collection
 * @param dataObj the data object to be removed
 *///ww w  .  j  av a2s  .  c  o m
public static void removeById(final Collection<?> collection, final FormDataObjIFace dataObj) {
    for (Object obj : collection.toArray()) {
        if (obj instanceof FormDataObjIFace) {
            FormDataObjIFace colObj = (FormDataObjIFace) obj;
            if (obj == colObj || (colObj.getId() != null && dataObj.getId() != null
                    && dataObj.getId().equals(colObj.getId()))) {
                collection.remove(obj);
                break;
            }
        }
    }
}

From source file:gov.nih.nci.rembrandt.web.xml.ClassComparisonReport.java

public static Document getReportXML(Finding finding, Map filterMapParams, boolean allAnnotations,
        ArrayList reporterIdFilter) {

    DecimalFormat resultFormat = new DecimalFormat("0.0000");
    DecimalFormat sciFormat = new DecimalFormat("0.00E0");
    DecimalFormat tmpsciFormat = new DecimalFormat("###0.0000#####################");

    /*/*from www . ja va2s.c  om*/
     *  this is for filtering, we will want a p-value filter for CC
     */
    ArrayList filter_string = new ArrayList(); // hashmap of genes | reporters | cytobands
    String filter_type = "show"; // show | hide
    String filter_element = "none"; // none | gene | reporter | cytoband

    if (filterMapParams.containsKey("filter_string") && filterMapParams.get("filter_string") != null)
        filter_string = (ArrayList) filterMapParams.get("filter_string");
    if (filterMapParams.containsKey("filter_type") && filterMapParams.get("filter_type") != null)
        filter_type = (String) filterMapParams.get("filter_type");
    if (filterMapParams.containsKey("filter_element") && filterMapParams.get("filter_element") != null)
        filter_element = (String) filterMapParams.get("filter_element");

    String defaultV = "--";
    String delim = " | ";

    Document document = DocumentHelper.createDocument();

    Element report = document.addElement("Report");
    Element cell = null;
    Element data = null;
    Element dataRow = null;
    //add the atts
    report.addAttribute("reportType", "Class Comparison");
    report.addAttribute("helpLink", ContextSensitiveHelpTag.getHelpLink("Class Comparison"));
    //fudge these for now
    report.addAttribute("groupBy", "none");
    String queryName = "none";
    queryName = finding.getTaskId();

    //set the queryName to be unique for session/cache access
    report.addAttribute("queryName", queryName);
    report.addAttribute("sessionId", "the session id");
    report.addAttribute("creationTime", "right now");

    StringBuffer sb = new StringBuffer();

    int recordCount = 0;
    int totalSamples = 0;

    //TODO: instance of
    ClassComparisonFinding ccf = (ClassComparisonFinding) finding;

    //process the query details
    ArrayList<String> queryDetails = new ArrayList();
    ClassComparisonQueryDTO ccdto = (ClassComparisonQueryDTO) ccf.getQueryDTO();

    if (ccdto != null) {
        String tmp = "";
        tmp = ccdto.getQueryName() != null ? ccdto.getQueryName() : "";
        queryDetails.add("Query Name: " + tmp);
        tmp = ccdto.getArrayPlatformDE() != null ? ccdto.getArrayPlatformDE().getValue().toString() : "";
        queryDetails.add("Array Platform: " + tmp);

        tmp = "";
        List<ClinicalQueryDTO> grps = ccdto.getComparisonGroups() != null ? ccdto.getComparisonGroups()
                : new ArrayList();
        Collection grs = new ArrayList();
        for (ClinicalQueryDTO cdto : grps) {
            if (cdto.getQueryName() != null)
                grs.add(cdto.getQueryName());
        }

        tmp += StringUtils.join(grs.toArray(), ", ") + " (baseline)";
        queryDetails.add("Groups: " + tmp);
        /*
        noHTMLString = noHTMLString.replaceAll("<", "{");
        noHTMLString = noHTMLString.replaceAll(">", "}");
        noHTMLString = noHTMLString.replaceAll("&nbsp;", " ");
        */
        tmp = ccdto.getExprFoldChangeDE() != null ? ccdto.getExprFoldChangeDE().getValue().toString() : "";
        queryDetails.add("Fold Change: " + tmp);
        //queryDetails.add("Institutions: " + ccdto.getInstitutionDEs());
        tmp = ccdto.getMultiGroupComparisonAdjustmentTypeDE() != null
                ? ccdto.getMultiGroupComparisonAdjustmentTypeDE().getValue().toString()
                : "";
        queryDetails.add("Multi Group: " + tmp);
        tmp = ccdto.getStatisticalSignificanceDE() != null
                ? ccdto.getStatisticalSignificanceDE().getValue().toString()
                : "";
        queryDetails.add("Stat Sig.: " + tmp);
        tmp = ccdto.getStatisticTypeDE() != null ? ccdto.getStatisticTypeDE().getValue().toString() : "";
        queryDetails.add("Stat Type: " + tmp);
    }
    /*
    queryDetails.add("Analysis Result name: " + ccform.getAnalysisResultName());
    queryDetails.add("Array Platform: " + ccform.getArrayPlatform());
    queryDetails.add("Baseline group: " + ccform.getBaselineGroup());
    queryDetails.add("Comparison Groups: " + ccform.getSelectedGroups()[0].toString());
    queryDetails.add("Comparison Adjustment: " + ccform.getComparisonAdjustment());
    //queryDetails.add("Comp. Adj. Coll: " + ccform.getComparisonAdjustmentCollection());
    //queryDetails.add("Existing Groups: " + ccform.getExistingGroups());
    //queryDetails.add("Existing group list: " + ccform.getExistingGroupsList());
    //queryDetails.add("Fold Change: " + ccform.getFoldChange());
    queryDetails.add("Fold Change auto: " + ccform.getFoldChangeAuto());
    //queryDetails.add("Fold change auto list: " + ccform.getFoldChangeAutoList());
    //queryDetails.add("Fold change manual: " + ccform.getFoldChangeManual());
    queryDetails.add("Stastic: " + ccform.getStatistic());
    queryDetails.add("Stastical method: " + ccform.getStatisticalMethod());
    //queryDetails.add("Stastical method coll.: " + ccform.getStatisticalMethodCollection());
    queryDetails.add("Stastical significance: " + ccform.getStatisticalSignificance());
    */
    String qd = "";
    for (String q : queryDetails) {
        qd += q + " ||| ";
    }

    if (ccf != null) {

        Element details = report.addElement("Query_details");
        cell = details.addElement("Data");
        cell.addText(qd);
        cell = null;

        Element headerRow = report.addElement("Row").addAttribute("name", "headerRow");
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Reporter");
        data = null;
        cell = null;

        //pvalue is fixed in the second column, essential for XSL
        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        String isAdj = ccf.arePvaluesAdjusted() ? " (Adjusted) " : "";
        data = cell.addElement("Data").addAttribute("type", "header")
                .addText(RembrandtConstants.PVALUE + isAdj);
        data = null;
        cell = null;

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Group Avg");
        data = null;
        cell = null;

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Fold Change");
        data = null;
        cell = null;

        cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "header")
                .addAttribute("group", "header");
        data = cell.addElement("Data").addAttribute("type", "header").addText("Gene Symbol");
        data = null;
        cell = null;

        //starting annotations...get them only if allAnnotations == true
        if (allAnnotations) {
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("GenBank Acc");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("Locus link");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("GO Id");
            data = null;
            cell = null;
            cell = headerRow.addElement("Cell").addAttribute("type", "header").addAttribute("class", "csv")
                    .addAttribute("group", "header");
            data = cell.addElement("Data").addAttribute("type", "header").addText("Pathways");
            data = null;
            cell = null;
        }

        /* done with the headerRow and SampleRow Elements, time to add data rows */

        /*
        Map<String,ReporterResultset> reporterResultsetMap = null;
        reporterResultsetMap = ccf.getReporterAnnotationsMap();
        */

        List<ClassComparisonResultEntry> classComparisonResultEntrys = ccf.getResultEntries();
        List<String> reporterIds = new ArrayList<String>();
        HashSet<String> reporterIdSet = null;

        if (reporterIdFilter != null) {
            reporterIdSet = new HashSet<String>(reporterIdFilter);
        }

        int index = 0;
        if (reporterIdFilter == null) {
            for (ClassComparisonResultEntry classComparisonResultEntry : classComparisonResultEntrys) {
                if (classComparisonResultEntry.getReporterId() != null) {
                    reporterIds.add(classComparisonResultEntry.getReporterId());
                }
            }
        } else {
            reporterIds = reporterIdFilter;
        }

        Map reporterResultsetMap = null;
        ArrayPlatformType arrayPlatform = ccdto.getArrayPlatformDE() != null
                ? ccdto.getArrayPlatformDE().getValueObjectAsArrayPlatformType()
                : ArrayPlatformType.AFFY_OLIGO_PLATFORM;
        if (allAnnotations) {
            //Map<String, ReporterAnnotations> reporterResultsetMap = null;
            try {
                reporterResultsetMap = AnnotationHandler.getAllAnnotationsFor(reporterIds, arrayPlatform);
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            try {
                reporterResultsetMap = AnnotationHandler.getGeneSymbolsFor(reporterIds, arrayPlatform);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        /*
        //this looks like a failsafe for the old method
        if(reporterResultsetMap == null)   {
         try {
            reporterResultsetMap = GeneExprAnnotationService.getAnnotationsMapForReporters(reporterIds);
         }
         catch(Exception e){}
          }
          */

        boolean found = false;
        for (ClassComparisonResultEntry ccre : ccf.getResultEntries()) {

            if (reporterIdFilter != null) {
                found = reporterIdSet.contains(ccre.getReporterId());

                //not found, then skip
                if (!found)
                    continue;
            }

            dataRow = report.addElement("Row").addAttribute("name", "dataRow");
            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "reporter")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header").addText(ccre.getReporterId());
            data = null;
            cell = null;

            cell = dataRow.addElement("Cell").addAttribute("type", "pval").addAttribute("class", "data")
                    .addAttribute("group", "data");
            //String pv = (ccre.getPvalue() == null) ? String.valueOf(ccre.getPvalue()) : "N/A";
            BigDecimal bigd = new BigDecimal(ccre.getPvalue());
            data = cell.addElement("Data").addAttribute("type", "header").addText(bigd.toPlainString());
            data = null;
            cell = null;

            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "data")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header")
                    .addText(resultFormat.format(ccre.getMeanGrp1()) + " / "
                            + resultFormat.format(ccre.getMeanBaselineGrp()));
            data = null;
            cell = null;

            cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "data")
                    .addAttribute("group", "data");
            data = cell.addElement("Data").addAttribute("type", "header")
                    .addText(String.valueOf(resultFormat.format(ccre.getFoldChange())));
            data = null;
            cell = null;

            //if only showing genes
            if (!allAnnotations && reporterResultsetMap != null) {
                String reporterId = ccre.getReporterId();
                String genes = reporterResultsetMap.get(reporterId) != null
                        ? (String) reporterResultsetMap.get(reporterId)
                        : defaultV;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "gene")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(genes);
                data = null;
                cell = null;
            } else {
                //get the gene symbols for this reporter
                //ccre.getReporterId()
                String genes = defaultV;

                //start annotations
                String accIds = defaultV;
                String llink = defaultV;
                String go = defaultV;
                String pw = defaultV;

                if (reporterResultsetMap != null) { // && reporterIds != null
                    //int count = 0;
                    String reporterId = ccre.getReporterId();
                    //ReporterResultset reporterResultset = reporterResultsetMap.get(reporterId);
                    ReporterAnnotations ra = (ReporterAnnotations) reporterResultsetMap.get(reporterId);

                    //Collection<String> geneSymbols = (Collection<String>)reporterResultset.getAssiciatedGeneSymbols();
                    String geneSymbols = ra.getGeneSymbol();
                    if (geneSymbols != null)
                        genes = geneSymbols;
                    /*
                    if(geneSymbols != null){
                       genes = StringUtils.join(geneSymbols.toArray(), delim);
                    }
                    */
                    Collection<String> genBank_AccIDS = (Collection<String>) ra.getAccessions();
                    if (genBank_AccIDS != null) {
                        accIds = StringUtils.join(genBank_AccIDS.toArray(), delim);
                    }
                    Collection<String> locusLinkIDs = (Collection<String>) ra.getLocusLinks();
                    if (locusLinkIDs != null) {
                        llink = StringUtils.join(locusLinkIDs.toArray(), delim);
                    }
                    Collection<String> goIds = (Collection<String>) ra.getGoIDS();
                    if (goIds != null) {
                        go = StringUtils.join(goIds.toArray(), delim);
                    }
                    Collection<String> pathways = (Collection<String>) ra.getPathways();
                    if (pathways != null) {
                        pw = StringUtils.join(pathways.toArray(), delim);
                    }
                }

                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "gene")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(genes);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(accIds);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(llink);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(go);
                data = null;
                cell = null;
                cell = dataRow.addElement("Cell").addAttribute("type", "data").addAttribute("class", "csv")
                        .addAttribute("group", "data");
                data = cell.addElement("Data").addAttribute("type", "header").addText(pw);
                data = null;
                cell = null;

            }
        }
    } else {
        //TODO: handle this error
        sb.append("<br/><br/>Class Comparison is empty<br/>");
    }

    return document;
}