public static int executeReadCommand()

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;
    }
  }