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 2014/12/30 10:25:32 UTC

svn commit: r1648492 - in /manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main: java/org/apache/manifoldcf/crawler/connectors/DCTM/ native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/

Author: kwright
Date: Tue Dec 30 09:25:31 2014
New Revision: 1648492

URL: http://svn.apache.org/r1648492
Log:
Add view support

Modified:
    manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
    manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_en_US.properties
    manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_ja_JP.properties
    manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_zh_CN.properties

Modified: manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java?rev=1648492&r1=1648491&r2=1648492&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java (original)
+++ manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/DCTM/DCTM.java Tue Dec 30 09:25:31 2014
@@ -2466,7 +2466,7 @@ public class DCTM extends org.apache.man
 
     // First, build a hash map containing all the currently selected document types
     Map<String,Object> dtMetadata = new HashMap<String,Object>();
-    Map<String,Map<String,List<FilterInfo>>> dtFilters = new HashMap<String,Map<String,List<FilterInfo>>>();
+    Map<String,Map<String,Map<String,Set<String>>>> dtFilters = new HashMap<String,Map<String,Map<String,Set<String>>>>();
     for (int i = 0; i < ds.getChildCount(); i++)
     {
       SpecificationNode sn = ds.getChild(i);
@@ -2493,7 +2493,7 @@ public class DCTM extends org.apache.man
             }
             dtMetadata.put(token,attrMap);
           }
-          Map<String,List<FilterInfo>> filterInfo = new HashMap<String,List<FilterInfo>>();
+          Map<String,Map<String,Set<String>>> filterInfo = new HashMap<String,Map<String,Set<String>>>();
           for (int kk = 0; kk < sn.getChildCount(); kk++)
           {
             SpecificationNode dsn = sn.getChild(kk);
@@ -2502,13 +2502,19 @@ public class DCTM extends org.apache.man
               String name = dsn.getAttributeValue("name");
               String op = dsn.getAttributeValue("op");
               String value = dsn.getAttributeValue("value");
-              List<FilterInfo> filters = filterInfo.get(name);
+              Map<String,Set<String>> filters = filterInfo.get(name);
               if (filters == null)
               {
-                filters = new ArrayList<FilterInfo>();
+                filters = new HashMap<String,Set<String>>();
                 filterInfo.put(name,filters);
               }
-              filters.add(new FilterInfo(op,value));
+              Set<String> filterValues = filters.get(op);
+              if (filterValues == null)
+              {
+                filterValues = new HashSet<String>();
+                filters.put(op,filterValues);
+              }
+              filterValues.add(value);
             }
           }
           dtFilters.put(token,filterInfo);
@@ -2532,7 +2538,7 @@ public class DCTM extends org.apache.man
 "      <input type=\"hidden\" name=\""+seqPrefix+"filter_op\" value=\"Continue\"/>\n"+
 "      <table class=\"formtable\">\n"+
 "        <tr class=\"formheaderrow\">\n"+
-"          <td class=\"formcolumnheader\"></td>\n"+
+"          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.DocumentType") + "</nobr></td>\n"+
 "          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.Filters") + "</nobr></td>\n"+
 "          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.AllMetadataQ") + "</nobr></td>\n"+
 "          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.Metadata") + "</nobr></td>\n"+
@@ -2582,18 +2588,23 @@ public class DCTM extends org.apache.man
             );
             
             // Now, do filters.  This will be a table-with-a-table, with an "Add" button at the bottom.
-            Map<String,List<FilterInfo>> currentFilters = dtFilters.get(strObjectType);
+            Map<String,Map<String,Set<String>>> currentFilters = dtFilters.get(strObjectType);
             int l = 0;
             String[] filterAttributes = currentFilters.keySet().toArray(new String[0]);
             java.util.Arrays.sort(filterAttributes);
             for (String filterAttribute : filterAttributes)
             {
-              List<FilterInfo> filters = currentFilters.get(filterAttribute);
-              for (FilterInfo filter : filters)
+              Map<String,Set<String>> filters = currentFilters.get(filterAttribute);
+              String[] sortedOperations = filters.keySet().toArray(new String[0]);
+              java.util.Arrays.sort(sortedOperations);
+              for (String filterOperation : sortedOperations)
               {
-                String filterOperation = filter.operation;
-                String filterValue = filter.value;
-                out.print(
+                Set<String> filterValues = filters.get(filterOperation);
+                String[] sortedValues = filterValues.toArray(new String[0]);
+                java.util.Arrays.sort(sortedValues);
+                for (String filterValue : sortedValues)
+                {
+                  out.print(
 "              <tr class=\""+(((l % 2)==0)?"evenformrow":"oddformrow")+"\">\n"+
 "                <td class=\"formcolumncell\">\n"+
 "                  <input type=\"hidden\" name=\""+seqPrefix+"filter_"+k+"_"+l+"_op\" value=\"Continue\"/>\n"+
@@ -2614,8 +2625,9 @@ public class DCTM extends org.apache.man
 "                  "+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(filterValue)+"\n"+
 "                </td>\n"+
 "              </tr>\n"
-                );
-                l++;
+                  );
+                  l++;
+                }
               }
             }
             
@@ -2747,21 +2759,23 @@ public class DCTM extends org.apache.man
         out.print(
 "<input type=\"hidden\" name=\""+seqPrefix+"datatype_"+k+"\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(strObjectType)+"\"/>\n"
         );
-        Map<String,List<FilterInfo>> currentFilters = dtFilters.get(strObjectType);
+        Map<String,Map<String,Set<String>>> currentFilters = dtFilters.get(strObjectType);
         int l = 0;
         for (String filterAttribute : currentFilters.keySet())
         {
-          List<FilterInfo> filters = currentFilters.get(filterAttribute);
-          for (FilterInfo filter : filters)
+          Map<String,Set<String>> filters = currentFilters.get(filterAttribute);
+          for (String filterOperation : filters.keySet())
           {
-            String filterOperation = filter.operation;
-            String filterValue = filter.value;
-            out.print(
+            Set<String> filterValues = filters.get(filterOperation);
+            for (String filterValue : filterValues)
+            {
+              out.print(
 "<input type=\"hidden\" name=\""+seqPrefix+"filter_"+k+"_"+l+"_name\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(filterAttribute)+"\"/>\n"+
 "<input type=\"hidden\" name=\""+seqPrefix+"filter_"+k+"_"+l+"_operation\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(filterOperation)+"\"/>\n"+
 "<input type=\"hidden\" name=\""+seqPrefix+"filter_"+k+"_"+l+"_value\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(filterValue)+"\"/>\n"
-            );
-            l++;
+              );
+              l++;
+            }
           }
         }
         out.print(
@@ -3411,11 +3425,10 @@ public class DCTM extends org.apache.man
 "<table class=\"displaytable\">\n"+
 "  <tr>\n"
     );
-    int i = 0;
     boolean seenAny = false;
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals(CONFIG_PARAM_LOCATION))
       {
         if (seenAny == false)
@@ -3448,32 +3461,32 @@ public class DCTM extends org.apache.man
 "  </tr>\n"+
 "\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
-"  <tr>\n"
+"  <tr>\n"+
+"    <td class=\"boxcell\" colspan=\"2\">\n"+
+"      <table class=\"formtable\">\n"+
+"        <tr class=\"formheaderrow\">\n"+
+"          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.DocumentType") + "</nobr></td>\n"+
+"          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.Filters") + "</nobr></td>\n"+
+"          <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.Metadata") + "</nobr></td>\n"+
+"        </tr>\n"
     );
