Example usage for org.apache.commons.lang3 StringEscapeUtils escapeXml10

List of usage examples for org.apache.commons.lang3 StringEscapeUtils escapeXml10

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringEscapeUtils escapeXml10.

Prototype

public static String escapeXml10(final String input) 

Source Link

Document

Escapes the characters in a String using XML entities.

For example: "bread" & "butter" => "bread" & "butter" .

Usage

From source file:org.mskcc.cbio.oncokb.quest.VariantAnnotationXML.java

public static String annotate(Alteration alt, String tumorType) {
        //        GeneBo geneBo = ApplicationContextSingleton.getGeneBo();

        StringBuilder sb = new StringBuilder();

        Gene gene = alt.getGene();//w  ww  .  j av a 2s .  c  o m

        //        Set<Gene> genes = new HashSet<Gene>();
        //        if (gene.getEntrezGeneId() > 0) {
        //            genes.add(gene);
        //        } else {
        // fake gene... could be a fusion gene
        //            Set<String> aliases = gene.getGeneAliases();
        //            for (String alias : aliases) {
        //                Gene g = geneBo.findGeneByHugoSymbol(alias);
        //                if (g != null) {
        //                    genes.add(g);
        //                }
        //            }
        //        }

        List<TumorType> relevantTumorTypes = TumorTypeUtils.getMappedOncoTreeTypesBySource(tumorType, "quest");

        AlterationUtils.annotateAlteration(alt, alt.getAlteration());

        AlterationBo alterationBo = ApplicationContextSingleton.getAlterationBo();
        LinkedHashSet<Alteration> alterations = alterationBo.findRelevantAlterations(alt, true);

        // In previous logic, we do not include alternative alleles
        List<Alteration> alternativeAlleles = AlterationUtils.getAlleleAlterations(alt);
        alterations.removeAll(alternativeAlleles);

        EvidenceBo evidenceBo = ApplicationContextSingleton.getEvidenceBo();

        // find all drugs
        //List<Drug> drugs = evidenceBo.findDrugsByAlterations(alterations);

        // find tumor types
        Set<String> tumorTypes = new HashSet<>();

        if (alterations != null && alterations.size() > 0) {
            List<Object> tumorTypesEvidence = evidenceBo
                    .findTumorTypesWithEvidencesForAlterations(new ArrayList<>(alterations));
            for (Object evidence : tumorTypesEvidence) {
                if (evidence != null) {
                    Object[] evidences = (Object[]) evidence;
                    if (evidences.length > 0 && evidences[0] != null) {
                        tumorTypes.add((String) evidences[0]);
                    }
                }
            }
        }

        //        sortTumorType(tumorTypes, tumorType);
        Query query = new Query(alt);
        query.setTumorType(tumorType);
        // summary
        sb.append("<annotation_summary>");
        sb.append(SummaryUtils.fullSummary(gene, alt,
                alterations.isEmpty() ? Collections.singletonList(alt) : new ArrayList<>(alterations), query,
                relevantTumorTypes));
        sb.append("</annotation_summary>\n");

        // gene background
        List<Evidence> geneBgEvs = evidenceBo.findEvidencesByGene(Collections.singleton(gene),
                Collections.singleton(EvidenceType.GENE_BACKGROUND));
        if (!geneBgEvs.isEmpty()) {
            Evidence ev = geneBgEvs.get(0);
            sb.append("<gene_annotation>\n");
            sb.append("    <description>");
            sb.append(StringEscapeUtils.escapeXml10(ev.getDescription()).trim());
            sb.append("</description>\n");
            exportRefereces(ev, sb, "    ");
            sb.append("</gene_annotation>\n");
        }

        if (alterations.isEmpty()) {
            sb.append("<!-- There is no information about the function of this variant in the MSKCC OncoKB. -->");
            return sb.toString();
        }

        List<Evidence> mutationEffectEbs = evidenceBo.findEvidencesByAlteration(alterations,
                Collections.singleton(EvidenceType.MUTATION_EFFECT));
        for (Evidence ev : mutationEffectEbs) {
            sb.append("<variant_effect>\n");
            sb.append("    <effect>");
            if (ev != null) {
                sb.append(ev.getKnownEffect());
            }
            sb.append("</effect>\n");
            if (ev.getDescription() != null) {
                sb.append("    <description>");
                sb.append(StringEscapeUtils.escapeXml10(ev.getDescription()).trim());
                sb.append("</description>\n");
            }
            if (ev != null) {
                exportRefereces(ev, sb, "    ");
            }

            sb.append("</variant_effect>\n");
        }

        for (String tt : tumorTypes) {
            TumorType oncoTreeType = TumorTypeUtils.getMappedOncoTreeTypesBySource(tt, "quest").get(0);
            boolean isRelevant = relevantTumorTypes.contains(oncoTreeType);

            StringBuilder sbTumorType = new StringBuilder();
            sbTumorType.append("<cancer_type type=\"").append(tt).append("\" relevant_to_patient_disease=\"")
                    .append(isRelevant ? "Yes" : "No").append("\">\n");
            int nEmp = sbTumorType.length();

            // find prognostic implication evidence blob
            Set<Evidence> prognosticEbs = new HashSet<Evidence>(evidenceBo.findEvidencesByAlteration(alterations,
                    Collections.singleton(EvidenceType.PROGNOSTIC_IMPLICATION),
                    Collections.singleton(oncoTreeType)));
            if (!prognosticEbs.isEmpty()) {
                sbTumorType.append("    <prognostic_implications>\n");
                sbTumorType.append("        <description>\n");
                for (Evidence ev : prognosticEbs) {
                    String description = ev.getDescription();
                    if (description != null) {
                        sbTumorType.append("        ").append(StringEscapeUtils.escapeXml10(description).trim())
                                .append("\n");
                    }
                }
                sbTumorType.append("</description>\n");

                for (Evidence ev : prognosticEbs) {
                    exportRefereces(ev, sbTumorType, "        ");
                }
                sbTumorType.append("    </prognostic_implications>\n");
            }

            // STANDARD_THERAPEUTIC_IMPLICATIONS
            List<Evidence> stdImpEbsSensitivity = evidenceBo.findEvidencesByAlteration(alterations,
                    Collections.singleton(EvidenceType.STANDARD_THERAPEUTIC_IMPLICATIONS_FOR_DRUG_SENSITIVITY),
                    Collections.singleton(oncoTreeType));
            List<Evidence> stdImpEbsResisitance = evidenceBo.findEvidencesByAlteration(alterations,
                    Collections.singleton(EvidenceType.STANDARD_THERAPEUTIC_IMPLICATIONS_FOR_DRUG_RESISTANCE),
                    Collections.singleton(oncoTreeType));

            //Remove level_0
            stdImpEbsSensitivity = filterLevelZeroEvidence(stdImpEbsSensitivity);

            //Remove level_R3
            stdImpEbsResisitance = filterResistanceEvidence(stdImpEbsResisitance);

            exportTherapeuticImplications(relevantTumorTypes, stdImpEbsSensitivity, stdImpEbsResisitance,
                    "standard_therapeutic_implications", sbTumorType, "    ", isRelevant);

            // INVESTIGATIONAL_THERAPEUTIC_IMPLICATIONS
            List<Evidence> invImpEbsSensitivity = evidenceBo.findEvidencesByAlteration(alterations,
                    Collections.singleton(EvidenceType.INVESTIGATIONAL_THERAPEUTIC_IMPLICATIONS_DRUG_SENSITIVITY),
                    Collections.singleton(oncoTreeType));
            List<Evidence> invImpEbsResisitance = evidenceBo.findEvidencesByAlteration(alterations,
                    Collections.singleton(EvidenceType.INVESTIGATIONAL_THERAPEUTIC_IMPLICATIONS_DRUG_RESISTANCE),
                    Collections.singleton(oncoTreeType));

            //Remove level_R3
            invImpEbsResisitance = filterResistanceEvidence(invImpEbsResisitance);

            exportTherapeuticImplications(relevantTumorTypes, invImpEbsSensitivity, invImpEbsResisitance,
                    "investigational_therapeutic_implications", sbTumorType, "    ", isRelevant);

            if (sbTumorType.length() > nEmp) {
                sbTumorType.append("</cancer_type>\n");
                sb.append(sbTumorType);
            }
        }

        return sb.toString();
    }

