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 2011/12/28 01:42:25 UTC

svn commit: r1225063 [2/10] - in /incubator/lcf/trunk: ./ connectors/activedirectory/ connectors/activedirectory/connector/src/main/java/org/apache/manifoldcf/authorities/authorities/activedirectory/ connectors/activedirectory/connector/src/main/native...

Modified: incubator/lcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java (original)
+++ incubator/lcf/trunk/connectors/cmis/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/cmis/CmisRepositoryConnector.java Wed Dec 28 00:42:19 2011
@@ -32,6 +32,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Locale;
 
 import org.apache.chemistry.opencmis.client.api.CmisObject;
 import org.apache.chemistry.opencmis.client.api.Document;
@@ -73,7 +74,6 @@ import org.apache.manifoldcf.crawler.sys
 public class CmisRepositoryConnector extends BaseRepositoryConnector {
 
   private static final String JOB_STARTPOINT_NODE_TYPE = "startpoint";
-  private static final String TAB_LABEL_CMIS_QUERY = "CMIS Query";
 
   protected final static String ACTIVITY_READ = "read document";
   protected static final String RELATIONSHIP_CHILD = "child";
@@ -211,6 +211,7 @@ public class CmisRepositoryConnector ext
         // create session
         if (StringUtils.isEmpty(repositoryId)) {
 
+
           // get a session from the first CMIS repository exposed by
           // the endpoint
           List<Repository> repos = null;
@@ -687,50 +688,16 @@ public class CmisRepositoryConnector ext
    * @param out
    * @throws ManifoldCFException
    */
-  private void outputResource(String resName, IHTTPOutput out,
-      ConfigParams params) throws ManifoldCFException {
-    InputStream is = getClass().getResourceAsStream(resName);
-    BufferedReader br = null;
-    try {
-      br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
-      String line;
-      while ((line = br.readLine()) != null) {
-        if (params != null){
-          Iterator i = params.listParameters();
-          boolean parsedLine = false;
-          while(i.hasNext()){
-            String key = (String) i.next();
-            String value = params.getParameter(key);
-            String replacer = "${"+key.toUpperCase()+"}";
-            if(StringUtils.contains(line, replacer)){  
-              if(StringUtils.isEmpty(value)){
-                out.println(StringUtils.replace(line, replacer, StringUtils.EMPTY));
-                parsedLine=true;
-              } else {
-                out.println(StringUtils.replace(line, replacer, value));
-                parsedLine=true;
-              }
-            } else if(StringUtils.contains(line, "${")){
-                parsedLine=true;
-            } else if(!parsedLine){
-                out.println(line);
-                parsedLine=true;
-            }
-          }
-        } else {
-            break;
-        }
-      }
-    } catch (UnsupportedEncodingException e) {
-      throw new ManifoldCFException(e);
-    } catch (IOException e) {
-      throw new ManifoldCFException(e);
-    } finally {
-      if (br != null)
-        IOUtils.closeQuietly(br);
-      if (is != null)
-        IOUtils.closeQuietly(is);
+  private static void outputResource(String resName, IHTTPOutput out,
+      Locale locale, ConfigParams params) throws ManifoldCFException {
+    Map<String,String> paramMap = new HashMap<String,String>();
+    Iterator<String> i = params.listParameters();
+    while(i.hasNext()){
+      String key = i.next();
+      String value = params.getParameter(key);
+      paramMap.put(key,value);
     }
+    Messages.outputResource(out,locale,resName,paramMap,true);
   }
   
   /**
@@ -750,15 +717,16 @@ public class CmisRepositoryConnector ext
    */
   @Override
   public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out,
-      ConfigParams parameters) throws ManifoldCFException, IOException {
+      Locale locale, ConfigParams parameters) throws ManifoldCFException, IOException {
     String repositoryId = parameters.getParameter(CmisConfig.REPOSITORY_ID_PARAM);
     if(StringUtils.isEmpty(repositoryId))
       repositoryId = StringUtils.EMPTY;
     parameters.setParameter(CmisConfig.REPOSITORY_ID_PARAM, repositoryId);
-    outputResource(VIEW_CONFIG_FORWARD, out, parameters);
+    outputResource(VIEW_CONFIG_FORWARD, out, locale, parameters);
   }
 
   /**
+
    * Output the configuration header section. This method is called in the head
    * section of the connector's configuration page. Its purpose is to add the
    * required tabs to the list, and to output any javascript methods that might
@@ -777,56 +745,56 @@ public class CmisRepositoryConnector ext
    */
   @Override
   public void outputConfigurationHeader(IThreadContext threadContext,
-      IHTTPOutput out, ConfigParams parameters, List<String> tabsArray)
+      IHTTPOutput out, Locale locale, ConfigParams parameters, List<String> tabsArray)
       throws ManifoldCFException, IOException {
     tabsArray.add(CMIS_SERVER_TAB_NAME);
-    outputResource(EDIT_CONFIG_HEADER_FORWARD, out, parameters);
+    outputResource(EDIT_CONFIG_HEADER_FORWARD, out, locale, parameters);
   }
 
   @Override
   public void outputConfigurationBody(IThreadContext threadContext,
-      IHTTPOutput out, ConfigParams parameters, String tabName)
+      IHTTPOutput out, Locale locale, ConfigParams parameters, String tabName)
       throws ManifoldCFException, IOException {
     
-    if(CMIS_SERVER_TAB_NAME.equals(tabName)){
-      String username = parameters.getParameter(CmisConfig.USERNAME_PARAM);
-      String password = parameters.getParameter(CmisConfig.PASSWORD_PARAM);
-      String protocol = parameters.getParameter(CmisConfig.PROTOCOL_PARAM);
-      String server = parameters.getParameter(CmisConfig.SERVER_PARAM);
-      String port = parameters.getParameter(CmisConfig.PORT_PARAM);
-      String path = parameters.getParameter(CmisConfig.PATH_PARAM);
-      String repositoryId = parameters.getParameter(CmisConfig.REPOSITORY_ID_PARAM);
-      String binding = parameters.getParameter(CmisConfig.BINDING_PARAM);
-      
-      if(StringUtils.isEmpty(username))
-        username = StringUtils.EMPTY;
-      if(StringUtils.isEmpty(password))
-        password = StringUtils.EMPTY;
-      if(StringUtils.isEmpty(protocol))
-        protocol = CmisConfig.PROTOCOL_DEFAULT_VALUE;
-      if(StringUtils.isEmpty(server))
-        server = CmisConfig.SERVER_DEFAULT_VALUE;
-      if(StringUtils.isEmpty(port))
-        port = CmisConfig.PORT_DEFAULT_VALUE;
-      if(StringUtils.isEmpty(path))
-        path = CmisConfig.PATH_DEFAULT_VALUE;
+    String username = parameters.getParameter(CmisConfig.USERNAME_PARAM);
+    String password = parameters.getParameter(CmisConfig.PASSWORD_PARAM);
+    String protocol = parameters.getParameter(CmisConfig.PROTOCOL_PARAM);
+    String server = parameters.getParameter(CmisConfig.SERVER_PARAM);
+    String port = parameters.getParameter(CmisConfig.PORT_PARAM);
+    String path = parameters.getParameter(CmisConfig.PATH_PARAM);
+    String repositoryId = parameters.getParameter(CmisConfig.REPOSITORY_ID_PARAM);
+    String binding = parameters.getParameter(CmisConfig.BINDING_PARAM);
       
-      if(StringUtils.isEmpty(repositoryId))
-        repositoryId = StringUtils.EMPTY;
-      if(StringUtils.isEmpty(binding))
-        binding = CmisConfig.BINDING_ATOM_VALUE;
+    if(username == null)
+      username = StringUtils.EMPTY;
+    if(password == null)
+      password = StringUtils.EMPTY;
+    if(protocol == null)
+      protocol = CmisConfig.PROTOCOL_DEFAULT_VALUE;
+    if(server == null)
+      server = CmisConfig.SERVER_DEFAULT_VALUE;
+    if(port == null)
+      port = CmisConfig.PORT_DEFAULT_VALUE;
+    if(path == null)
+      path = CmisConfig.PATH_DEFAULT_VALUE;
+    if(repositoryId == null)
+      repositoryId = StringUtils.EMPTY;
+    if(binding == null)
+      binding = CmisConfig.BINDING_ATOM_VALUE;
       
-      parameters.setParameter(CmisConfig.USERNAME_PARAM, username);
-      parameters.setParameter(CmisConfig.PASSWORD_PARAM, password);
-      parameters.setParameter(CmisConfig.PROTOCOL_PARAM, protocol);
-      parameters.setParameter(CmisConfig.SERVER_PARAM, server);
-      parameters.setParameter(CmisConfig.PORT_PARAM, port);
-      parameters.setParameter(CmisConfig.PATH_PARAM, path);
-      parameters.setParameter(CmisConfig.REPOSITORY_ID_PARAM, repositoryId);
-      parameters.setParameter(CmisConfig.BINDING_PARAM, binding);
-      outputResource(EDIT_CONFIG_FORWARD, out, parameters);
+    ConfigParams newMap = new ConfigParams();
+    newMap.setParameter(CmisConfig.USERNAME_PARAM, username);
+    newMap.setParameter(CmisConfig.PASSWORD_PARAM, password);
+    newMap.setParameter(CmisConfig.PROTOCOL_PARAM, protocol);
+    newMap.setParameter(CmisConfig.SERVER_PARAM, server);
+    newMap.setParameter(CmisConfig.PORT_PARAM, port);
+    newMap.setParameter(CmisConfig.PATH_PARAM, path);
+    newMap.setParameter(CmisConfig.REPOSITORY_ID_PARAM, repositoryId);
+    newMap.setParameter(CmisConfig.BINDING_PARAM, binding);
+    if(CMIS_SERVER_TAB_NAME.equals(tabName)){
+      outputResource(EDIT_CONFIG_FORWARD, out, locale, newMap);
     } else {
-      outputResource(HIDDEN_CONFIG_FORWARD, out, parameters);
+      outputResource(HIDDEN_CONFIG_FORWARD, out, locale, newMap);
     }
   }
 
@@ -909,7 +877,7 @@ public class CmisRepositoryConnector ext
    *          is the current document specification for this job.
    */
   @Override
-  public void viewSpecification(IHTTPOutput out, DocumentSpecification ds)
+  public void viewSpecification(IHTTPOutput out, Locale locale, DocumentSpecification ds)
       throws ManifoldCFException, IOException {
     int i = 0;
     boolean seenAny = false;
@@ -925,7 +893,7 @@ public class CmisRepositoryConnector ext
       }
       i++;
     }
-    outputResource(VIEW_SPEC_FORWARD, out, specificationParams);
+    outputResource(VIEW_SPEC_FORWARD, out, locale, specificationParams);
   }
 
   /**
@@ -993,7 +961,7 @@ public class CmisRepositoryConnector ext
    */
   @Override
   public void outputSpecificationBody(IHTTPOutput out,
-      DocumentSpecification ds, String tabName) throws ManifoldCFException,
+      Locale locale, DocumentSpecification ds, String tabName) throws ManifoldCFException,
       IOException {
     String cmisQuery = StringUtils.EMPTY;
     int i = 0;
@@ -1005,13 +973,13 @@ public class CmisRepositoryConnector ext
       }
       i++;
     }
