Report samples
Basics
The table below shows how should be passed variables based on field type:
Field type | Type | Description |
---|---|---|
Date |
String |
Use the pattern yyyy-MM-dd ( year - month - day ) 2018-10-04 |
Select multiple |
String |
Use "," to split each value "value1,value2,value3" |
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 Report methods from "report" class as is shown below:
ws.report.getReports(true)
Methods
getReports
Description:
Method | Return values | Description |
---|---|---|
getReports(boolean active) |
List<Report> |
Returns a list of reports. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Report;
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 (Report rep : ws.report.getReports(true)) {
System.out.println(rep);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
getReport
Description:
Method | Return values | Description |
---|---|---|
getReport(long rpId) |
Report |
Returns a reports. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Report;
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);
Report rep = ws.report.getReport(1);
System.out.println(rep);
} catch (Exception e) {
e.printStackTrace();
}
}
}
generateDownloadReportToken
Description:
Method | Return values | Description |
---|---|---|
generateDownloadReportToken(long rpId) |
String |
Return the token for downloading the report. |
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 token = ws.report.generateDownloadReportToken(1);
System.out.println(token);
} catch (Exception e) {
e.printStackTrace();
}
}
}
execute
Description:
Method | Return values | Description |
---|---|---|
execute(long rpId, Map<String, String> params, String format, String uuid) |
InputStream |
Return a document result of executing a report. |
Available formats:
The parameter uuid is the UUID of a node ( this parameter is optional, usually has sense with reports executed from user interface where the results of the reports depend on the node selected ). |
Example:
package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Report;
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> params = new HashMap<>();
params.put("from_date", "2021-01-01");
params.put("to_date", "2021-05-01");
long rpId = 1;
String format = Report.FORMAT_PDF;
String dstId = "c5c87bd3-0c03-4bba-ab2f-7184c23a26d8";
String uuid = "";
InputStream is = ws.report.execute(rpId, params, format, dstId, uuid);
OutputStream fos = new FileOutputStream("/home/openkm/report/document Create.pdf");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}
executeSql
Description:
Method | Return values | Description |
---|---|---|
executeSql(long rpId) |
InputStream |
Return a document result of executing a report sql. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
import org.apache.commons.io.IOUtils;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
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);
// executeReportSql
long rpdId = 1;
InputStream is = ws.report.executeSql(rpdId);
OutputStream fos = new FileOutputStream("/home/openkm/report/activity.csv");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
save
Description:
Method | Return values | Description | |
---|---|---|---|
save(long rpId, Map<String, String> params, String format, String dstId, docName, String uuid) |
Document |
Execute the report and save the resulting document. | |
Available formats:
The values of the dstld parameter should be a folder or record UUID. The parameter docName is the file name of the report. The parameter uuid is the UUID of a node ( this parameter is optional, usually has sense with reports executed from user interface where the results of the reports depend on the node selected ). |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.bean.Report;
import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.HashMap;
import java.util.Map;
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> params = new HashMap<>();
params.put("from_date", "2021-01-01");
params.put("to_date", "2021-05-01");
long rpId = 1;
String format = Report.FORMAT_PDF;
String dstId = "c5c87bd3-0c03-4bba-ab2f-7184c23a26d8";
String docName = "Document create.pdf";
String uuid = "";
Document documenReport = ws.report.save(rpId, params, format, dstId, docName, uuid);
System.out.println(documenReport);
} catch (Exception e) {
e.printStackTrace();
}
}
}
saveSql
Description:
Method | Return values | Description | |
---|---|---|---|
saveSql(long rpId, Map<String, String> params, String dstId, docName) |
Document |
Execute the report sql and save the resulting document csv | |
The values of the dstld parameter should be a folder or record UUID.
The parameter docName is the file name of the report. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.HashMap;
import java.util.Map;
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);
// saveSql
long rpId = 1;
String dstId = "8f64d889-1600-4cbc-8245-de6fb62214eb";
String docName = "activity.csv";
Document documenReport = ws.report.saveSql(rpId, new HashMap<>(), dstId, docName);
System.out.println(documenReport);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
getSqlReports
Description:
Method | Return values | Description |
---|---|---|
getSqlReports(boolean active) |
List<Report> |
Returns a list of sql reports. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.SqlReport;
import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.List;
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);
// getSqlReports
List<SqlReport> sqlReports = ws.report.getSqlReports(true);
for (SqlReport sqlReport : sqlReports) {
System.out.println(sqlReport);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}