From source file:org.mskcc.cbio.oncokb.quest.VariantAnnotationXML.java

private static void exportTherapeuticImplications(List<TumorType> relevantTumorTypes, Evidence evidence,
            StringBuilder sb, String indent) {
        LevelOfEvidence levelOfEvidence = evidence.getLevelOfEvidence();

        for (Treatment treatment : evidence.getTreatments()) {
            sb.append(indent).append("<treatment>\n");
            exportTreatment(treatment, sb, indent + "    ", levelOfEvidence);
            sb.append(indent).append("</treatment>\n");
        }//from w w w  .  ja  v  a 2s  .  c o  m

        if (levelOfEvidence != null) {
            levelOfEvidence = LevelUtils.updateOrKeepLevelByIndication(levelOfEvidence, evidence.getPropagation(),
                    relevantTumorTypes.contains(evidence.getOncoTreeType()));
            sb.append(indent).append("<level_of_evidence_for_patient_indication>\n");
            sb.append(indent).append("    <level>");
            sb.append(levelOfEvidence.getLevel());
            sb.append("</level>\n");
            sb.append(indent).append("    <description>");
            sb.append(StringEscapeUtils.escapeXml10(levelOfEvidence.getDescription()).trim());
            sb.append("</description>\n");
            if (levelOfEvidence == LevelOfEvidence.LEVEL_1 || levelOfEvidence == LevelOfEvidence.LEVEL_2A
                    || levelOfEvidence == LevelOfEvidence.LEVEL_2B) {
                sb.append(indent).append("<approved_indication>");
                sb.append("</approved_indication>\n");
            }
            sb.append(indent).append("</level_of_evidence_for_patient_indication>\n");
        }

        sb.append(indent).append("<description>");
        if (evidence.getDescription() != null) {
            sb.append(StringEscapeUtils.escapeXml10(evidence.getDescription()).trim());
        }
        sb.append("</description>\n");

        exportRefereces(evidence, sb, indent);
    }

From source file:org.mskcc.cbio.oncokb.quest.VariantAnnotationXML.java

private static void exportTreatment(Treatment treatment, StringBuilder sb, String indent,
            LevelOfEvidence levelOfEvidence) {
        List<Drug> drugs = treatment.getDrugs();
        for (Drug drug : drugs) {
            sb.append(indent).append("<drug>\n");

            sb.append(indent).append("    <name>");
            String name = drug.getDrugName();
            if (name != null) {
                sb.append(StringEscapeUtils.escapeXml10(name));
            }//from w  w  w .j av  a 2 s .c o m
            sb.append("</name>\n");

            Set<String> synonyms = drug.getSynonyms();
            for (String synonym : synonyms) {
                sb.append(indent).append("    <synonym>");
                sb.append(synonym);
                sb.append("</synonym>\n");
            }

            sb.append(indent).append("    <fda_approved>");

            //FDA approved info based on evidence level. Temporaty solution. The info should be pulled up from database
            //by using PI-helper
            //            Boolean fdaApproved = drug.isFdaApproved();
            //            if (fdaApproved!=null) {
            //                sb.append(fdaApproved ? "Yes" : "No");
            //            }

            Boolean fdaApproved = levelOfEvidence == LevelOfEvidence.LEVEL_1
                    || levelOfEvidence == LevelOfEvidence.LEVEL_2A;
            sb.append(fdaApproved ? "Yes" : "No");

            sb.append("</fda_approved>\n");

            //            sb.append(indent).append("    <description>");
            //            String desc = drug.getDescription();
            //            if (desc != null) {
            //                sb.append(StringEscapeUtils.escapeXml10(desc));
            //            }
            //            sb.append("</description>\n");

            sb.append(indent).append("</drug>\n");

        }
    }

From source file:org.openbmap.soapclient.GpxSerializer.java

/**
 * Iterates on way points and write them.
 *
 * @param bw/*from ww w .  j  a  v a 2s.  c o m*/
 *         Writer to the target file.
 */
