This is an automated email from the ASF dual-hosted git repository. adoroszlai pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push: new 31deb40 AMBARI-23361. Integrate RequestScheduleService to Swagger (#867) 31deb40 is described below commit 31deb40bd71dcf39e8beb40923f7cde001cf9747 Author: Gabor Boros <6317425+g-bo...@users.noreply.github.com> AuthorDate: Wed Apr 4 13:29:56 2018 +0200 AMBARI-23361. Integrate RequestScheduleService to Swagger (#867) Change-Id: I6d923798452d02059ae06f6198bbf5f17dedea85 --- .../api/services/RequestScheduleService.java | 84 ++++++- .../controller/RequestScheduleRequestSwagger.java | 113 +++++++++ .../controller/RequestScheduleResponseSwagger.java | 140 +++++++++++ .../internal/RequestScheduleResourceProvider.java | 259 +++++++++++---------- .../RequestScheduleResourceProviderTest.java | 90 +++---- 5 files changed, 513 insertions(+), 173 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java index a734167..68494d4 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/RequestScheduleService.java @@ -28,18 +28,34 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import org.apache.ambari.annotations.ApiIgnore; import org.apache.ambari.server.api.resources.ResourceInstance; +import org.apache.ambari.server.controller.RequestScheduleResponseSwagger; import org.apache.ambari.server.controller.spi.Resource; +import org.apache.http.HttpStatus; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + + /** * Service responsible for management of a batch of requests with attached * schedule */ +@Api(value = "RequestSchedules", description = "Endpoint for request schedule specific operations") public class RequestScheduleService extends BaseService { + + public static final String REQUEST_SCHEDULE_REQUEST_TYPE = "org.apache.ambari.server.controller" + + ".RequestScheduleRequestSwagger"; + /** * Parent cluster name. */ @@ -61,8 +77,23 @@ public class RequestScheduleService extends BaseService { * @param ui * @return */ - @GET @ApiIgnore // until documented - @Produces("text/plain") + @GET + @Path("") // This is needed if class level path is not present otherwise no Swagger docs will be generated for this method + @Produces(MediaType.TEXT_PLAIN) + @ApiOperation(value = "Get all request schedules", response = RequestScheduleResponseSwagger.class, responseContainer = + RESPONSE_CONTAINER_LIST) + @ApiImplicitParams({ + @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, defaultValue = "RequestSchedule/*", + dataType = DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY), + }) + @ApiResponses({ + @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND), + @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED), + @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS), + }) public Response getRequestSchedules(String body, @Context HttpHeaders headers, @Context UriInfo ui) { @@ -76,9 +107,22 @@ public class RequestScheduleService extends BaseService { * * @return */ - @GET @ApiIgnore // until documented + @GET @Path("{requestScheduleId}") - @Produces("text/plain") + @Produces(MediaType.TEXT_PLAIN) + @ApiOperation(value = "Get request schedule", response = RequestScheduleResponseSwagger.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = QUERY_FIELDS, value = QUERY_FILTER_DESCRIPTION, defaultValue = "RequestSchedule/*", dataType = + DATA_TYPE_STRING, paramType = PARAM_TYPE_QUERY), + }) + @ApiResponses({ + @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND), + @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED), + @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS), + }) public Response getRequestSchedule(String body, @Context HttpHeaders headers, @Context UriInfo ui, @@ -96,8 +140,22 @@ public class RequestScheduleService extends BaseService { * @param ui * @return */ - @POST @ApiIgnore // until documented - @Produces("text/plain") + @POST + @Path("") // This is needed if class level path is not present otherwise no Swagger docs will be generated for this method + @Produces(MediaType.TEXT_PLAIN) + @ApiOperation(value = "Create new request schedule") + @ApiImplicitParams({ + @ApiImplicitParam(dataType = REQUEST_SCHEDULE_REQUEST_TYPE, paramType = PARAM_TYPE_BODY) + }) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_CREATED, message = MSG_SUCCESSFUL_OPERATION), + @ApiResponse(code = HttpStatus.SC_ACCEPTED, message = MSG_REQUEST_ACCEPTED), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = MSG_INVALID_ARGUMENTS), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_NOT_FOUND), + @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED), + @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR), + }) public Response createRequestSchedule(String body, @Context HttpHeaders headers, @Context UriInfo ui) { @@ -114,9 +172,17 @@ public class RequestScheduleService extends BaseService { * @param requestScheduleId * @return */ - @DELETE @ApiIgnore // until documented + @DELETE @Path("{requestScheduleId}") - @Produces("text/plain") + @Produces(MediaType.TEXT_PLAIN) + @ApiOperation(value = "Delete a request schedule", notes = "Changes status from COMPLETED to DISABLED") + @ApiResponses({ + @ApiResponse(code = HttpStatus.SC_OK, message = MSG_SUCCESSFUL_OPERATION), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = MSG_CLUSTER_OR_HOST_NOT_FOUND), + @ApiResponse(code = HttpStatus.SC_UNAUTHORIZED, message = MSG_NOT_AUTHENTICATED), + @ApiResponse(code = HttpStatus.SC_FORBIDDEN, message = MSG_PERMISSION_DENIED), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = MSG_SERVER_ERROR), + }) public Response deleteRequestSchedule(@Context HttpHeaders headers, @Context UriInfo ui, @PathParam("requestScheduleId") String requestScheduleId) { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleRequestSwagger.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleRequestSwagger.java new file mode 100644 index 0000000..25dbbd0 --- /dev/null +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleRequestSwagger.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ambari.server.controller; + +import java.util.List; + +import org.apache.ambari.server.api.services.parsers.RequestBodyParser; +import org.apache.ambari.server.controller.internal.RequestResourceFilter; +import org.apache.ambari.server.controller.internal.RequestResourceProvider; +import org.apache.ambari.server.controller.internal.RequestScheduleResourceProvider; + +import io.swagger.annotations.ApiModelProperty; + + +public interface RequestScheduleRequestSwagger { + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUEST_SCHEDULE) + RequestScheduleRequestElement getRequestScheduleRequest(); + + interface RequestScheduleRequestElement { + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_PROPERTY_ID) + List<BatchRequest> getBatch(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.SCHEDULE_PROPERTY_ID) + ScheduleRequest getSchedule(); + + interface BatchRequest { + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUESTS_PROPERTY_ID) + List<BatchRequestRequest> getBatchRequests(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_SETTINGS) + BatchSettings getBatchSettings(); + + interface BatchRequestRequest { + + @ApiModelProperty(name = RequestScheduleResourceProvider.ORDER_ID_PROPERTY_ID) + Long getOrderId(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.TYPE_PROPERTY_ID) + String getType(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.URI_PROPERTY_ID) + String getUri(); + + @ApiModelProperty(name = RequestBodyParser.REQUEST_BLOB_TITLE) + RequestBodyInfo getRequestBodyInfo(); + + interface RequestBodyInfo { + + @ApiModelProperty(name = RequestResourceProvider.REQUEST_INFO) + RequestPostRequest.RequestInfo getRequestInfo(); + + @ApiModelProperty(name = RequestResourceProvider.REQUEST_RESOURCE_FILTER_ID) + List<RequestResourceFilter> getRequestResourceFilters(); + } + } + + interface BatchSettings { + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_SEPARATION_IN_SECONDS_PROPERTY_ID) + Integer getBatchSeparationInSeconds(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.TASK_FAILURE_TOLERANCE_LIMIT_PROPERTY_ID) + Integer getTaskFailureToleranceLimit(); + } + } + + interface ScheduleRequest { + + @ApiModelProperty(name = RequestScheduleResourceProvider.MINUTES_PROPERTY_ID) + String getMinutes(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.HOURS_PROPERTY_ID) + String getHours(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.DAYS_OF_MONTH_PROPERTY_ID) + String getDaysOfMonth(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.MONTH_PROPERTY_ID) + String getMonth(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.DAY_OF_WEEK_PROPERTY_ID) + String getDayOfWeek(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.YEAR_PROPERTY_ID) + String getYear(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.START_TIME_PROPERTY_ID) + String getStartTime(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.END_TIME_PROPERTY_ID) + String getEndTime(); + } + } +} \ No newline at end of file diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleResponseSwagger.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleResponseSwagger.java new file mode 100644 index 0000000..3e5f0e0 --- /dev/null +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RequestScheduleResponseSwagger.java @@ -0,0 +1,140 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ambari.server.controller; + +import java.util.List; + +import org.apache.ambari.server.controller.internal.RequestScheduleResourceProvider; + +import io.swagger.annotations.ApiModelProperty; + + +public interface RequestScheduleResponseSwagger { + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUEST_SCHEDULE) + RequestScheduleResponseElement getRequestScheduleResponse(); + + interface RequestScheduleResponseElement { + + @ApiModelProperty(name = RequestScheduleResourceProvider.ID_PROPERTY_ID) + Long getId (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.CLUSTER_NAME_PROPERTY_ID) + String getClusterName (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.DESCRIPTION_PROPERTY_ID) + String getDescription (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.STATUS_PROPERTY_ID) + String getStatus (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_PROPERTY_ID) + BatchResponse getBatch (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.SCHEDULE_PROPERTY_ID) + ScheduleResponse getSchedule (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.CREATE_USER_PROPERTY_ID) + String getCreateUser (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.CREATE_TIME_PROPERTY_ID) + String getCreateTime (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.UPDATE_USER_PROPERTY_ID) + String getUpdateUser (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.UPDATE_TIME_PROPERTY_ID) + String getUpdateTime (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.LAST_EXECUTION_STATUS_PROPERTY_ID) + String getLastExecutionStatus (); + + @ApiModelProperty(name = RequestScheduleResourceProvider.AUTHENTICATED_USER_PROPERTY_ID) + Integer getAuthenticatedUserId (); + + interface BatchResponse { + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_REQUESTS) + List<BatchRequestResponse> getBatchRequests(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_SETTINGS) + BatchSettings getBatchSettings(); + + interface BatchRequestResponse { + + @ApiModelProperty(name = RequestScheduleResourceProvider.ORDER_ID_PROPERTY_ID) + Long getOrderId(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUEST_TYPE_PROPERTY_ID) + String getType(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUEST_URI_PROPERTY_ID) + String getUri(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUEST_BODY_PROPERTY_ID) + String getBody(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.REQUEST_STATUS_PROPERTY_ID) + String getStatus(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.RETURN_CODE_PROPERTY_ID) + Integer getReturnCode(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.RESPONSE_MESSAGE_PROPERTY_ID) + String getResponseMsg(); + } + + interface BatchSettings { + + @ApiModelProperty(name = RequestScheduleResourceProvider.BATCH_SEPARATION_IN_SECONDS_PROPERTY_ID) + Integer getBatchSeparationInSeconds(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.TASK_FAILURE_TOLERANCE_LIMIT_PROPERTY_ID) + Integer getTaskFailureToleranceLimit(); + } + } + + interface ScheduleResponse { + + @ApiModelProperty(name = RequestScheduleResourceProvider.MINUTES_PROPERTY_ID) + String getMinutes(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.HOURS_PROPERTY_ID) + String getHours(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.DAYS_OF_MONTH_PROPERTY_ID) + String getDaysOfMonth(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.MONTH_PROPERTY_ID) + String getMonth(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.DAY_OF_WEEK_PROPERTY_ID) + String getDayOfWeek(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.YEAR_PROPERTY_ID) + String getYear(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.START_TIME_SNAKE_CASE_PROPERTY_ID) + String getStartTime(); + + @ApiModelProperty(name = RequestScheduleResourceProvider.END_TIME_SNAKE_CASE_PROPERTY_ID) + String getEndTime(); + } + } +} \ No newline at end of file diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java index f556c9c..15ae9dd 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java @@ -59,103 +59,124 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP private static final Logger LOG = LoggerFactory.getLogger (RequestScheduleResourceProvider.class); - protected static final String REQUEST_SCHEDULE_ID_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "id"); - protected static final String REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "cluster_name"); - protected static final String REQUEST_SCHEDULE_DESC_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "description"); - protected static final String REQUEST_SCHEDULE_STATUS_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "status"); - protected static final String REQUEST_SCHEDULE_LAST_STATUS_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "last_execution_status"); - protected static final String REQUEST_SCHEDULE_BATCH_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "batch"); - protected static final String REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "schedule"); - protected static final String REQUEST_SCHEDULE_CREATE_USER_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "create_user"); - protected static final String REQUEST_SCHEDULE_AUTHENTICATED_USER_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "authenticated_user"); - protected static final String REQUEST_SCHEDULE_UPDATE_USER_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "update_user"); - protected static final String REQUEST_SCHEDULE_CREATE_TIME_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "create_time"); - protected static final String REQUEST_SCHEDULE_UPDATE_TIME_PROPERTY_ID = - PropertyHelper.getPropertyId("RequestSchedule", "update_time"); - - protected static final String REQUEST_SCHEDULE_BATCH_SEPARATION_PROPERTY_ID = - PropertyHelper.getPropertyId("batch_settings", "batch_separation_in_seconds"); - protected static final String REQUEST_SCHEDULE_BATCH_TOLERATION_PROPERTY_ID = - PropertyHelper.getPropertyId("batch_settings", "task_failure_tolerance"); - protected static final String REQUEST_SCHEDULE_BATCH_REQUESTS_PROPERTY_ID = - PropertyHelper.getPropertyId(null, "requests"); - - protected static final String BATCH_REQUEST_TYPE_PROPERTY_ID = - PropertyHelper.getPropertyId(null, "type"); - protected static final String BATCH_REQUEST_URI_PROPERTY_ID = - PropertyHelper.getPropertyId(null, "uri"); - protected static final String BATCH_REQUEST_ORDER_ID_PROPERTY_ID = - PropertyHelper.getPropertyId(null, "order_id"); - protected static final String BATCH_REQUEST_BODY_PROPERTY_ID = - PropertyHelper.getPropertyId(null, RequestBodyParser.REQUEST_BLOB_TITLE); - - protected static final String SCHEDULE_DAYS_OF_MONTH_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "days_of_month"); - protected static final String SCHEDULE_MINUTES_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "minutes"); - protected static final String SCHEDULE_HOURS_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "hours"); - protected static final String SCHEDULE_YEAR_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "year"); - protected static final String SCHEDULE_DAY_OF_WEEK_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "day_of_week"); - protected static final String SCHEDULE_MONTH_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "month"); - protected static final String SCHEDULE_START_TIME_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "startTime"); - protected static final String SCHEDULE_END_TIME_PROPERTY_ID = - PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "endTime"); + public static final String REQUEST_SCHEDULE = "RequestSchedule"; + public static final String BATCH_SETTINGS = "batch_settings"; + public static final String BATCH_REQUESTS = "batch_requests"; + + public static final String ID_PROPERTY_ID = "id"; + public static final String CLUSTER_NAME_PROPERTY_ID = "cluster_name"; + public static final String DESCRIPTION_PROPERTY_ID = "description"; + public static final String STATUS_PROPERTY_ID = "status"; + public static final String LAST_EXECUTION_STATUS_PROPERTY_ID = "last_execution_status"; + public static final String BATCH_PROPERTY_ID = "batch"; + public static final String SCHEDULE_PROPERTY_ID = "schedule"; + public static final String CREATE_USER_PROPERTY_ID = "create_user"; + public static final String AUTHENTICATED_USER_PROPERTY_ID = "authenticated_user"; + public static final String UPDATE_USER_PROPERTY_ID = "update_user"; + public static final String CREATE_TIME_PROPERTY_ID = "create_time"; + public static final String UPDATE_TIME_PROPERTY_ID = "update_time"; + + public static final String BATCH_SEPARATION_IN_SECONDS_PROPERTY_ID = "batch_separation_in_seconds"; + public static final String TASK_FAILURE_TOLERANCE_PROPERTY_ID = "task_failure_tolerance"; + public static final String TASK_FAILURE_TOLERANCE_LIMIT_PROPERTY_ID = "task_failure_tolerance_limit"; + public static final String REQUESTS_PROPERTY_ID = "requests"; + + public static final String TYPE_PROPERTY_ID = "type"; + public static final String URI_PROPERTY_ID = "uri"; + public static final String ORDER_ID_PROPERTY_ID = "order_id"; + public static final String REQUEST_TYPE_PROPERTY_ID = "request_type"; + public static final String REQUEST_URI_PROPERTY_ID = "request_uri"; + public static final String REQUEST_BODY_PROPERTY_ID = "request_body"; + public static final String REQUEST_STATUS_PROPERTY_ID = "request_status"; + public static final String RETURN_CODE_PROPERTY_ID = "return_code"; + public static final String RESPONSE_MESSAGE_PROPERTY_ID = "response_message"; + + public static final String DAYS_OF_MONTH_PROPERTY_ID = "days_of_month"; + public static final String MINUTES_PROPERTY_ID = "minutes"; + public static final String HOURS_PROPERTY_ID = "hours"; + public static final String YEAR_PROPERTY_ID = "year"; + public static final String DAY_OF_WEEK_PROPERTY_ID = "day_of_week"; + public static final String MONTH_PROPERTY_ID = "month"; + public static final String START_TIME_PROPERTY_ID = "startTime"; + public static final String START_TIME_SNAKE_CASE_PROPERTY_ID = "start_time"; + public static final String END_TIME_PROPERTY_ID = "endTime"; + public static final String END_TIME_SNAKE_CASE_PROPERTY_ID = "end_time"; + + + public static final String ID = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, ID_PROPERTY_ID); + public static final String CLUSTER_NAME = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, CLUSTER_NAME_PROPERTY_ID); + public static final String DESCRIPTION = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, DESCRIPTION_PROPERTY_ID); + public static final String STATUS = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, STATUS_PROPERTY_ID); + public static final String LAST_EXECUTION_STATUS = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, + LAST_EXECUTION_STATUS_PROPERTY_ID); + public static final String BATCH = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, BATCH_PROPERTY_ID); + public static final String SCHEDULE = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, SCHEDULE_PROPERTY_ID); + public static final String CREATE_USER = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, CREATE_USER_PROPERTY_ID); + public static final String AUTHENTICATED_USER = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, + AUTHENTICATED_USER_PROPERTY_ID); + public static final String UPDATE_USER = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, UPDATE_USER_PROPERTY_ID); + public static final String CREATE_TIME = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, CREATE_TIME_PROPERTY_ID); + public static final String UPDATE_TIME = PropertyHelper.getPropertyId(REQUEST_SCHEDULE, UPDATE_TIME_PROPERTY_ID); + + public static final String BATCH_SEPARATION_IN_SECONDS = PropertyHelper.getPropertyId(BATCH_SETTINGS, + BATCH_SEPARATION_IN_SECONDS_PROPERTY_ID); + public static final String TASK_FAILURE_TOLERANCE = PropertyHelper.getPropertyId(BATCH_SETTINGS, + TASK_FAILURE_TOLERANCE_PROPERTY_ID); + public static final String REQUESTS = PropertyHelper.getPropertyId(null, REQUESTS_PROPERTY_ID); + + public static final String TYPE = PropertyHelper.getPropertyId(null, TYPE_PROPERTY_ID); + public static final String URI = PropertyHelper.getPropertyId(null, URI_PROPERTY_ID); + public static final String ORDER_ID = PropertyHelper.getPropertyId(null, ORDER_ID_PROPERTY_ID); + public static final String BODY = PropertyHelper.getPropertyId(null, RequestBodyParser.REQUEST_BLOB_TITLE); + + public static final String DAYS_OF_MONTH = PropertyHelper.getPropertyId(SCHEDULE, DAYS_OF_MONTH_PROPERTY_ID); + public static final String MINUTES = PropertyHelper.getPropertyId(SCHEDULE, MINUTES_PROPERTY_ID); + public static final String HOURS = PropertyHelper.getPropertyId(SCHEDULE, HOURS_PROPERTY_ID); + public static final String YEAR = PropertyHelper.getPropertyId(SCHEDULE, YEAR_PROPERTY_ID); + public static final String DAY_OF_WEEK = PropertyHelper.getPropertyId(SCHEDULE, DAY_OF_WEEK_PROPERTY_ID); + public static final String MONTH = PropertyHelper.getPropertyId(SCHEDULE, MONTH_PROPERTY_ID); + public static final String START_TIME = PropertyHelper.getPropertyId(SCHEDULE, START_TIME_PROPERTY_ID); + public static final String END_TIME = PropertyHelper.getPropertyId(SCHEDULE, END_TIME_PROPERTY_ID); /** * The key property ids for a RequestSchedule resource. */ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder() - .put(Resource.Type.Cluster, REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID) - .put(Resource.Type.RequestSchedule, REQUEST_SCHEDULE_ID_PROPERTY_ID) + .put(Resource.Type.Cluster, CLUSTER_NAME) + .put(Resource.Type.RequestSchedule, ID) .build(); /** * The property ids for a RequestSchedule resource. */ private static Set<String> propertyIds = Sets.newHashSet( - REQUEST_SCHEDULE_ID_PROPERTY_ID, - REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID, - REQUEST_SCHEDULE_DESC_PROPERTY_ID, - REQUEST_SCHEDULE_STATUS_PROPERTY_ID, - REQUEST_SCHEDULE_LAST_STATUS_PROPERTY_ID, - REQUEST_SCHEDULE_BATCH_PROPERTY_ID, - REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, - REQUEST_SCHEDULE_CREATE_USER_PROPERTY_ID, - REQUEST_SCHEDULE_AUTHENTICATED_USER_PROPERTY_ID, - REQUEST_SCHEDULE_UPDATE_USER_PROPERTY_ID, - REQUEST_SCHEDULE_CREATE_TIME_PROPERTY_ID, - REQUEST_SCHEDULE_UPDATE_TIME_PROPERTY_ID, - REQUEST_SCHEDULE_BATCH_SEPARATION_PROPERTY_ID, - REQUEST_SCHEDULE_BATCH_TOLERATION_PROPERTY_ID, - REQUEST_SCHEDULE_BATCH_REQUESTS_PROPERTY_ID, - BATCH_REQUEST_TYPE_PROPERTY_ID, - BATCH_REQUEST_URI_PROPERTY_ID, - BATCH_REQUEST_ORDER_ID_PROPERTY_ID, - BATCH_REQUEST_BODY_PROPERTY_ID, - SCHEDULE_DAYS_OF_MONTH_PROPERTY_ID, - SCHEDULE_MINUTES_PROPERTY_ID, - SCHEDULE_HOURS_PROPERTY_ID, - SCHEDULE_YEAR_PROPERTY_ID, - SCHEDULE_DAY_OF_WEEK_PROPERTY_ID, - SCHEDULE_MONTH_PROPERTY_ID, - SCHEDULE_START_TIME_PROPERTY_ID, - SCHEDULE_END_TIME_PROPERTY_ID); + ID, + CLUSTER_NAME, + DESCRIPTION, + STATUS, + LAST_EXECUTION_STATUS, + BATCH, + SCHEDULE, + CREATE_USER, + AUTHENTICATED_USER, + UPDATE_USER, + CREATE_TIME, + UPDATE_TIME, + BATCH_SEPARATION_IN_SECONDS, + TASK_FAILURE_TOLERANCE, + REQUESTS, + TYPE, + URI, + ORDER_ID, + BODY, + DAYS_OF_MONTH, + MINUTES, + HOURS, + YEAR, + DAY_OF_WEEK, + MONTH, + START_TIME, + END_TIME); /** * Create a new resource provider for the given management controller. @@ -197,7 +218,7 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP Set<Resource> associatedResources = new HashSet<>(); for (RequestScheduleResponse response : responses) { Resource resource = new ResourceImpl(Resource.Type.RequestSchedule); - resource.setProperty(REQUEST_SCHEDULE_ID_PROPERTY_ID, response.getId()); + resource.setProperty(ID, response.getId()); associatedResources.add(resource); } @@ -228,29 +249,29 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP for (RequestScheduleResponse response : responses) { Resource resource = new ResourceImpl(Resource.Type.RequestSchedule); - setResourceProperty(resource, REQUEST_SCHEDULE_ID_PROPERTY_ID, + setResourceProperty(resource, ID, response.getId(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID, + setResourceProperty(resource, CLUSTER_NAME, response.getClusterName(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_DESC_PROPERTY_ID, + setResourceProperty(resource, DESCRIPTION, response.getDescription(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_STATUS_PROPERTY_ID, + setResourceProperty(resource, STATUS, response.getStatus(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_LAST_STATUS_PROPERTY_ID, + setResourceProperty(resource, LAST_EXECUTION_STATUS, response.getLastExecutionStatus(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_BATCH_PROPERTY_ID, + setResourceProperty(resource, BATCH, response.getBatch(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, + setResourceProperty(resource, SCHEDULE, response.getSchedule(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_CREATE_USER_PROPERTY_ID, + setResourceProperty(resource, CREATE_USER, response.getCreateUser(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_AUTHENTICATED_USER_PROPERTY_ID, + setResourceProperty(resource, AUTHENTICATED_USER, response.getAuthenticatedUserId(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_CREATE_TIME_PROPERTY_ID, + setResourceProperty(resource, CREATE_TIME, response.getCreateTime(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_UPDATE_USER_PROPERTY_ID, + setResourceProperty(resource, UPDATE_USER, response.getUpdateUser(), requestedIds); - setResourceProperty(resource, REQUEST_SCHEDULE_UPDATE_TIME_PROPERTY_ID, + setResourceProperty(resource, UPDATE_TIME, response.getUpdateTime(), requestedIds); resources.add(resource); @@ -581,7 +602,7 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP } private RequestScheduleRequest getRequestScheduleRequest(Map<String, Object> properties) { - Object idObj = properties.get(REQUEST_SCHEDULE_ID_PROPERTY_ID); + Object idObj = properties.get(ID); Long id = null; if (idObj != null) { id = idObj instanceof Long ? (Long) idObj : @@ -590,9 +611,9 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP RequestScheduleRequest requestScheduleRequest = new RequestScheduleRequest( id, - (String) properties.get(REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID), - (String) properties.get(REQUEST_SCHEDULE_DESC_PROPERTY_ID), - (String) properties.get(REQUEST_SCHEDULE_STATUS_PROPERTY_ID), + (String) properties.get(CLUSTER_NAME), + (String) properties.get(DESCRIPTION), + (String) properties.get(STATUS), null, null); @@ -600,7 +621,7 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP BatchSettings batchSettings = new BatchSettings(); List<BatchRequest> batchRequests = new ArrayList<>(); - Object batchObject = properties.get(REQUEST_SCHEDULE_BATCH_PROPERTY_ID); + Object batchObject = properties.get(BATCH); if (batchObject != null && batchObject instanceof HashSet<?>) { try { HashSet<Map<String, Object>> batchMap = (HashSet<Map<String, Object>>) batchObject; @@ -609,15 +630,15 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP if (batchEntry != null) { for (Map.Entry<String, Object> batchMapEntry : batchEntry.entrySet()) { if (batchMapEntry.getKey().equals - (REQUEST_SCHEDULE_BATCH_TOLERATION_PROPERTY_ID)) { + (TASK_FAILURE_TOLERANCE)) { batchSettings.setTaskFailureToleranceLimit(Integer.valueOf ((String) batchMapEntry.getValue())); } else if (batchMapEntry.getKey().equals - (REQUEST_SCHEDULE_BATCH_SEPARATION_PROPERTY_ID)) { + (BATCH_SEPARATION_IN_SECONDS)) { batchSettings.setBatchSeparationInSeconds(Integer.valueOf ((String) batchMapEntry.getValue())); } else if (batchMapEntry.getKey().equals - (REQUEST_SCHEDULE_BATCH_REQUESTS_PROPERTY_ID)) { + (REQUESTS)) { HashSet<Map<String, Object>> requestSet = (HashSet<Map<String, Object>>) batchMapEntry.getValue(); @@ -627,19 +648,19 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP for (Map.Entry<String, Object> requestMapEntry : requestEntry.entrySet()) { if (requestMapEntry.getKey() - .equals(BATCH_REQUEST_TYPE_PROPERTY_ID)) { + .equals(TYPE)) { batchRequest.setType(BatchRequest.Type.valueOf ((String) requestMapEntry.getValue())); } else if (requestMapEntry.getKey() - .equals(BATCH_REQUEST_URI_PROPERTY_ID)) { + .equals(URI)) { batchRequest.setUri( (String) requestMapEntry.getValue()); } else if (requestMapEntry.getKey() - .equals(BATCH_REQUEST_ORDER_ID_PROPERTY_ID)) { + .equals(ORDER_ID)) { batchRequest.setOrderId(Long.parseLong( (String) requestMapEntry.getValue())); } else if (requestMapEntry.getKey() - .equals(BATCH_REQUEST_BODY_PROPERTY_ID)) { + .equals(BODY)) { batchRequest.setBody( (String) requestMapEntry.getValue()); } @@ -665,21 +686,21 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP Schedule schedule = new Schedule(); for (Map.Entry<String, Object> propertyEntry : properties.entrySet()) { - if (propertyEntry.getKey().equals(SCHEDULE_DAY_OF_WEEK_PROPERTY_ID)) { + if (propertyEntry.getKey().equals(DAY_OF_WEEK)) { schedule.setDayOfWeek((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_DAYS_OF_MONTH_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(DAYS_OF_MONTH)) { schedule.setDaysOfMonth((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_END_TIME_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(END_TIME)) { schedule.setEndTime((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_HOURS_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(HOURS)) { schedule.setHours((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_MINUTES_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(MINUTES)) { schedule.setMinutes((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_MONTH_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(MONTH)) { schedule.setMonth((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_START_TIME_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(START_TIME)) { schedule.setStartTime((String) propertyEntry.getValue()); - } else if (propertyEntry.getKey().equals(SCHEDULE_YEAR_PROPERTY_ID)) { + } else if (propertyEntry.getKey().equals(YEAR)) { schedule.setYear((String) propertyEntry.getValue()); } } diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java index a1e33009..21151e4 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java @@ -107,22 +107,22 @@ public class RequestScheduleResourceProviderTest { Map<String, Object> properties = new LinkedHashMap<>(); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID, "Cluster100"); + .CLUSTER_NAME, "Cluster100"); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_DESC_PROPERTY_ID, "some description"); + .DESCRIPTION, "some description"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_DAY_OF_WEEK_PROPERTY_ID, "MON"); + .DAY_OF_WEEK, "MON"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_MINUTES_PROPERTY_ID, "2"); + .MINUTES, "2"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_END_TIME_PROPERTY_ID, "2013-11-18T14:29:29-08:00"); + .END_TIME, "2013-11-18T14:29:29-08:00"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_DAYS_OF_MONTH_PROPERTY_ID, "*"); + .DAYS_OF_MONTH, "*"); HashSet<Map<String, Object>> batch = new HashSet<>(); Map<String, Object> batchSettings = new HashMap<>(); batchSettings.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_BATCH_SEPARATION_PROPERTY_ID, "15"); + .BATCH_SEPARATION_IN_SECONDS, "15"); Map<String, Object> batchRequests = new HashMap<>(); HashSet<Map<String, Object>> requestSet = new HashSet<>(); @@ -131,32 +131,32 @@ public class RequestScheduleResourceProviderTest { Map<String, Object> request2 = new HashMap<>(); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_TYPE_PROPERTY_ID, BatchRequest.Type.PUT.name()); + .TYPE, BatchRequest.Type.PUT.name()); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_ORDER_ID_PROPERTY_ID, "20"); + .ORDER_ID, "20"); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_URI_PROPERTY_ID, "SomeUpdateUri"); + .URI, "SomeUpdateUri"); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_BODY_PROPERTY_ID, "data1"); + .BODY, "data1"); request2.put(RequestScheduleResourceProvider - .BATCH_REQUEST_TYPE_PROPERTY_ID, BatchRequest.Type.DELETE.name()); + .TYPE, BatchRequest.Type.DELETE.name()); request2.put(RequestScheduleResourceProvider - .BATCH_REQUEST_ORDER_ID_PROPERTY_ID, "22"); + .ORDER_ID, "22"); request2.put(RequestScheduleResourceProvider - .BATCH_REQUEST_URI_PROPERTY_ID, "SomeDeleteUri"); + .URI, "SomeDeleteUri"); requestSet.add(request1); requestSet.add(request2); batchRequests.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_BATCH_REQUESTS_PROPERTY_ID, requestSet); + .REQUESTS, requestSet); batch.add(batchSettings); batch.add(batchRequests); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_BATCH_PROPERTY_ID, batch); + .BATCH, batch); propertySet.add(properties); Request request = PropertyHelper.getCreateRequest(propertySet, null); @@ -228,22 +228,22 @@ public class RequestScheduleResourceProviderTest { Map<String, Object> properties = new LinkedHashMap<>(); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID, "Cluster100"); + .CLUSTER_NAME, "Cluster100"); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_DESC_PROPERTY_ID, "some description"); + .DESCRIPTION, "some description"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_DAY_OF_WEEK_PROPERTY_ID, "MON"); + .DAY_OF_WEEK, "MON"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_MINUTES_PROPERTY_ID, "2"); + .MINUTES, "2"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_END_TIME_PROPERTY_ID, "2013-11-18T14:29:29-08:00"); + .END_TIME, "2013-11-18T14:29:29-08:00"); properties.put(RequestScheduleResourceProvider - .SCHEDULE_DAYS_OF_MONTH_PROPERTY_ID, "*"); + .DAYS_OF_MONTH, "*"); HashSet<Map<String, Object>> batch = new HashSet<>(); Map<String, Object> batchSettings = new HashMap<>(); batchSettings.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_BATCH_SEPARATION_PROPERTY_ID, "15"); + .BATCH_SEPARATION_IN_SECONDS, "15"); Map<String, Object> batchRequests = new HashMap<>(); HashSet<Map<String, Object>> requestSet = new HashSet<>(); @@ -252,41 +252,41 @@ public class RequestScheduleResourceProviderTest { Map<String, Object> request2 = new HashMap<>(); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_TYPE_PROPERTY_ID, BatchRequest.Type.PUT.name()); + .TYPE, BatchRequest.Type.PUT.name()); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_ORDER_ID_PROPERTY_ID, "20"); + .ORDER_ID, "20"); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_URI_PROPERTY_ID, "SomeUpdateUri"); + .URI, "SomeUpdateUri"); request1.put(RequestScheduleResourceProvider - .BATCH_REQUEST_BODY_PROPERTY_ID, "data1"); + .BODY, "data1"); request2.put(RequestScheduleResourceProvider - .BATCH_REQUEST_TYPE_PROPERTY_ID, BatchRequest.Type.DELETE.name()); + .TYPE, BatchRequest.Type.DELETE.name()); request2.put(RequestScheduleResourceProvider - .BATCH_REQUEST_ORDER_ID_PROPERTY_ID, "22"); + .ORDER_ID, "22"); request2.put(RequestScheduleResourceProvider - .BATCH_REQUEST_URI_PROPERTY_ID, "SomeDeleteUri"); + .URI, "SomeDeleteUri"); requestSet.add(request1); requestSet.add(request2); batchRequests.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_BATCH_REQUESTS_PROPERTY_ID, requestSet); + .REQUESTS, requestSet); batch.add(batchSettings); batch.add(batchRequests); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_BATCH_PROPERTY_ID, batch); + .BATCH, batch); Map<String, String> mapRequestProps = new HashMap<>(); mapRequestProps.put("context", "Called from a test"); Request request = PropertyHelper.getUpdateRequest(properties, mapRequestProps); Predicate predicate = new PredicateBuilder().property - (RequestScheduleResourceProvider.REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID) + (RequestScheduleResourceProvider.CLUSTER_NAME) .equals("Cluster100").and().property(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_ID_PROPERTY_ID).equals(25L).toPredicate(); + .ID).equals(25L).toPredicate(); resourceProvider.updateResources(request, predicate); @@ -337,41 +337,41 @@ public class RequestScheduleResourceProviderTest { Map<String, Object> properties = new LinkedHashMap<>(); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID, "Cluster100"); + .CLUSTER_NAME, "Cluster100"); properties.put(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_DESC_PROPERTY_ID, "some description"); + .DESCRIPTION, "some description"); Set<String> propertyIds = new HashSet<>(); propertyIds.add(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID); + .CLUSTER_NAME); propertyIds.add(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_ID_PROPERTY_ID); + .ID); Request request = PropertyHelper.getReadRequest(propertyIds); // Read by id Predicate predicate = new PredicateBuilder().property - (RequestScheduleResourceProvider.REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID) + (RequestScheduleResourceProvider.CLUSTER_NAME) .equals("Cluster100").and().property(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_ID_PROPERTY_ID).equals(25L).toPredicate(); + .ID).equals(25L).toPredicate(); Set<Resource> resources = resourceProvider.getResources(request, predicate); Assert.assertEquals(1, resources.size()); Assert.assertEquals(25L, resources.iterator().next().getPropertyValue - (RequestScheduleResourceProvider.REQUEST_SCHEDULE_ID_PROPERTY_ID)); + (RequestScheduleResourceProvider.ID)); // Read all predicate = new PredicateBuilder().property - (RequestScheduleResourceProvider.REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID) + (RequestScheduleResourceProvider.CLUSTER_NAME) .equals("Cluster100").toPredicate(); resources = resourceProvider.getResources(request, predicate); Assert.assertEquals(1, resources.size()); Assert.assertEquals(25L, resources.iterator().next().getPropertyValue - (RequestScheduleResourceProvider.REQUEST_SCHEDULE_ID_PROPERTY_ID)); + (RequestScheduleResourceProvider.ID)); verify(managementController, clusters, cluster, requestExecution, response, requestScheduleResponse); @@ -407,9 +407,9 @@ public class RequestScheduleResourceProviderTest { ((ObservableResourceProvider) resourceProvider).addObserver(observer); Predicate predicate = new PredicateBuilder().property - (RequestScheduleResourceProvider.REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID) + (RequestScheduleResourceProvider.CLUSTER_NAME) .equals("Cluster100").and().property(RequestScheduleResourceProvider - .REQUEST_SCHEDULE_ID_PROPERTY_ID).equals(1L).toPredicate(); + .ID).equals(1L).toPredicate(); resourceProvider.deleteResources(new RequestImpl(null, null, null, null), predicate); -- To stop receiving notification emails like this one, please contact adorosz...@apache.org.