/** * Get the document's metadata from the package. * * @param documentPackage The DocumentPackage we want to get document from. * @param documentId Id of document to get. * @return the document's metadata */ public com.silanis.esl.sdk.Document getDocumentMetadata( DocumentPackage documentPackage, String documentId) { String path = template .urlFor(UrlTemplate.DOCUMENT_ID_PATH) .replace("{packageId}", documentPackage.getId().getId()) .replace("{documentId}", documentId) .build(); try { String response = client.get(path); Document apilDocument = Serialization.fromJson(response, Document.class); // Wipe out the members not related to the metadata apilDocument.setApprovals(new ArrayList<Approval>()); apilDocument.setFields(new ArrayList<Field>()); apilDocument.setPages(new ArrayList<com.silanis.esl.api.model.Page>()); return new DocumentConverter( apilDocument, new DocumentPackageConverter(documentPackage).toAPIPackage()) .toSDKDocument(); } catch (RequestException e) { throw new EslServerException("Could not get the document's metadata.", e); } catch (Exception e) { throw new EslException( "Could not get the document's metadata." + " Exception: " + e.getMessage()); } }
/** * Downloads a document from the package and returns a byte[]. * * @param packageId Id of the DocumentPackage we want to download * @param document Id of the Document we want to download * @return The document in bytes * @throws EslException */ public byte[] downloadDocument(PackageId packageId, Document document) throws EslException { return downloadDocument(packageId, document.getId()); }