You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by km...@apache.org on 2013/09/26 05:42:04 UTC
git commit: KNOX-158: EmptyStackException while getting webhcat job
queue in secure cluster
Updated Branches:
refs/heads/master 401718e4b -> b37943a00
KNOX-158: EmptyStackException while getting webhcat job queue in secure cluster
Project: http://git-wip-us.apache.org/repos/asf/incubator-knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-knox/commit/b37943a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-knox/tree/b37943a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-knox/diff/b37943a0
Branch: refs/heads/master
Commit: b37943a0039560e3929e6540f8d1f6dcfd0a58e9
Parents: 401718e
Author: Kevin Minder <ke...@hortonworks.com>
Authored: Wed Sep 25 23:41:43 2013 -0400
Committer: Kevin Minder <ke...@hortonworks.com>
Committed: Wed Sep 25 23:41:43 2013 -0400
----------------------------------------------------------------------
.../rewrite/impl/json/JsonFilterReader.java | 24 +++++++++++++++-----
1 file changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-knox/blob/b37943a0/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/json/JsonFilterReader.java
----------------------------------------------------------------------
diff --git a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/json/JsonFilterReader.java b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/json/JsonFilterReader.java
index 4e00d19..5ed3d81 100644
--- a/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/json/JsonFilterReader.java
+++ b/gateway-provider-rewrite/src/main/java/org/apache/hadoop/gateway/filter/rewrite/impl/json/JsonFilterReader.java
@@ -229,7 +229,7 @@ class JsonFilterReader extends Reader {
Level child;
Level parent;
if( stack.isEmpty() ) {
- node = mapper.createObjectNode();
+ node = mapper.createArrayNode();
child = pushLevel( null, node, node, config );
} else {
child = stack.peek();
@@ -325,7 +325,11 @@ class JsonFilterReader extends Reader {
}
}
if( bufferingLevel == null ) {
- ((ObjectNode)parent.node ).removeAll();// child.field );
+ if( parent.node.isArray() ) {
+ ((ArrayNode)parent.node).removeAll();
+ } else {
+ ((ObjectNode)parent.node).removeAll();
+ }
generator.writeString( value );
}
}
@@ -439,9 +443,13 @@ class JsonFilterReader extends Reader {
}
protected String filterStreamValue( Level node ) {
+ String value;
+ if( node.isArray() ) {
+ value = node.node.get( 0 ).asText();
+ } else {
+ value = node.node.get( node.field ).asText();
+ }
String rule = null;
- String field = node.field;
- String value = node.node.get( node.field ).asText();
UrlRewriteFilterGroupDescriptor scope = node.scopeConfig;
//TODO: Scan the top level apply rules for the first match.
if( scope != null ) {
@@ -461,8 +469,12 @@ class JsonFilterReader extends Reader {
}
}
try {
- value = filterValueString( field, value, rule );
- ((ObjectNode)node.node ).put( field, value );
+ value = filterValueString( node.field, value, rule );
+ if( node.isArray() ) {
+ ((ArrayNode)node.node).set( 0, new TextNode( value ) );
+ } else {
+ ((ObjectNode)node.node).put( node.field, value );
+ }
} catch( Exception e ) {
LOG.failedToFilterValue( value, rule, e );
}