-    seenAny = false;
-    i = 0;
-    while (i < ds.getChildCount())
+    int l = 0;
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals(CONFIG_PARAM_OBJECTTYPE))
       {
-        if (seenAny == false)
-        {
-          out.print(
-"    <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"DCTM.ObjectTypes") + "</nobr></td>\n"+
-"    <td class=\"value\">\n"+
-"      <table class=\"displaytable\">\n"
-          );
-          seenAny = true;
-        }
+        out.print(
+"        <tr class=\""+(((l % 2)==0)?"evenformrow":"oddformrow")+"\">\n"
+        );
+
         String strObjectType = sn.getAttributeValue("token");
         String isAll = sn.getAttributeValue("all");
         out.print(
-"        <tr>\n"+
-"          <td class=\"value\">\n"+
+"          <td class=\"formcolumncell\">\n"+
 "            "+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(strObjectType)+"\n"+
 "          </td>\n"+
-"          <td class=\"value\">\n"
+"          <td class=\"formcolumncell\">\n"
         );
         if (isAll != null && isAll.equals("true"))
           out.print(
@@ -3481,50 +3494,123 @@ public class DCTM extends org.apache.man
           );
         else
         {
-          int k = 0;
-          while (k < sn.getChildCount())
+          for (int k = 0; k < sn.getChildCount(); k++)
           {
-            SpecificationNode dsn = sn.getChild(k++);
+            SpecificationNode dsn = sn.getChild(k);
             if (dsn.getType().equals(CONFIG_PARAM_ATTRIBUTENAME))
             {
               String attrName = dsn.getAttributeValue("attrname");
               out.print(
-"            "+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(attrName)+"<br/>\n"
+"            <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(attrName)+"</nobr>\n"
               );
             }
           }
         }
+        out.print(
+"          </td>\n"+
+"          <td class=\"boxcell\">\n"+
+"            <table class=\"formtable\">\n"+
+"              <tr class=\"formheaderrow\">\n"+
+"                <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.AttributeName") + "</nobr></td>\n"+
+"                <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.Operation") + "</nobr></td>\n"+
+"                <td class=\"formcolumnheader\"><nobr>" + Messages.getBodyString(locale,"DCTM.Value") + "</nobr></td>\n"+
+"              </tr>\n"
+        );
+        Map<String,Map<String,Set<String>>> currentFilters = new HashMap<String,Map<String,Set<String>>>();
+        for (int k = 0; k < sn.getChildCount(); k++)
+        {
+          SpecificationNode dsn = sn.getChild(k);
+          if (dsn.getType().equals(CONFIG_PARAM_FILTER))
+          {
+            String attributeName = dsn.getAttributeValue("name");
+            String operation = dsn.getAttributeValue("op");
+            String value = dsn.getAttributeValue("value");
+            Map<String,Set<String>> filters = currentFilters.get(attributeName);
+            if (filters == null)
+            {
+              filters = new HashMap<String,Set<String>>();
+              currentFilters.put(attributeName,filters);
+            }
+            Set<String> values = filters.get(operation);
+            if (values == null)
+            {
+              values = new HashSet<String>();
+              filters.put(operation,values);
+            }
+            values.add(value);
+          }
+        }
+        
+        int kk = 0;
+        String[] sortedAttributes = currentFilters.keySet().toArray(new String[0]);
+        java.util.Arrays.sort(sortedAttributes);
+        for (String filterAttribute : sortedAttributes)
+        {
+          Map<String,Set<String>> currentOperations = currentFilters.get(filterAttribute);
+          String[] sortedOperations = currentOperations.keySet().toArray(new String[0]);
+          java.util.Arrays.sort(sortedOperations);
+          for (String filterOperation : sortedOperations)
+          {
+            Set<String> currentValues = currentOperations.get(filterOperation);
+            String[] sortedValues = currentValues.toArray(new String[0]);
+            java.util.Arrays.sort(sortedValues);
+            StringBuilder sb = new StringBuilder();
+            boolean commaNeeded = false;
+            for (String value : sortedValues)
+            {
+              if (commaNeeded)
+                sb.append(", ");
+              else
+                commaNeeded = true;
+              sb.append("\"").append(value).append("\"");
+            }
+            out.print(
+"              <tr class=\""+(((kk % 2)==0)?"evenformrow":"oddformrow")+"\">\n"+
+"                <td class=\"formcolumncell\">\n"+
+"                  <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(filterAttribute)+"</nobr>\n"+
+"                </td>\n"+
+"                <td class=\"formcolumncell\">\n"+
+"                  <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(filterOperation)+"</nobr>\n"+
+"                </td>\n"+
+"                <td class=\"formcolumncell\">\n"+
+"                  "+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(sb.toString())+"\n"+
+"                </td>\n"+
+"              </tr>\n"
+            );
+            kk++;
+          }
+        }
         
         out.print(
+"            </table>\n"+
 "          </td>\n"+
 "        </tr>\n"
         );
+        
+        l++;
       }
+      
     }
-    if (seenAny)
-    {
-      out.print(
-"      </table>\n"+
-"    </td>\n"
-      );
-    }
-    else
+    if (l == 0)
     {
       out.print(
-"    <td colspan=\"2\" class=\"message\">" + Messages.getBodyString(locale,"DCTM.NoDocumentTypesSpecified") + "</td>\n"
+"        <tr class=\"formrow\">\n"+
+"          <td colspan=\"3\" class=\"message\">" + Messages.getBodyString(locale,"DCTM.NoDocumentTypesSpecified") + "</td>\n"+
+"        </tr>\n"
       );
     }
     out.print(
+"      </table>\n"+
+"    </td>\n"+
 "  </tr>\n"+
 "\n"+
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
 "  <tr>\n"
     );
     seenAny = false;
-    i = 0;
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals(CONFIG_PARAM_FORMAT))
       {
         if (seenAny == false)
@@ -3559,11 +3645,10 @@ public class DCTM extends org.apache.man
 "  <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"
     );
     // Find max document length
-    i = 0;
     String maxDocumentLength = "unlimited";
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals(CONFIG_PARAM_MAXLENGTH))
       {
         maxDocumentLength = sn.getAttributeValue("value");
@@ -3581,11 +3666,10 @@ public class DCTM extends org.apache.man
     );
     
     // Find whether security is on or off
