101 lines
3.2 KiB
Java
101 lines
3.2 KiB
Java
package com.alexanderlogistics.rest;
|
|
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.logging.Logger;
|
|
|
|
import org.imixs.melman.EventLogClient;
|
|
import org.imixs.melman.FormAuthenticator;
|
|
import org.imixs.melman.RestAPIException;
|
|
import org.imixs.workflow.ItemCollection;
|
|
import org.imixs.workflow.WorkflowKernel;
|
|
import org.imixs.workflow.exceptions.PluginException;
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Disabled;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
/**
|
|
* A simple example how to create a new event log entry remote.
|
|
*
|
|
*/
|
|
@Disabled
|
|
public class TestEventLog {
|
|
|
|
private static Logger logger = Logger.getLogger(TestEventLog.class.getName());
|
|
|
|
EventLogClient client = null;
|
|
|
|
// String restAPI = "https://test.alexander-logistics.office-workflow.de/api";
|
|
String restAPI = "http://localhost:8080/api";
|
|
String userID = "kutzner-service";
|
|
String password = "imixs";
|
|
|
|
/**
|
|
* Setup a new Rest Client
|
|
*
|
|
* @throws PluginException
|
|
*/
|
|
@BeforeEach
|
|
public void setup() throws PluginException {
|
|
|
|
client = new EventLogClient(restAPI);
|
|
FormAuthenticator aut;
|
|
try {
|
|
aut = new FormAuthenticator(restAPI, userID, password);
|
|
client.registerClientRequestFilter(aut);
|
|
} catch (RestAPIException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Create an event log entry....
|
|
*
|
|
*/
|
|
@Test
|
|
public void sendXMLData() {
|
|
|
|
logger.info("start...");
|
|
ItemCollection payLoad = new ItemCollection();
|
|
String uid = WorkflowKernel.generateUniqueID();
|
|
try {
|
|
// set data....
|
|
payLoad.setItemValue("some-data", "abc");
|
|
String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
|
+ "<Invoices>"
|
|
+ " <InvoiceHeader>"
|
|
+ " <InvoiceNumber>224225</InvoiceNumber>"
|
|
+ " </InvoiceHeader>"
|
|
+ " </Invoices>";
|
|
payLoad.setItemValue("xml-data", xmlString);
|
|
|
|
client.createEventLogEntry("TOPIC_CARGOSOFT_INVOICE", uid, payLoad);
|
|
logger.info("completed");
|
|
} catch (RestAPIException e) {
|
|
logger.severe("Failed to send event log entry: " + e.getMessage());
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Test
|
|
public void getXMLData() {
|
|
logger.info("start...");
|
|
try {
|
|
List<ItemCollection> list = client.searchEventLog("TOPIC_CARGOSOFT_INVOICE");
|
|
logger.info("found " + list.size() + " log entries");
|
|
for (ItemCollection entry : list) {
|
|
List<?> dataList = entry.getItemValue("data");
|
|
if (dataList != null && dataList.size() > 0) {
|
|
ItemCollection data = new ItemCollection((Map<String, List<Object>>) dataList.get(0));
|
|
logger.info("Data=" + data.getItemValueString("some-data"));
|
|
logger.info("XML Data=" + data.getItemValueString("xml-data"));
|
|
}
|
|
}
|
|
} catch (RestAPIException e) {
|
|
logger.severe("Failed to read event log entry: " + e.getMessage());
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
}
|