Skip to content
Other versions

Loading…

Document samples

First, you must create the webservice object:

OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

Then you should log in using the method “login”. You can access the “login” method from the webservice object “ws” as shown below:

ws.login(user, password);

At this point you can use all the Document methods from the “document” class as shown below:

ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is);

Description:

Method Return values Description
createDocument(String uuid, String name, InputStream is) Document Creates a new document. Returns an object Document with the properties of the created document.
  • The value of the uuid parameter should be a folder or record node UUID.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png");
Document doc = ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is);
System.out.println(doc);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createDocument(String uuid, String name, InputStream is, long nodeClass) Document Creates a new document with nodeClass. Returns an object Document with the properties of the created document.
  • The value of the uuid parameter should be a folder or record node UUID.
  • The nodeClass parameter should be a valid business type (series) value. A nodeClass with value 0 means there’s no business type (series) selected.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png");
long nodeClass = 0;
Document doc = ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is, nodeClass);
System.out.println(doc);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
deleteDocument(String uuid) void Deletes a document.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.deleteDocument("1ec49da9-1746-4875-ae32-9281d7303a62");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getDocumentProperties(String uuid) Document Returns the document properties.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getDocumentProperties("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getContent(String uuid) InputStream Retrieves document content - binary data - of the current document version.

Example:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/logo.png");
InputStream is = ws.document.getContent("1ec49da9-1746-4875-ae32-9281d7303a62");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getContentByVersion(String uuid, String versionName) InputStream Retrieves the document content (binary data) from a specific document version.

Example:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/logo.png");
InputStream is = ws.document.getContentByVersion("/okm:root/logo.png", "1.1");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getDocumentChildren(String fldId) List Returns a list of all documents whose parent is fldId.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (Document doc : ws.document.getDocumentChildren("1be884f4-5758-4985-94d1-f18bfe004db8")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
renameDocument(String uuid, String newName) Document Changes the name of a document.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Document doc = ws.document.renameDocument("1ec49da9-1746-4875-ae32-9281d7303a62", "logo_rename.png");
System.out.print(doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setProperties(String uuid, String title, String description, String lang, List keywords, List categories) void Changes some document properties.
  • The parameter lang must be ISO 639-1 compliant.

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
List<String> keywords = new ArrayList<>();
keywords.add("test");
keywords.add("invoice");
List<String> categories = new ArrayList<>();
categories.add("58c9b25f-d83e-4006-bd78-e26d7c6fb648");
ws.document.setProperties("1ec49da9-1746-4875-ae32-9281d7303a62", "new title", "some description", "es", keywords, categories);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setLanguage(String uuid, String lang) void Sets the document language.
  • The parameter lang must be ISO 639-1 compliant.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.setLanguage("1ec49da9-1746-4875-ae32-9281d7303a62", "en");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setDocumentTitle(String uuid, String title) void Sets the document title.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.setDocumentTitle("1ec49da9-1746-4875-ae32-9281d7303a62", "Some title here");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
checkout(String uuid) void Marks the document for editing.
  • Only one user can modify a document at a time.
  • Before starting editing, you must perform a checkout action that locks the editing process for other users and allows editing only to the user who executed the action.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.checkout("1ec49da9-1746-4875-ae32-9281d7303a62");
// At this point the document is locked for other users except for the user who executed the action
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
cancelCheckout(String uuid) void Cancels a document edit.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
// At this point the document is locked for other users except for the user who executed the action
ws.document.cancelCheckout("1ec49da9-1746-4875-ae32-9281d7303a62");
// At this point other users are allowed to execute a checkout and modify the document
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
forceCancelCheckout(String uuid) void Cancels a document edit.
  • This method allows cancelling editing on any document.
  • It is not mandatory that this action be executed by the same user who previously executed the checkout action.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
// At this point the document is locked for other users except for the user who executed the action
ws.document.forceCancelCheckout("1ec49da9-1746-4875-ae32-9281d7303a62");
// At this point other users are allowed to execute a checkout and modify the document
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
isCheckedOut(String docId) Boolean Returns a boolean that indicates whether the document is being edited or not.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("Is the document checkout:" + ws.document.isCheckedOut("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
checkin(String uuid, InputStream is, String comment) Version Updates a document with a new version and returns an object with the new Version values.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/logo.png");
ws.document.checkin("1ec49da9-1746-4875-ae32-9281d7303a62", is, "optional some comment");
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
checkin(String docId, InputStream is, String comment, int increment) Version Updates a document with a new version and returns an object with new Version values.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/logo.png");
ws.document.checkin("1ec49da9-1746-4875-ae32-9281d7303a62", is, "optional some comment", 2);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
isLocked(String uuid) Boolean Returns a boolean that indicates whether the document is locked or not.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("Is document locked:" + ws.document.isLocked("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getLockInfo(String uuid) LockInfo Returns an object with the lock information.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getLockInfo("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
purgeDocument(String uuid) void The document is permanently removed from the repository.
  • Usually you will purge documents into /okm:trash/userId - the personal trash user location - but it is possible to directly purge any document from the whole repository.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.purgeDocument("1ec49da9-1746-4875-ae32-9281d7303a62");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
moveDocument(String uuid, String dstId) void Moves a document into a folder or record.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.moveDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e", "8599eab7-ae61-4628-8010-1103d6950c63");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
copyDocument(String uuid, String dstId, String newName) void Copy a document into some folder or record.
  • The value of the dstId parameter should be a folder or record UUID.
  • When the parameter newName value is null, the document will preserve the same name.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.copyDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e", "8599eab7-ae61-4628-8010-1103d6950c63", "new_logo.png");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getVersionHistorySize(String uuid) long Returns the total size in bytes of all documents in the document history.

Example:

package com.openkm;
import java.util.Locale;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String[] UNITS = new String[]{"B", "KB", "MB", "GB", "TB", "PB", "EB"};
long bytes = ws.document.getVersionHistorySize("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e");
String value = "";
for (int i = 6; i > 0; i--) {
double step = Math.pow(1024, i);
if (bytes > step) {
value = String.format(Locale.ROOT, "%3.1f %s", bytes / step, UNITS[i]);
}
}
if (value.isEmpty()) {
value = Long.toString(bytes) + " " + UNITS[0];
}
System.out.println(value);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
isValidDocument(String docId) Boolean Returns a boolean that indicates if the node is a document or not.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.isValidDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getDocumentPath(String uuid) String Converts a document UUID to document path.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getDocumentPath("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getDetectedLanguages() List Returns a list of available document languages that OpenKM can identify.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (String lang : ws.document.getDetectedLanguages()) {
System.out.println(lang);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
extendedDocumentCopy(String nodeId, String dstId, String name, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security) void Copies a document with associated data into a folder or record.
  • The value of the nodeId parameter should be a Document UUID.
  • The value of the dstId parameter should be a folder or a record UUID.
  • When the parameter newName value is null, the document will preserve the same name.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Document document = ws.document.extendedDocumentCopy("055b5206-35d0-4351-ba92-c304bbba7ddf", "2dccdee1-9d83-477d-ac58-1b50278a2210", "new_logo.png", true, true, true, true, true);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getExtractedText(String uuid) String Returns a String with the extracted text from the text extractor process.
  • When a document is uploaded to OpenKM, it goes into the text extraction queue. There’s a crontab that periodically processes this queue and extracts document contents.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
import java.io.FileInputStream;
import java.io.InputStream;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/test.pdf");
ws.document.setExtractedText("301de803-f4ae-48f1-8505-e83b26716956", is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setExtractedText(String uuid, InputStream is) void Sets the extracted text.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String text = ws.document.getExtractedText("46762f90-82c6-4886-8d21-ad3017dd78a7");
System.out.println(text);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getThumbnail(String uuid, ThumbnailType type) InputStream Returns thumbnail image data.
  • Available types:

Example:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ThumbnailType;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/invoice.png");
InputStream is = ws.document.getThumbnail("46762f90-82c6-4886-8d21-ad3017dd78a7", ThumbnailType.THUMBNAIL_LIGHTBOX);
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createDocumentFromTemplate(String uuid, String dstPath, boolean categories,
            boolean keywords, boolean notes, Map<String, String> properties)
Document Creates a new document from the template and returns an object Document.
  • The uuid parameter is the UUID value of the template file.
  • The dstPath value is the document destination path.
  • When the template uses metadata groups to fill in fields, then these values are mandatory and must be set in the properties parameter. 

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
import com.openkm.sdk4j.util.ISO8601;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(username, password);
Map<String, String> properties = new HashMap<>();
// okg:tpl
properties.put("okp:tpl.name", "sdk name");
Calendar cal = Calendar.getInstance();
// Value must be converted to String ISO 8601 compliant
properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal));
properties.put("okp:tpl.language", "[ \"java\" ]");
// Property okg:technology
properties.put("okp:technology.comment", "sdk name");
Document document = ws.document.createDocumentFromTemplate("5e72dec8-2409-405b-ac15-d964feb3d7bb", "/okm:root/sdk/template.pdf", true, true, true, properties);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
updateDocumentFromTemplate(String uuid, String dstId, Map<String, String> properties) Document Updates a document previously created from the template and returns an object Document.
  • The uuid value is the UUID value of the template file.
  • The dstId is the UUID of the document to be updated.
  • This method only makes sense when the template uses metadata groups to fill in fields.

Example:

package com.openkm;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
import com.openkm.sdk4j.util.ISO8601;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Map<String, String> properties = new HashMap<>();
properties.put("okp:tpl.name", "update Some name");
Calendar cal = Calendar.getInstance();
// Value must be converted to String ISO 8601 compliant
properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal));
properties.put("okp:tpl.language", "[ \"python\" ]");
ws.document.updateDocumentFromTemplate("9fa9787e-d8b0-4ff7-905a-a89f0b228ec8", "058b9379-b441-454d-8590-00d5a280ce79", properties);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getCheckedOut() List Returns a list of documents checked out by the user.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (Document doc : ws.document.getCheckedOut()) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createDocument(String uuid, File file) Document Creates a new document and returns an object Document with the properties of the created document.
  • The value of the uuid parameter should be a folder or record node UUID.

Example:

package com.openkm;
import java.io.File;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
File file = new File("/home/gnujavasergio/okm/logo.png");
Document doc = ws.document.createDocument("151f3a54-f370-47d6-801a-d20faecec180", file);
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setDocumentDescription(String uuid, String description) void Sets a description.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.setDocumentDescription("7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createWizardDocument(String uuid, String name, long nodeClass, InputStream is) WizardNode Creates a new document using a wizard.
  • The parameter uuid should be any valid folder or record UUID.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.WizardNode;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png");
WizardNode wn = ws.document.createWizardDocument("1f323e88-64ee-4f57-91e2-9276f8c603f9", "logo.png", 0, is);
System.out.print(wn);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getNumberOfPages(String uuid) int Gets the number of pages of a document.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("The number of pages is : " + ws.document.getNumberOfPages("b2f88679-e3fd-4f97-bf0e-abf76f9ec499"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getPageAsImage(String uuid, int pageNumber, int maxWidth, int maxHeight) String Returns a specific page as an image encoded as a Base64 string.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getPageAsImage("3fe350e2-69e8-4681-a97c-6ac4ba6c1524", 1, 150, 150));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
isAttachment(String docId) Boolean Returns a boolean indicating whether the node is a mail attachment.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.isAttachment("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getDocumentPdf(String uuid) InputStream Returns a PDF of the document.

Example:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Document doc = ws.document.getDocumentProperties("7f6c5c0b-a66b-4782-9595-e14b402a18b0");
InputStream is = ws.document.getDocumentPdf(doc.getUuid());
OutputStream fos = new FileOutputStream("/home/openkm/book.pdf");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}