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/12/21 14:32:28 UTC

svn commit: r1552899 - in /manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main: java/org/apache/manifoldcf/crawler/connectors/email/ native2ascii/org/apache/manifoldcf/crawler/connectors/email/ resources/org/apache/manifoldcf/crawler...

Author: kwright
Date: Sat Dec 21 13:32:27 2013
New Revision: 1552899

URL: http://svn.apache.org/r1552899
Log:
Add URL template

Added:
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html   (with props)
Modified:
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_en_US.properties
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_ja_JP.properties
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationHeader.js
    manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationView.html

Modified: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java?rev=1552899&r1=1552898&r2=1552899&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java (original)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java Sat Dec 21 13:32:27 2013
@@ -49,51 +49,65 @@ public class EmailConfig {
   public static final String PORT_PARAM = "port";
 
   /**
-  * Properties
+  * URL template
   */
-  public static final String PROPERTIES_PARAM = "properties";
-
+  public static final String URL_PARAM = "url";
+  
+  // Protocol options
+  
   public static final String PROTOCOL_IMAP = "IMAP";
-  public static final String PROTOCOL_IMAP_PROVIDER = "imap";
   public static final String PROTOCOL_IMAPS = "IMAP-SSL";
-  public static final String PROTOCOL_IMAPS_PROVIDER = "imaps";
   public static final String PROTOCOL_POP3 = "POP3";
-  public static final String PROTOCOL_POP3_PROVIDER = "pop3";
   public static final String PROTOCOL_POP3S = "POP3-SSL";
+  
+  // Protocol providers
+  
+  public static final String PROTOCOL_IMAP_PROVIDER = "imap";
+  public static final String PROTOCOL_IMAPS_PROVIDER = "imaps";
+  public static final String PROTOCOL_POP3_PROVIDER = "pop3";
   public static final String PROTOCOL_POP3S_PROVIDER = "pop3s";
   
+  // Default values and various other constants
+  
   public static final String PROTOCOL_DEFAULT_VALUE = "IMAP";
   public static final String PORT_DEFAULT_VALUE = "";
+  public static final String[] BASIC_METADATA = {"To","From","Subject","Body","Date","Encoding of Attachment","MIME type of attachment"};
+  public static final String[] BASIC_SEARCHABLE_ATTRIBUTES = {"To","From","Subject","Body","Date"};
 
-
+  // Specification nodes
+  
   public static final String NODE_PROPERTIES = "properties";
   public static final String NODE_METADATA = "metadata";
   public static final String NODE_FILTER = "filter";
   public static final String NODE_FOLDER = "folder";
-  public static final String SERVER_PROPERTY = "serverproperty";
-  public static final String VALUE = "p_value";
+  
   public static final String ATTRIBUTE_NAME = "name";
-
   public static final String ATTRIBUTE_VALUE = "value";
-  public static final String[] BASIC_METADATA = {"To","From","Subject","Body","Date","Encoding of Attachment","MIME type of attachment"};
-  public static final String[] BASIC_SEARCHABLE_ATTRIBUTES = {"To","From","Subject","Body","Date"};
-  protected final static String ACTIVITY_FETCH = "fetch";
-
 
-  public static final String FOLDER_INBOX = "INBOX";
+  // Metadata field names
+  
   public static final String EMAIL_SUBJECT = "subject";
   public static final String EMAIL_FROM = "from";
   public static final String EMAIL_TO = "to";
   public static final String EMAIL_BODY = "body";
-  public static final String ATTRIBUTE_FOLDER = "Folder";
   public static final String EMAIL_DATE = "date";
   public static final String EMAIL_ATTACHMENT_ENCODING = "encoding of attachment";
   public static final String EMAIL_ATTACHMENT_MIMETYPE = "mime type of attachment";
   public static final String EMAIL_VERSION = "1.0";
+  
+  // Mime types
+  
   public static final String MIMETYPE_TEXT_PLAIN = "text/plain";
   public static final String MIMETYPE_HTML = "text/html";
+  
+  // Fields
+  
   public static final String ENCODING_FIELD = "encoding";
   public static final String MIMETYPE_FIELD = "mimetype";
-  protected final static long SESSION_EXPIRATION_MILLISECONDS = 300000L;
   //public static final String TO = "To";
+  
+  // Activity names
+  
+  public final static String ACTIVITY_FETCH = "fetch";
+
 }
\ No newline at end of file