-    i = 0;
     boolean securityOn = true;
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals("security"))
       {
         String securityValue = sn.getAttributeValue("value");
@@ -3607,10 +3691,9 @@ public class DCTM extends org.apache.man
     );
     // Go through looking for access tokens
     seenAny = false;
-    i = 0;
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals("access"))
       {
         if (seenAny == false)
@@ -3649,11 +3732,10 @@ public class DCTM extends org.apache.man
     );
     
     // Find the path-name metadata attribute name
-    i = 0;
     String pathNameAttribute = "";
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals(CONFIG_PARAM_PATHNAMEATTRIBUTE))
       {
         pathNameAttribute = sn.getAttributeValue("value");
@@ -3686,11 +3768,10 @@ public class DCTM extends org.apache.man
     );
     
     // Find the path-value mapping data
-    i = 0;
     org.apache.manifoldcf.crawler.connectors.DCTM.MatchMap matchMap = new org.apache.manifoldcf.crawler.connectors.DCTM.MatchMap();
-    while (i < ds.getChildCount())
+    for (int i = 0; i < ds.getChildCount(); i++)
     {
-      SpecificationNode sn = ds.getChild(i++);
+      SpecificationNode sn = ds.getChild(i);
       if (sn.getType().equals(CONFIG_PARAM_PATHMAP))
       {
         String pathMatch = sn.getAttributeValue("match");
@@ -3705,8 +3786,7 @@ public class DCTM extends org.apache.man
 "    <td class=\"value\">\n"+
 "      <table class=\"displaytable\">\n"
       );
-      i = 0;
-      while (i < matchMap.getMatchCount())
+      for (int i = 0; i < matchMap.getMatchCount(); i++)
       {
         String matchString = matchMap.getMatchString(i);
         String replaceString = matchMap.getReplaceString(i);
@@ -3717,7 +3797,6 @@ public class DCTM extends org.apache.man
 "          <td class=\"value\">"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(replaceString)+"</td>\n"+
 "        </tr>\n"
         );
-        i++;
       }
 
       out.print(
@@ -4268,17 +4347,4 @@ public class DCTM extends org.apache.man
     
   }
   
-  protected static class FilterInfo
-  {
-    public final String operation;
-    public final String value;
-    
-    public FilterInfo(String operation, String value)
-    {
-      this.operation = operation;
-      this.value = value;
-    }
-    
-  }
-
 }

Modified: manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_en_US.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_en_US.properties?rev=1648492&r1=1648491&r2=1648492&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_en_US.properties (original)
+++ manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_en_US.properties Tue Dec 30 09:25:31 2014
@@ -83,6 +83,7 @@ DCTM.ConnectionRequiresValidDocumentumUs
 DCTM.ConnectionRequiresPassword=The connection requires the Documentum user's password
 DCTM.SpecifyBaseWebtopURL=Please specify the base url to a webtop to serve selected documents
 
+DCTM.DocumentType=Document type
 DCTM.AllMetadataQ=All metadata?
 DCTM.Metadata=Metadata
 DCTM.AttributeName=Attribute name

Modified: manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_ja_JP.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_ja_JP.properties?rev=1648492&r1=1648491&r2=1648492&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_ja_JP.properties (original)
+++ manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_ja_JP.properties Tue Dec 30 09:25:31 2014
@@ -83,6 +83,7 @@ DCTM.ConnectionRequiresValidDocumentumUs
 DCTM.ConnectionRequiresPassword=The connection requires the Documentum user's password
 DCTM.SpecifyBaseWebtopURL=Please specify the base url to a webtop to serve selected documents
 
+DCTM.DocumentType=Document type
 DCTM.AllMetadataQ=All metadata?
 DCTM.Metadata=Metadata
 DCTM.AttributeName=Attribute name

Modified: manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_zh_CN.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_zh_CN.properties?rev=1648492&r1=1648491&r2=1648492&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_zh_CN.properties (original)
+++ manifoldcf/branches/CONNECTORS-1130/connectors/documentum/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/DCTM/common_zh_CN.properties Tue Dec 30 09:25:31 2014
@@ -83,6 +83,7 @@ DCTM.ConnectionRequiresValidDocumentumUs
 DCTM.ConnectionRequiresPassword=The connection requires the Documentum user's password
 DCTM.SpecifyBaseWebtopURL=Please specify the base url to a webtop to serve selected documents
 
+DCTM.DocumentType=Document type
 DCTM.AllMetadataQ=All metadata?
 DCTM.Metadata=Metadata
 DCTM.AttributeName=Attribute name