private void writeWifis(final BufferedWriter bw) throws IOException {
    Log.i(TAG, "Writing wifi waypoints");

    //@formatter:off
    Cursor c = mDbHelper.getReadableDatabase().rawQuery(WIFI_POINTS_SQL_QUERY,
            new String[] { String.valueOf(mSession), String.valueOf(0) });
    //@formatter:on

    final int colLatitude = c.getColumnIndex(Schema.COL_LATITUDE);
    final int colLongitude = c.getColumnIndex(Schema.COL_LONGITUDE);
    final int colAltitude = c.getColumnIndex(Schema.COL_ALTITUDE);
    final int colTimestamp = c.getColumnIndex(Schema.COL_TIMESTAMP);
    final int colSsid = c.getColumnIndex(Schema.COL_SSID);

    long outer = 0;
    while (!c.isAfterLast()) {
        c.moveToFirst();
        while (!c.isAfterLast()) {
            StringBuffer out = new StringBuffer();
            out.append("<wpt lat=\"");
            out.append(String.valueOf(c.getDouble(colLatitude)));
            out.append("\" ");
            out.append("lon=\"");
            out.append(String.valueOf(c.getDouble(colLongitude)));
            out.append("\">");
            out.append("<ele>");
            out.append(String.valueOf(c.getDouble(colAltitude)));
            out.append("</ele>\n");
            out.append("<time>");
            // time stamp conversion to ISO 8601
            out.append(getGpxDate(c.getLong(colTimestamp)));
            out.append("</time>");
            out.append("<name>");
            out.append(StringEscapeUtils.escapeXml10(c.getString(colSsid)));
            out.append("</name>");
            out.append("</wpt>");
            bw.write(out.toString());
            bw.flush();
            c.moveToNext();
        }
        // fetch next CURSOR_SIZE records
        outer += CURSOR_SIZE;
        c.close();
        //@formatter:off
        c = mDbHelper.getReadableDatabase().rawQuery(WIFI_POINTS_SQL_QUERY,
                new String[] { String.valueOf(mSession), String.valueOf(outer) });
        //@formatter:on
    }
    c.close();
}

From source file:org.openbmap.soapclient.GpxSerializer.java

/**
 * Iterates on way points and write them.
 *
 * @param bw/*from   ww w.  j  av a2s . c  o m*/
 *         Writer to the target file.
 */
private void writeCells(final BufferedWriter bw) throws IOException {
    Log.i(TAG, "Writing cell waypoints");
    //@formatter:off
    Cursor c = mDbHelper.getReadableDatabase().rawQuery(CELL_POINTS_SQL_QUERY,
            new String[] { String.valueOf(mSession), String.valueOf(0) });
    //@formatter:on

    final int colLatitude = c.getColumnIndex(Schema.COL_LATITUDE);
    final int colLongitude = c.getColumnIndex(Schema.COL_LONGITUDE);
    final int colAltitude = c.getColumnIndex(Schema.COL_ALTITUDE);
    final int colTimestamp = c.getColumnIndex(Schema.COL_TIMESTAMP);
    final int colName = c.getColumnIndex("name");

    long outer = 0;
    while (!c.isAfterLast()) {
        c.moveToFirst();
        while (!c.isAfterLast()) {
            StringBuffer out = new StringBuffer();
            out.append("<wpt lat=\"");
            out.append(String.valueOf(c.getDouble(colLatitude)));
            out.append("\" ");
            out.append("lon=\"");
            out.append(String.valueOf(c.getDouble(colLongitude)));
            out.append("\">");
            out.append("<ele>");
            out.append(String.valueOf(c.getDouble(colAltitude)));
            out.append("</ele>");
            out.append("<time>");
            // time stamp conversion to ISO 8601
            out.append(getGpxDate(c.getLong(colTimestamp)));
            out.append("</time>");
            out.append("<name>");
            out.append(StringEscapeUtils.escapeXml10(c.getString(colName)));
            out.append("</name>");
            out.append("</wpt>");

            bw.write(out.toString());
            bw.flush();
            c.moveToNext();
        }

        //bw.write(out.toString());
        //out = null;
        // fetch next CURSOR_SIZE records
        outer += CURSOR_SIZE;
        c.close();
        //@formatter:off
        c = mDbHelper.getReadableDatabase().rawQuery(CELL_POINTS_SQL_QUERY,
                new String[] { String.valueOf(mSession), String.valueOf(outer) });
        //@formatter:on
    }
    c.close();
}