Modified: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java?rev=1552899&r1=1552898&r2=1552899&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java (original)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java Sat Dec 21 13:32:27 2013
@@ -68,6 +68,8 @@ import javax.mail.search.*;
 
 public class EmailConnector extends org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector {
 
+  protected final static long SESSION_EXPIRATION_MILLISECONDS = 300000L;
+  
   // Local variables.
   protected long sessionExpiration = -1L;
   
@@ -79,6 +81,7 @@ public class EmailConnector extends org.
   protected String password = null;
   protected String protocol = null;
   protected Properties properties = null;
+  protected String urlTemplate = null;
   
   // Local session handle
   protected EmailSession session = null;
@@ -107,7 +110,8 @@ public class EmailConnector extends org.
     this.portString = configParameters.getParameter(EmailConfig.PORT_PARAM);
     this.protocol = configParameters.getParameter(EmailConfig.PROTOCOL_PARAM);
     this.username = configParameters.getParameter(EmailConfig.USERNAME_PARAM);
-    this.password = configParameters.getParameter(EmailConfig.PASSWORD_PARAM);
+    this.password = configParameters.getObfuscatedParameter(EmailConfig.PASSWORD_PARAM);
+    this.urlTemplate = configParameters.getParameter(EmailConfig.URL_PARAM);
     this.properties = new Properties();
     int i = 0;
     while (i < configParameters.getChildCount()) //In post property set is added as a configuration node
@@ -128,6 +132,7 @@ public class EmailConnector extends org.
   @Override
   public void disconnect()
     throws ManifoldCFException {
+    this.urlTemplate = null;
     this.server = null;
     this.portString = null;
     this.protocol = null;
@@ -372,6 +377,18 @@ public class EmailConnector extends org.
   protected void getSession()
     throws ManifoldCFException, ServiceInterruption {
     if (session == null) {
+      
+      // Check that all the required parameters are there.
+      if (urlTemplate == null)
+        throw new ManifoldCFException("Missing url parameter");
+      if (server == null)
+        throw new ManifoldCFException("Missing server parameter");
+      if (properties == null)
+        throw new ManifoldCFException("Missing server properties");
+      if (protocol == null)
+        throw new ManifoldCFException("Missing protocol parameter");
+      
+      // Create a session.
       int port;
       if (portString != null && portString.length() > 0)
       {
@@ -398,7 +415,7 @@ public class EmailConnector extends org.
         handleMessagingException(e, "connecting");
       }
     }
-    sessionExpiration = System.currentTimeMillis() + EmailConfig.SESSION_EXPIRATION_MILLISECONDS;
+    sessionExpiration = System.currentTimeMillis() + SESSION_EXPIRATION_MILLISECONDS;
   }
 
   protected void finalizeConnection() {
@@ -444,7 +461,7 @@ public class EmailConnector extends org.
     String[] result = new String[documentIdentifiers.length];
     for (int i = 0; i < documentIdentifiers.length; i++)
     {
-      result[i] = "_";   // NOT empty; we need to make ManifoldCF understand that this is a document that never will change.
+      result[i] = "_" + urlTemplate;   // NOT empty; we need to make ManifoldCF understand that this is a document that never will change.
     }
     return result;
 
@@ -589,7 +606,7 @@ public class EmailConnector extends org.
                 rd.addField(EmailConfig.MIMETYPE_FIELD, MIMEType);
               }
             }
-            String documentURI = subject + messageIDTerm;
+            String documentURI = makeDocumentURI(urlTemplate, folderName, id);
             activities.ingestDocument(id, version, documentURI, rd);
 
           }
@@ -650,11 +667,13 @@ public class EmailConnector extends org.
     Locale locale, ConfigParams parameters, List<String> tabsArray)
     throws ManifoldCFException, IOException {
     tabsArray.add(Messages.getString(locale, "EmailConnector.Server"));
+    tabsArray.add(Messages.getString(locale, "EmailConnector.URL"));
     // Map the parameters
     Map<String, Object> paramMap = new HashMap<String, Object>();
 
     // Fill in the parameters from each tab
-    fillInServerConfigurationMap(paramMap, parameters);
+    fillInServerConfigurationMap(paramMap, out, parameters);
+    fillInURLConfigurationMap(paramMap, out, parameters);
 
     // Output the Javascript - only one Velocity template for all tabs
     Messages.outputResourceWithVelocity(out, locale, "ConfigurationHeader.js", paramMap);
@@ -669,14 +688,16 @@ public class EmailConnector extends org.
     // Set the tab name
     paramMap.put("TabName", tabName);
     // Fill in the parameters
-    fillInServerConfigurationMap(paramMap, parameters);
+    fillInServerConfigurationMap(paramMap, out, parameters);
+    fillInURLConfigurationMap(paramMap, out, parameters);
     Messages.outputResourceWithVelocity(out, locale, "Configuration_Server.html", paramMap);
+    Messages.outputResourceWithVelocity(out, locale, "Configuration_URL.html", paramMap);
   }
 