-    
+
     ConfigParams params = new ConfigParams();
     params.setParameter(CmisConfig.CMIS_QUERY_PARAM, cmisQuery);
-    if (tabName.equals(TAB_LABEL_CMIS_QUERY)) {
-      outputResource(EDIT_SPEC_FORWARD, out, params);
+    if (tabName.equals(Messages.getString(locale,"CmisRepositoryConnector.CMISQuery"))) {
+      outputResource(EDIT_SPEC_FORWARD, out, locale, params);
     } else {
-      outputResource(HIDDEN_SPEC_FORWARD, out, params);
+      outputResource(HIDDEN_SPEC_FORWARD, out, locale, params);
     }
   }
 
@@ -1031,10 +999,10 @@ public class CmisRepositoryConnector ext
    */
   @Override
   public void outputSpecificationHeader(IHTTPOutput out,
-      DocumentSpecification ds, List<String> tabsArray)
+      Locale locale, DocumentSpecification ds, List<String> tabsArray)
       throws ManifoldCFException, IOException {
-    tabsArray.add(TAB_LABEL_CMIS_QUERY);
-    outputResource(EDIT_SPEC_HEADER_FORWARD, out, params);
+    tabsArray.add(Messages.getString(locale,"CmisRepositoryConnector.CMISQuery"));
+    outputResource(EDIT_SPEC_HEADER_FORWARD, out, locale, params);
   }
 
   /** Process a set of documents.
@@ -1259,4 +1227,4 @@ public class CmisRepositoryConnector ext
     }
     return rval;
   }
-}
\ No newline at end of file
+}

Modified: incubator/lcf/trunk/connectors/cmis/pom.xml
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/cmis/pom.xml?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/cmis/pom.xml (original)
+++ incubator/lcf/trunk/connectors/cmis/pom.xml Wed Dec 28 00:42:19 2011
@@ -51,11 +51,33 @@
     </resources>
     <plugins>
       <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>native2ascii-maven-plugin</artifactId>
+        <version>1.0-alpha-1</version>
+        <configuration>
+            <dest>target/classes</dest>
+            <src>connector/src/main/native2ascii</src>
+        </configuration>
+        <executions>
+            <execution>
+                <id>native2ascii-utf8</id>
+                <goals>
+                    <goal>native2ascii</goal>
+                </goals>
+                <configuration>
+                    <encoding>UTF8</encoding>
+                    <includes>**/*.properties</includes>
+                </configuration>
+            </execution>
+        </executions>
+      </plugin>
+      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <excludes>
             <exclude>**/*Postgresql*.java</exclude>
+            <exclude>**/*MySQL*.java</exclude>
           </excludes>
           <forkMode>always</forkMode>
           <workingDirectory>target/test-output</workingDirectory>

Modified: incubator/lcf/trunk/connectors/documentum/build.xml
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/documentum/build.xml?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/documentum/build.xml (original)
+++ incubator/lcf/trunk/connectors/documentum/build.xml Wed Dec 28 00:42:19 2011
@@ -130,6 +130,7 @@
                 <pathelement location="build/rmistub/classes"/>
             </classpath>
         </javac>
+        <native2ascii encoding="UTF-8" src="connector/src/main/native2ascii" dest="build/connector/classes" includes="**/*.properties" />
     </target>
 
     <target name="jar-interface" depends="compile-interface,precompile-check" if="canBuild">
@@ -164,7 +165,10 @@
     
     <target name="jar-connector" depends="compile-connector,precompile-check" if="canBuild">
         <mkdir dir="build/jar"/>
-        <jar destfile="build/jar/mcf-documentum-connector.jar" basedir="build/connector/classes"/>
+        <jar destfile="build/jar/mcf-documentum-connector.jar">
+        	<fileset dir="build/connector/classes"/>
+          <!-- fileset dir="connector/src/main/resource"/ -->
+        </jar>
     </target>
 
     <target name="lib" depends="jar-interface,jar-rmistub,jar-connector,precompile-check" if="canBuild">

Modified: incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java (original)
+++ incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/authorities/DCTM/AuthorityConnector.java Wed Dec 28 00:42:19 2011
@@ -986,7 +986,8 @@ public class AuthorityConnector extends 
   *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
   */
   @Override
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, List<String> tabsArray)
+  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters, List<String> tabsArray)
     throws ManifoldCFException, IOException
   {
     tabsArray.add("Docbase");
@@ -1036,7 +1037,8 @@ public class AuthorityConnector extends 
   *@param tabName is the current tab name.
   */
   @Override
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
+  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters, String tabName)
     throws ManifoldCFException, IOException
   {
     String docbaseName = parameters.getParameter(org.apache.manifoldcf.crawler.authorities.DCTM.AuthorityConnector.CONFIG_PARAM_DOCBASE);
@@ -1174,7 +1176,8 @@ public class AuthorityConnector extends 
   *@return null if all is well, or a string error message if there is an error that should prevent saving of the connection (and cause a redirection to an error page).
   */
   @Override
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
+  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext,
+    Locale locale, ConfigParams parameters)
     throws ManifoldCFException
   {
     String docbaseName = variableContext.getParameter("docbasename");
@@ -1212,7 +1215,8 @@ public class AuthorityConnector extends 
   *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
   */
   @Override
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
+  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters)
     throws ManifoldCFException, IOException
   {
     out.print(

Modified: incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java (original)
+++ incubator/lcf/trunk/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java Wed Dec 28 00:42:19 2011
@@ -1887,6 +1887,8 @@ public class DCTM extends org.apache.man
   @Override
   public void releaseDocumentVersions(String[] documentIdentifiers, String[] versions)
     throws ManifoldCFException
+
+
   {
     // Nothing to do
   }
@@ -1915,11 +1917,12 @@ public class DCTM extends org.apache.man
   *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
   */
   @Override
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, List<String> tabsArray)
+  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters, List<String> tabsArray)
     throws ManifoldCFException, IOException
   {
-    tabsArray.add("Docbase");
-    tabsArray.add("Webtop");
+    tabsArray.add(Messages.getString(locale,"DCTM.Docbase"));
+    tabsArray.add(Messages.getString(locale,"DCTM.Webtop"));
     
     out.print(
 "<script type=\"text/javascript\">\n"+
@@ -1929,28 +1932,28 @@ public class DCTM extends org.apache.man
 "  if (editconnection.docbasename.value == \"\")\n"+
 "  {\n"+
 "    alert(\"Please supply the name of a Docbase\");\n"+
-"    SelectTab(\"Docbase\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"DCTM.Docbase") + "\");\n"+
 "    editconnection.docbasename.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.docbaseusername.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The connection requires a valid Documentum user name\");\n"+
-"    SelectTab(\"Docbase\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"DCTM.Docbase") + "\");\n"+
 "    editconnection.docbaseusername.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.docbasepassword.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The connection requires the Documentum user's password\");\n"+
-"    SelectTab(\"Docbase\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"DCTM.Docbase") + "\");\n"+
 "    editconnection.docbasepassword.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.webtopbaseurl.value == \"\")\n"+
 "  {\n"+
 "    alert(\"Please specify the base url to a webtop to serve selected documents\");\n"+
-"    SelectTab(\"Webtop\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"DCTM.Webtop") + "\");\n"+
 "    editconnection.webtopbaseurl.focus();\n"+
 "    return false;\n"+
 "  }\n"+
@@ -1972,7 +1975,8 @@ public class DCTM extends org.apache.man
   *@param tabName is the current tab name.
   */
   @Override
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
+  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters, String tabName)
     throws ManifoldCFException, IOException
   {
     String docbaseName = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.DCTM.DCTM.CONFIG_PARAM_DOCBASE);
@@ -1992,22 +1996,22 @@ public class DCTM extends org.apache.man
       webtopBaseUrl = "http://localhost/webtop/";
 
     // "Docbase" tab
-    if (tabName.equals("Docbase"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.Docbase")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Docbase name:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"docbasename\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbaseName)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.DocbaseName") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"docbasename\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbaseName)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Docbase user name:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"docbaseusername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbaseUserName)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.DocbaseUserName") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"docbaseusername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbaseUserName)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Docbase password:</nobr></td><td class=\"value\"><input type=\"password\" size=\"32\" name=\"docbasepassword\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbasePassword)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.DocbasePassword") + "</nobr></td><td class=\"value\"><input type=\"password\" size=\"32\" name=\"docbasepassword\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbasePassword)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Docbase domain:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"docbasedomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbaseDomain)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.DocbaseDomain") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"docbasedomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(docbaseDomain)+"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -2024,13 +2028,13 @@ public class DCTM extends org.apache.man
     }
 
     // Webtop tab
-    if (tabName.equals("Webtop"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.Webtop")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Webtop Base URL:</nobr></td><td class=\"value\"><input type=\"text\" size=\"64\" name=\"webtopbaseurl\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(webtopBaseUrl)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.WebtopBaseURL") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"64\" name=\"webtopbaseurl\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(webtopBaseUrl)+"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -2054,7 +2058,8 @@ public class DCTM extends org.apache.man
   *@return null if all is well, or a string error message if there is an error that should prevent saving of the connection (and cause a redirection to an error page).
   */
   @Override
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
+  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext,
+    Locale locale, ConfigParams parameters)
     throws ManifoldCFException
   {
     String docbaseName = variableContext.getParameter("docbasename");
@@ -2088,13 +2093,14 @@ public class DCTM extends org.apache.man
   *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
   */
   @Override
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
+  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters)
     throws ManifoldCFException, IOException
   {
     out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr>\n"+
-"    <td class=\"description\" colspan=\"1\"><nobr>Parameters:</nobr></td>\n"+
+"    <td class=\"description\" colspan=\"1\"><nobr>" + Messages.getBodyString(locale,"DCTM.Parameters") + "</nobr></td>\n"+
 "    <td class=\"value\" colspan=\"3\">\n"
     );
     Iterator iter = parameters.listParameters();
@@ -2137,15 +2143,15 @@ public class DCTM extends org.apache.man
   *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
   */
   @Override
-  public void outputSpecificationHeader(IHTTPOutput out, DocumentSpecification ds, List<String> tabsArray)
+  public void outputSpecificationHeader(IHTTPOutput out, Locale locale, DocumentSpecification ds, List<String> tabsArray)
     throws ManifoldCFException, IOException
   {
-    tabsArray.add("Paths");
-    tabsArray.add("Document Types");
-    tabsArray.add("Content Types");
-    tabsArray.add("Content Length");
-    tabsArray.add("Security");
-    tabsArray.add("Path Metadata");
+    tabsArray.add(Messages.getString(locale,"DCTM.Paths"));
+    tabsArray.add(Messages.getString(locale,"DCTM.DocumentTypes"));
+    tabsArray.add(Messages.getString(locale,"DCTM.ContentTypes"));
+    tabsArray.add(Messages.getString(locale,"DCTM.ContentLength"));
+    tabsArray.add(Messages.getString(locale,"DCTM.Security"));
+    tabsArray.add(Messages.getString(locale,"DCTM.PathMetadata"));
     out.print(
 "<script type=\"text/javascript\">\n"+
 "<!--\n"+
@@ -2222,14 +2228,14 @@ public class DCTM extends org.apache.man
   *@param tabName is the current tab name.
   */
   @Override
-  public void outputSpecificationBody(IHTTPOutput out, DocumentSpecification ds, String tabName)
+  public void outputSpecificationBody(IHTTPOutput out, Locale locale, DocumentSpecification ds, String tabName)
     throws ManifoldCFException, IOException
   {
     int i;
     int k;
 
     // Paths tab
-    if (tabName.equals("Paths"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.Paths")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
@@ -2255,6 +2261,7 @@ public class DCTM extends org.apache.man
 "      </a>&nbsp;\n"+
 "    </td>\n"+
 "    <td class=\"value\">\n"+
+
 "      "+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(sn.getAttributeValue("path"))+"\n"+
 "    </td>\n"+
 "  </tr>\n"
@@ -2386,13 +2393,13 @@ public class DCTM extends org.apache.man
       }
     }
 
-    if (tabName.equals("Security"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.Security")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Security:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.Security2") + "</nobr></td>\n"+
 "    <td class=\"value\" colspan=\"1\">\n"+
 "      <input type=\"radio\" name=\"specsecurity\" value=\"on\" "+((securityOn)?"checked=\"true\"":"")+" />Enabled&nbsp;\n"+
 "      <input type=\"radio\" name=\"specsecurity\" value=\"off\" "+((securityOn==false)?"checked=\"true\"":"")+" />Disabled\n"+
@@ -2432,7 +2439,7 @@ public class DCTM extends org.apache.man
       {
         out.print(
 "  <tr>\n"+
-"    <td class=\"message\" colspan=\"2\">No access tokens present</td>\n"+
+"    <td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"DCTM.NoAccessTokensPresent") + "</td>\n"+
 "  </tr>\n"
         );
       }
@@ -2516,7 +2523,7 @@ public class DCTM extends org.apache.man
       }
     }
 
-    if (tabName.equals("Document Types"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.DocumentTypes")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
@@ -2676,7 +2683,7 @@ public class DCTM extends org.apache.man
       }
     }
 
-    if (tabName.equals("Content Types"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.ContentTypes")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
@@ -2772,7 +2779,7 @@ public class DCTM extends org.apache.man
       }
     }
 
-    if (tabName.equals("Content Length"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.ContentLength")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
@@ -2824,7 +2831,7 @@ public class DCTM extends org.apache.man
       }
     }
 
-    if (tabName.equals("Path Metadata"))
+    if (tabName.equals(Messages.getString(locale,"DCTM.PathMetadata")))
     {
       out.print(
 "<input type=\"hidden\" name=\"specmappingcount\" value=\""+Integer.toString(matchMap.getMatchCount())+"\"/>\n"+
@@ -2833,7 +2840,7 @@ public class DCTM extends org.apache.man
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"4\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\" colspan=\"1\"><nobr>Path attribute name:</nobr></td>\n"+
+"    <td class=\"description\" colspan=\"1\"><nobr>" + Messages.getBodyString(locale,"DCTM.PathAttributeName") + "</nobr></td>\n"+
 "    <td class=\"value\" colspan=\"3\">\n"+
 "      <input type=\"text\" name=\"specpathnameattribute\" size=\"20\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(pathNameAttribute)+"\"/>\n"+
 "    </td>\n"+
@@ -2849,7 +2856,7 @@ public class DCTM extends org.apache.man
 "  <tr>\n"+
 "    <td class=\"description\"><input type=\"hidden\" name=\""+"specmappingop_"+Integer.toString(i)+"\" value=\"\"/>\n"+
 "      <a name=\""+"mapping_"+Integer.toString(i)+"\">\n"+
-"        <input type=\"button\" onClick='Javascript:SpecOp(\"specmappingop_"+Integer.toString(i)+"\",\"Delete\",\"mapping_"+Integer.toString(i)+"\")' alt=\"Delete mapping #"+Integer.toString(i)+"\" value=\"Delete\"/>\n"+
+"        <input type=\"button\" onClick='Javascript:SpecOp(\"specmappingop_"+Integer.toString(i)+"\",\"" + Messages.getAttributeJavascriptString(locale,"DCTM.Delete") + "\",\"mapping_"+Integer.toString(i)+"\")' alt=\"" + Messages.getAttributeString(locale,"DCTM.DeleteMapping") + Integer.toString(i)+"\" value=\"Delete\"/>\n"+
 "      </a>\n"+
 "    </td>\n"+
 "    <td class=\"value\"><input type=\"hidden\" name=\"specmatch_"+Integer.toString(i)+"\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(matchString)+"\"/>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(matchString)+"</td>\n"+
@@ -2862,7 +2869,7 @@ public class DCTM extends org.apache.man
       if (i == 0)
       {
         out.print(
-"  <tr><td colspan=\"4\" class=\"message\">No mappings specified</td></tr>\n"
+"  <tr><td colspan=\"4\" class=\"message\">" + Messages.getBodyString(locale,"DCTM.NoMappingsSpecified") + "</td></tr>\n"
         );
       }
       out.print(
@@ -2871,12 +2878,12 @@ public class DCTM extends org.apache.man
 "  <tr>\n"+
 "    <td class=\"description\">\n"+
 "      <a name=\""+"mapping_"+Integer.toString(i)+"\">\n"+
-"        <input type=\"button\" onClick='Javascript:SpecAddMapping(\"mapping_"+Integer.toString(i+1)+"\")' alt=\"Add to mappings\" value=\"Add\"/>\n"+
+"        <input type=\"button\" onClick='Javascript:SpecAddMapping(\"mapping_"+Integer.toString(i+1)+"\")' alt=\"" + Messages.getAttributeString(locale,"DCTM.AddToMappings") + "\" value=\"" + Messages.getAttributeString(locale,"DCTM.Add") + "\"/>\n"+
 "      </a>\n"+
 "    </td>\n"+
-"    <td class=\"value\">Match regexp:&nbsp;<input type=\"text\" name=\"specmatch\" size=\"32\" value=\"\"/></td>\n"+
+"    <td class=\"value\">" + Messages.getBodyString(locale,"DCTM.MatchRegexp") + "&nbsp;<input type=\"text\" name=\"specmatch\" size=\"32\" value=\"\"/></td>\n"+
 "    <td class=\"value\">==></td>\n"+
-"    <td class=\"value\">Replace string:&nbsp;<input type=\"text\" name=\"specreplace\" size=\"32\" value=\"\"/></td>\n"+
+"    <td class=\"value\">" + Messages.getBodyString(locale,"DCTM.ReplaceString") + "&nbsp;<input type=\"text\" name=\"specreplace\" size=\"32\" value=\"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -2910,7 +2917,7 @@ public class DCTM extends org.apache.man
   *@return null if all is well, or a string error message if there is an error that should prevent saving of the job (and cause a redirection to an error page).
   */
   @Override
-  public String processSpecificationPost(IPostParameters variableContext, DocumentSpecification ds)
+  public String processSpecificationPost(IPostParameters variableContext, Locale locale, DocumentSpecification ds)
     throws ManifoldCFException
   {
     String x = variableContext.getParameter("pathcount");
@@ -3219,7 +3226,7 @@ public class DCTM extends org.apache.man
   *@param ds is the current document specification for this job.
   */
   @Override
-  public void viewSpecification(IHTTPOutput out, DocumentSpecification ds)
+  public void viewSpecification(IHTTPOutput out, Locale locale, DocumentSpecification ds)
     throws ManifoldCFException, IOException
   {
     out.print(
@@ -3237,7 +3244,7 @@ public class DCTM extends org.apache.man
         {
           seenAny = true;
           out.print(
-"    <td class=\"description\">Cabinet/folder paths:</td>\n"+
+"    <td class=\"description\">" + Messages.getBodyString(locale,"DCTM.CabinetFolderPaths") + "</td>\n"+
 "    <td class=\"value\">\n"
           );
         }
@@ -3256,7 +3263,7 @@ public class DCTM extends org.apache.man
     else
     {
       out.print(
-"    <td colspan=\"2\" class=\"message\">No cabinet/folder paths specified (everything in docbase will be scanned)</td>\n"
+"    <td colspan=\"2\" class=\"message\">" + Messages.getBodyString(locale,"DCTM.NoCabinetFolderPathsSpecified") + "</td>\n"
       );
     }
     out.print(
@@ -3275,7 +3282,7 @@ public class DCTM extends org.apache.man
         if (seenAny == false)
         {
           out.print(
-"    <td class=\"description\"><nobr>Object types:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.ObjectTypes") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <table class=\"displaytable\">\n"
           );
@@ -3292,7 +3299,7 @@ public class DCTM extends org.apache.man
         );
         if (isAll != null && isAll.equals("true"))
           out.print(
-"            <nobr>(all metadata attributes)</nobr>\n"
+"            <nobr>" + Messages.getBodyString(locale,"DCTM.allMetadataAttributes") + "</nobr>\n"
           );
         else
         {
@@ -3326,7 +3333,7 @@ public class DCTM extends org.apache.man
     else
     {
       out.print(
-"    <td colspan=\"2\" class=\"message\">No document types specified</td>\n"
+"    <td colspan=\"2\" class=\"message\">" + Messages.getBodyString(locale,"DCTM.NoDocumentTypesSpecified") + "</td>\n"
       );
     }
     out.print(
@@ -3345,7 +3352,7 @@ public class DCTM extends org.apache.man
         if (seenAny == false)
         {
           out.print(
-"    <td class=\"description\"><nobr>Content types:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.ContentTypes2") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"
           );
           seenAny = true;
@@ -3365,7 +3372,7 @@ public class DCTM extends org.apache.man
     else
     {
       out.print(
-"    <td colspan=\"2\" class=\"message\">No mime types specified - ALL will be ingested</td>\n"
+"    <td colspan=\"2\" class=\"message\">" + Messages.getBodyString(locale,"DCTM.NoMimeTypesSpecified") + "</td>\n"
       );
     }
     out.print(
@@ -3388,7 +3395,7 @@ public class DCTM extends org.apache.man
     out.print(
 "\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Maximum document length:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.MaximumDocumentLength") + "</nobr></td>\n"+
 "    <td class=\"value\">"+maxDocumentLength+"</td>\n"+
 "  </tr>\n"+
 "\n"+
@@ -3414,7 +3421,7 @@ public class DCTM extends org.apache.man
     out.print(
 "\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Security:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.Security2") + "</nobr></td>\n"+
 "    <td class=\"value\">"+((securityOn)?"Enabled":"Disabled")+"</td>\n"+
 "  </tr>\n"+
 "\n"+
@@ -3432,7 +3439,7 @@ public class DCTM extends org.apache.man
         {
           out.print(
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Access tokens:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.AccessTokens") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"
           );
           seenAny = true;
@@ -3454,7 +3461,7 @@ public class DCTM extends org.apache.man
     else
     {
       out.print(
-"  <tr><td class=\"message\" colspan=\"2\">No access tokens specified</td></tr>\n"
+"  <tr><td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"DCTM.NoAccessTokensSpecified") + "</td></tr>\n"
       );
     }
 
@@ -3481,14 +3488,14 @@ public class DCTM extends org.apache.man
     if (pathNameAttribute.length() > 0)
     {
       out.print(
-"    <td class=\"description\">Path-name metadata attribute:</td>\n"+
+"    <td class=\"description\">" + Messages.getBodyString(locale,"DCTM.PathNameMetadataAttribute") + "</td>\n"+
 "    <td class=\"value\">"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(pathNameAttribute)+"</td>\n"
       );
     }
     else
     {
       out.print(
-"    <td class=\"message\" colspan=\"2\">No path-name metadata attribute specified</td>\n"
+"    <td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"DCTM.NoPathNameMetadataAttributeSpecified") + "</td>\n"
       );
     }
     
@@ -3516,7 +3523,7 @@ public class DCTM extends org.apache.man
     if (matchMap.getMatchCount() > 0)
     {
       out.print(
-"    <td class=\"description\"><nobr>Path-value mapping:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.PathValueMapping") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <table class=\"displaytable\">\n"
       );
@@ -3543,7 +3550,7 @@ public class DCTM extends org.apache.man
     else
     {
       out.print(
-"    <td class=\"message\" colspan=\"2\">No mappings specified</td>\n"
+"    <td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"DCTM.NoMappingsSpecified") + "</td>\n"
       );
     }
 

Modified: incubator/lcf/trunk/connectors/filenet/build.xml
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/filenet/build.xml?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/filenet/build.xml (original)
+++ incubator/lcf/trunk/connectors/filenet/build.xml Wed Dec 28 00:42:19 2011
@@ -125,6 +125,7 @@
                 <pathelement location="build/rmistub/classes"/>
             </classpath>
         </javac>
+        <native2ascii encoding="UTF-8" src="connector/src/main/native2ascii" dest="build/connector/classes" includes="**/*.properties" />
     </target>
 
     <target name="jar-interface" depends="compile-interface,precompile-check" if="canBuild">
@@ -159,7 +160,10 @@
     
     <target name="jar-connector" depends="compile-connector,precompile-check" if="canBuild">
         <mkdir dir="build/jar"/>
-        <jar destfile="build/jar/mcf-filenet-connector.jar" basedir="build/connector/classes"/>
+        <jar destfile="build/jar/mcf-filenet-connector.jar">
+        	<fileset dir="build/connector/classes"/>
+          <!-- fileset dir="connector/src/main/resource"/ -->
+        </jar>
     </target>
 
     <target name="lib" depends="jar-interface,jar-rmistub,jar-connector,precompile-check" if="canBuild">

Modified: incubator/lcf/trunk/connectors/filenet/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filenet/FilenetConnector.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/filenet/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filenet/FilenetConnector.java?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/filenet/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filenet/FilenetConnector.java (original)
+++ incubator/lcf/trunk/connectors/filenet/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filenet/FilenetConnector.java Wed Dec 28 00:42:19 2011
@@ -1109,6 +1109,7 @@ public class FilenetConnector extends or
             if (Logging.connectors.isDebugEnabled())
               Logging.connectors.debug("FileNet: Skipping file '"+documentIdentifier+"' because: "+e.getMessage(),e);
             rval[i] = null;
+
           }
           else
             throw new ManifoldCFException(e.getMessage(),e);
@@ -1450,13 +1451,14 @@ public class FilenetConnector extends or
   *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
   */
   @Override
-  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, List<String> tabsArray)
+  public void outputConfigurationHeader(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters, List<String> tabsArray)
     throws ManifoldCFException, IOException
   {
-    tabsArray.add("Server");
-    tabsArray.add("Object Store");
-    tabsArray.add("Document URL");
-    tabsArray.add("Credentials");
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.Server"));
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.ObjectStore"));
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.DocumentURL"));
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.Credentials"));
     out.print(
 "<script type=\"text/javascript\">\n"+
 "<!--\n"+
@@ -1483,28 +1485,28 @@ public class FilenetConnector extends or
 "  if (editconnection.serverhostname.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The connection requires a FileNet host name\");\n"+
-"    SelectTab(\"Server\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.Server") + "\");\n"+
 "    editconnection.serverhostname.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.serverport.value != \"\" && !isInteger(editconnection.serverport.value))\n"+
 "  {\n"+
 "    alert(\"The server port must be an integer\");\n"+
-"    SelectTab(\"Server\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.Server") + "\");\n"+
 "    editconnection.serverport.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.urlhostname.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The Document URL requires a host name\");\n"+
-"    SelectTab(\"Document URL\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.DocumentURL") + "\");\n"+
 "    editconnection.urlhostname.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.urlport.value != \"\" && !isInteger(editconnection.urlport.value))\n"+
 "  {\n"+
 "    alert(\"The Document URL port must be an integer\");\n"+
-"    SelectTab(\"Document URL\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.DocumentURL") + "\");\n"+
 "    editconnection.urlport.focus();\n"+
 "    return false;\n"+
 "  }\n"+
@@ -1512,28 +1514,28 @@ public class FilenetConnector extends or
 "  if (editconnection.filenetdomain.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The file net domain name cannot be null\");\n"+
-"    SelectTab(\"Object Store\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.ObjectStore") + "\");\n"+
 "    editconnection.filenetdomain.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.objectstore.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The object store name cannot be null\");\n"+
-"    SelectTab(\"Object Store\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.ObjectStore") + "\");\n"+
 "    editconnection.objectstore.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.userid.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The connection requires a valid FileNet user ID\");\n"+
-"    SelectTab(\"Credentials\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.Credentials") + "\");\n"+
 "    editconnection.userid.focus();\n"+
 "    return false;\n"+
 "  }\n"+
 "  if (editconnection.password.value == \"\")\n"+
 "  {\n"+
 "    alert(\"The connection requires the FileNet user's password\");\n"+
-"    SelectTab(\"Credentials\");\n"+
+"    SelectTab(\"" + Messages.getBodyJavascriptString(locale,"FilenetConnector.Credentials") + "\");\n"+
 "    editconnection.password.focus();\n"+
 "    return false;\n"+
 "  }\n"+
@@ -1555,7 +1557,8 @@ public class FilenetConnector extends or
   *@param tabName is the current tab name.
   */
   @Override
-  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters, String tabName)
+  public void outputConfigurationBody(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters, String tabName)
     throws ManifoldCFException, IOException
   {
     String userID = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.filenet.FilenetConnector.CONFIG_PARAM_USERID);
@@ -1600,13 +1603,13 @@ public class FilenetConnector extends or
       urllocation = "Workplace/Browse.jsp";
 
     // "Server" tab
-    if (tabName.equals("Server"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.Server")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Server protocol:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.ServerProtocol") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <select name=\"serverprotocol\" size=\"2\">\n"+
 "        <option value=\"http\" "+(serverprotocol.equals("http")?"selected=\"true\"":"")+">http</option>\n"+
@@ -1615,13 +1618,13 @@ public class FilenetConnector extends or
 "    </td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Server host name:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverhostname\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverhostname)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.ServerHostName") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverhostname\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverhostname)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Server port:</nobr></td><td class=\"value\"><input type=\"text\" size=\"5\" name=\"serverport\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverport)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.ServerPort") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"5\" name=\"serverport\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverport)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Server web service location:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverwsilocation\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverwsilocation)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.ServerWebServiceLocation") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverwsilocation\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverwsilocation)+"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -1638,13 +1641,13 @@ public class FilenetConnector extends or
     }
 
     // "Document URL" tab
-    if (tabName.equals("Document URL"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.DocumentURL")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Document URL protocol:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentURLProtocol") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <select name=\"urlprotocol\" size=\"2\">\n"+
 "        <option value=\"http\" "+(serverprotocol.equals("http")?"selected=\"true\"":"")+">http</option>\n"+
@@ -1653,13 +1656,13 @@ public class FilenetConnector extends or
 "    </td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Document URL host name:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"urlhostname\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(urlhostname)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentURLHostName") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"urlhostname\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(urlhostname)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Document URL port:</nobr></td><td class=\"value\"><input type=\"text\" size=\"5\" name=\"urlport\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(urlport)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentURLPort") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"5\" name=\"urlport\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(urlport)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Document URL location:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"urllocation\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(urllocation)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentURLLocation") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"urllocation\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(urllocation)+"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -1676,16 +1679,16 @@ public class FilenetConnector extends or
     }
 
     // "Object Store" tab
-    if (tabName.equals("Object Store"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.ObjectStore")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>FileNet domain name:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"filenetdomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(filenetdomain)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.FileNetDomainName") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"filenetdomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(filenetdomain)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Object store name:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"objectstore\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(objectstore)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.ObjectStoreName") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"objectstore\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(objectstore)+"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -1701,16 +1704,16 @@ public class FilenetConnector extends or
 
 
     // "Credentials" tab
-    if (tabName.equals("Credentials"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.Credentials")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>User ID:</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"userid\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(userID)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.UserID") + "</nobr></td><td class=\"value\"><input type=\"text\" size=\"32\" name=\"userid\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(userID)+"\"/></td>\n"+
 "  </tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Password:</nobr></td><td class=\"value\"><input type=\"password\" size=\"32\" name=\"password\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(password)+"\"/></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.Password") + "</nobr></td><td class=\"value\"><input type=\"password\" size=\"32\" name=\"password\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(password)+"\"/></td>\n"+
 "  </tr>\n"+
 "</table>\n"
       );
@@ -1736,7 +1739,8 @@ public class FilenetConnector extends or
   *@return null if all is well, or a string error message if there is an error that should prevent saving of the connection (and cause a redirection to an error page).
   */
   @Override
-  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext, ConfigParams parameters)
+  public String processConfigurationPost(IThreadContext threadContext, IPostParameters variableContext,
+    Locale locale, ConfigParams parameters)
     throws ManifoldCFException
   {
     String serverprotocol = variableContext.getParameter("serverprotocol");
@@ -1797,15 +1801,17 @@ public class FilenetConnector extends or
   *@param parameters are the configuration parameters, as they currently exist, for this connection being configured.
   */
   @Override
-  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out, ConfigParams parameters)
+  public void viewConfiguration(IThreadContext threadContext, IHTTPOutput out,
+    Locale locale, ConfigParams parameters)
     throws ManifoldCFException, IOException
   {
     out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr>\n"+
-"    <td class=\"description\" colspan=\"1\"><nobr>Parameters:</nobr></td>\n"+
+"    <td class=\"description\" colspan=\"1\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.Parameters") + "</nobr></td>\n"+
 "    <td class=\"value\" colspan=\"3\">\n"
     );
+
     Iterator iter = parameters.listParameters();
     while (iter.hasNext())
     {
@@ -1846,13 +1852,13 @@ public class FilenetConnector extends or
   *@param tabsArray is an array of tab names.  Add to this array any tab names that are specific to the connector.
   */
   @Override
-  public void outputSpecificationHeader(IHTTPOutput out, DocumentSpecification ds, List<String> tabsArray)
+  public void outputSpecificationHeader(IHTTPOutput out, Locale locale, DocumentSpecification ds, List<String> tabsArray)
     throws ManifoldCFException, IOException
   {
-    tabsArray.add("Document Classes");
-    tabsArray.add("Mime Types");
-    tabsArray.add("Folders");
-    tabsArray.add("Security");
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.DocumentClasses"));
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.MimeTypes"));
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.Folders"));
+    tabsArray.add(Messages.getString(locale,"FilenetConnector.Security"));
     out.print(
 "<script type=\"text/javascript\">\n"+
 "<!--\n"+
@@ -1923,7 +1929,7 @@ public class FilenetConnector extends or
   *@param tabName is the current tab name.
   */
   @Override
-  public void outputSpecificationBody(IHTTPOutput out, DocumentSpecification ds, String tabName)
+  public void outputSpecificationBody(IHTTPOutput out, Locale locale, DocumentSpecification ds, String tabName)
     throws ManifoldCFException, IOException
   {
     int i;
@@ -1947,7 +1953,7 @@ public class FilenetConnector extends or
     }
 
     // Folders tab
-    if (tabName.equals("Folders"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.Folders")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
@@ -1970,7 +1976,7 @@ public class FilenetConnector extends or
 "  <tr>\n"+
 "    <td class=\"value\">\n"+
 "      <a name=\""+"path_"+Integer.toString(k)+"\">\n"+
-"        <input type=\"button\" value=\"Delete\" alt=\""+"Delete path #"+Integer.toString(k)+"\" onClick='Javascript:SpecOp(\""+pathOpName+"\",\"Delete\",\"path_"+Integer.toString(k)+"\")'/>\n"+
+"        <input type=\"button\" value=\"" + Messages.getAttributeString(locale,"FilenetConnector.Delete") + "\" alt=\""+Messages.getAttributeString(locale,"FilenetConnector.DeletePath")+Integer.toString(k)+"\" onClick='Javascript:SpecOp(\""+pathOpName+"\",\"Delete\",\"path_"+Integer.toString(k)+"\")'/>\n"+
 "      </a>&nbsp;\n"+
 "    </td>\n"+
 "    <td class=\"value\">\n"+
@@ -1987,7 +1993,7 @@ public class FilenetConnector extends or
       {
         out.print(
 "  <tr>\n"+
-"    <td class=\"message\" colspan=\"2\">No folders chosen - all documents will be taken</td>\n"+
+"    <td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"FilenetConnector.NoFoldersChosen") + "</td>\n"+
 "  </tr>\n"
         );
       }
@@ -2020,22 +2026,22 @@ public class FilenetConnector extends or
         out.print(
 "          <input type=\"hidden\" name=\"specpath\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(pathSoFar)+"\"/>\n"+
 "          <input type=\"hidden\" name=\"pathop\" value=\"\"/>\n"+
-"          <input type=\"button\" value=\"Add\" alt=\"Add path\" onClick='Javascript:SpecOp(\"pathop\",\"Add\",\"path_"+Integer.toString(k+1)+"\")'/>\n"+
+"          <input type=\"button\" value=\"" + Messages.getAttributeString(locale,"FilenetConnector.Add") + "\" alt=\"" + Messages.getAttributeString(locale,"FilenetConnector.AddPath") + "\" onClick='Javascript:SpecOp(\"pathop\",\"Add\",\"path_"+Integer.toString(k+1)+"\")'/>\n"+
 "          &nbsp;"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(pathSoFar)+"\n"
         );
         if (pathSoFar.length() > 0)
         {
           out.print(
-"          <input type=\"button\" value=\"-\" alt=\"Remove from path\" onClick='Javascript:SpecOp(\"pathop\",\"Up\",\"path_"+Integer.toString(k)+"\")'/>\n"
+"          <input type=\"button\" value=\"-\" alt=\"" + Messages.getAttributeString(locale,"FilenetConnector.RemoveFromPath") + "\" onClick='Javascript:SpecOp(\"pathop\",\"Up\",\"path_"+Integer.toString(k)+"\")'/>\n"
           );
         }
         if (childList.length > 0)
         {
           out.print(
 "          <nobr>\n"+
-"            <input type=\"button\" value=\"+\" alt=\"Add to path\" onClick='Javascript:SpecAddToPath(\"path_"+Integer.toString(k)+"\")'/>&nbsp;\n"+
+"            <input type=\"button\" value=\"+\" alt=\"" + Messages.getAttributeString(locale,"FilenetConnector.AddToPath") + "\" onClick='Javascript:SpecAddToPath(\"path_"+Integer.toString(k)+"\")'/>&nbsp;\n"+
 "            <select multiple=\"false\" name=\"pathaddon\" size=\"4\">\n"+
-"              <option value=\"\" selected=\"selected\">-- Pick a folder --</option>\n"
+"              <option value=\"\" selected=\"selected\">-- " + Messages.getBodyString(locale,"FilenetConnector.PickAFolder") + " --</option>\n"
           );
           int j = 0;
           while (j < childList.length)
@@ -2094,7 +2100,7 @@ public class FilenetConnector extends or
     }
     
     // Document classes tab
-    if (tabName.equals("Document Classes"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.DocumentClasses")))
     {
       out.print(
 "<input type=\"hidden\" name=\"hasdocumentclasses\" value=\"true\"/>\n"+
@@ -2149,7 +2155,7 @@ public class FilenetConnector extends or
 "      <table class=\"displaytable\">\n"+
 "        <tr>\n"+
 "          <td class=\"description\">\n"+
-"            <nobr>Include?</nobr>\n"+
+"            <nobr>" + Messages.getBodyString(locale,"FilenetConnector.Include") + "</nobr>\n"+
 "          </td>\n"+
 "          <td class=\"value\">\n"+
 "            <nobr><input type=\"checkbox\" name=\"documentclasses\" "+((spec != null)?"checked=\"true\"":"")+" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\"></input></nobr>\n"+
@@ -2157,7 +2163,7 @@ public class FilenetConnector extends or
 "        </tr>\n"+
 "        <tr>\n"+
 "          <td class=\"description\">\n"+
-"            <nobr>Document criteria:</nobr>\n"+
+"            <nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentCriteria") + "</nobr>\n"+
 "          </td>\n"+
 "          <td class=\"boxcell\">\n"+
 "            <table class=\"displaytable\">\n"
@@ -2188,7 +2194,7 @@ public class FilenetConnector extends or
 "                <td class=\"description\">\n"+
 "                  <input type=\"hidden\" name=\""+opName+"\" value=\"\"/>\n"+
 "                  <a name=\""+labelName+"\">\n"+
-"                    <input type=\"button\" value=\"Delete\" alt=\"Delete "+documentClass+" match # "+Integer.toString(q)+"\" onClick='Javascript:SpecOp(\""+opName+"\",\"Delete\",\""+labelName+"\")'/>\n"+
+"                    <input type=\"button\" value=\"" + Messages.getAttributeString(locale,"FilenetConnector.Delete") + "\" alt=\"" + Messages.getAttributeString(locale,"FilenetConnector.Delete") + documentClass+" match # "+Integer.toString(q)+"\" onClick='Javascript:SpecOp(\""+opName+"\",\"Delete\",\""+labelName+"\")'/>\n"+
 "                  </a>\n"+
 "                </td>\n"+
 "                <td class=\"value\">\n"+
@@ -2210,7 +2216,7 @@ public class FilenetConnector extends or
           if (q == 0)
           {
             out.print(
-"              <tr><td class=\"message\" colspan=\"4\"><nobr>(No criteria specified - all documents will be taken)</nobr></td></tr>\n"
+"              <tr><td class=\"message\" colspan=\"4\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.NoCriteriaSpecified") + "</nobr></td></tr>\n"
             );
           }
           String addLabelName = "match_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"_"+Integer.toString(q);
@@ -2222,7 +2228,7 @@ public class FilenetConnector extends or
 "                  <input type=\"hidden\" name=\""+"matchcount_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\" value=\""+Integer.toString(matchCount)+"\"/>\n"+
 "                  <input type=\"hidden\" name=\""+addOpName+"\" value=\"\"/>\n"+
 "                  <a name=\""+addLabelName+"\">\n"+
-"                    <input type=\"button\" value=\"Add\" alt=\"Add match for "+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\" onClick='Javascript:SpecAddMatch(\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\",\"match_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"_"+Integer.toString(q+1)+"\")'/>\n"+
+"                    <input type=\"button\" value=\"" + Messages.getAttributeString(locale,"FilenetConnector.Add") + "\" alt=\"Add match for "+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\" onClick='Javascript:SpecAddMatch(\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\",\"match_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"_"+Integer.toString(q+1)+"\")'/>\n"+
 "                  </a>\n"+
 "                </td>\n"+
 "                <td class=\"value\">\n"+
@@ -2257,7 +2263,7 @@ public class FilenetConnector extends or
 "        </tr>\n"+
 "        <tr>\n"+
 "          <td class=\"description\">\n"+
-"            <nobr>Ingest all metadata fields?</nobr>\n"+
+"            <nobr>" + Messages.getBodyString(locale,"FilenetConnector.IngestAllMetadataFields") + "</nobr>\n"+
 "          </td>\n"+
 "          <td class=\"value\">\n"+
 "            <nobr><input type=\"checkbox\" name=\"allmetadata_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(documentClass)+"\" value=\"true\" "+((spec != null && spec.getAllMetadata())?"checked=\"\"":"")+"></input></nobr><br/>\n"+
@@ -2265,7 +2271,7 @@ public class FilenetConnector extends or
 "        </tr>\n"+
 "        <tr>\n"+
 "          <td class=\"description\">\n"+
-"            <nobr>Metadata fields:</nobr>\n"+
+"            <nobr>" + Messages.getBodyString(locale,"FilenetConnector.MetadataFields") + "</nobr>\n"+
 "          </td>\n"+
 "          <td class=\"value\">\n"+
 "            <nobr>\n"+
@@ -2362,7 +2368,7 @@ public class FilenetConnector extends or
       }
     }
 
-    if (tabName.equals("Mime Types"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.MimeTypes")))
     {
       out.print(
 "<input type=\"hidden\" name=\"hasmimetypes\" value=\"true\"/>\n"+
@@ -2396,7 +2402,7 @@ public class FilenetConnector extends or
       else
       {
         out.print(
-"    <td class=\"description\"><nobr>Mime types to include:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.MimeTypesToInclude") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <select name=\"mimetypes\" size=\"10\" multiple=\"true\">\n"
         );
@@ -2466,13 +2472,13 @@ public class FilenetConnector extends or
       }
     }
 
-    if (tabName.equals("Security"))
+    if (tabName.equals(Messages.getString(locale,"FilenetConnector.Security")))
     {
       out.print(
 "<table class=\"displaytable\">\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Security:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.Security2") + "</nobr></td>\n"+
 "    <td class=\"value\" colspan=\"1\">\n"+
 "      <input type=\"radio\" name=\"specsecurity\" value=\"on\" "+((securityOn)?"checked=\"true\"":"")+" />Enabled&nbsp;\n"+
 "      <input type=\"radio\" name=\"specsecurity\" value=\"off\" "+((securityOn==false)?"checked=\"true\"":"")+" />Disabled\n"+
@@ -2497,7 +2503,7 @@ public class FilenetConnector extends or
 "      <input type=\"hidden\" name=\""+accessOpName+"\" value=\"\"/>\n"+
 "      <input type=\"hidden\" name=\""+"spectoken"+accessDescription+"\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(token)+"\"/>\n"+
 "      <a name=\""+"token_"+Integer.toString(k)+"\">\n"+
-"        <input type=\"button\" value=\"Delete\" alt=\""+"Delete access token #"+Integer.toString(k)+"\" onClick='Javascript:SpecOp(\""+accessOpName+"\",\"Delete\",\"token_"+Integer.toString(k)+"\")'/>\n"+
+"        <input type=\"button\" value=\"" + Messages.getAttributeString(locale,"FilenetConnector.Delete") + "\" alt=\""+"Delete access token #"+Integer.toString(k)+"\" onClick='Javascript:SpecOp(\""+accessOpName+"\",\"Delete\",\"token_"+Integer.toString(k)+"\")'/>\n"+
 "      </a>\n"+
 "    </td>\n"+
 "    <td class=\"value\">\n"+
@@ -2512,7 +2518,7 @@ public class FilenetConnector extends or
       {
         out.print(
 "  <tr>\n"+
-"    <td class=\"message\" colspan=\"2\">No access tokens present</td>\n"+
+"    <td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"FilenetConnector.NoAccessTokensPresent") + "</td>\n"+
 "  </tr>\n"
         );
       }
@@ -2523,7 +2529,7 @@ public class FilenetConnector extends or
 "      <input type=\"hidden\" name=\"tokencount\" value=\""+Integer.toString(k)+"\"/>\n"+
 "      <input type=\"hidden\" name=\"accessop\" value=\"\"/>\n"+
 "      <a name=\""+"token_"+Integer.toString(k)+"\">\n"+
-"        <input type=\"button\" value=\"Add\" alt=\"Add access token\" onClick='Javascript:SpecAddToken(\"token_"+Integer.toString(k+1)+"\")'/>\n"+
+"        <input type=\"button\" value=\"" + Messages.getAttributeString(locale,"FilenetConnector.Add") + "\" alt=\"Add access token\" onClick='Javascript:SpecAddToken(\"token_"+Integer.toString(k+1)+"\")'/>\n"+
 "      </a>\n"+
 "    </td>\n"+
 "    <td class=\"value\">\n"+
@@ -2569,7 +2575,7 @@ public class FilenetConnector extends or
   *@return null if all is well, or a string error message if there is an error that should prevent saving of the job (and cause a redirection to an error page).
   */
   @Override
-  public String processSpecificationPost(IPostParameters variableContext, DocumentSpecification ds)
+  public String processSpecificationPost(IPostParameters variableContext, Locale locale, DocumentSpecification ds)
     throws ManifoldCFException
   {
     String[] x;
@@ -2833,7 +2839,7 @@ public class FilenetConnector extends or
   *@param ds is the current document specification for this job.
   */
   @Override
-  public void viewSpecification(IHTTPOutput out, DocumentSpecification ds)
+  public void viewSpecification(IHTTPOutput out, Locale locale, DocumentSpecification ds)
     throws ManifoldCFException, IOException
   {
     int i;
@@ -2867,13 +2873,13 @@ public class FilenetConnector extends or
     if (sortedDocumentClasses.length == 0)
     {
       out.print(
-"    <td class=\"message\" colspan=\"2\"><nobr>No included document classes</nobr></td>\n"
+"    <td class=\"message\" colspan=\"2\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.NoIncludedDocumentClasses") + "</nobr></td>\n"
       );
     }
     else
     {
       out.print(
-"    <td class=\"description\"><nobr>Included document classes:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.IncludedDocumentClasses") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <table class=\"displaytable\">\n"
       );
@@ -2887,7 +2893,7 @@ public class FilenetConnector extends or
 "          <td class=\"boxcell\">\n"+
 "            <table class=\"displaytable\">\n"+
 "              <tr>\n"+
-"                <td class=\"description\"><nobr>Metadata:</nobr></td>\n"+
+"                <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.Metadata") + "</nobr></td>\n"+
 "                <td class=\"value\">\n"
         );
         org.apache.manifoldcf.crawler.connectors.filenet.DocClassSpec fieldValues = (org.apache.manifoldcf.crawler.connectors.filenet.DocClassSpec)documentClasses.get(docclass);
@@ -2914,7 +2920,7 @@ public class FilenetConnector extends or
 "                </td>\n"+
 "              </tr>\n"+
 "              <tr>\n"+
-"                <td class=\"description\"><nobr>Documents matching:</nobr></td>\n"+
+"                <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentsMatching") + "</nobr></td>\n"+
 "                <td class=\"value\">\n"
         );
         int matchCount = fieldValues.getMatchCount();
@@ -2980,7 +2986,7 @@ public class FilenetConnector extends or
       }
       java.util.Arrays.sort(sortedMimeTypes);
       out.print(
-"    <td class=\"description\"><nobr>Included mime types:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.IncludedMimeTypes") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"
       );
       i = 0;
@@ -2998,7 +3004,7 @@ public class FilenetConnector extends or
     else
     {
       out.print(
-"    <td class=\"message\" colspan=\"2\"><nobr>No included mime types - ALL will be ingested</nobr></td>\n"
+"    <td class=\"message\" colspan=\"2\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.NoIncludedMimeTypes") + "</nobr></td>\n"
       );
     }
     out.print(
@@ -3020,7 +3026,7 @@ public class FilenetConnector extends or
         }
         out.print(
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Folders:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.Folders2") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"+
 "      <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(spn.getAttributeValue(SPEC_ATTRIBUTE_VALUE))+"</nobr>\n"+
 "    </td>\n"+
@@ -3031,7 +3037,7 @@ public class FilenetConnector extends or
     if (seenAny == false)
     {
       out.print(
-"  <tr><td class=\"message\" colspan=\"2\">All folders specified</td></tr>\n"
+"  <tr><td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"FilenetConnector.AllFoldersSpecified") + "</td></tr>\n"
       );
     }
     out.print(
@@ -3056,7 +3062,7 @@ public class FilenetConnector extends or
     }
     out.print(
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Security:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.Security2") + "</nobr></td>\n"+
 "    <td class=\"value\">"+(securityOn?"Enabled":"Disabled")+"</td>\n"+
 "  </tr>\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"
@@ -3073,7 +3079,7 @@ public class FilenetConnector extends or
         {
           out.print(
 "  <tr>\n"+
-"    <td class=\"description\"><nobr>Access tokens:</nobr></td>\n"+
+"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.AccessTokens") + "</nobr></td>\n"+
 "    <td class=\"value\">\n"
           );
           seenAny = true;
@@ -3095,7 +3101,7 @@ public class FilenetConnector extends or
     else
     {
       out.print(
-"  <tr><td class=\"message\" colspan=\"2\">No access tokens specified</td></tr>\n"
+"  <tr><td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"FilenetConnector.NoAccessTokensSpecified") + "</td></tr>\n"
       );
     }
     out.print(

Modified: incubator/lcf/trunk/connectors/filesystem/build.xml
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/connectors/filesystem/build.xml?rev=1225063&r1=1225062&r2=1225063&view=diff
==============================================================================
--- incubator/lcf/trunk/connectors/filesystem/build.xml (original)
+++ incubator/lcf/trunk/connectors/filesystem/build.xml Wed Dec 28 00:42:19 2011
@@ -43,11 +43,15 @@
                 <fileset dir="lib" includes="*.jar"/>
             </classpath>
         </javac>
+        <native2ascii encoding="UTF-8" src="connector/src/main/native2ascii" dest="build/connector/classes" includes="**/*.properties" />
     </target>
 
     <target name="jar-connector" depends="compile-connector">
         <mkdir dir="build/jar"/>
-        <jar destfile="build/jar/mcf-filesystem-connector.jar" basedir="build/connector/classes"/>
+        <jar destfile="build/jar/mcf-filesystem-connector.jar">
+        	<fileset dir="build/connector/classes"/>
+          <!-- fileset dir="connector/src/main/resource"/ -->
+        </jar>
     </target>
 
     <target name="lib" depends="jar-connector">