private Object getValue(Object o) { if (o instanceof ScriptObjectMirror) { ScriptObjectMirror mirror = (ScriptObjectMirror) o; if (mirror.isFunction()) { return o.toString(); } else if (mirror.isArray()) { return mirror.values().stream() .map(e -> getValue(e)) .collect(Collectors.toList()); } else { return mirror.entrySet().stream() .collect(Collectors.toMap(e -> e.getKey().toString(), e -> getValue(e.getValue()))); } } return o; }
public static String stringify(ScriptObjectMirror mirror) throws ScriptException { ScriptObjectMirror json = (ScriptObjectMirror) stringifyEngineThreadLocal.get().eval("JSON"); return (String) json.callMember("stringify", mirror); } }
public static void fun3(ScriptObjectMirror mirror) { System.out.println(mirror.getClassName() + ": " + Arrays.toString(mirror.getOwnKeys(true))); }
public static void showcase(Object... args) { Element eShowcase = new Element(); eShowcase.setName("SHOWCASE"); for (Object arg : args) { log.trace("arg: %s", arg); if (((ScriptObjectMirror) arg).isFunction()) { ((ScriptObjectMirror) arg).call(arg, eShowcase); } } } }
if (scriptObjectMirror.isFunction()) { return SerializableJsFunction.toSerializableForm(scriptObjectMirror); } else if (scriptObjectMirror.isArray()) { List<Serializable> arrayItems = new ArrayList<>(scriptObjectMirror.size()); scriptObjectMirror.values().forEach(v -> { Object serializedObj = toJsSerializable(v); if (serializedObj instanceof Serializable) { } else if (!scriptObjectMirror.isEmpty()) { Map<String, Serializable> serializedMap = new HashMap<>(); scriptObjectMirror.forEach((k, v) -> { Object serializedObj = toJsSerializable(v); if (serializedObj instanceof Serializable) {
if (m.getClassName().toLowerCase().equals("object")) for (String key : m.keySet()) jo.put(key,jsToJava(m.get(key))); } catch (JSONException e) { e.printStackTrace(); else if (m.isArray()) List values = (List) m.values(); for (int i = 0;i < values.size();i++) { try { else if (m.isFunction())
if (mirror.isEmpty()) { return null; if (mirror.isArray()) { Iterator<Object> iterator = mirror.values().iterator(); NewField next = getValue(iterator.next()); GenericArray<Object> objects = new GenericData.Array(mirror.size(), generateAvroSchema(fieldType.convertToArrayType())); objects.add(next.value); HashMap<Object, Object> map = new HashMap<>(mirror.size()); FieldType type = null; for (Map.Entry<String, Object> entry : mirror.entrySet()) { NewField inlineValue = getValue(entry.getValue());
@SuppressWarnings("unchecked") private Collection<String> deps(ProcessKey processKey, Map<String, Object> req) { Object o = req.get(InternalConstants.Request.DEPENDENCIES_KEY); if (o == null) { return null; } if (o instanceof Collection) { return (Collection<String>) o; } if (o instanceof ScriptObjectMirror) { ScriptObjectMirror m = (ScriptObjectMirror) o; if (!m.isArray()) { logManager.error(processKey, "Invalid dependencies object type. Expected a JavaScript array, got: " + m); throw new ProcessException(processKey, "Invalid dependencies object type. Expected a JavaScript array, got: " + m); } String[] as = m.to(String[].class); return Arrays.asList(as); } logManager.error(processKey, "Invalid dependencies object type. Expected an array or a collection, got: " + o.getClass()); throw new ProcessException(processKey, "Invalid dependencies object type. Expected an array or a collection, got: " + o.getClass()); } }
public static boolean isArrayType( final Object value ) { return ( value instanceof ScriptObjectMirror ) && ( (ScriptObjectMirror) value ).isArray(); }
/** * @since 8.4 */ public static List<Object> unwrapList(ScriptObjectMirror jso) { if (!jso.isArray()) { throw new IllegalArgumentException("JavaScript input is not an Array!"); } List<Object> l = new ArrayList<>(); for (Object o : jso.values()) { if (o instanceof ScriptObjectMirror) { l.add(unwrap((ScriptObjectMirror) o)); } else { l.add(o); } } return l; }
@Override public <E extends ScriptObjectMirror> void writeJSONString(E value, Appendable out, JSONStyle compression) throws IOException { if (value.isArray()) { Object[] array = value.values().toArray(); JsonWriter.arrayWriter.writeJSONString(array, out, compression); } else if (value.isFunction()) { JsonWriter.toStringWriter.writeJSONString("\"#function\"", out, compression); } else { // JSON JsonWriter.JSONMapWriter.writeJSONString(value, out, compression); } }
if (nashornValue instanceof ScriptObjectMirror) { ScriptObjectMirror scriptObjectMirror = (ScriptObjectMirror) nashornValue; if (scriptObjectMirror.isArray()) { convertedValue = scriptObjectMirror .values() .stream() .map(this::convertNashornValue) .collect(Collectors.toList()); } else { if ("Date".equals(scriptObjectMirror.getClassName())) { } else return ((ScriptObjectMirror) nashornValue).getOrDefault(KEY_ID_VALUE, null);
private ScriptValue newValueFromObjectMirror( final ScriptObjectMirror value ) { if ( value.isFunction() ) { return new FunctionScriptValue( this, value, this.runtime ); } if ( value.isArray() ) { return new ArrayScriptValue( this, value ); } return new ObjectScriptValue( this, value ); } }
@Override public OResultSet transform(ScriptObjectMirror value) { if (value.isArray()) { return OScriptResultSets.singleton(value.values(), transformer); } else { Map<String, Object> object = new LinkedHashMap<>(); value.forEach((key, val) -> { object.put(key, val); }); OScriptResultSets.singleton(object, transformer); } return OScriptResultSets.empty(); } }
private static Object toArray(ScriptObjectMirror mirror) { return mirror.values(); }
public void invoke(RowMap row) { if ( row instanceof HeartbeatRowMap && processHeartbeatFunc != null ) processHeartbeatFunc.call(null, new WrappedHeartbeatMap((HeartbeatRowMap) row)); else if ( row instanceof DDLMap && processDDLFunc != null ) processDDLFunc.call(null, new WrappedDDLMap((DDLMap) row)); else if ( row instanceof RowMap && processRowFunc != null ) processRowFunc.call(null, new WrappedRowMap(row)); }
@Override public void operationComplete(Future<Object> future) throws Exception { if (future.await(1, TimeUnit.SECONDS)) { Object body = future.getNow(); if (body == null) { return; } if (!(body instanceof ScriptObjectMirror)) { returnError(request, "The script must return an object or array {collection: '', properties: {}}", BAD_REQUEST); } ScriptObjectMirror json = (ScriptObjectMirror) ((ScriptObjectMirror) body).eval("JSON"); Object stringify = json.callMember("stringify", body); request.response(stringify.toString()).end(); } else { byte[] bytes = JsonHelper.encodeAsBytes(errorMessage("Webhook code timeouts.", INTERNAL_SERVER_ERROR)); request.response(bytes, INTERNAL_SERVER_ERROR).end(); } } });
mirror = (ScriptObjectMirror)arg; }else { Object wrap = ScriptObjectMirror.wrap(arg, Context.getGlobal()); if(wrap instanceof ScriptObjectMirror) { mirror = (ScriptObjectMirror)wrap; String className = mirror.getClassName(); if(className.equals("Object")) { return toMap(mirror); if(mirror.isArray()) { return toArray(mirror);