Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.capspire.ecm.ot.experimental;
- import com.opentext.livelink.oml.OScriptObject;
- import java.util.HashMap;
- import java.util.Map;
- public class JOExperiments {
- private static final Object Undefined = null;
- private static final String OK = "ok";
- private static final String ErrMsg = "ErrMsg";
- private static final String ApiError = "ApiError";
- private static final String Result = "Result";
- public static synchronized Map<String, Object> runSingleThreaded(String scriptPath) {
- Map<String, Object> retVal = new HashMap<String, Object>();
- retVal.put(OK, Boolean.FALSE);
- retVal.put(ErrMsg, Undefined);
- retVal.put(ApiError, Undefined);
- retVal.put(Result, Undefined);
- try {
- if (isNullOrEmpty(scriptPath)) {
- throw new RuntimeException("The scriptPath parameter cannot be null or empty.");
- }
- Object result = OScriptObject.runScript(scriptPath);
- retVal.put(Result, result);
- retVal.put(OK, Boolean.TRUE);
- } catch (Exception e) {
- retVal.put(ErrMsg, e.getLocalizedMessage());
- retVal.put(ApiError, e);
- }
- if (IsNotOk(retVal)) {
- if (IsUndefined(retVal.get(ErrMsg))) {
- retVal.put(ErrMsg, "Unexpected error executing runSingleThreaded. Perhaps you forgot to set OK to true or to provide an ErrMsg value.");
- }
- }
- return retVal;
- }
- private static boolean isNullOrEmpty(Object o) {
- return ((o == null) || (o.toString() == null) || (o.toString().isEmpty()));
- }
- private static boolean IsOk(Object o) {
- Object test;
- if (o instanceof Map) {
- test = ((Map) o).get(OK);
- } else if (o instanceof Boolean) {
- test = o;
- } else {
- throw new RuntimeException(String.format("Expected Boolean or Map, got %s", o.getClass().getName()));
- }
- return (Boolean.TRUE.equals(test));
- }
- private static boolean IsNotOk(Object o) {
- return !IsOk(o);
- }
- private static boolean IsUndefined(Object o) {
- return (o == null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment