Repository samples
Basics
Suggested code sample
First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
Then should login using the method "login". You can access the "login" method from webservice object "ws" as is shown below:
ws.login(user, password);
Once you are logged with the webservices the session is keep in the webservice Object. Then you can use the other API method
At this point you can use all the Repository methods from "repository" class as is shown below:
ws.repository.getAppVersion();
Methods
getRootFolder
Description:
Method | Return values | Description |
---|---|---|
getRootFolder() |
Folder |
Returns the object Folder of node "/okm:root" |
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.repository.getRootFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getTrashFolder
Description:
Method | Return values | Description |
---|---|---|
getTrashFolder() |
Folder |
Returns the object Folder of node "/okm:trash/{userId}" |
The returned folder will be the user trash folder. For example if the method is executed by the user "okmAdmin" then the folder returned will be "/okm:trash/okmAdmin". |
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.repository.getTrashFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getTrashFolderBase
Description:
Method | Return values | Description |
---|---|---|
getTrashFolderBase() |
Folder |
Returns the object Folder of node "/okm:trash" |
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.repository.getTrashFolderBase());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getTemplatesFolder
Description:
Method | Return values | Description |
---|---|---|
getTemplatesFolder() |
Folder |
Returns the object Folder of node "/okm:templates" |
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.repository.getTemplatesFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getPersonalFolder
Description:
Method | Return values | Description |
---|---|---|
getPersonalFolder() |
Folder |
Returns the object Folder of node "/okm:personal/{userId}" |
The returned folder will be the user personal folder. For example if the method is executed by the user "okmAdmin" then the folder returned will be "/okm:personal/okmAdmin". |
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.repository.getPersonalFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getPersonalFolderBase
Description:
Method | Return values | Description |
---|---|---|
getPersonalFolderBase() |
Folder |
Returns the object Folder of node "/okm:personal" |
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.repository.getPersonalFolderBase());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getMailFolder
Description:
Method | Return values | Description |
---|---|---|
getMailFolder() |
Folder |
Returns the object Folder of node "/okm:mail/{userId}" |
The returned folder will be the user mail folder. For example if the method is executed by the user "okmAdmin" then the folder returned will be "/okm:mail/okmAdmin". |
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.repository.getMailFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getMailFolderBase
Description:
Method | Return values | Description |
---|---|---|
getMailFolderBase() |
Folder |
Returns the object Folder of node "/okm:mail" |
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.repository.getMailFolderBase());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getThesaurusFolder
Description:
Method | Return values | Description |
---|---|---|
getThesaurusFolder() |
Folder |
Returns the object Folder of node "/okm:thesaurus" |
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.repository.getThesaurusFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getCategoriesFolder
Description:
Method | Return values | Description |
---|---|---|
getCategoriesFolder() |
Folder |
Returns the object Folder of node "/okm:categories" |
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.repository.getCategoriesFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}
purgeTrash
Description:
Method | Return values | Description |
---|---|---|
purgeTrash() |
void |
Definitively removes from repository all nodes to "/okm:trash/{userId}" |
For example if the method is executed by the user "okmAdmin" then the purged trash will be "/okm:trash/okmAdmin". When a node is purged it will only be able to be restored from a previously repository backup. The purge action removes the node definitely from the 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.repository.purgeTrash();
} catch (Exception e) {
e.printStackTrace();
}
}
}
getUpdateMessage
Description:
Method | Return values | Description |
---|---|---|
getUpdateMessage() |
String |
Retrieves a message when there is a new OpenKM release. |
There's an official OpenKM update message service available which is based on your local OpenKM version. The most common message is that a new OpenKM version has been released. |
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.repository.getUpdateMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getRepositoryUuid
Description:
Method | Return values | Description |
---|---|---|
getRepositoryUuid() |
String |
Retrieves the installation unique identifier. |
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.repository.getRepositoryUuid());
} catch (Exception e) {
e.printStackTrace();
}
}
}
hasNode
Description:
Method | Return values | Description |
---|---|---|
hasNode(String nodeId) |
Boolean |
Returns a node that indicate if a node exists or not. |
The value of the parameter nodeId can be a valid UUID or 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("Exists node:" + ws.repository.hasNode("373bcdd0-c082-4e7b-addd-e10ef813946e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getNodePath
Description:
Method | Return values | Description |
---|---|---|
getNodePath(String uuid) |
String | Converts a node UUID to 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.repository.getNodePath("373bcdd0-c082-4e7b-addd-e10ef813946e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getNodeUuid
Description:
Method | Return values | Description |
---|---|---|
getNodeUuid(String nodePath) |
String |
Converts a node path to UUID. |
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.repository.getNodeUuid("/okm:root/test"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getAppVersion
Description:
Method | Return values | Description |
---|---|---|
getAppVersion() |
AppVersion |
Returns information about OpenKM version. |
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.repository.getAppVersion());
} catch (Exception e) {
e.printStackTrace();
}
}
}
copyAttributes
Description:
Method | Return values | Description |
---|---|---|
copyAttributes(String uuid, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, |
void |
Copy attributes from a node to other. |
The values of the dstId parameter should be a node UUID.
|
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.repository.copyAttributes("46762f90-82c6-4886-8d21-ad3017dd78a7", "ac9fe744-8e45-4bf4-a293-85dafe1bfbca", true, true, true, true, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
executeScript
Description:
Method | Return values | Description |
---|---|---|
executeScript(InputStream is) |
ScriptExecutionResult |
Executes an script. |
The local script - test.bsh - used in the sample below:
This action can only be done by a super user ( user with ROLE_ADMIN ). |
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.ScriptExecutionResult;
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/test.bsh");
ScriptExecutionResult result = ws.repository.executeScript(is);
System.out.println(result.getResult());
System.out.println(result.getStdout());
if (!result.getStderr().isEmpty()) {
System.out.println("Error happened");
System.out.println(result.getStderr());
}
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
executeSqlQuery
Description:
Method | Return values | Description |
---|---|---|
executeSqlQuery(InputStream is) |
SqlQueryResults |
Executes SQL sentences. |
The test.sql script used in the sample below:
The SQL script can only contains a single SQL sentence. This action can only be done by a super user ( user with ROLE_ADMIN ). |
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.SqlQueryResultColumns;
import com.openkm.sdk4j.bean.SqlQueryResults;
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/test.sql");
SqlQueryResults results = ws.repository.executeSqlQuery(is);
for (SqlQueryResultColumns row : results.getResults()) {
System.out.println("uuid" + row.getColumns().get(0) + ", name:" + row.getColumns().get(1));
}
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Also the InputStream can be set as:
String sql = "SELECT NBS_UUID, NBS_NAME FROM OKM_NODE_BASE LIMIT 10;";
InputStream is = new ByteArrayInputStream(sql.getBytes("UTF-8"));
executeHqlQuery
Description:
Method | Return values | Description |
---|---|---|
executeHqlQuery(InputStream is) |
HqlQueryResults |
Executes HQL sentences. |
The test.sql script used in the sample below:
The HQL script can only contains a single HQL sentence. This action can only be done by a super user ( user with ROLE_ADMIN ). |
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.HqlQueryResultColumns;
import com.openkm.sdk4j.bean.HqlQueryResults;
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/test.sql");
HqlQueryResults result = ws.repository.executeHqlQuery(is);
for (HqlQueryResultColumns row : result.getResults()) {
System.out.println("uuid: " + row.getColumns().get(0) + ", name: " + row.getColumns().get(1));
}
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Also the InputStream can be set as:
String sql = "SELECT uuid, name from NodeBase where name = 'okm:root';";
InputStream is = new ByteArrayInputStream(sql.getBytes("UTF-8"));
getTranslations
Description:
Method | Return values | Description |
---|---|---|
getTranslations(String lang, String module) |
Map<String, String> |
Retrieve the translations of a module into a Map of values. |
The OpenKM translations tables can be used to retrieve actually OpenKM translations or create your own translations ( insert values into new module ). By default modules values are :
Example to add a new Translation module : SQL values to be executed from Database query view:
The code then should be:
|
Example:
package com.openkm;
import java.util.Map;
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);
Map<String, String> translations = ws.repository.getTranslations("en-GB", "frontend");
for (String key : translations.keySet()) {
System.out.println("key:'" + key + "', with translation:'" + translations.get(key) + "'");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
getConfiguration
Description:
Method | Return values | Description |
---|---|---|
getConfiguration(String key) |
Configuration |
Retrieve the value of a configuration parameter. |
If your OpenKM version have the configuration parameter named "webservices.visible.properties", will be restricted for non Administrator users what parameters are accessible. That means any non Administrator use who will try accessing across the webservices to configuration parameters not set into the list of values of "webservices.visible.properties" will get an access denied exception. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Configuration;
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);
Configuration configuration = ws.repository.getConfiguration("system.ocr");
System.out.println(configuration);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getChangeLog
Description:
Method | Return values | Description |
---|---|---|
getChangeLog(String nodePath, Calendar modificationsFrom) |
List<ChangeLogged> |
Return the list of changes in some path and subfolders. |
|
Example:
package com.openkm;
import java.util.Calendar;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ChangeLogged;
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);
Calendar now = Calendar.getInstance();
for (ChangeLogged cl : ws.repository.getChangeLog("/okm:root/synchronized", now)) {
System.out.println(cl);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
getServerTime()
Description:
Method | Return values | Description |
---|---|---|
getServerTime() |
String |
Return the current server time. |
The server time returned format is ISO8601
|
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.repository.getServerTime());
} catch (Exception e) {
e.printStackTrace();
}
}
}
getAvailableLocales
Description:
Method | Return values | Description |
---|---|---|
getAvailableLocales(String locale) |
Map<String, String> |
Return the available languages |
Example:
package com.openkm;
import java.util.Map;
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);
Map<String, String> locales = ws.repository.getAvailableLocales("en-GB");
for (String key : locales.keySet()) {
System.out.println("Language:" + key + "," + locales.get(key));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
getLicenseInfo()
Description:
Method | Return values | Description |
---|---|---|
getLicenseInfo() |
LicenseInfo |
Return license information. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.LicenseInfo;
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);
LicenseInfo licenseInfo = ws.repository.getLicenseInfo();
System.out.println(licenseInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getClusterUuid()
Description:
Method | Return values | Description |
---|---|---|
getClusterUuid() |
String |
Return cluster UUID. |
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 clusterUuid = ws.repository.getClusterUuid();
System.out.println(clusterUuid);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getIsFilePlan()
Description:
Method | Return values | Description |
---|---|---|
getIsFilePlan() |
boolean |
True when the filePlan mode is active |
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("FilePlan: " + ws.repository.getIsFilePlan());
} catch (Exception e) {
e.printStackTrace();
}
}
}