You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/01/08 07:53:24 UTC
atlas git commit: ATLAS-2327: updated V1 to V2 conversion with
addition of validation of attribute values
Repository: atlas
Updated Branches:
refs/heads/master 08ac11c09 -> df9f5d276
ATLAS-2327: updated V1 to V2 conversion with addition of validation of attribute values
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/df9f5d27
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/df9f5d27
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/df9f5d27
Branch: refs/heads/master
Commit: df9f5d276286c0b510591e39fb8af2cbdc2ebfbb
Parents: 08ac11c
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Sun Jan 7 23:43:39 2018 -0800
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Sun Jan 7 23:43:39 2018 -0800
----------------------------------------------------------------------
.../converters/AtlasStructFormatConverter.java | 11 ++++++++---
.../org/apache/atlas/web/resources/EntityResource.java | 8 ++++----
2 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/df9f5d27/repository/src/main/java/org/apache/atlas/repository/converters/AtlasStructFormatConverter.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasStructFormatConverter.java b/repository/src/main/java/org/apache/atlas/repository/converters/AtlasStructFormatConverter.java
index 70b23c5..a5c9ded 100644
--- a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasStructFormatConverter.java
+++ b/repository/src/main/java/org/apache/atlas/repository/converters/AtlasStructFormatConverter.java
@@ -246,10 +246,15 @@ public class AtlasStructFormatConverter extends AtlasAbstractFormatConverter {
AtlasType attrType = attr.getAttributeType();
AtlasFormatConverter attrConverter = converterRegistry.getConverter(attrType.getTypeCategory());
- Object v1Value = attributes.get(attr.getName());
- Object v2Value = attrConverter.fromV1ToV2(v1Value, attrType, context);
+ Object v1Value = attributes.get(attrName);
- ret.put(attr.getAttributeDef().getName(), v2Value);
+ if (attrType.isValidValue(v1Value)) {
+ Object v2Value = attrConverter.fromV1ToV2(v1Value, attrType, context);
+
+ ret.put(attrName, v2Value);
+ } else {
+ throw new AtlasBaseException(AtlasErrorCode.INSTANCE_CRUD_INVALID_PARAMS, attrName + "=" + v1Value);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/atlas/blob/df9f5d27/webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java b/webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java
index e8126b5..8fd4d5a 100755
--- a/webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java
+++ b/webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java
@@ -138,13 +138,13 @@ public class EntityResource {
perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "EntityResource.submit()");
}
- String entities = Servlets.getRequestPayload(request);
+ entityJson = Servlets.getRequestPayload(request);
//Handle backward compatibility - if entities is not JSONArray, convert to JSONArray
String[] jsonStrings;
try {
- ArrayNode jsonEntities = AtlasJson.parseToV1ArrayNode(entities);
+ ArrayNode jsonEntities = AtlasJson.parseToV1ArrayNode(entityJson);
jsonStrings = new String[jsonEntities.size()];
@@ -154,11 +154,11 @@ public class EntityResource {
} catch (IOException e) {
jsonStrings = new String[1];
- jsonStrings[0] = entities;
+ jsonStrings[0] = entityJson;
}
if (LOG.isDebugEnabled()) {
- LOG.debug("submitting entities: count={}; entities-json={}", jsonStrings.length, entities);
+ LOG.debug("submitting entities: count={}; entities-json={}", jsonStrings.length, entityJson);
}
AtlasEntitiesWithExtInfo entitiesInfo = restAdapters.toAtlasEntities(jsonStrings);