-  private void fillInServerConfigurationMap(Map<String, Object> paramMap, ConfigParams parameters) {
+  private static void fillInServerConfigurationMap(Map<String, Object> paramMap, IPasswordMapperActivity mapper, ConfigParams parameters) {
     int i = 0;
     String username = parameters.getParameter(EmailConfig.USERNAME_PARAM);
-    String password = parameters.getParameter(EmailConfig.PASSWORD_PARAM);
+    String password = parameters.getObfuscatedParameter(EmailConfig.PASSWORD_PARAM);
     String protocol = parameters.getParameter(EmailConfig.PROTOCOL_PARAM);
     String server = parameters.getParameter(EmailConfig.SERVER_PARAM);
     String port = parameters.getParameter(EmailConfig.PORT_PARAM);
@@ -698,6 +719,8 @@ public class EmailConnector extends org.
       username = StringUtils.EMPTY;
     if (password == null)
       password = StringUtils.EMPTY;
+    else
+      password = mapper.mapPasswordToKey(password);
     if (protocol == null)
       protocol = EmailConfig.PROTOCOL_DEFAULT_VALUE;
     if (server == null)
@@ -714,6 +737,15 @@ public class EmailConnector extends org.
 
   }
 
+  private static void fillInURLConfigurationMap(Map<String, Object> paramMap, IPasswordMapperActivity mapper, ConfigParams parameters) {
+    String urlTemplate = parameters.getParameter(EmailConfig.URL_PARAM);
+
+    if (urlTemplate == null)
+      urlTemplate = "http://sampleserver/$(FOLDERNAME)?id=$(MESSAGEID)";
+
+    paramMap.put("URL", urlTemplate);
+  }
+
   /**
   * Process a configuration post.
   * This method is called at the start of the connector's configuration page, whenever there is a possibility
@@ -732,13 +764,17 @@ public class EmailConnector extends org.
   public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext,
     ConfigParams parameters) throws ManifoldCFException {
 
+    String urlTemplate = variableContext.getParameter("url");
+    if (urlTemplate != null)
+      parameters.setParameter(EmailConfig.URL_PARAM, urlTemplate);
+
     String userName = variableContext.getParameter("username");
     if (userName != null)
       parameters.setParameter(EmailConfig.USERNAME_PARAM, userName);
 
     String password = variableContext.getParameter("password");
     if (password != null)
-      parameters.setParameter(EmailConfig.PASSWORD_PARAM, password);
+      parameters.setObfuscatedParameter(EmailConfig.PASSWORD_PARAM, variableContext.mapKeyToPassword(password));
 
     String protocol = variableContext.getParameter("protocol");
     if (protocol != null)
@@ -802,7 +838,8 @@ public class EmailConnector extends org.
     Map<String, Object> paramMap = new HashMap<String, Object>();
 
     // Fill in map from each tab
-    fillInServerConfigurationMap(paramMap, parameters);
+    fillInServerConfigurationMap(paramMap, out, parameters);
+    fillInURLConfigurationMap(paramMap, out, parameters);
 
     Messages.outputResourceWithVelocity(out, locale, "ConfigurationView.html", paramMap);
   }
@@ -1080,7 +1117,53 @@ public class EmailConnector extends org.
     }
   }
 
+  /** Create a document's URI given a template, a folder name, and a message ID */
+  protected static String makeDocumentURI(String urlTemplate, String folderName, String id)
+  {
+    try {
+      // First, URL encode folder name and id
+      String encodedFolderName = java.net.URLEncoder.encode(folderName, "utf-8");
+      String encodedId = java.net.URLEncoder.encode(id, "utf-8");
+      // The template is already URL encoded, except for the substitution points
+      Map<String,String> subsMap = new HashMap<String,String>();
+      subsMap.put("FOLDERNAME", encodedFolderName);
+      subsMap.put("MESSAGEID", encodedId);
+      return substitute(urlTemplate, subsMap);
+    } catch (UnsupportedEncodingException e) {
+      throw new RuntimeException("No utf-8 encoder found: "+e.getMessage(), e);
+    }
+  }
 
+  protected static String substitute(String template, Map<String,String> map)
+  {
+    StringBuilder sb = new StringBuilder();
+    int index = 0;
+    while (true)
+    {
+      int newIndex = template.indexOf("$(",index);
+      if (newIndex == -1)
+      {
+        sb.append(template.substring(index));
+        break;
+      }
+      sb.append(template.substring(index, newIndex));
+      int endIndex = template.indexOf(")",newIndex+2);
+      String varName;
+      if (endIndex == -1)
+        varName = template.substring(newIndex + 2);
+      else
+        varName = template.substring(newIndex + 2, endIndex);
+      String subsValue = map.get(varName);
+      if (subsValue == null)
+        subsValue = "";
+      sb.append(subsValue);
+      if (endIndex == -1)
+        break;
+      index = endIndex+1;
+    }
+    return sb.toString();
+  }
+  
   protected static void addFindParameterNode(ConfigParams parameters, String findParameterName, String findParameterValue) {
     ConfigNode cn = new ConfigNode(EmailConfig.NODE_PROPERTIES);
     cn.setAttribute(EmailConfig.ATTRIBUTE_NAME, findParameterName);

Modified: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_en_US.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_en_US.properties?rev=1552899&r1=1552898&r2=1552899&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_en_US.properties (original)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_en_US.properties Sat Dec 21 13:32:27 2013
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 EmailConnector.Server=Server
+EmailConnector.URL=URL
 EmailConnector.Metadata=Metadata
 EmailConnector.Filter=Filter
 
@@ -21,7 +22,9 @@ EmailConnector.EnterAMailServerHostName=
 EmailConnector.PleaseSelectAConfigurationParameterName=Please select a configuration parameter name
 EmailConnector.PleaseSelectAMetadataName=Please select a metadata name
 EmailConnector.ValueCannotBeBlank=Value cannot be blank
+EmailConnector.URLTemplateCannotBeBlank=URL template cannot be blank
 
+EmailConnector.URLTemplateColon=URL template:
 EmailConnector.ConfigurationPropertiesColon=Configuration properties:
 EmailConnector.ProtocolColon=Protocol:
 EmailConnector.HostNameColon=Host name:

Modified: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_ja_JP.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_ja_JP.properties?rev=1552899&r1=1552898&r2=1552899&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_ja_JP.properties (original)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/email/common_ja_JP.properties Sat Dec 21 13:32:27 2013
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 EmailConnector.Server=Server
+EmailConnector.URL=URL
 EmailConnector.Metadata=Metadata
 EmailConnector.Filter=Filter
 
@@ -21,7 +22,9 @@ EmailConnector.EnterAMailServerHostName=
 EmailConnector.PleaseSelectAConfigurationParameterName=Please select a configuration parameter name
 EmailConnector.PleaseSelectAMetadataName=Please select a metadata name
 EmailConnector.ValueCannotBeBlank=Value cannot be blank
+EmailConnector.URLTemplateCannotBeBlank=URL template cannot be blank
 
+EmailConnector.URLTemplateColon=URL template:
 EmailConnector.ConfigurationPropertiesColon=Configuration properties:
 EmailConnector.ProtocolColon=Protocol:
 EmailConnector.HostNameColon=Host name:

Modified: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationHeader.js
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationHeader.js?rev=1552899&r1=1552898&r2=1552899&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationHeader.js (original)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationHeader.js Sat Dec 21 13:32:27 2013
@@ -44,6 +44,13 @@ function checkConfigForSave()
     editconnection.port.focus();
     return false;
   }
+  if (editconnection.url.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('EmailConnector.URLTemplateCannotBeBlank'))");
+    SelectTab("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('EmailConnector.URL'))");
+    editconnection.url.focus();
+    return false;
+  }
   return true;
 }
 

