2 * This document is a part of the source code and related artifacts
3 * for CollectionSpace, an open source collections management system
4 * for museums and related institutions:
6 * http://www.collectionspace.org
7 * http://wiki.collectionspace.org
9 * Copyright © 2009 Regents of the University of California
11 * Licensed under the Educational Community License (ECL), Version 2.0.
12 * You may not use this file except in compliance with this License.
14 * You may obtain a copy of the ECL 2.0 License at
15 * https://source.collectionspace.org/collection-space/LICENSE.txt
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
24 package org.collectionspace.services.client.test;
26 import java.util.Arrays;
27 import javax.ws.rs.core.Response;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
33 * ServiceRequestType, identifies types of service requests
34 * and the valid HTTP status codes that can be returned from
35 * each type of request. Used by client tests of services.
37 * $LastChangedRevision: 566 $
40 public enum ServiceRequestType {
42 // Define each of the service request types and their valid HTTP status codes.
46 public int[] validStatusCodes() {
47 final int[] STATUS_CODES = {
48 Response.Status.CREATED.getStatusCode(),
49 Response.Status.BAD_REQUEST.getStatusCode(),
50 Response.Status.FORBIDDEN.getStatusCode(),
51 Response.Status.CONFLICT.getStatusCode(),
52 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
54 Arrays.sort(STATUS_CODES);
58 public boolean isValidStatusCode(int statusCode) {
59 if (Arrays.binarySearch(CREATE.validStatusCodes(), statusCode) >= 0) {
66 public String validStatusCodesAsString() {
67 return Arrays.toString(CREATE.validStatusCodes());
74 public int[] validStatusCodes() {
75 final int[] STATUS_CODES = {
76 Response.Status.OK.getStatusCode(),
77 Response.Status.FORBIDDEN.getStatusCode(),
78 Response.Status.NOT_FOUND.getStatusCode(),
79 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
81 Arrays.sort(STATUS_CODES);
85 public boolean isValidStatusCode(int statusCode) {
86 if (Arrays.binarySearch(READ.validStatusCodes(), statusCode) >= 0) {
93 public String validStatusCodesAsString() {
94 return Arrays.toString(READ.validStatusCodes());
101 public int[] validStatusCodes() {
102 final int[] STATUS_CODES = {
103 Response.Status.OK.getStatusCode(),
104 Response.Status.BAD_REQUEST.getStatusCode(),
105 Response.Status.FORBIDDEN.getStatusCode(),
106 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
108 Arrays.sort(STATUS_CODES);
112 public boolean isValidStatusCode(int statusCode) {
113 if (Arrays.binarySearch(READ_MULTIPLE.validStatusCodes(), statusCode) >= 0) {
120 public String validStatusCodesAsString() {
121 return Arrays.toString(READ_MULTIPLE.validStatusCodes());
128 public int[] validStatusCodes() {
129 final int[] STATUS_CODES = {
130 Response.Status.OK.getStatusCode(),
131 Response.Status.BAD_REQUEST.getStatusCode(),
132 Response.Status.FORBIDDEN.getStatusCode(),
133 Response.Status.NOT_FOUND.getStatusCode(),
134 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
136 Arrays.sort(STATUS_CODES);
140 public boolean isValidStatusCode(int statusCode) {
141 if (Arrays.binarySearch(UPDATE.validStatusCodes(), statusCode) >= 0) {
148 public String validStatusCodesAsString() {
149 return Arrays.toString(UPDATE.validStatusCodes());
156 public int[] validStatusCodes() {
157 final int[] STATUS_CODES = {
158 Response.Status.OK.getStatusCode(),
159 Response.Status.FORBIDDEN.getStatusCode(),
160 Response.Status.NOT_FOUND.getStatusCode(),
161 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
163 Arrays.sort(STATUS_CODES);
167 public boolean isValidStatusCode(int statusCode) {
168 if (Arrays.binarySearch(DELETE.validStatusCodes(), statusCode) >= 0) {
175 public String validStatusCodesAsString() {
176 return Arrays.toString(DELETE.validStatusCodes());
180 // Template methods to be implemented by each ServiceRequestType.
182 public abstract int[] validStatusCodes();
184 public abstract boolean isValidStatusCode(int i);
186 public abstract String validStatusCodesAsString();