提交 57d7cda2 编写于 作者: O o2null

Merge branch 'fix/#456' into 'wrdp'

增加map判断

See merge request o2oa/o2oa!2738
......@@ -3,6 +3,7 @@ package com.x.base.core.project.script;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import javax.script.Compilable;
......@@ -10,7 +11,6 @@ import javax.script.CompiledScript;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.BooleanUtils;
import com.google.gson.JsonArray;
......@@ -231,6 +231,9 @@ public class ScriptFactory {
}
}
}
// Map类型也属于Iterable 所以必须在Iterable之前进行判断
} else if (o instanceof Map) {
list.add(PropertyTools.getOrElse(o, JpaObject.DISTINGUISHEDNAME, String.class, ""));
} else if (o instanceof Iterable) {
for (Object obj : (Iterable<?>) o) {
if (null != obj) {
......@@ -264,7 +267,7 @@ public class ScriptFactory {
} else {
list.add(PropertyTools.getOrElse(o, JpaObject.DISTINGUISHEDNAME, String.class, ""));
}
// ScriptObject or JO
// ScriptObject or JO
} else if (o instanceof ScriptObject) {
ScriptObject so = (ScriptObject) o;
if (so.isArray()) {
......
......@@ -31,7 +31,6 @@ import com.x.processplatform.service.processing.processor.AeiObjects;
* @author Rui
*
*/
@SuppressWarnings("restriction")
public class TranslateTaskIdentityTools {
private static Logger logger = LoggerFactory.getLogger(TranslateTaskIdentityTools.class);
......@@ -167,35 +166,41 @@ public class TranslateTaskIdentityTools {
for (String str : ListTools.trim(manual.getTaskDataPathList(), true, true)) {
Object o = data.find(str);
if (null != o) {
if (o instanceof CharSequence) {
if (OrganizationDefinition.isUnitDistinguishedName(str)) {
units.add(str);
} else if (OrganizationDefinition.isGroupDistinguishedName(str)) {
groups.add(str);
} else {
taskIdentities.addIdentity(o.toString());
}
} else if (o instanceof Iterable) {
for (Object v : (Iterable<?>) o) {
if (null != v) {
if ((v instanceof CharSequence)) {
String vs = v.toString();
if (OrganizationDefinition.isUnitDistinguishedName(vs)) {
units.add(vs);
} else if (OrganizationDefinition.isGroupDistinguishedName(vs)) {
groups.add(vs);
} else {
taskIdentities.addIdentity(vs);
}
} else {
addObjectToTaskIdentities(taskIdentities, units, groups, v);
}
}
}
} else {
addObjectToTaskIdentities(taskIdentities, units, groups, o);
}
addObjectToTaskIdentities(taskIdentities, units, groups, o);
}
// if (null != o) {
// if (o instanceof CharSequence) {
// if (OrganizationDefinition.isUnitDistinguishedName(str)) {
// units.add(str);
// } else if (OrganizationDefinition.isGroupDistinguishedName(str)) {
// groups.add(str);
// } else {
// taskIdentities.addIdentity(o.toString());
// }
// } else if (o instanceof Iterable) {
// for (Object v : (Iterable<?>) o) {
// System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!v class:" + v.getClass());
// System.out.println(XGsonBuilder.toJson(v));
// if (null != v) {
// if (v instanceof CharSequence) {
// String vs = v.toString();
// if (OrganizationDefinition.isUnitDistinguishedName(vs)) {
// units.add(vs);
// } else if (OrganizationDefinition.isGroupDistinguishedName(vs)) {
// groups.add(vs);
// } else {
// taskIdentities.addIdentity(vs);
// }
// // } else if (v instanceof Entry) {
// } else {
// addObjectToTaskIdentities(taskIdentities, units, groups, v);
// }
// }
// }
// } else {
// addObjectToTaskIdentities(taskIdentities, units, groups, o);
// }
// }
}
}
......@@ -221,26 +226,4 @@ public class TranslateTaskIdentityTools {
}
}
}
// private static void addJsonObjectToTaskIdentities(TaskIdentities taskIdentities, List<String> units,
// List<String> group, JsonObject jsonObject) throws Exception {
// if (jsonObject.has(JpaObject.DISTINGUISHEDNAME)) {
// String d = jsonObject.get(JpaObject.DISTINGUISHEDNAME).getAsString();
// if (OrganizationDefinition.isIdentityDistinguishedName(d)) {
// boolean ignore = false;
// if (jsonObject.has(TaskIdentity.IGNOREEMPOWER)) {
// ignore = BooleanUtils.isTrue(
// BooleanUtils.toBooleanObject(jsonObject.get(TaskIdentity.IGNOREEMPOWER).getAsString()));
// }
// TaskIdentity taskIdentity = new TaskIdentity();
// taskIdentity.setIdentity(d);
// taskIdentity.setIgnoreEmpower(ignore);
// taskIdentities.add(taskIdentity);
// } else if (OrganizationDefinition.isUnitDistinguishedName(d)) {
// units.add(d);
// } else if (OrganizationDefinition.isGroupDistinguishedName(d)) {
// units.add(d);
// }
// }
// }
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册