mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-6302: Add Edi tFunctionality To Disposition Schedule: automation tests
This commit is contained in:
@@ -662,7 +662,7 @@ public abstract class BaseAPI
|
|||||||
RETENTION_GHOST,
|
RETENTION_GHOST,
|
||||||
RETENTION_ELIGIBLE_FIRST_EVENT,
|
RETENTION_ELIGIBLE_FIRST_EVENT,
|
||||||
RETENTION_EVENTS,
|
RETENTION_EVENTS,
|
||||||
|
COMBINE_DISPOSITION_STEP_CONDITIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -35,6 +35,7 @@ import java.util.Map;
|
|||||||
import org.alfresco.rest.core.v0.BaseAPI;
|
import org.alfresco.rest.core.v0.BaseAPI;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
import org.json.JSONArray;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -51,6 +52,8 @@ public class RecordCategoriesAPI extends BaseAPI
|
|||||||
private static final Logger LOGGER = LoggerFactory.getLogger(RecordCategoriesAPI.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(RecordCategoriesAPI.class);
|
||||||
private static final String RM_ACTIONS_API = "{0}rma/actions/ExecutionQueue";
|
private static final String RM_ACTIONS_API = "{0}rma/actions/ExecutionQueue";
|
||||||
private static final String DISPOSITION_ACTIONS_API = "{0}node/{1}/dispositionschedule/dispositionactiondefinitions";
|
private static final String DISPOSITION_ACTIONS_API = "{0}node/{1}/dispositionschedule/dispositionactiondefinitions";
|
||||||
|
private static final String DISPOSITION_SCHEDULE_API = "{0}node/{1}/dispositionschedule";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a retention schedule for the category given as parameter
|
* Creates a retention schedule for the category given as parameter
|
||||||
@@ -71,6 +74,21 @@ public class RecordCategoriesAPI extends BaseAPI
|
|||||||
return doPostJsonRequest(user, password, SC_OK, requestParams, RM_ACTIONS_API);
|
return doPostJsonRequest(user, password, SC_OK, requestParams, RM_ACTIONS_API);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the disposition schedule nodeRef
|
||||||
|
*
|
||||||
|
* @param user
|
||||||
|
* @param password
|
||||||
|
* @param categoryName
|
||||||
|
* @return the disposition schedule nodeRef
|
||||||
|
*/
|
||||||
|
public String getDispositionScheduleNodeRef(String user, String password, String categoryName)
|
||||||
|
{
|
||||||
|
String catNodeRef = NODE_PREFIX + getItemNodeRef(user, password, "/" + categoryName);
|
||||||
|
JSONObject dispositionSchedule = doGetRequest(user, password, MessageFormat.format(DISPOSITION_SCHEDULE_API, "{0}", catNodeRef));
|
||||||
|
return dispositionSchedule.getJSONObject("data").getString("nodeRef").replace(getNodeRefSpacesStore(), "");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets retention schedule authority and instructions, also if it is applied to records or folders
|
* Sets retention schedule authority and instructions, also if it is applied to records or folders
|
||||||
*
|
*
|
||||||
@@ -109,6 +127,34 @@ public class RecordCategoriesAPI extends BaseAPI
|
|||||||
addPropertyToRequest(requestParams, "ghostOnDestroy", properties, RETENTION_SCHEDULE.RETENTION_GHOST);
|
addPropertyToRequest(requestParams, "ghostOnDestroy", properties, RETENTION_SCHEDULE.RETENTION_GHOST);
|
||||||
addPropertyToRequest(requestParams, "periodProperty", properties, RETENTION_SCHEDULE.RETENTION_PERIOD_PROPERTY);
|
addPropertyToRequest(requestParams, "periodProperty", properties, RETENTION_SCHEDULE.RETENTION_PERIOD_PROPERTY);
|
||||||
addPropertyToRequest(requestParams, "events", properties, RETENTION_SCHEDULE.RETENTION_EVENTS);
|
addPropertyToRequest(requestParams, "events", properties, RETENTION_SCHEDULE.RETENTION_EVENTS);
|
||||||
|
addPropertyToRequest(requestParams, "combineDispositionStepConditions", properties, RETENTION_SCHEDULE.COMBINE_DISPOSITION_STEP_CONDITIONS);
|
||||||
|
addPropertyToRequest(requestParams, "eligibleOnFirstCompleteEvent", properties, RETENTION_SCHEDULE.RETENTION_ELIGIBLE_FIRST_EVENT);
|
||||||
|
|
||||||
|
return doPostJsonRequest(user, password, SC_OK, requestParams, MessageFormat.format(DISPOSITION_ACTIONS_API, "{0}", catNodeRef));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a retention schedule for a given category with added event
|
||||||
|
|
||||||
|
* @param user
|
||||||
|
* @param password
|
||||||
|
* @param categoryName
|
||||||
|
* @param properties
|
||||||
|
* @param events
|
||||||
|
* @return The HTTP Response.
|
||||||
|
*/
|
||||||
|
public HttpResponse addDispositionScheduleSteps(String user, String password, String categoryName, Map<RETENTION_SCHEDULE, String> properties, String events)
|
||||||
|
{
|
||||||
|
String catNodeRef = NODE_PREFIX + getItemNodeRef(user, password, "/" + categoryName);
|
||||||
|
|
||||||
|
JSONObject requestParams = new JSONObject();
|
||||||
|
addPropertyToRequest(requestParams, "name", properties, RETENTION_SCHEDULE.NAME);
|
||||||
|
addPropertyToRequest(requestParams, "description", properties, RETENTION_SCHEDULE.DESCRIPTION);
|
||||||
|
addPropertyToRequest(requestParams, "period", properties, RETENTION_SCHEDULE.RETENTION_PERIOD);
|
||||||
|
addPropertyToRequest(requestParams, "ghostOnDestroy", properties, RETENTION_SCHEDULE.RETENTION_GHOST);
|
||||||
|
addPropertyToRequest(requestParams, "periodProperty", properties, RETENTION_SCHEDULE.RETENTION_PERIOD_PROPERTY);
|
||||||
|
requestParams.append("events", events);
|
||||||
|
addPropertyToRequest(requestParams, "combineDispositionStepConditions", properties, RETENTION_SCHEDULE.COMBINE_DISPOSITION_STEP_CONDITIONS);
|
||||||
addPropertyToRequest(requestParams, "eligibleOnFirstCompleteEvent", properties, RETENTION_SCHEDULE.RETENTION_ELIGIBLE_FIRST_EVENT);
|
addPropertyToRequest(requestParams, "eligibleOnFirstCompleteEvent", properties, RETENTION_SCHEDULE.RETENTION_ELIGIBLE_FIRST_EVENT);
|
||||||
|
|
||||||
return doPostJsonRequest(user, password, SC_OK, requestParams, MessageFormat.format(DISPOSITION_ACTIONS_API, "{0}", catNodeRef));
|
return doPostJsonRequest(user, password, SC_OK, requestParams, MessageFormat.format(DISPOSITION_ACTIONS_API, "{0}", catNodeRef));
|
||||||
|
Reference in New Issue
Block a user