@Override public void formatRepeats( SubmissionRepeat repeat, FormElementModel repeatElement, Row row, CallingContext cc) throws ODKDatastoreException { if (repeat == null) { row.addFormattedValue(null); return; } List<SubmissionSet> sets = repeat.getSubmissionSets(); if (sets.size() == 0) { row.addFormattedValue(null); return; } Map<String, String> properties = new HashMap<String, String>(); properties.put(ServletConsts.FORM_ID, repeat.constructSubmissionKey().toString()); String url = HtmlUtil.createHrefWithProperties( baseWebServerUrl + BasicConsts.FORWARDSLASH + FormMultipleValueServlet.ADDR, properties, FormTableConsts.VIEW_LINK_TEXT, false); row.addFormattedValue(url); }
@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)) { row.addFormattedValue(null); return; } SubmissionKey key = blobSubmission.getValue(); String linkText; Map<String, String> properties = new HashMap<String, String>(); properties.put(ServletConsts.BLOB_KEY, key.toString()); if (binariesAsDownloadLink) { properties.put(ServletConsts.AS_ATTACHMENT, "yes"); linkText = FormTableConsts.DOWNLOAD_LINK_TEXT; if (blobSubmission.getAttachmentCount(cc) == 1) { linkText = blobSubmission.getUnrootedFilename(1, cc); if (linkText == null || linkText.length() == 0) { linkText = FormTableConsts.DOWNLOAD_LINK_TEXT; } } } else { linkText = FormTableConsts.VIEW_LINK_TEXT; } String url = HtmlUtil.createHrefWithProperties( baseWebServerUrl + BasicConsts.FORWARDSLASH + BinaryDataServlet.ADDR, properties, linkText, !binariesAsDownloadLink); row.addFormattedValue(url); }