From source file:org.opendatakit.aggregate.externalservice.REDCapServer.java

@Override
protected void insertData(Submission submission, CallingContext cc) throws ODKExternalServiceException {

    try {/*from   ww  w .ja v  a2 s. co  m*/
        // an empty map to hold our values
        String study_id = null;

        // create a hash to hold the blobs for later processing
        Map<String, BlobSubmissionType> blobs = new HashMap<String, BlobSubmissionType>();

        StringBuilder b = new StringBuilder();

        Map<FormElementModel, SubmissionValue> valuesMap = submission.getSubmissionValuesMap();

        for (FormElementModel element : valuesMap.keySet()) {
            SubmissionValue value = valuesMap.get(element);
            if (value == null) {
                continue;
            }
            if (element.isMetadata()) {
                // handle metadata specially
            } else {
                switch (element.getElementType()) {
                case METADATA:
                    // This keeps lint warnings down...
                    break;
                case STRING: {
                    StringSubmissionType str = (StringSubmissionType) value;
                    String strValue = str.getValue();
                    if (element.getElementName().equals("study_id")) {
                        // Piece of crap parser in REDCap requires study id to be first
                        // element
                        study_id = strValue;
                    } else if (strValue != null) {
                        b.append("<").append(element.getElementName()).append(">")
                                .append(StringEscapeUtils.escapeXml10(strValue)).append("</")
                                .append(element.getElementName()).append(">");
                    }
                }
                    break;

                case JRDATETIME: {
                    JRDateTimeType dt = (JRDateTimeType) value;
                    Date dtValue = dt.getValue();

                    if (dtValue != null) {
                        GregorianCalendar g = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
                        g.setTime(dtValue);

                        String strValue = String.format(FormatConsts.REDCAP_DATE_TIME_FORMAT_STRING,
                                g.get(Calendar.YEAR), g.get(Calendar.MONTH) + 1, g.get(Calendar.DAY_OF_MONTH),
                                g.get(Calendar.HOUR_OF_DAY), g.get(Calendar.MINUTE), g.get(Calendar.SECOND));

                        b.append("<").append(element.getElementName()).append(">")
                                .append(StringEscapeUtils.escapeXml10(strValue)).append("</")
                                .append(element.getElementName()).append(">");

                    }
                }
                    break;

                case JRDATE: {
                    JRDateType dt = (JRDateType) value;
                    Date dtValue = dt.getValue();

                    if (dtValue != null) {
                        GregorianCalendar g = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
                        g.setTime(dtValue);

                        String strValue = String.format(FormatConsts.REDCAP_DATE_ONLY_FORMAT_STRING,
                                g.get(Calendar.YEAR), g.get(Calendar.MONTH) + 1, g.get(Calendar.DAY_OF_MONTH));

                        b.append("<").append(element.getElementName()).append(">")
                                .append(StringEscapeUtils.escapeXml10(strValue)).append("</")
                                .append(element.getElementName()).append(">");
                    }
                }
                    break;

                case JRTIME: {
                    JRTimeType dt = (JRTimeType) value;
                    Date dtValue = dt.getValue();

                    if (dtValue != null) {
                        GregorianCalendar g = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
                        g.setTime(dtValue);

                        String strValue = String.format(FormatConsts.REDCAP_TIME_FORMAT_STRING,
                                g.get(Calendar.HOUR_OF_DAY), g.get(Calendar.MINUTE));

                        b.append("<").append(element.getElementName()).append(">")
                                .append(StringEscapeUtils.escapeXml10(strValue)).append("</")
                                .append(element.getElementName()).append(">");
                    }
                }
                    break;

                case INTEGER: {
                    LongSubmissionType longVal = (LongSubmissionType) value;
                    if (longVal.getValue() != null) {
                        String strValue = longVal.getValue().toString();

                        b.append("<").append(element.getElementName()).append(">")
                                .append(StringEscapeUtils.escapeXml10(strValue)).append("</")
                                .append(element.getElementName()).append(">");
                    }
                }
                    break;

                case DECIMAL: {
                    DecimalSubmissionType dec = (DecimalSubmissionType) value;
                    if (dec.getValue() != null) {
                        String strValue = dec.getValue().toString();

                        b.append("<").append(element.getElementName()).append(">")
                                .append(StringEscapeUtils.escapeXml10(strValue)).append("</")
                                .append(element.getElementName()).append(">");
                    }
                }
                    break;

                case GEOPOINT: {
                    // TODO: should not have gps_ prefix on tag...
                    String strippedElementName = element.getElementName().replace("gps_", "");
                    GeoPointSubmissionType submissionValue = (GeoPointSubmissionType) value;
                    GeoPoint coors = submissionValue.getValue();
                    if (coors.getLatitude() != null) {
                        b.append("<").append("gps_lat_" + strippedElementName).append(">")
                                .append(StringEscapeUtils.escapeXml10(coors.getLatitude().toString()))
                                .append("</").append("gps_lat_" + strippedElementName).append(">");

                        b.append("<").append("gps_lon_" + strippedElementName).append(">")
                                .append(StringEscapeUtils.escapeXml10(coors.getLongitude().toString()))
                                .append("</").append("gps_lon_" + strippedElementName).append(">");

                        b.append("<").append("gps_alt_" + strippedElementName).append(">")
                                .append(StringEscapeUtils.escapeXml10(coors.getAltitude().toString()))
                                .append("</").append("gps_alt_" + strippedElementName).append(">");

                        b.append("<").append("gps_acc_" + strippedElementName).append(">")
                                .append(StringEscapeUtils.escapeXml10(coors.getAccuracy().toString()))
                                .append("</").append("gps_acc_" + strippedElementName).append(">");
                    }
                }
                    break;

                case BINARY: {
                    String file_field = element.getElementName();
                    BlobSubmissionType blob_value = (BlobSubmissionType) value;
                    if (blob_value.getAttachmentCount(cc) == 1) {
                        blobs.put(file_field, blob_value);
                    }
                    // upload these after we have successfully imported the record
                }
                    break;

                case BOOLEAN: {
                    String strippedElementName = element.getElementName().replace("slct-", "");
                    BooleanSubmissionType bType = (BooleanSubmissionType) value;
                    if (bType.getValue() != null) {
                        b.append("<").append(strippedElementName + "___" + bType.getValue().toString())
                                .append(">").append(StringEscapeUtils.escapeXml10("1")).append("</")
                                .append(strippedElementName + "___" + bType.getValue().toString()).append(">");
                    }
                }
                    break;

                case SELECT1:
                case SELECTN: {
                    // TODO: it's not necessary to add (or remove) 'slct-' from
                    // the field name anymore
                    String formatElementName = element.getElementName().replace("slct-", "");
                    ChoiceSubmissionType choice = (ChoiceSubmissionType) value;
                    for (String choiceVal : choice.getValue()) {
                        b.append("<").append(formatElementName + "___" + choiceVal).append(">")
                                .append(StringEscapeUtils.escapeXml10("1")).append("</")
                                .append(formatElementName + "___" + choiceVal).append(">");
                    }
                }
                    break;

                case REPEAT: {
                    logger.warn("Unable to publish repeat groups to REDCap");
                    // REDCap does not handle repeat groups.
                }
                    break;

                case GROUP:
                    logger.warn("The GROUP submission type is not implemented");
                    break;

                }
            }
        }

        b.append("</item></records>");

        if (study_id == null) {
            throw new IllegalStateException("Form does not contain a study_id field -- cannot publish!");
        }

        String submissionsListString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><records><item><study_id>"
                + StringEscapeUtils.escapeXml10(study_id) + "</study_id>" + b.toString();

        List<NameValuePair> eparams = new ArrayList<NameValuePair>();
        eparams.add(new BasicNameValuePair("token", getApiKey()));
        eparams.add(new BasicNameValuePair("content", "record"));
        eparams.add(new BasicNameValuePair("format", "xml"));
        eparams.add(new BasicNameValuePair("overwriteBehavior", "overwrite"));
        eparams.add(new BasicNameValuePair("data", submissionsListString));
        eparams.add(new BasicNameValuePair("returnContent", "ids"));
        eparams.add(new BasicNameValuePair("returnFormat", "xml"));

        HttpEntity postentity = new UrlEncodedFormEntity(eparams, UTF_CHARSET);

        submitPost("Publishing", postentity, null, cc);

        // send the files if they exist
        for (Map.Entry<String, BlobSubmissionType> e : blobs.entrySet()) {
            System.out.println("Processing media attachment....");
            BlobSubmissionType blob = e.getValue();
            submitFile(study_id, e.getKey(), blob, cc);
        }

    } catch (Exception e) {
        throw new ODKExternalServiceException(e);
    }

}

