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 2015/06/30 15:19:44 UTC
svn commit: r1688447 - in /manifoldcf/branches/CONNECTORS-1131/framework:
api-servlet/src/main/java/org/apache/manifoldcf/apiservlet/APIServlet.java
pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java
Author: kwright
Date: Tue Jun 30 13:19:43 2015
New Revision: 1688447
URL: http://svn.apache.org/r1688447
Log:
Add plumbing for authority checking throughout API
Modified:
manifoldcf/branches/CONNECTORS-1131/framework/api-servlet/src/main/java/org/apache/manifoldcf/apiservlet/APIServlet.java
manifoldcf/branches/CONNECTORS-1131/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java
Modified: manifoldcf/branches/CONNECTORS-1131/framework/api-servlet/src/main/java/org/apache/manifoldcf/apiservlet/APIServlet.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1131/framework/api-servlet/src/main/java/org/apache/manifoldcf/apiservlet/APIServlet.java?rev=1688447&r1=1688446&r2=1688447&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1131/framework/api-servlet/src/main/java/org/apache/manifoldcf/apiservlet/APIServlet.java (original)
+++ manifoldcf/branches/CONNECTORS-1131/framework/api-servlet/src/main/java/org/apache/manifoldcf/apiservlet/APIServlet.java Tue Jun 30 13:19:43 2015
@@ -319,6 +319,8 @@ public class APIServlet extends HttpServ
if (readResult == ManifoldCF.READRESULT_NOTFOUND)
response.setStatus(response.SC_NOT_FOUND);
+ else if (readResult == ManifoldCF.READRESULT_NOTALLOWED)
+ response.setStatus(response.SC_UNAUTHORIZED);
byte[] responseValue = outputText.getBytes(StandardCharsets.UTF_8);
@@ -440,6 +442,8 @@ public class APIServlet extends HttpServ
response.setStatus(response.SC_CREATED);
else if (writeResult == ManifoldCF.WRITERESULT_NOTFOUND)
response.setStatus(response.SC_NOT_FOUND);
+ else if (writeResult == ManifoldCF.WRITERESULT_NOTALLOWED)
+ response.setStatus(response.SC_UNAUTHORIZED);
byte[] responseValue = outputText.getBytes(StandardCharsets.UTF_8);
@@ -603,7 +607,9 @@ public class APIServlet extends HttpServ
response.setStatus(response.SC_CREATED);
else if (writeResult == ManifoldCF.POSTRESULT_NOTFOUND)
response.setStatus(response.SC_NOT_FOUND);
-
+ else if (writeResult == ManifoldCF.POSTRESULT_NOTALLOWED)
+ response.setStatus(response.SC_UNAUTHORIZED);
+
byte[] responseValue = outputText.getBytes(StandardCharsets.UTF_8);
// Set response mime type
@@ -686,6 +692,9 @@ public class APIServlet extends HttpServ
if (result == ManifoldCF.DELETERESULT_NOTFOUND)
response.setStatus(response.SC_NOT_FOUND);
+ else if (result == ManifoldCF.DELETERESULT_NOTALLOWED)
+ response.setStatus(response.SC_UNAUTHORIZED);
+
byte[] responseValue = outputText.getBytes(StandardCharsets.UTF_8);
Modified: manifoldcf/branches/CONNECTORS-1131/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1131/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java?rev=1688447&r1=1688446&r2=1688447&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1131/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java (original)
+++ manifoldcf/branches/CONNECTORS-1131/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java Tue Jun 30 13:19:43 2015
@@ -1376,9 +1376,10 @@ public class ManifoldCF extends org.apac
// Read result codes
public static final int READRESULT_NOTFOUND = 0;
public static final int READRESULT_FOUND = 1;
-
+ public static final int READRESULT_NOTALLOWED = 2;
+
/** Read jobs */
- protected static int apiReadJobs(IThreadContext tc, Configuration output)
+ protected static int apiReadJobs(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1401,7 +1402,7 @@ public class ManifoldCF extends org.apac
}
/** Read a job */
- protected static int apiReadJob(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiReadJob(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1429,7 +1430,7 @@ public class ManifoldCF extends org.apac
}
/** Read an output connection status */
- protected static int apiReadOutputConnectionStatus(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadOutputConnectionStatus(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1471,7 +1472,7 @@ public class ManifoldCF extends org.apac
}
/** Read a transformation connection status */
- protected static int apiReadTransformationConnectionStatus(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadTransformationConnectionStatus(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1513,7 +1514,7 @@ public class ManifoldCF extends org.apac
}
/** Read an authority connection status */
- protected static int apiReadAuthorityConnectionStatus(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadAuthorityConnectionStatus(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1555,7 +1556,7 @@ public class ManifoldCF extends org.apac
}
/** Read a mapping connection status */
- protected static int apiReadMappingConnectionStatus(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadMappingConnectionStatus(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1597,7 +1598,7 @@ public class ManifoldCF extends org.apac
}
/** Read a repository connection status */
- protected static int apiReadRepositoryConnectionStatus(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadRepositoryConnectionStatus(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1639,7 +1640,7 @@ public class ManifoldCF extends org.apac
}
/** Read a notification connection status */
- protected static int apiReadNotificationConnectionStatus(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadNotificationConnectionStatus(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1681,7 +1682,7 @@ public class ManifoldCF extends org.apac
}
/** Read an output connection's info */
- protected static int apiReadOutputConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command)
+ protected static int apiReadOutputConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1714,7 +1715,7 @@ public class ManifoldCF extends org.apac
}
/** Read a transformation connection's info */
- protected static int apiReadTransformationConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command)
+ protected static int apiReadTransformationConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1747,7 +1748,7 @@ public class ManifoldCF extends org.apac
}
/** Read a repository connection's info */
- protected static int apiReadRepositoryConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command)
+ protected static int apiReadRepositoryConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1780,7 +1781,7 @@ public class ManifoldCF extends org.apac
}
/** Read a notification connection's info */
- protected static int apiReadNotificationConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command)
+ protected static int apiReadNotificationConnectionInfo(IThreadContext tc, Configuration output, String connectionName, String command, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1813,7 +1814,7 @@ public class ManifoldCF extends org.apac
}
/** Get api job statuses */
- protected static int apiReadJobStatuses(IThreadContext tc, Configuration output, Map<String,List<String>> queryParameters)
+ protected static int apiReadJobStatuses(IThreadContext tc, Configuration output, Map<String,List<String>> queryParameters, IAuthorizer authorizer)
throws ManifoldCFException
{
if (queryParameters == null)
@@ -1847,7 +1848,7 @@ public class ManifoldCF extends org.apac
}
/** Get api job statuses */
- protected static int apiReadJobStatusesNoCounts(IThreadContext tc, Configuration output)
+ protected static int apiReadJobStatusesNoCounts(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1870,7 +1871,7 @@ public class ManifoldCF extends org.apac
}
/** Get api job status */
- protected static int apiReadJobStatus(IThreadContext tc, Configuration output, Long jobID, Map<String,List<String>> queryParameters)
+ protected static int apiReadJobStatus(IThreadContext tc, Configuration output, Long jobID, Map<String,List<String>> queryParameters, IAuthorizer authorizer)
throws ManifoldCFException
{
if (queryParameters == null)
@@ -1903,7 +1904,7 @@ public class ManifoldCF extends org.apac
}
/** Get api job status with no counts */
- protected static int apiReadJobStatusNoCounts(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiReadJobStatusNoCounts(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1925,7 +1926,7 @@ public class ManifoldCF extends org.apac
}
/** Get authority groups */
- protected static int apiReadAuthorityGroups(IThreadContext tc, Configuration output)
+ protected static int apiReadAuthorityGroups(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1948,7 +1949,7 @@ public class ManifoldCF extends org.apac
}
/** Read authority group */
- protected static int apiReadAuthorityGroup(IThreadContext tc, Configuration output, String groupName)
+ protected static int apiReadAuthorityGroup(IThreadContext tc, Configuration output, String groupName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1976,7 +1977,7 @@ public class ManifoldCF extends org.apac
}
/** Get output connections */
- protected static int apiReadOutputConnections(IThreadContext tc, Configuration output)
+ protected static int apiReadOutputConnections(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -1999,7 +2000,7 @@ public class ManifoldCF extends org.apac
}
/** Read output connection */
- protected static int apiReadOutputConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadOutputConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2027,7 +2028,7 @@ public class ManifoldCF extends org.apac
}
/** Get transformation connections */
- protected static int apiReadTransformationConnections(IThreadContext tc, Configuration output)
+ protected static int apiReadTransformationConnections(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2050,7 +2051,7 @@ public class ManifoldCF extends org.apac
}
/** Read transformation connection */
- protected static int apiReadTransformationConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadTransformationConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2078,7 +2079,7 @@ public class ManifoldCF extends org.apac
}
/** Get authority connections */
- protected static int apiReadAuthorityConnections(IThreadContext tc, Configuration output)
+ protected static int apiReadAuthorityConnections(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2101,7 +2102,7 @@ public class ManifoldCF extends org.apac
}
/** Get mapping connections */
- protected static int apiReadMappingConnections(IThreadContext tc, Configuration output)
+ protected static int apiReadMappingConnections(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2124,7 +2125,7 @@ public class ManifoldCF extends org.apac
}
/** Read authority connection */
- protected static int apiReadAuthorityConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadAuthorityConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2152,7 +2153,7 @@ public class ManifoldCF extends org.apac
}
/** Read mapping connection */
- protected static int apiReadMappingConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadMappingConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2180,7 +2181,7 @@ public class ManifoldCF extends org.apac
}
/** Get repository connections */
- protected static int apiReadRepositoryConnections(IThreadContext tc, Configuration output)
+ protected static int apiReadRepositoryConnections(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2203,7 +2204,7 @@ public class ManifoldCF extends org.apac
}
/** Read repository connection */
- protected static int apiReadRepositoryConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadRepositoryConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2231,7 +2232,7 @@ public class ManifoldCF extends org.apac
}
/** Get notification connections */
- protected static int apiReadNotificationConnections(IThreadContext tc, Configuration output)
+ protected static int apiReadNotificationConnections(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2254,7 +2255,7 @@ public class ManifoldCF extends org.apac
}
/** Read notification connection */
- protected static int apiReadNotificationConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadNotificationConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -2282,7 +2283,7 @@ public class ManifoldCF extends org.apac
}
/** List output connectors */
- protected static int apiReadOutputConnectors(IThreadContext tc, Configuration output)
+ protected static int apiReadOutputConnectors(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered output connectors
@@ -2319,7 +2320,7 @@ public class ManifoldCF extends org.apac
}
/** List transformation connectors */
- protected static int apiReadTransformationConnectors(IThreadContext tc, Configuration output)
+ protected static int apiReadTransformationConnectors(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered transformation connectors
@@ -2356,7 +2357,7 @@ public class ManifoldCF extends org.apac
}
/** List authority connectors */
- protected static int apiReadAuthorityConnectors(IThreadContext tc, Configuration output)
+ protected static int apiReadAuthorityConnectors(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered authority connectors
@@ -2393,7 +2394,7 @@ public class ManifoldCF extends org.apac
}
/** List mapping connectors */
- protected static int apiReadMappingConnectors(IThreadContext tc, Configuration output)
+ protected static int apiReadMappingConnectors(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered authority connectors
@@ -2430,7 +2431,7 @@ public class ManifoldCF extends org.apac
}
/** List authorization domains */
- protected static int apiReadAuthorizationDomains(IThreadContext tc, Configuration output)
+ protected static int apiReadAuthorizationDomains(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered authorization domains
@@ -2468,7 +2469,7 @@ public class ManifoldCF extends org.apac
}
/** List repository connectors */
- protected static int apiReadRepositoryConnectors(IThreadContext tc, Configuration output)
+ protected static int apiReadRepositoryConnectors(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered repository connectors
@@ -2505,7 +2506,7 @@ public class ManifoldCF extends org.apac
}
/** List notification connectors */
- protected static int apiReadNotificationConnectors(IThreadContext tc, Configuration output)
+ protected static int apiReadNotificationConnectors(IThreadContext tc, Configuration output, IAuthorizer authorizer)
throws ManifoldCFException
{
// List registered notification connectors
@@ -2568,7 +2569,7 @@ public class ManifoldCF extends org.apac
/** Queue reports */
protected static int apiReadRepositoryConnectionQueue(IThreadContext tc, Configuration output,
- String connectionName, Map<String,List<String>> queryParameters) throws ManifoldCFException
+ String connectionName, Map<String,List<String>> queryParameters, IAuthorizer authorizer) throws ManifoldCFException
{
if (queryParameters == null)
queryParameters = new HashMap<String,List<String>>();
@@ -2765,7 +2766,7 @@ public class ManifoldCF extends org.apac
/** Get jobs for connection */
protected static int apiReadRepositoryConnectionJobs(IThreadContext tc, Configuration output,
- String connectionName) throws ManifoldCFException
+ String connectionName, IAuthorizer authorizer) throws ManifoldCFException
{
try
{
@@ -2793,7 +2794,7 @@ public class ManifoldCF extends org.apac
/** History reports */
protected static int apiReadRepositoryConnectionHistory(IThreadContext tc, Configuration output,
- String connectionName, Map<String,List<String>> queryParameters) throws ManifoldCFException
+ String connectionName, Map<String,List<String>> queryParameters, IAuthorizer authorizer) throws ManifoldCFException
{
if (queryParameters == null)
queryParameters = new HashMap<String,List<String>>();
@@ -3129,7 +3130,7 @@ public class ManifoldCF extends org.apac
}
/** Read the activity list for a given connection name. */
- protected static int apiReadRepositoryConnectionActivities(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiReadRepositoryConnectionActivities(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3165,36 +3166,36 @@ public class ManifoldCF extends org.apac
{
if (path.equals("jobs"))
{
- return apiReadJobs(tc,output);
+ return apiReadJobs(tc,output,authorizer);
}
else if (path.startsWith("jobs/"))
{
Long jobID = new Long(path.substring("jobs/".length()));
- return apiReadJob(tc,output,jobID);
+ 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);
+ 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);
+ 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);
+ 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);
+ return apiReadRepositoryConnectionJobs(tc,output,connectionName,authorizer);
}
else if (path.startsWith("status/"))
{
@@ -3211,27 +3212,27 @@ public class ManifoldCF extends org.apac
if (connectionType.equals("outputconnections"))
{
- return apiReadOutputConnectionStatus(tc,output,connectionName);
+ return apiReadOutputConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("transformationconnections"))
{
- return apiReadTransformationConnectionStatus(tc,output,connectionName);
+ return apiReadTransformationConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("mappingconnections"))
{
- return apiReadMappingConnectionStatus(tc,output,connectionName);
+ return apiReadMappingConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("authorityconnections"))
{
- return apiReadAuthorityConnectionStatus(tc,output,connectionName);
+ return apiReadAuthorityConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("repositoryconnections"))
{
- return apiReadRepositoryConnectionStatus(tc,output,connectionName);
+ return apiReadRepositoryConnectionStatus(tc,output,connectionName,authorizer);
}
else if (connectionType.equals("notificationconnections"))
{
- return apiReadNotificationConnectionStatus(tc,output,connectionName);
+ return apiReadNotificationConnectionStatus(tc,output,connectionName,authorizer);
}
else
{
@@ -3262,19 +3263,19 @@ public class ManifoldCF extends org.apac
if (connectionType.equals("outputconnections"))
{
- return apiReadOutputConnectionInfo(tc,output,connectionName,command);
+ return apiReadOutputConnectionInfo(tc,output,connectionName,command,authorizer);
}
else if (connectionType.equals("transformationconnections"))
{
- return apiReadTransformationConnectionInfo(tc,output,connectionName,command);
+ return apiReadTransformationConnectionInfo(tc,output,connectionName,command,authorizer);
}
else if (connectionType.equals("repositoryconnections"))
{
- return apiReadRepositoryConnectionInfo(tc,output,connectionName,command);
+ return apiReadRepositoryConnectionInfo(tc,output,connectionName,command,authorizer);
}
else if (connectionType.equals("notificationconnections"))
{
- return apiReadNotificationConnectionInfo(tc,output,connectionName,command);
+ return apiReadNotificationConnectionInfo(tc,output,connectionName,command,authorizer);
}
else
{
@@ -3284,112 +3285,112 @@ public class ManifoldCF extends org.apac
}
else if (path.equals("jobstatuses"))
{
- return apiReadJobStatuses(tc,output,queryParameters);
+ 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);
+ return apiReadJobStatus(tc,output,jobID,queryParameters,authorizer);
}
else if (path.equals("jobstatusesnocounts"))
{
- return apiReadJobStatusesNoCounts(tc,output);
+ return apiReadJobStatusesNoCounts(tc,output,authorizer);
}
else if (path.startsWith("jobstatusesnocounts/"))
{
Long jobID = new Long(path.substring("jobstatusesnocounts/".length()));
- return apiReadJobStatusNoCounts(tc,output,jobID);
+ return apiReadJobStatusNoCounts(tc,output,jobID,authorizer);
}
else if (path.equals("authoritygroups"))
{
- return apiReadAuthorityGroups(tc,output);
+ return apiReadAuthorityGroups(tc,output,authorizer);
}
else if (path.startsWith("authoritygroups/"))
{
String groupName = decodeAPIPathElement(path.substring("authoritygroups/".length()));
- return apiReadAuthorityGroup(tc,output,groupName);
+ return apiReadAuthorityGroup(tc,output,groupName,authorizer);
}
else if (path.equals("outputconnections"))
{
- return apiReadOutputConnections(tc,output);
+ return apiReadOutputConnections(tc,output,authorizer);
}
else if (path.startsWith("outputconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("outputconnections/".length()));
- return apiReadOutputConnection(tc,output,connectionName);
+ return apiReadOutputConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("transformationconnections"))
{
- return apiReadTransformationConnections(tc,output);
+ return apiReadTransformationConnections(tc,output,authorizer);
}
else if (path.startsWith("transformationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("transformationconnections/".length()));
- return apiReadTransformationConnection(tc,output,connectionName);
+ return apiReadTransformationConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("mappingconnections"))
{
- return apiReadMappingConnections(tc,output);
+ return apiReadMappingConnections(tc,output,authorizer);
}
else if (path.startsWith("mappingconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("mappingconnections/".length()));
- return apiReadMappingConnection(tc,output,connectionName);
+ return apiReadMappingConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("authorityconnections"))
{
- return apiReadAuthorityConnections(tc,output);
+ return apiReadAuthorityConnections(tc,output,authorizer);
}
else if (path.startsWith("authorityconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("authorityconnections/".length()));
- return apiReadAuthorityConnection(tc,output,connectionName);
+ return apiReadAuthorityConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("repositoryconnections"))
{
- return apiReadRepositoryConnections(tc,output);
+ return apiReadRepositoryConnections(tc,output,authorizer);
}
else if (path.startsWith("repositoryconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("repositoryconnections/".length()));
- return apiReadRepositoryConnection(tc,output,connectionName);
+ return apiReadRepositoryConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("notificationconnections"))
{
- return apiReadNotificationConnections(tc,output);
+ return apiReadNotificationConnections(tc,output,authorizer);
}
else if (path.startsWith("notificationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("notificationconnections/".length()));
- return apiReadNotificationConnection(tc,output,connectionName);
+ return apiReadNotificationConnection(tc,output,connectionName,authorizer);
}
else if (path.equals("outputconnectors"))
{
- return apiReadOutputConnectors(tc,output);
+ return apiReadOutputConnectors(tc,output,authorizer);
}
else if (path.equals("transformationconnectors"))
{
- return apiReadTransformationConnectors(tc,output);
+ return apiReadTransformationConnectors(tc,output,authorizer);
}
else if (path.equals("mappingconnectors"))
{
- return apiReadMappingConnectors(tc,output);
+ return apiReadMappingConnectors(tc,output,authorizer);
}
else if (path.equals("authorityconnectors"))
{
- return apiReadAuthorityConnectors(tc,output);
+ return apiReadAuthorityConnectors(tc,output,authorizer);
}
else if (path.equals("repositoryconnectors"))
{
- return apiReadRepositoryConnectors(tc,output);
+ return apiReadRepositoryConnectors(tc,output,authorizer);
}
else if (path.equals("notificationconnectors"))
{
- return apiReadNotificationConnectors(tc,output);
+ return apiReadNotificationConnectors(tc,output,authorizer);
}
else if (path.equals("authorizationdomains"))
{
- return apiReadAuthorizationDomains(tc,output);
+ return apiReadAuthorizationDomains(tc,output,authorizer);
}
else
{
@@ -3402,10 +3403,11 @@ public class ManifoldCF extends org.apac
public static final int POSTRESULT_NOTFOUND = 0;
public static final int POSTRESULT_FOUND = 1;
public static final int POSTRESULT_CREATED = 2;
+ public static final int POSTRESULT_NOTALLOWED = 3;
/** Post job.
*/
- protected static int apiPostJob(IThreadContext tc, Configuration output, Configuration input)
+ protected static int apiPostJob(IThreadContext tc, Configuration output, Configuration input, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode jobNode = findConfigurationNode(input,API_JOBNODE);
@@ -3454,7 +3456,7 @@ public class ManifoldCF extends org.apac
{
if (path.equals("jobs"))
{
- return apiPostJob(tc,output,input);
+ return apiPostJob(tc,output,input,authorizer);
}
else
{
@@ -3467,10 +3469,11 @@ public class ManifoldCF extends org.apac
public static final int WRITERESULT_NOTFOUND = 0;
public static final int WRITERESULT_FOUND = 1;
public static final int WRITERESULT_CREATED = 2;
+ public static final int WRITERESULT_NOTALLOWED = 3;
/** Start a job.
*/
- protected static int apiWriteStartJob(IThreadContext tc, Configuration output, Long jobID, boolean requestMinimum)
+ protected static int apiWriteStartJob(IThreadContext tc, Configuration output, Long jobID, boolean requestMinimum, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3488,7 +3491,7 @@ public class ManifoldCF extends org.apac
/** Abort a job.
*/
- protected static int apiWriteAbortJob(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiWriteAbortJob(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3506,7 +3509,7 @@ public class ManifoldCF extends org.apac
/** Restart a job.
*/
- protected static int apiWriteRestartJob(IThreadContext tc, Configuration output, Long jobID, boolean requestMinimum)
+ protected static int apiWriteRestartJob(IThreadContext tc, Configuration output, Long jobID, boolean requestMinimum, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3524,7 +3527,7 @@ public class ManifoldCF extends org.apac
/** Pause a job.
*/
- protected static int apiWritePauseJob(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiWritePauseJob(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3542,7 +3545,7 @@ public class ManifoldCF extends org.apac
/** Resume a job.
*/
- protected static int apiWriteResumeJob(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiWriteResumeJob(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3560,7 +3563,7 @@ public class ManifoldCF extends org.apac
/** Reset incremental seeding for a job.
*/
- protected static int apiWriteReseedJob(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiWriteReseedJob(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3578,7 +3581,7 @@ public class ManifoldCF extends org.apac
/** Write job.
*/
- protected static int apiWriteJob(IThreadContext tc, Configuration output, Configuration input, Long jobID)
+ protected static int apiWriteJob(IThreadContext tc, Configuration output, Configuration input, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode jobNode = findConfigurationNode(input,API_JOBNODE);
@@ -3616,7 +3619,7 @@ public class ManifoldCF extends org.apac
/** Write authority group.
*/
- protected static int apiWriteAuthorityGroup(IThreadContext tc, Configuration output, Configuration input, String groupName)
+ protected static int apiWriteAuthorityGroup(IThreadContext tc, Configuration output, Configuration input, String groupName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode groupNode = findConfigurationNode(input,API_AUTHORITYGROUPNODE);
@@ -3651,7 +3654,7 @@ public class ManifoldCF extends org.apac
/** Write output connection.
*/
- protected static int apiWriteOutputConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName)
+ protected static int apiWriteOutputConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode connectionNode = findConfigurationNode(input,API_OUTPUTCONNECTIONNODE);
@@ -3686,7 +3689,7 @@ public class ManifoldCF extends org.apac
/** Write transformation connection.
*/
- protected static int apiWriteTransformationConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName)
+ protected static int apiWriteTransformationConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode connectionNode = findConfigurationNode(input,API_TRANSFORMATIONCONNECTIONNODE);
@@ -3721,7 +3724,7 @@ public class ManifoldCF extends org.apac
/** Write authority connection.
*/
- protected static int apiWriteAuthorityConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName)
+ protected static int apiWriteAuthorityConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode connectionNode = findConfigurationNode(input,API_AUTHORITYCONNECTIONNODE);
@@ -3756,7 +3759,7 @@ public class ManifoldCF extends org.apac
/** Write mapping connection.
*/
- protected static int apiWriteMappingConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName)
+ protected static int apiWriteMappingConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode connectionNode = findConfigurationNode(input,API_MAPPINGCONNECTIONNODE);
@@ -3791,7 +3794,7 @@ public class ManifoldCF extends org.apac
/** Write repository connection.
*/
- protected static int apiWriteRepositoryConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName)
+ protected static int apiWriteRepositoryConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode connectionNode = findConfigurationNode(input,API_REPOSITORYCONNECTIONNODE);
@@ -3826,7 +3829,7 @@ public class ManifoldCF extends org.apac
/** Clear repository connection history.
*/
- protected static int apiWriteClearHistoryRepositoryConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiWriteClearHistoryRepositoryConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3844,7 +3847,7 @@ public class ManifoldCF extends org.apac
/** Write notification connection.
*/
- protected static int apiWriteNotificationConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName)
+ protected static int apiWriteNotificationConnection(IThreadContext tc, Configuration output, Configuration input, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
ConfigurationNode connectionNode = findConfigurationNode(input,API_NOTIFICATIONCONNECTIONNODE);
@@ -3879,7 +3882,7 @@ public class ManifoldCF extends org.apac
/** Reset output connection (reset version of all recorded documents).
*/
- protected static int apiWriteClearVersionsOutputConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiWriteClearVersionsOutputConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3896,7 +3899,7 @@ public class ManifoldCF extends org.apac
/** Clear output connection (remove all recorded documents).
*/
- protected static int apiWriteClearOutputConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiWriteClearOutputConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -3924,88 +3927,88 @@ public class ManifoldCF extends org.apac
if (path.startsWith("start/"))
{
Long jobID = new Long(path.substring("start/".length()));
- return apiWriteStartJob(tc,output,jobID,false);
+ return apiWriteStartJob(tc,output,jobID,false,authorizer);
}
else if (path.startsWith("startminimal/"))
{
Long jobID = new Long(path.substring("startminimal/".length()));
- return apiWriteStartJob(tc,output,jobID,true);
+ return apiWriteStartJob(tc,output,jobID,true,authorizer);
}
else if (path.startsWith("abort/"))
{
Long jobID = new Long(path.substring("abort/".length()));
- return apiWriteAbortJob(tc,output,jobID);
+ return apiWriteAbortJob(tc,output,jobID,authorizer);
}
else if (path.startsWith("restart/"))
{
Long jobID = new Long(path.substring("restart/".length()));
- return apiWriteRestartJob(tc,output,jobID,false);
+ return apiWriteRestartJob(tc,output,jobID,false,authorizer);
}
else if (path.startsWith("restartminimal/"))
{
Long jobID = new Long(path.substring("restartminimal/".length()));
- return apiWriteRestartJob(tc,output,jobID,true);
+ return apiWriteRestartJob(tc,output,jobID,true,authorizer);
}
else if (path.startsWith("pause/"))
{
Long jobID = new Long(path.substring("pause/".length()));
- return apiWritePauseJob(tc,output,jobID);
+ return apiWritePauseJob(tc,output,jobID,authorizer);
}
else if (path.startsWith("resume/"))
{
Long jobID = new Long(path.substring("resume/".length()));
- return apiWriteResumeJob(tc,output,jobID);
+ return apiWriteResumeJob(tc,output,jobID,authorizer);
}
else if (path.startsWith("reseed/"))
{
Long jobID = new Long(path.substring("reseed/".length()));
- return apiWriteReseedJob(tc,output,jobID);
+ return apiWriteReseedJob(tc,output,jobID,authorizer);
}
else if (path.startsWith("jobs/"))
{
Long jobID = new Long(path.substring("jobs/".length()));
- return apiWriteJob(tc,output,input,jobID);
+ return apiWriteJob(tc,output,input,jobID,authorizer);
}
else if (path.startsWith("authoritygroups/"))
{
String groupName = decodeAPIPathElement(path.substring("authoritygroups/".length()));
- return apiWriteAuthorityGroup(tc,output,input,groupName);
+ return apiWriteAuthorityGroup(tc,output,input,groupName,authorizer);
}
else if (path.startsWith("outputconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("outputconnections/".length()));
- return apiWriteOutputConnection(tc,output,input,connectionName);
+ return apiWriteOutputConnection(tc,output,input,connectionName,authorizer);
}
else if (path.startsWith("transformationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("transformationconnections/".length()));
- return apiWriteTransformationConnection(tc,output,input,connectionName);
+ return apiWriteTransformationConnection(tc,output,input,connectionName,authorizer);
}
else if (path.startsWith("mappingconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("mappingconnections/".length()));
- return apiWriteMappingConnection(tc,output,input,connectionName);
+ return apiWriteMappingConnection(tc,output,input,connectionName,authorizer);
}
else if (path.startsWith("authorityconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("authorityconnections/".length()));
- return apiWriteAuthorityConnection(tc,output,input,connectionName);
+ return apiWriteAuthorityConnection(tc,output,input,connectionName,authorizer);
}
else if (path.startsWith("repositoryconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("repositoryconnections/".length()));
- return apiWriteRepositoryConnection(tc,output,input,connectionName);
+ return apiWriteRepositoryConnection(tc,output,input,connectionName,authorizer);
}
else if (path.startsWith("notificationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("notificationconnections/".length()));
- return apiWriteNotificationConnection(tc,output,input,connectionName);
+ return apiWriteNotificationConnection(tc,output,input,connectionName,authorizer);
}
else if (path.startsWith("clearhistory/"))
{
int firstSeparator = "clearhistory/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
- return apiWriteClearHistoryRepositoryConnection(tc,output,connectionName);
+ return apiWriteClearHistoryRepositoryConnection(tc,output,connectionName,authorizer);
}
else if (path.startsWith("reset/"))
{
@@ -4023,7 +4026,7 @@ public class ManifoldCF extends org.apac
if (connectionType.equals("outputconnections"))
{
- return apiWriteClearVersionsOutputConnection(tc,output,connectionName);
+ return apiWriteClearVersionsOutputConnection(tc,output,connectionName,authorizer);
}
else
{
@@ -4035,13 +4038,13 @@ public class ManifoldCF extends org.apac
{
int firstSeparator = "clearversions/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
- return apiWriteClearVersionsOutputConnection(tc,output,connectionName);
+ return apiWriteClearVersionsOutputConnection(tc,output,connectionName,authorizer);
}
else if (path.startsWith("clearrecords/"))
{
int firstSeparator = "clearrecords/".length();
String connectionName = decodeAPIPathElement(path.substring(firstSeparator));
- return apiWriteClearOutputConnection(tc,output,connectionName);
+ return apiWriteClearOutputConnection(tc,output,connectionName,authorizer);
}
else
{
@@ -4053,10 +4056,11 @@ public class ManifoldCF extends org.apac
// Delete result codes
public static final int DELETERESULT_NOTFOUND = 0;
public static final int DELETERESULT_FOUND = 1;
-
+ public static final int DELETERESULT_NOTALLOWED = 2;
+
/** Delete a job.
*/
- protected static int apiDeleteJob(IThreadContext tc, Configuration output, Long jobID)
+ protected static int apiDeleteJob(IThreadContext tc, Configuration output, Long jobID, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -4073,7 +4077,7 @@ public class ManifoldCF extends org.apac
/** Delete authority group.
*/
- protected static int apiDeleteAuthorityGroup(IThreadContext tc, Configuration output, String groupName)
+ protected static int apiDeleteAuthorityGroup(IThreadContext tc, Configuration output, String groupName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -4090,7 +4094,7 @@ public class ManifoldCF extends org.apac
/** Delete output connection.
*/
- protected static int apiDeleteOutputConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiDeleteOutputConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -4107,7 +4111,7 @@ public class ManifoldCF extends org.apac
/** Delete authority connection.
*/
- protected static int apiDeleteAuthorityConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiDeleteAuthorityConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -4124,7 +4128,7 @@ public class ManifoldCF extends org.apac
/** Delete repository connection.
*/
- protected static int apiDeleteRepositoryConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiDeleteRepositoryConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -4141,7 +4145,7 @@ public class ManifoldCF extends org.apac
/** Delete notification connection.
*/
- protected static int apiDeleteNotificationConnection(IThreadContext tc, Configuration output, String connectionName)
+ protected static int apiDeleteNotificationConnection(IThreadContext tc, Configuration output, String connectionName, IAuthorizer authorizer)
throws ManifoldCFException
{
try
@@ -4168,32 +4172,32 @@ public class ManifoldCF extends org.apac
if (path.startsWith("jobs/"))
{
Long jobID = new Long(path.substring("jobs/".length()));
- return apiDeleteJob(tc,output,jobID);
+ return apiDeleteJob(tc,output,jobID,authorizer);
}
else if (path.startsWith("authoritygroups/"))
{
String groupName = decodeAPIPathElement(path.substring("authoritygroups/".length()));
- return apiDeleteAuthorityGroup(tc,output,groupName);
+ return apiDeleteAuthorityGroup(tc,output,groupName,authorizer);
}
else if (path.startsWith("outputconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("outputconnections/".length()));
- return apiDeleteOutputConnection(tc,output,connectionName);
+ return apiDeleteOutputConnection(tc,output,connectionName,authorizer);
}
else if (path.startsWith("authorityconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("authorityconnections/".length()));
- return apiDeleteAuthorityConnection(tc,output,connectionName);
+ return apiDeleteAuthorityConnection(tc,output,connectionName,authorizer);
}
else if (path.startsWith("repositoryconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("repositoryconnections/".length()));
- return apiDeleteRepositoryConnection(tc,output,connectionName);
+ return apiDeleteRepositoryConnection(tc,output,connectionName,authorizer);
}
else if (path.startsWith("notificationconnections/"))
{
String connectionName = decodeAPIPathElement(path.substring("notificationconnections/".length()));
- return apiDeleteNotificationConnection(tc,output,connectionName);
+ return apiDeleteNotificationConnection(tc,output,connectionName,authorizer);
}
else
{