public void writeXSLTransform(TransformExtensionsManager extensionMgr) throws ResourceNotFoundException, ResourceNotResendableException, ForbiddenUserException, FailedRequestException { extensionMgr.writeXSLTransform( XSLT_NAME, new StringHandle().withFormat(Format.XML).withMimetype("application/xslt+xml").with(xslTransform), makeXSLTMetadata() ); } }
@Override public <H extends AbstractReadHandle> H get(H handle) { if ( getType() == EvalResult.Type.NULL && handle instanceof StringHandle ) { return (H) ((StringHandle) handle).with(null); } else if ( getType() == EvalResult.Type.NULL && handle instanceof BytesHandle ) { return (H) ((BytesHandle) handle).with(null); } else { return content.getContent(handle); } }
public void writeXQueryTransform(TransformExtensionsManager extensionMgr) throws ResourceNotFoundException, ResourceNotResendableException, ForbiddenUserException, FailedRequestException { extensionMgr.writeXQueryTransform( XQUERY_NAME, new StringHandle().withFormat(Format.TEXT).with(xqueryTransform), makeXQueryMetadata() ); } public void writeXSLTransform(TransformExtensionsManager extensionMgr)
@Test public void testRawCtsQuery() throws Exception { String ctsQuery = "<cts:directory-query xmlns:cts=\"http://marklogic.com/cts\"><cts:uri>/QueryBatcherTest/</cts:uri></cts:directory-query>"; RawCtsQueryDefinition query = client.newQueryManager().newRawCtsQueryDefinition(new StringHandle().with(ctsQuery).withFormat(Format.XML)).withCriteria("Jane"); Map<String, String[]> matchesByForest = new HashMap<>(); matchesByForest.put("java-unittest-3", new String[] {uri2}); runQueryBatcher(moveMgr.newQueryBatcher(query), query, matchesByForest, 1, 2); ctsQuery = "{ctsquery : {\"directoryQuery\":{\"uris\":[\"/QueryBatcherTest/\"]}}}";; matchesByForest.put("java-unittest-1", new String[] {uri1, uri3, uri4}); matchesByForest.put("java-unittest-2", new String[] {uri5}); query = client.newQueryManager().newRawCtsQueryDefinition(new StringHandle().with(ctsQuery).withFormat(Format.JSON)); runQueryBatcher(moveMgr.newQueryBatcher(query), query, matchesByForest, 1, 2); }
public void run() { DatabaseClient client; try { client = getDatabaseClient("rest-admin", "x", getConnType()); TextDocumentManager docMgr = client.newTextDocumentManager(); for (int i = 1; i <= 5; i++) { System.out.println("Writing document from: " + msg); if (msg == "Thread A") { // write docs String docId = "/multithread-content-A/filename" + i + ".txt"; docMgr.write(docId, new StringHandle().with("This is so foo")); } else if (msg == "Thread B") { // write docs String docId = "/multithread-content-B/filename" + i + ".txt"; docMgr.write(docId, new StringHandle().with("This is so foo")); } } // release client client.release(); } catch (KeyManagementException | NoSuchAlgorithmException | IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@Test public void testWriteTextDoc() { System.out.println("Running testWriteTextDoc method"); String docId = "/foo/test/myFoo.txt"; TextDocumentManager docMgr = client.newTextDocumentManager(); docMgr.write(docId, new StringHandle().with("This is so foo")); assertEquals("Text document write difference", "This is so foo", docMgr.read(docId, new StringHandle()).get()); }
@Test public void testWriteTextDoc() { System.out.println("Running testWriteTextDoc method"); String docId = "/foo/test/myFoo.txt"; TextDocumentManager docMgr = client.newTextDocumentManager(); docMgr.write(docId, new StringHandle().with("This is so foo")); assertEquals("Text document write difference", "This is so foo", docMgr.read(docId, new StringHandle()).get()); }
public void loadTxtDocuments() { int count = 1; TextDocumentManager docMgr = client.newTextDocumentManager(); DocumentWriteSet writeset = docMgr.newWriteSet(); for (int i = 0; i < 101; i++) { writeset.add(DIRECTORY + "Textfoo" + i + ".txt", new StringHandle().with("bar can be foo" + i)); if (count % BATCH_SIZE == 0) { docMgr.write(writeset); writeset = docMgr.newWriteSet(); } count++; } if (count % BATCH_SIZE > 0) { docMgr.write(writeset); } }
public void loadTxtDocuments() { int count = 1; TextDocumentManager docMgr = client.newTextDocumentManager(); DocumentWriteSet writeset = docMgr.newWriteSet(); for (int i = 0; i < 101; i++) { writeset.add(DIRECTORY + "Textfoo" + i + ".txt", new StringHandle().with("bar can be foo" + i)); if (count % BATCH_SIZE == 0) { docMgr.write(writeset); writeset = docMgr.newWriteSet(); } count++; } if (count % BATCH_SIZE > 0) { docMgr.write(writeset); } }
@Test public void testWriteMultipleTextDocWithDefaultMetadata() { String docId[] = { "/foo/test/myFoo1.txt", "/foo/test/myFoo2.txt", "/foo/test/myFoo3.txt" }; TextDocumentManager docMgr = client.newTextDocumentManager(); DocumentWriteSet writeset = docMgr.newWriteSet(); // put metadata DocumentMetadataHandle mh = setMetadata(); writeset.addDefault(mh); writeset.add(docId[0], new StringHandle().with("This is so foo1")); writeset.add(docId[1], new StringHandle().with("This is so foo2")); writeset.add(docId[2], new StringHandle().with("This is so foo3")); docMgr.write(writeset); DocumentPage page = docMgr.read(docId); while (page.hasNext()) { DocumentRecord rec = page.next(); docMgr.readMetadata(rec.getUri(), mh); validateMetadata(mh); } validateMetadata(mh); }
@Test public void testWriteMultipleTextDoc() { String docId[] = { "/foo/test/myFoo1.txt", "/foo/test/myFoo2.txt", "/foo/test/myFoo3.txt" }; TextDocumentManager docMgr = client.newTextDocumentManager(); DocumentWriteSet writeset = docMgr.newWriteSet(); writeset.add(docId[0], new StringHandle().with("This is so foo1")); writeset.add(docId[1], new StringHandle().with("This is so foo2")); writeset.add(docId[2], new StringHandle().with("This is so foo3")); docMgr.write(writeset); assertEquals("Text document write difference", "This is so foo1", docMgr.read(docId[0], new StringHandle()).get()); assertEquals("Text document write difference", "This is so foo2", docMgr.read(docId[1], new StringHandle()).get()); assertEquals("Text document write difference", "This is so foo3", docMgr.read(docId[2], new StringHandle()).get()); // Bulk delete on TextDocumentManager docMgr.delete(docId[0], docId[1], docId[2]); }
@Test public void testE_TextLoad() { String docId[] = {"/foo/test/myFoo1.txt","/foo/test/myFoo2.txt","/foo/test/myFoo3.txt"}; TextDocumentManager docMgr = Common.client.newTextDocumentManager(); DocumentWriteSet writeset =docMgr.newWriteSet(); writeset.add(docId[0], new StringHandle().with("This is so foo1")); writeset.add(docId[1], new StringHandle().with("This is so foo2")); writeset.add(docId[2], new StringHandle().with("This is so foo3")); docMgr.write(writeset); assertEquals("Text document write difference", "This is so foo1", docMgr.read(docId[0], new StringHandle()).get()); assertEquals("Text document write difference", "This is so foo2", docMgr.read(docId[1], new StringHandle()).get()); assertEquals("Text document write difference", "This is so foo3", docMgr.read(docId[2], new StringHandle()).get()); docMgr.delete(docId[0]); docMgr.delete(docId[1]); docMgr.delete(docId[2]); }
@Test public void testExists() { String docId = "/test/testExists1.txt"; TextDocumentManager docMgr = Common.client.newTextDocumentManager(); // guarantee that a previous run didn't leave the document docMgr.delete(docId); assertTrue("Non-existent document appears to exist", docMgr.exists(docId)==null); docMgr.write(docId,new StringHandle().with("A simple text document")); assertTrue("Existent document doesn't appear to exist", docMgr.exists(docId)!=null); docMgr.delete(docId); }
@Test public void testDelete() { String docId = "/test/testDelete1.txt"; TextDocumentManager docMgr = Common.client.newTextDocumentManager(); docMgr.write(docId, new StringHandle().with("A simple text document")); String text = docMgr.read(docId, new StringHandle()).get(); assertTrue("Could not create document for deletion", text != null && text.length() > 0); docMgr.delete(docId); text = null; boolean hadException = false; try { text = docMgr.read(docId, new StringHandle()).get(); } catch (Exception ex) { hadException = true; } assertTrue("Could not delete document", text == null && hadException); }
@Test public void testBulkReadMetadataUsingMultipleUriNoTransaction() throws KeyManagementException, NoSuchAlgorithmException, Exception { String docId[] = { "/foo/test/URIFoo1.txt", "/foo/test/URIFoo2.txt", "/foo/test/URIFoo3.txt" }; DocumentMetadataHandle mhRead = new DocumentMetadataHandle(); TextDocumentManager docMgr = client.newTextDocumentManager(); docMgr.setMetadataCategories(Metadata.ALL); DocumentWriteSet writeset = docMgr.newWriteSet(); // put meta-data DocumentMetadataHandle mh = setMetadata(); writeset.addDefault(mh); writeset.add(docId[0], new StringHandle().with("This is so URI foo 1")); writeset.add(docId[1], new StringHandle().with("This is so URI foo 2")); writeset.add(docId[2], new StringHandle().with("This is so URI foo 3")); docMgr.write(writeset); DocumentPage page = docMgr.readMetadata(docId[0], docId[1], docId[2]); // Issue #294 DocumentPage.size() should return correct size assertTrue("DocumentPage Size did not return expected value:: returned== " + page.size(), page.size() == 3); while (page.hasNext()) { DocumentRecord rec = page.next(); rec.getMetadata(mhRead); validateMetadata(mhRead); } validateMetadata(mhRead); mhRead = null; }
@Test public void testWriteTextDoc() { SecurityContext secContext = new DatabaseClientFactory.DigestAuthContext("admin", "admin"); DatabaseClient client = DatabaseClientFactory.newClient(appServerHostname, 8015, secContext, getConnType()); String docId = "/foo/test/myFoo.txt"; TextDocumentManager docMgr = client.newTextDocumentManager(); docMgr.write(docId, new StringHandle().with("This is so foo")); assertEquals("Text document write difference", "This is so foo", docMgr.read(docId, new StringHandle()).get()); }
docMgr.write(docId, new StringHandle().with(content));
@Test public void testReadWrite() throws IOException { String docId = "/test/testWrite1.txt"; String text = "A simple text document"; TextDocumentManager docMgr = Common.client.newTextDocumentManager(); docMgr.write(docId, new StringHandle().with(text)); assertEquals("Text document write difference",text,docMgr.read(docId, new StringHandle()).get()); BytesHandle bytesHandle = new BytesHandle(); docMgr.read(docId, bytesHandle); assertEquals("Text document mismatch reading bytes", bytesHandle.get().length,text.length()); InputStreamHandle inputStreamHandle = new InputStreamHandle(); docMgr.read(docId, inputStreamHandle); byte[] b = Common.streamToBytes(inputStreamHandle.get()); assertEquals("Text document mismatch reading input stream",new String(b),text); Reader reader = docMgr.read(docId, new ReaderHandle()).get(); String s = Common.readerToString(reader); assertEquals("Text document mismatch with reader",s,text); File file = docMgr.read(docId, new FileHandle()).get(); assertEquals("Text document mismatch with file",text.length(),file.length()); }
@Test public void testCommit() throws XpathException { String docId1 = "/test/testExists1.txt"; String docId2 = "/test/testExists2.txt"; TextDocumentManager docMgr = Common.client.newTextDocumentManager(); docMgr.write(docId1,new StringHandle().with("A simple text document")); String transactionName = "java-client-" + seed.nextLong(); Transaction transaction = Common.client.openTransaction(transactionName); StringHandle docHandle = docMgr.read(docId1, new StringHandle(), transaction); docMgr.write(docId2, docHandle, transaction); docMgr.delete(docId1, transaction); Document status = transaction.readStatus(new DOMHandle()).get(); assertXpathExists("//*[local-name() = 'transaction-name' and "+ "string(.) = '"+transactionName+"']", status); transaction.commit(); assertTrue("Document 1 exists", docMgr.exists(docId1)==null); assertTrue("Document 2 doesn't exist", docMgr.exists(docId2)!=null); docMgr.delete(docId2); }
@Test public void testRollback() { String docId1 = "/test/testExists1.txt"; String docId2 = "/test/testExists2.txt"; TextDocumentManager docMgr = Common.client.newTextDocumentManager(); docMgr.write(docId1,new StringHandle().with("A simple text document")); Transaction transaction = Common.client.openTransaction(); StringHandle docHandle = docMgr.read(docId1, new StringHandle(), transaction); docMgr.write(docId2, docHandle, transaction); docMgr.delete(docId1, transaction); transaction.rollback(); assertTrue("Document 1 doesn't exist", docMgr.exists(docId1)!=null); assertTrue("Document 2 exists", docMgr.exists(docId2)==null); docMgr.delete(docId1); }