From source file:org.opendatakit.aggregate.form.PropertyMapSerializer.java

/**
 * Serialize a key-value map into an XML-formatted document.
 *
 * @param value - a Map<String,String> of key-value pairs.
 * @return the XML document representing the serialization of that key-value map.
 *///from w  ww.  jav  a 2  s .  com
public static String serializeRequestParameters(Map<String, String> value) {
    if (value == null) {
        return null;
    }
    StringBuilder b = new StringBuilder();
    b.append(K_XML_BEGIN_PARAMETERS);
    for (Map.Entry<String, String> e : value.entrySet()) {
        b.append(K_XML_BEGIN_PARAMETER_BEGIN_KEY);
        b.append(StringEscapeUtils.escapeXml10(e.getKey()));
        b.append(K_XML_END_KEY_BEGIN_VALUE);
        b.append(StringEscapeUtils.escapeXml10(e.getValue()));
        b.append(K_XML_END_VALUE_END_PARAMETER);
    }
    b.append(K_XML_END_PARAMETERS);
    return b.toString();
}

From source file:org.opendatakit.aggregate.format.element.XmlAttributeFormatter.java

private void addToXmlValueToRow(Object value, String propertyName, Row row) {
    if (value != null) {
        String xmlString = propertyName + "=\"" + StringEscapeUtils.escapeXml10(value.toString()) + "\"";
        row.addFormattedValue(xmlString);
    }/* w ww. jav a  2s.  c o m*/
}

From source file:org.opendatakit.aggregate.format.element.XmlElementFormatter.java

private void addToXmlValueToRow(Object value, String propertyName, Row row) {

    if (value != null) {
        String xmlString = HtmlUtil.createBeginTag(prefix + propertyName);
        xmlString += StringEscapeUtils.escapeXml10(value.toString());
        xmlString += HtmlUtil.createEndTag(prefix + propertyName);
        xmlFormatter.writeXml(xmlString);
    } else {//  w ww.j av a2 s . co m
        xmlFormatter.writeXml(HtmlUtil.createSelfClosingTag(prefix + propertyName));
    }
}

From source file:org.opendatakit.aggregate.format.element.XmlMediaAttachmentFormatter.java

@Override
public void formatBinary(BlobSubmissionType blobSubmission, FormElementModel element, String ordinalValue,
        Row row, CallingContext cc) throws ODKDatastoreException {

    if (blobSubmission == null || (blobSubmission.getAttachmentCount(cc) == 0)
            || (blobSubmission.getContentHash(1, cc) == null)) {
        return;//w  ww  .  jav  a 2  s . c o  m
    }

    String urlLink;
    {
        Map<String, String> properties = new HashMap<String, String>();
        SubmissionKey k = blobSubmission.generateSubmissionKey(1);
        properties.put(ServletConsts.BLOB_KEY, k.toString());
        properties.put(ServletConsts.AS_ATTACHMENT, "true");
        String downloadRequestURL = cc.getServerURL() + BasicConsts.FORWARDSLASH + BinaryDataServlet.ADDR;
        urlLink = HtmlUtil.createLinkWithProperties(downloadRequestURL, properties);
    }
    // parallel to XFormsManifestXmlTable
    String xmlString = "<mediaFile>" + "<filename>"
            + StringEscapeUtils.escapeXml10(blobSubmission.getUnrootedFilename(1, cc)) + "</filename>"
            + "<hash>" + StringEscapeUtils.escapeXml10(blobSubmission.getContentHash(1, cc)) + "</hash>"
            + "<downloadUrl>" + StringEscapeUtils.escapeXml10(urlLink) + "</downloadUrl>" + "</mediaFile>\n";

    row.addFormattedValue(xmlString);
}