.replaceValue("$.stringKey", Cardinality.ONE, "replaced value"); patchBldr.replaceApply("$.numberKey", patchBldr.call().add(2)); "/ext/my-lib.xqy"); patchBldr.replaceApply("$.numberKey3", patchBldr.call().applyLibraryValues("getMin", 18, 21));
patchBldr.replaceValue("/root/thirdChild", "new value"); patchBldr.delete("fourthChild"); patchBldr.replaceApply("fifthChild", Cardinality.ONE, patchBldr.call().multiply(3)); patchBldr.call().applyLibraryValues("getMin", 18, 21));
patchBldr.insertFragment("$.employees[0]", Position.AFTER, fragment).delete("$.employees[2]").replaceApply("$.employees[1].firstName", patchBldr.call().concatenateAfter("Hi")); DocumentPatchHandle patchHandle = patchBldr.build(); docMgr.patch(docId, patchHandle);
.deleteMetadataValue("HQ") .replaceMetadataValue("Company", "test-patch") .replaceMetadataValueApply("Locations", patchBuilder.call().add(5)) .build(); docManager.patch("/write-bin-byteshandle-metadata/" + filename, patchHandle);
patchBldr.replaceApply("/root/add", patchBldr.call().add(10)); patchBldr.replaceApply("/root/subtract", patchBldr.call().subtract(2)); patchBldr.replaceApply("/root/multiply", patchBldr.call().multiply(2)); patchBldr.replaceApply("/root/divide", patchBldr.call().divideBy(2)); patchBldr.replaceApply("/root/concatenateAfter", patchBldr.call().concatenateAfter(" ML7")); patchBldr.replaceApply("/root/concatenateBetween", patchBldr.call().concatenateBetween("ML ", " 7")); patchBldr.replaceApply("/root/concatenateBefore", patchBldr.call().concatenateBefore("ML ")); patchBldr.replaceApply("/root/substringAfter", patchBldr.call().substringAfter("Version")); patchBldr.replaceApply("/root/substringBefore", patchBldr.call().substringBefore("Version")); patchBldr.replaceApply("/root/replaceRegex", patchBldr.call().replaceRegex("[a-m]", "1")); patchBldr.replaceApply("/root/applyLibrary", patchBldr.call().applyLibraryFragments("underwrite", "<applyLibrary>API</applyLibrary>")).library( "http://marklogic.com/ext/patch/custom-lib", "/ext/patch/custom-lib.xqy"); DocumentPatchHandle patchHandle = patchBldr.build(); patchBldrSJS.call().applyLibraryValues("Mymin", 18, 21)); DocumentPatchHandle patchHandleSJS = patchBldrSJS.build(); jdm.patch(docId2, patchHandleSJS); patchBldrSJS1.call().applyLibraryValues("Mymin", -12, 21)); ObjectMapper mapper = new ObjectMapper(); ObjectNode fragmentNode = mapper.createObjectNode(); patchBldrSJSErr.call().applyLibraryValues("Mymin", new String("A"), new String("A"))); StringBuilder strErr = new StringBuilder(); try {
patchBldr.replaceApply("/numberKey", patchBldr.call().add(2)); "/ext/my-lib.xqy"); patchBldr.replaceApply("/numberKey3", patchBldr.call().applyLibraryValues("getMin", 18, 21));
.deleteProperty("first") .replacePropertyValue("third", 17) .replacePropertyApply("second", patchBldr.call().add(3)) .setQuality(4) .addMetadataValue("key3", "value3") .deleteMetadataValue("key2") .replaceMetadataValueApply("number1", patchBldr.call().add(5)) .replaceMetadataValue("key1", "modifiedValue1") .build();
.deleteCollection("collection1") .deleteProperty("first") .replacePropertyApply("second", patchBldr.call().add(3)) .setQuality(4) .addMetadataValue("key3", "value3") .deleteMetadataValue("key2") .replaceMetadataValueApply("number1", patchBldr.call().add(5)) .replaceMetadataValue("key1", "modifiedValue1") .build();
.replacePermission("app-user", Capability.UPDATE) .deleteProperty("first") .replacePropertyApply("second", patchBldr.call().add(3)) .setQuality(4) .addMetadataValue("key3", "value3") .deleteMetadataValue("key2") .replaceMetadataValueApply("number1", patchBldr.call().add(5)) .replaceMetadataValue("key1", "modifiedValue1") .build();
.replaceApply("/root/popularity", xmlPatchBldr.call().multiply(2)).build(); xmlDocMgr.patch(docId, xmlPatch, t); t.commit();
@Test public void testPartialUpdateCombination() throws Exception { System.out.println("Running testPartialUpdateCombination"); SecurityContext secContext = new DatabaseClientFactory.DigestAuthContext("eval-user", "x"); DatabaseClient client = DatabaseClientFactory.newClient(appServerHostname, uberPort, dbName, secContext, getConnType()); // write docs String filename = "constraint1.xml"; writeDocumentUsingInputStreamHandle(client, filename, "/partial-update/", "XML"); String docId = "/partial-update/constraint1.xml"; // Creating Manager XMLDocumentManager xmlDocMgr = client.newXMLDocumentManager(); String contentBefore = xmlDocMgr.read(docId, new StringHandle()).get(); System.out.println(" Before Updating " + contentBefore); DocumentPatchBuilder xmlPatchBldr = xmlDocMgr.newPatchBuilder(); DocumentPatchHandle xmlPatch = xmlPatchBldr.insertFragment("/root", Position.LAST_CHILD, "<modified>2012-11-5</modified>").delete("/root/*:date") .replaceApply("/root/popularity", xmlPatchBldr.call().multiply(2)).build(); xmlDocMgr.patch(docId, xmlPatch); waitForPropertyPropagate(); String content = xmlDocMgr.read(docId, new StringHandle()).get(); System.out.println(" After Updating " + content); // Check assertTrue("Multiplication Failed", content.contains("<popularity>10</popularity>")); assertFalse("Deletion Failed", content.contains("<date xmlns=\"http://purl.org/dc/elements/1.1/\">2005-01-01</date>")); assertTrue("Insertion Failed", content.contains("<modified>2012-11-5</modified>")); // release client client.release(); }