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/01/31 01:13:46 UTC
svn commit: r1440742 - in /manifoldcf/branches/release-1.1-branch: ./
CHANGES.txt
connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
Author: kwright
Date: Thu Jan 31 00:13:46 2013
New Revision: 1440742
URL: http://svn.apache.org/viewvc?rev=1440742&view=rev
Log:
Pull up fix for CONNECTORS-630.
Modified:
manifoldcf/branches/release-1.1-branch/ (props changed)
manifoldcf/branches/release-1.1-branch/CHANGES.txt
manifoldcf/branches/release-1.1-branch/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
Propchange: manifoldcf/branches/release-1.1-branch/
------------------------------------------------------------------------------
Merged /manifoldcf/trunk:r1440740
Modified: manifoldcf/branches/release-1.1-branch/CHANGES.txt
URL: http://svn.apache.org/viewvc/manifoldcf/branches/release-1.1-branch/CHANGES.txt?rev=1440742&r1=1440741&r2=1440742&view=diff
==============================================================================
--- manifoldcf/branches/release-1.1-branch/CHANGES.txt (original)
+++ manifoldcf/branches/release-1.1-branch/CHANGES.txt Thu Jan 31 00:13:46 2013
@@ -3,6 +3,9 @@ $Id$
======================= Release 1.1 =====================
+CONNECTORS-630: Work around SolrJ paramname encoding bug.
+(David Morana, Karl Wright)
+
CONNECTORS-627: Upgrade SolrJ to 4.1.0 from 4.0.0
(Minoru Osuka)
Modified: manifoldcf/branches/release-1.1-branch/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/release-1.1-branch/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java?rev=1440742&r1=1440741&r2=1440742&view=diff
==============================================================================
--- manifoldcf/branches/release-1.1-branch/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java (original)
+++ manifoldcf/branches/release-1.1-branch/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java Thu Jan 31 00:13:46 2013
@@ -663,10 +663,29 @@ public class HttpPoster
return new String[0];
}
+ /** Preprocess field name.
+ * SolrJ has a bug where it does not URL-escape field names. This causes carnage for
+ * ManifoldCF, because it results in IllegalArgumentExceptions getting thrown deep in SolrJ.
+ * See CONNECTORS-630.
+ * In order to get around this, we need to URL-encode argument names, at least until the underlying
+ * SolrJ issue is fixed.
+ */
+ protected static String preEncode(String fieldName)
+ {
+ try
+ {
+ return java.net.URLEncoder.encode(fieldName, "utf-8");
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("Could not find utf-8 encoding!");
+ }
+ }
+
/** Write a field */
protected static void writeField(ModifiableSolrParams out, String fieldName, String[] fieldValues)
{
- out.add(fieldName, fieldValues);
+ out.add(preEncode(fieldName), fieldValues);
}
/** Write a field */
@@ -683,7 +702,7 @@ public class HttpPoster
/** Write a field */
protected static void writeField(ModifiableSolrParams out, String fieldName, String fieldValue)
{
- out.add(fieldName, fieldValue);
+ out.add(preEncode(fieldName), fieldValue);
}
/** Output an acl level */