in connectors/filenet/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filenet/FilenetConnector.java [2810:3079]
public void viewSpecification(IHTTPOutput out, Locale locale, Specification ds,
int connectionSequenceNumber)
throws ManifoldCFException, IOException
{
int i;
Iterator iter;
out.print(
"<table class=\"displaytable\">\n"+
" <tr>\n"
);
// Look for document classes
HashMap documentClasses = new HashMap();
i = 0;
while (i < ds.getChildCount())
{
SpecificationNode sn = ds.getChild(i++);
if (sn.getType().equals(SPEC_NODE_DOCUMENTCLASS))
{
String value = sn.getAttributeValue(SPEC_ATTRIBUTE_VALUE);
org.apache.manifoldcf.crawler.connectors.filenet.DocClassSpec spec = new org.apache.manifoldcf.crawler.connectors.filenet.DocClassSpec(sn);
documentClasses.put(value,spec);
}
}
String[] sortedDocumentClasses = new String[documentClasses.size()];
i = 0;
iter = documentClasses.keySet().iterator();
while (iter.hasNext())
{
sortedDocumentClasses[i++] = (String)iter.next();
}
java.util.Arrays.sort(sortedDocumentClasses);
if (sortedDocumentClasses.length == 0)
{
out.print(
" <td class=\"message\" colspan=\"2\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.NoIncludedDocumentClasses") + "</nobr></td>\n"
);
}
else
{
out.print(
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.IncludedDocumentClasses") + "</nobr></td>\n"+
" <td class=\"value\">\n"+
" <table class=\"displaytable\">\n"
);
i = 0;
while (i < sortedDocumentClasses.length)
{
String docclass = sortedDocumentClasses[i++];
out.print(
" <tr>\n"+
" <td class=\"description\"><nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(docclass)+"</nobr></td>\n"+
" <td class=\"boxcell\">\n"+
" <table class=\"displaytable\">\n"+
" <tr>\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);
if (fieldValues.getAllMetadata())
{
out.print(
" <nobr>(all metadata values)</nobr>\n"
);
}
else
{
String[] valuesList = fieldValues.getMetadataFields();
java.util.Arrays.sort(valuesList);
int j = 0;
while (j < valuesList.length)
{
String value = valuesList[j++];
out.print(
" <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(value)+"</nobr><br/>\n"
);
}
}
out.print(
" </td>\n"+
" </tr>\n"+
" <tr>\n"+
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.DocumentsMatching") + "</nobr></td>\n"+
" <td class=\"value\">\n"
);
int matchCount = fieldValues.getMatchCount();
int q = 0;
while (q < matchCount)
{
String matchType = fieldValues.getMatchType(q);
String matchField = fieldValues.getMatchField(q);
String matchValue = fieldValues.getMatchValue(q);
q++;
out.print(
" <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(matchField)+" "+matchType+" \""+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(matchValue)+"\"</nobr><br/>\n"
);
}
if (q == 0)
{
out.print(
" <nobr>(" + Messages.getBodyString(locale,"FilenetConnector.AllDocumentsInClass") + "\""+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(docclass)+"\")</nobr>\n"
);
}
out.print(
" </td>\n"+
" </tr>\n"+
" </table>\n"+
" </td>\n"+
" </tr>\n"
);
}
out.print(
" </table>\n"+
" </td>\n"
);
}
out.print(
" </tr>\n"+
" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
" <tr>\n"
);
// Look for mime types
i = 0;
HashMap mimeTypes = null;
while (i < ds.getChildCount())
{
SpecificationNode sn = ds.getChild(i++);
if (sn.getType().equals(SPEC_NODE_MIMETYPE))
{
String value = sn.getAttributeValue(SPEC_ATTRIBUTE_VALUE);
if (mimeTypes == null)
mimeTypes = new HashMap();
mimeTypes.put(value,value);
}
}
if (mimeTypes != null)
{
String[] sortedMimeTypes = new String[mimeTypes.size()];
i = 0;
iter = mimeTypes.keySet().iterator();
while (iter.hasNext())
{
sortedMimeTypes[i++] = (String)iter.next();
}
java.util.Arrays.sort(sortedMimeTypes);
out.print(
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.IncludedMimeTypes") + "</nobr></td>\n"+
" <td class=\"value\">\n"
);
i = 0;
while (i < sortedMimeTypes.length)
{
String value = sortedMimeTypes[i++];
out.print(
" <nobr>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(value)+"</nobr><br/>\n"
);
}
out.print(
" </td>\n"
);
}
else
{
out.print(
" <td class=\"message\" colspan=\"2\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.NoIncludedMimeTypes") + "</nobr></td>\n"
);
}
out.print(
" </tr>\n"+
" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"
);
// Handle Folders
i = 0;
boolean seenAny = false;
while (i < ds.getChildCount())
{
SpecificationNode spn = ds.getChild(i++);
if (spn.getType().equals(SPEC_NODE_FOLDER))
{
if (seenAny == false)
{
seenAny = true;
}
out.print(
" <tr>\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"+
" </tr>\n"
);
}
}
if (seenAny == false)
{
out.print(
" <tr><td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"FilenetConnector.AllFoldersSpecified") + "</td></tr>\n"
);
}
out.print(
" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
"\n"
);
// Find whether security is on or off
i = 0;
boolean securityOn = true;
while (i < ds.getChildCount())
{
SpecificationNode sn = ds.getChild(i++);
if (sn.getType().equals("security"))
{
String securityValue = sn.getAttributeValue("value");
if (securityValue.equals("off"))
securityOn = false;
else if (securityValue.equals("on"))
securityOn = true;
}
}
out.print(
" <tr>\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"
);
// Go through looking for access tokens
seenAny = false;
i = 0;
while (i < ds.getChildCount())
{
SpecificationNode sn = ds.getChild(i++);
if (sn.getType().equals("access"))
{
if (seenAny == false)
{
out.print(
" <tr>\n"+
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"FilenetConnector.AccessTokens") + "</nobr></td>\n"+
" <td class=\"value\">\n"
);
seenAny = true;
}
String token = sn.getAttributeValue("token");
out.print(
" "+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(token)+"<br/>\n"
);
}
}
if (seenAny)
{
out.print(
" </td>\n"+
" </tr>\n"
);
}
else
{
out.print(
" <tr><td class=\"message\" colspan=\"2\">" + Messages.getBodyString(locale,"FilenetConnector.NoAccessTokensSpecified") + "</td></tr>\n"
);
}
out.print(
"</table>\n"
);
}