You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2013/03/27 09:52:46 UTC
svn commit: r1461452 -
/manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchIndex.java
Author: kwright
Date: Wed Mar 27 08:52:46 2013
New Revision: 1461452
URL: http://svn.apache.org/r1461452
Log:
Don't presume ES can generate null values for fields; this doesn't appear to work right now. Part of CONNECTORS-642.
Modified:
manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchIndex.java
Modified: manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchIndex.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchIndex.java?rev=1461452&r1=1461451&r2=1461452&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchIndex.java (original)
+++ manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchIndex.java Wed Mar 27 08:52:46 2013
@@ -46,7 +46,13 @@ public class ElasticSearchIndex extends
protected final static String allowAttributeName = "allow_token_";
/** The deny attribute name */
protected final static String denyAttributeName = "deny_token_";
-
+ /** The no-security token */
+ protected final static String noSecurityToken = "__nosecurity__";
+
+ /** Flag set as to whether null_value works in ES. Right now it doesn't work,
+ * so we have to do everything in the connector. */
+ protected final static boolean useNullValue = false;
+
private class IndexRequestEntity implements HttpEntity
{
@@ -172,9 +178,16 @@ public class ElasticSearchIndex extends
throws IOException
{
String metadataACLName = allowAttributeName + aclType;
- needComma = writeField(pw,needComma,metadataACLName,acl);
+ if (acl != null && acl.length > 0)
+ needComma = writeField(pw,needComma,metadataACLName,acl);
+ else if (!useNullValue)
+ needComma = writeField(pw,needComma,metadataACLName,new String[]{noSecurityToken});
String metadataDenyACLName = denyAttributeName + aclType;
- return writeField(pw,needComma,metadataDenyACLName,denyAcl);
+ if (denyAcl != null && denyAcl.length > 0)
+ needComma = writeField(pw,needComma,metadataDenyACLName,denyAcl);
+ else if (!useNullValue)
+ needComma = writeField(pw,needComma,metadataDenyACLName,new String[]{noSecurityToken});
+ return needComma;
}
protected static String jsonStringEscape(String value)