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.
37 * Used by client tests of services.
39 * $LastChangedRevision: 566 $
42 public enum ServiceRequestType {
44 // Define each of the service request types and their valid HTTP status codes.
48 public int[] validStatusCodes() {
49 final int[] STATUS_CODES = {
50 Response.Status.CREATED.getStatusCode(),
51 Response.Status.BAD_REQUEST.getStatusCode(),
52 Response.Status.FORBIDDEN.getStatusCode(),
53 Response.Status.CONFLICT.getStatusCode(),
54 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
56 Arrays.sort(STATUS_CODES);
60 public boolean isValidStatusCode(int statusCode) {
61 if (Arrays.binarySearch(CREATE.validStatusCodes(), statusCode) >= 0) {
68 public String validStatusCodesAsString() {
69 return Arrays.toString(CREATE.validStatusCodes());
71 }, // Note that commas are required at the end of each enum block, except the last.
76 public int[] validStatusCodes() {
77 final int[] STATUS_CODES = {
78 Response.Status.OK.getStatusCode(),
79 Response.Status.FORBIDDEN.getStatusCode(),
80 Response.Status.NOT_FOUND.getStatusCode(),
81 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
83 Arrays.sort(STATUS_CODES);
87 public boolean isValidStatusCode(int statusCode) {
88 if (Arrays.binarySearch(READ.validStatusCodes(), statusCode) >= 0) {
95 public String validStatusCodesAsString() {
96 return Arrays.toString(READ.validStatusCodes());
103 public int[] validStatusCodes() {
104 final int[] STATUS_CODES = {
105 Response.Status.OK.getStatusCode(),
106 Response.Status.BAD_REQUEST.getStatusCode(),
107 Response.Status.FORBIDDEN.getStatusCode(),
108 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
110 Arrays.sort(STATUS_CODES);
114 public boolean isValidStatusCode(int statusCode) {
115 if (Arrays.binarySearch(READ_MULTIPLE.validStatusCodes(), statusCode) >= 0) {
122 public String validStatusCodesAsString() {
123 return Arrays.toString(READ_MULTIPLE.validStatusCodes());
130 public int[] validStatusCodes() {
131 final int[] STATUS_CODES = {
132 Response.Status.OK.getStatusCode(),
133 Response.Status.BAD_REQUEST.getStatusCode(),
134 Response.Status.FORBIDDEN.getStatusCode(),
135 Response.Status.NOT_FOUND.getStatusCode(),
136 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
138 Arrays.sort(STATUS_CODES);
142 public boolean isValidStatusCode(int statusCode) {
143 if (Arrays.binarySearch(UPDATE.validStatusCodes(), statusCode) >= 0) {
150 public String validStatusCodesAsString() {
151 return Arrays.toString(UPDATE.validStatusCodes());
158 public int[] validStatusCodes() {
159 final int[] STATUS_CODES = {
160 Response.Status.OK.getStatusCode(),
161 Response.Status.FORBIDDEN.getStatusCode(),
162 Response.Status.NOT_FOUND.getStatusCode(),
163 Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()
165 Arrays.sort(STATUS_CODES);
169 public boolean isValidStatusCode(int statusCode) {
170 if (Arrays.binarySearch(DELETE.validStatusCodes(), statusCode) >= 0) {
177 public String validStatusCodesAsString() {
178 return Arrays.toString(DELETE.validStatusCodes());
183 // Used by guard code.
186 public int[] validStatusCodes() {
187 final int[] STATUS_CODES = { 0 };
188 Arrays.sort(STATUS_CODES);
192 public boolean isValidStatusCode(int statusCode) {
196 public String validStatusCodesAsString() {
197 return Arrays.toString(NON_EXISTENT.validStatusCodes());
201 // Template methods to be implemented by each ServiceRequestType.
203 public abstract int[] validStatusCodes();
205 public abstract boolean isValidStatusCode(int statusCode);
207 public abstract String validStatusCodesAsString();