Modified: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationView.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationView.html?rev=1552899&r1=1552898&r2=1552899&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationView.html (original)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/ConfigurationView.html Sat Dec 21 13:32:27 2013
@@ -81,5 +81,16 @@ limitations under the License.
     </td>
   </tr>
   
+  <tr><td  class="separator" colspan="2"><hr/></td></tr>
+
+  <tr>
+    <td class="description">
+      <nobr>$Encoder.bodyEscape($ResourceBundle.getString('EmailConnector.URLTemplateColon'))</nobr>
+    </td>
+    <td class="value">
+      <nobr>$Encoder.bodyEscape($URL)</nobr>
+    </td>
+  </tr>
+
 </table>
 

Added: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html?rev=1552899&view=auto
==============================================================================
--- manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html (added)
+++ manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html Sat Dec 21 13:32:27 2013
@@ -0,0 +1,36 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+#if($TabName == $ResourceBundle.getString('EmailConnector.URL'))
+
+<table class="displaytable">
+  <tr><td class="separator" colspan="2"><hr/></td></tr>
+  <tr>
+    <td class="description">
+      <nobr>$Encoder.bodyEscape($ResourceBundle.getString('EmailConnector.URLTemplateColon'))</nobr>
+    </td>
+    <td class="value">
+      <nobr><input type="text" name="url" size="60" value="$Encoder.attributeEscape($URL)"/></nobr>
+    </td>
+  </tr>
+</table>
+
+#else
+
+<input type="hidden" name="url" value="$Encoder.attributeEscape($URL)"/>
+
+#end
\ No newline at end of file

Propchange: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: manifoldcf/branches/CONNECTORS-553/connectors/email/connector/src/main/resources/org/apache/manifoldcf/crawler/connectors/email/Configuration_URL.html
------------------------------------------------------------------------------
    svn:keywords = Id