in framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java [3287:3523]
public static int executeReadCommand(IThreadContext tc, Configuration output, String path,
Map<String,List<String>> queryParameters, IAuthorizer authorizer) throws ManifoldCFException
{
if (path.equals("jobs"))
{
return apiReadJobs(tc,output,authorizer);
}
else if (path.startsWith("jobs/"))
{
Long jobID = new Long(path.substring("jobs/".length()));
return apiReadJob(tc,output,jobID,authorizer);
}
else if (path.startsWith("repositoryconnectionactivities/"))
{
int firstSeparator = "repositoryconnectionactivities/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
return apiReadRepositoryConnectionActivities(tc,output,connectionName,authorizer);
}
else if (path.startsWith("repositoryconnectionhistory/"))
{
int firstSeparator = "repositoryconnectionhistory/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
return apiReadRepositoryConnectionHistory(tc,output,connectionName,queryParameters,authorizer);
}
else if (path.startsWith("repositoryconnectionqueue/"))
{
int firstSeparator = "repositoryconnectionqueue/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
return apiReadRepositoryConnectionQueue(tc,output,connectionName,queryParameters,authorizer);
}
else if (path.startsWith("repositoryconnectionjobs/"))
{
int firstSeparator = "repositoryconnectionjobs/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
return apiReadRepositoryConnectionJobs(tc,output,connectionName,authorizer);
}
else if (path.startsWith("status/"))
{
int firstSeparator = "status/".length();
int secondSeparator = path.indexOf("/",firstSeparator);
if (secondSeparator == -1)
{
createErrorNode(output,"Need connection name.");
return READRESULT_NOTFOUND;
}
String connectionType = path.substring(firstSeparator,secondSeparator);
String connectionName = decodeAPIPathElement(path.substring(secondSeparator+1));
if (connectionType.equals("outputconnections"))
{
return apiReadOutputConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("transformationconnections"))
{
return apiReadTransformationConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("mappingconnections"))
{
return apiReadMappingConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("authorityconnections"))
{
return apiReadAuthorityConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("repositoryconnections"))
{
return apiReadRepositoryConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("notificationconnections"))
{
return apiReadNotificationConnectionStatus(tc,output,connectionName,authorizer);
}
else
{
createErrorNode(output,"Unknown connection type '"+connectionType+"'.");
return READRESULT_NOTFOUND;
}
}
else if (path.startsWith("info/"))
{
int firstSeparator = "info/".length();
int secondSeparator = path.indexOf("/",firstSeparator);
if (secondSeparator == -1)
{
createErrorNode(output,"Need connection type and connection name.");
return READRESULT_NOTFOUND;
}
int thirdSeparator = path.indexOf("/",secondSeparator+1);
if (thirdSeparator == -1)
{
createErrorNode(output,"Need connection name.");
return READRESULT_NOTFOUND;
}
String connectionType = path.substring(firstSeparator,secondSeparator);
String connectionName = decodeAPIPathElement(path.substring(secondSeparator+1,thirdSeparator));
String command = path.substring(thirdSeparator+1);
if (connectionType.equals("outputconnections"))
{
return apiReadOutputConnectionInfo(tc,output,connectionName,command,authorizer);
}
else if (connectionType.equals("transformationconnections"))
{
return apiReadTransformationConnectionInfo(tc,output,connectionName,command,authorizer);
}
else if (connectionType.equals("repositoryconnections"))
{
return apiReadRepositoryConnectionInfo(tc,output,connectionName,command,authorizer);
}
else if (connectionType.equals("notificationconnections"))
{
return apiReadNotificationConnectionInfo(tc,output,connectionName,command,authorizer);
}
else
{
createErrorNode(output,"Unknown connection type '"+connectionType+"'.");
return READRESULT_NOTFOUND;
}
}
else if (path.equals("jobstatuses"))
{
return apiReadJobStatuses(tc,output,queryParameters,authorizer);
}
else if (path.startsWith("jobstatuses/"))
{
Long jobID = new Long(path.substring("jobstatuses/".length()));
return apiReadJobStatus(tc,output,jobID,queryParameters,authorizer);
}
else if (path.equals("jobstatusesnocounts"))
{
return apiReadJobStatusesNoCounts(tc,output,authorizer);
}
else if (path.startsWith("jobstatusesnocounts/"))
{
Long jobID = new Long(path.substring("jobstatusesnocounts/".length()));
return apiReadJobStatusNoCounts(tc,output,jobID,authorizer);
}
else if (path.equals("authoritygroups"))
{
return apiReadAuthorityGroups(tc,output,authorizer);
}
else if (path.startsWith("authoritygroups/"))
{
String groupName = decodeAPIPathElement(path.substring("authoritygroups/".length()));
return apiReadAuthorityGroup(tc,output,groupName,authorizer);
}
else if (path.equals("outputconnections"))
{
return apiReadOutputConnections(tc,output,authorizer);
}
else if (path.startsWith("outputconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("outputconnections/".length()));
return apiReadOutputConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("transformationconnections"))
{
return apiReadTransformationConnections(tc,output,authorizer);
}
else if (path.startsWith("transformationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("transformationconnections/".length()));
return apiReadTransformationConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("mappingconnections"))
{
return apiReadMappingConnections(tc,output,authorizer);
}
else if (path.startsWith("mappingconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("mappingconnections/".length()));
return apiReadMappingConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("authorityconnections"))
{
return apiReadAuthorityConnections(tc,output,authorizer);
}
else if (path.startsWith("authorityconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("authorityconnections/".length()));
return apiReadAuthorityConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("repositoryconnections"))
{
return apiReadRepositoryConnections(tc,output,authorizer);
}
else if (path.startsWith("repositoryconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("repositoryconnections/".length()));
return apiReadRepositoryConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("notificationconnections"))
{
return apiReadNotificationConnections(tc,output,authorizer);
}
else if (path.startsWith("notificationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("notificationconnections/".length()));
return apiReadNotificationConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("outputconnectors"))
{
return apiReadOutputConnectors(tc,output,authorizer);
}
else if (path.equals("transformationconnectors"))
{
return apiReadTransformationConnectors(tc,output,authorizer);
}
else if (path.equals("mappingconnectors"))
{
return apiReadMappingConnectors(tc,output,authorizer);
}
else if (path.equals("authorityconnectors"))
{
return apiReadAuthorityConnectors(tc,output,authorizer);
}
else if (path.equals("repositoryconnectors"))
{
return apiReadRepositoryConnectors(tc,output,authorizer);
}
else if (path.equals("notificationconnectors"))
{
return apiReadNotificationConnectors(tc,output,authorizer);
}
else if (path.equals("authorizationdomains"))
{
return apiReadAuthorizationDomains(tc,output,authorizer);
}
else
{
createErrorNode(output,"Unrecognized resource.");
return READRESULT_NOTFOUND;
}
}