Add support for original size attribute
git-svn-id: https://svn.apache.org/repos/asf/manifoldcf/branches/CONNECTORS-1204@1682231 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java b/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
index d7c806e..acd5cdd 100644
--- a/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
+++ b/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
@@ -100,6 +100,7 @@
private final String allowAttributeName;
private final String denyAttributeName;
private final String idAttributeName;
+ private final String originalSizeAttributeName;
private final String modifiedDateAttributeName;
private final String createdDateAttributeName;
private final String indexedDateAttributeName;
@@ -131,7 +132,7 @@
int zkClientTimeout, int zkConnectTimeout,
String updatePath, String removePath, String statusPath,
String allowAttributeName, String denyAttributeName, String idAttributeName,
- String modifiedDateAttributeName, String createdDateAttributeName, String indexedDateAttributeName,
+ String originalSizeAttributeName, String modifiedDateAttributeName, String createdDateAttributeName, String indexedDateAttributeName,
String fileNameAttributeName, String mimeTypeAttributeName, String contentAttributeName,
Long maxDocumentLength,
String commitWithin, boolean useExtractUpdateHandler)
@@ -147,6 +148,7 @@
this.allowAttributeName = allowAttributeName;
this.denyAttributeName = denyAttributeName;
this.idAttributeName = idAttributeName;
+ this.originalSizeAttributeName = originalSizeAttributeName;
this.modifiedDateAttributeName = modifiedDateAttributeName;
this.createdDateAttributeName = createdDateAttributeName;
this.indexedDateAttributeName = indexedDateAttributeName;
@@ -179,7 +181,7 @@
String updatePath, String removePath, String statusPath,
String realm, String userID, String password,
String allowAttributeName, String denyAttributeName, String idAttributeName,
- String modifiedDateAttributeName, String createdDateAttributeName, String indexedDateAttributeName,
+ String originalSizeAttributeName, String modifiedDateAttributeName, String createdDateAttributeName, String indexedDateAttributeName,
String fileNameAttributeName, String mimeTypeAttributeName, String contentAttributeName,
IKeystoreManager keystoreManager, Long maxDocumentLength,
String commitWithin, boolean useExtractUpdateHandler)
@@ -195,6 +197,7 @@
this.allowAttributeName = allowAttributeName;
this.denyAttributeName = denyAttributeName;
this.idAttributeName = idAttributeName;
+ this.originalSizeAttributeName = originalSizeAttributeName;
this.modifiedDateAttributeName = modifiedDateAttributeName;
this.createdDateAttributeName = createdDateAttributeName;
this.indexedDateAttributeName = indexedDateAttributeName;
@@ -995,6 +998,14 @@
}
// Write the rest of the attributes
+ if ( originalSizeAttributeName != null )
+ {
+ Long size = document.getOriginalSize();
+ if ( size != null )
+ {
+ outputDoc.addField( originalSizeAttributeName, size.toString() );
+ }
+ }
if ( modifiedDateAttributeName != null )
{
Date date = document.getModifiedDate();
@@ -1067,6 +1078,13 @@
// Write the id field
writeField(out,LITERAL+idAttributeName,documentURI);
// Write the rest of the attributes
+ if (originalSizeAttributeName != null)
+ {
+ Long size = document.getOriginalSize();
+ if (size != null)
+ // Write value
+ writeField(out,LITERAL+modifiedDateAttributeName,size.toString());
+ }
if (modifiedDateAttributeName != null)
{
Date date = document.getModifiedDate();
diff --git a/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java b/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
index c24e4d7..0ec1b57 100644
--- a/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
+++ b/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
@@ -83,6 +83,8 @@
public static final String PARAM_STATUSPATH = "Server status handler";
/** Id field */
public static final String PARAM_IDFIELD = "Solr id field name";
+ /** Optional original size field */
+ public static final String PARAM_ORIGINALSIZEFIELD = "Solr original size field name";
/** Optional modified date field */
public static final String PARAM_MODIFIEDDATEFIELD = "Solr modified date field name";
/** Optional created date field */
diff --git a/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConnector.java b/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConnector.java
index 9b55da9..d11dab6 100644
--- a/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConnector.java
+++ b/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConnector.java
@@ -85,6 +85,7 @@
// Attributes going into Solr
protected String idAttributeName = null;
+ protected String originalSizeAttributeName = null;
protected String modifiedDateAttributeName = null;
protected String createdDateAttributeName = null;
protected String indexedDateAttributeName = null;
@@ -181,6 +182,7 @@
excludedMimeTypesString = null;
excludedMimeTypes = null;
idAttributeName = null;
+ originalSizeAttributeName = null;
modifiedDateAttributeName = null;
createdDateAttributeName = null;
indexedDateAttributeName = null;
@@ -214,6 +216,10 @@
if (idAttributeName == null || idAttributeName.length() == 0)
idAttributeName = "id";
+ originalSizeAttributeName = params.getParameter(SolrConfig.PARAM_ORIGINALSIZEFIELD);
+ if (originalSizeAttributeName == null || originalSizeAttributeName.length() == 0)
+ originalSizeAttributeName = null;
+
modifiedDateAttributeName = params.getParameter(SolrConfig.PARAM_MODIFIEDDATEFIELD);
if (modifiedDateAttributeName == null || modifiedDateAttributeName.length() == 0)
modifiedDateAttributeName = null;
@@ -355,7 +361,7 @@
connectTimeout,socketTimeout,
updatePath,removePath,statusPath,realm,userID,password,
allowAttributeName,denyAttributeName,idAttributeName,
- modifiedDateAttributeName,createdDateAttributeName,indexedDateAttributeName,
+ originalSizeAttributeName,modifiedDateAttributeName,createdDateAttributeName,indexedDateAttributeName,
fileNameAttributeName,mimeTypeAttributeName,contentAttributeName,
keystoreManager,maxDocumentLength,commitWithin,useExtractUpdateHandler);
@@ -411,7 +417,7 @@
zkClientTimeout,zkConnectTimeout,
updatePath,removePath,statusPath,
allowAttributeName,denyAttributeName,idAttributeName,
- modifiedDateAttributeName,createdDateAttributeName,indexedDateAttributeName,
+ originalSizeAttributeName,modifiedDateAttributeName,createdDateAttributeName,indexedDateAttributeName,
fileNameAttributeName,mimeTypeAttributeName,contentAttributeName,
maxDocumentLength,commitWithin,useExtractUpdateHandler);
@@ -1009,6 +1015,10 @@
String idField = parameters.getParameter(SolrConfig.PARAM_IDFIELD);
if (idField == null)
idField = "id";
+
+ String originalSizeField = parameters.getParameter(SolrConfig.PARAM_ORIGINALSIZEFIELD);
+ if (originalSizeField == null)
+ originalSizeField = "";
String modifiedDateField = parameters.getParameter(SolrConfig.PARAM_MODIFIEDDATEFIELD);
if (modifiedDateField == null)
@@ -1463,6 +1473,12 @@
" </td>\n"+
" </tr>\n"+
" <tr>\n"+
+" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"SolrConnector.OriginalSizeFieldName") + "</nobr></td>\n"+
+" <td class=\"value\">\n"+
+" <input name=\"originalsizefield\" type=\"text\" size=\"32\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(originalSizeField)+"\"/>\n"+
+" </td>\n"+
+" </tr>\n"+
+" <tr>\n"+
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"SolrConnector.ModifiedDateFieldName") + "</nobr></td>\n"+
" <td class=\"value\">\n"+
" <input name=\"modifieddatefield\" type=\"text\" size=\"32\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(modifiedDateField)+"\"/>\n"+
@@ -1526,6 +1542,7 @@
{
out.print(
"<input type=\"hidden\" name=\"idfield\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(idField)+"\"/>\n"+
+"<input type=\"hidden\" name=\"originalsizefield\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(originalSizeField)+"\"/>\n"+
"<input type=\"hidden\" name=\"modifieddatefield\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(modifiedDateField)+"\"/>\n"+
"<input type=\"hidden\" name=\"createddatefield\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(createdDateField)+"\"/>\n"+
"<input type=\"hidden\" name=\"indexeddatefield\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(indexedDateField)+"\"/>\n"+
@@ -1814,6 +1831,10 @@
if (idField != null)
parameters.setParameter(SolrConfig.PARAM_IDFIELD,idField);
+ String originalSizeField = variableContext.getParameter("originalsizefield");
+ if (originalSizeField != null)
+ parameters.setParameter(SolrConfig.PARAM_ORIGINALSIZEFIELD,originalSizeField);
+
String modifiedDateField = variableContext.getParameter("modifieddatefield");
if (modifiedDateField != null)
parameters.setParameter(SolrConfig.PARAM_MODIFIEDDATEFIELD,modifiedDateField);
@@ -2255,6 +2276,14 @@
else
sb.append('-');
+ if (originalSizeAttributeName != null)
+ {
+ sb.append('+');
+ pack(sb,originalSizeAttributeName,'+');
+ }
+ else
+ sb.append('-');
+
if (modifiedDateAttributeName != null)
{
sb.append('+');
diff --git a/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_en_US.properties b/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_en_US.properties
index 5978338..2e7400d 100644
--- a/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_en_US.properties
+++ b/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_en_US.properties
@@ -53,6 +53,7 @@
SolrConnector.AddZookeeperHost=Add ZooKeeper host
SolrConnector.Certificate=Certificate:
SolrConnector.IDFieldName=ID field name:
+SolrConnector.OriginalSizeFieldName=Original size field name:
SolrConnector.ModifiedDateFieldName=Modified date field name:
SolrConnector.CreatedDateFieldName=Created date field name:
SolrConnector.IndexedDateFieldName=Indexed date field name:
diff --git a/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_ja_JP.properties b/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_ja_JP.properties
index 8c4033a..910d3d3 100644
--- a/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_ja_JP.properties
+++ b/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_ja_JP.properties
@@ -53,6 +53,7 @@
SolrConnector.AddZookeeperHost=ZooKeeperホストを追加
SolrConnector.Certificate=証明証:
SolrConnector.IDFieldName=IDフィールド名:
+SolrConnector.OriginalSizeFieldName=Original size field name:
SolrConnector.ModifiedDateFieldName=更新日付フィールド名:
SolrConnector.CreatedDateFieldName=作成日付フィールド名:
SolrConnector.IndexedDateFieldName=Indexed date field name:
diff --git a/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_zh_CN.properties b/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_zh_CN.properties
index 2a15360..75cbf6a 100644
--- a/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_zh_CN.properties
+++ b/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_zh_CN.properties
@@ -53,6 +53,7 @@
SolrConnector.AddZookeeperHost=添加ZooKeeper主机
SolrConnector.Certificate=证书:
SolrConnector.IDFieldName=ID字段名:
+SolrConnector.OriginalSizeFieldName=Original size field name:
SolrConnector.ModifiedDateFieldName=更新日期字段名:
SolrConnector.CreatedDateFieldName=生成日期字段名:
SolrConnector.IndexedDateFieldName=索引化的日期字段名: