You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2018/07/31 12:05:08 UTC
[camel] branch master updated: CAMEL-12701: servicenow: meta data
serivce ignores tables without parent when retrieving table list
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 92a090e CAMEL-12701: servicenow: meta data serivce ignores tables without parent when retrieving table list
92a090e is described below
commit 92a090e2d6542b3a15ae5f4db200f21d1f8169a7
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Tue Jul 31 14:04:56 2018 +0200
CAMEL-12701: servicenow: meta data serivce ignores tables without parent when retrieving table list
---
.../servicenow/ServiceNowMetaDataExtension.java | 51 ++++++++++++----------
1 file changed, 28 insertions(+), 23 deletions(-)
diff --git a/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowMetaDataExtension.java b/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowMetaDataExtension.java
index 6f3f5de..9912442 100644
--- a/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowMetaDataExtension.java
+++ b/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowMetaDataExtension.java
@@ -233,38 +233,43 @@ final class ServiceNowMetaDataExtension extends AbstractMetaDataExtension {
final JsonNode node = response.get();
final JsonNode sysId = node.findValue("sys_id");
- if (sysId == null) {
- response = context.getClient().reset()
- .types(MediaType.APPLICATION_JSON_TYPE)
- .path("now")
- .path(context.getConfiguration().getApiVersion())
- .path("table")
- .path("sys_db_object")
- .query("sysparm_exclude_reference_link", "true")
- .query("sysparm_fields", "name%2Csys_name")
- .trasform(HttpMethod.GET, this::findResultNode);
- } else {
- response = context.getClient().reset()
- .types(MediaType.APPLICATION_JSON_TYPE)
- .path("now")
- .path(context.getConfiguration().getApiVersion())
- .path("table")
- .path("sys_db_object")
- .query("sysparm_exclude_reference_link", "true")
- .query("sysparm_fields", "name%2Csys_name")
- .queryF("sysparm_query", "super_class!=%s", sysId.textValue())
- .trasform(HttpMethod.GET, this::findResultNode);
- }
+ response = context.getClient().reset()
+ .types(MediaType.APPLICATION_JSON_TYPE)
+ .path("now")
+ .path(context.getConfiguration().getApiVersion())
+ .path("table")
+ .path("sys_db_object")
+ .query("sysparm_exclude_reference_link", "true")
+ .query("sysparm_fields", "name%2Csys_name%2Csuper_class")
+ .trasform(HttpMethod.GET, this::findResultNode);
if (response.isPresent()) {
final ObjectNode root = context.getConfiguration().getOrCreateMapper().createObjectNode();
processResult(response.get(), n -> {
+ final JsonNode superClass = n.findValue("super_class");
final JsonNode name = n.findValue("name");
final JsonNode label = n.findValue("sys_name");
+ if (superClass != null) {
+ final String impId = sysId != null ? sysId.textValue() : null;
+ final String superId = superClass.textValue();
+
+ if (impId != null && superId != null && ObjectHelper.equal(impId, superId)) {
+ LOGGER.debug("skip table: name={}, label={} because it refers to an import set", name, label);
+ return;
+ }
+ }
+
if (name != null && label != null) {
- root.put(name.textValue(), label.textValue());
+ String key = name.textValue();
+ String val = label.textValue();
+
+ if (ObjectHelper.isEmpty(val)) {
+ val = key;
+ }
+
+ root.put(key, val);
}
});