static public DocumentDigest fromJSONObject(JSONObject jsonObj){ DocumentDigest dd = new DocumentDigest(); dd.setType(type); dd.setDocDigest(digest); String digest = attObj.optString("digest"); if( null != digest ){ dd.addAttachmentDigest(attachmentName, digest);
manifest.put("type", documentDigest.getType()); manifest.put("digest", documentDigest.getDocDigest()); for(String attachmentName : documentDigest.getAttachmentNames()){ String attachmentDigest = documentDigest.getAttachmentDigest(attachmentName);
targetDoc ,attachmentName ,documentDigest.getAttachmentDigest(attachmentName) ,attachmentContentType );
@Override public DocumentDigest computeDocumentDigest(Document doc) throws Exception { try { JSONObject json = doc.getJSONObject(); // Initialize digest DocumentDigest dd = new DocumentDigest(); dd.setType(DIGEST_COMPUTER_TYPE); // Compute digest of main document String mainDigest = this.computeDigestFromJsonObject(json); dd.setDocDigest(mainDigest); // Process each attachment Collection<Attachment> attachments = doc.getAttachments(); if( null != attachments ) { for(Attachment attachment : attachments){ String digest = computeAttachmentDigest(attachment); dd.addAttachmentDigest(attachment.getName(), digest); } } return dd; } catch(Exception e) { throw new Exception("Error while computing document digest for "+doc.getId(), e); } }