3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.remote
.controller
;
12 import java
.io
.IOException
;
13 import java
.util
.Hashtable
;
15 import javax
.servlet
.http
.HttpServletResponse
;
17 import org
.apache
.commons
.lang
.StringUtils
;
21 * @author a.kohlbecker
25 public class HttpStatusMessage
{
27 public final static HttpStatusMessage UUID_MISSING
= new HttpStatusMessage(HttpServletResponse
.SC_BAD_REQUEST
, "missing uuid parameter");
28 public final static HttpStatusMessage UUID_INVALID
= new HttpStatusMessage(HttpServletResponse
.SC_BAD_REQUEST
, "invalid uuid");
29 public final static HttpStatusMessage UUID_NOT_FOUND
= new HttpStatusMessage(HttpServletResponse
.SC_NOT_FOUND
, "uuid not found");
30 public final static HttpStatusMessage UUID_REFERENCES_WRONG_TYPE
= new HttpStatusMessage(HttpServletResponse
.SC_NOT_FOUND
, "uuid references wrong type");
32 public final static HttpStatusMessage PROPERTY_NOT_FOUND
= new HttpStatusMessage(HttpServletResponse
.SC_NOT_FOUND
, "property not found");
34 public final static HttpStatusMessage INTERNAL_ERROR
= new HttpStatusMessage(HttpServletResponse
.SC_INTERNAL_SERVER_ERROR
, "internal server error");
37 private int statusCode
;
39 private String message
;
41 private String statusMessage
;
43 private static Hashtable
<String
, HttpStatusMessage
> cache
;
45 private HttpStatusMessage(int statusCode
, String message
) {
46 this.statusCode
= statusCode
;
47 this.message
= message
;
48 this.statusMessage
= StringUtils
.leftPad(Integer
.toString(statusCode
), 3, "0") + message
;
50 cache
= new Hashtable
<String
, HttpStatusMessage
>();
52 HttpStatusMessage
.cache
.put(statusMessage
, this);
55 public int getStatusCode() {
59 public HttpStatusMessage
setStatusCode(int statusCode
) {
60 this.statusCode
= statusCode
;
64 public String
getMessage() {
68 public String
toString() {
72 public static HttpStatusMessage
fromString(String statusMessage
) {
73 return cache
.get(statusMessage
);
76 public void send(HttpServletResponse response
) throws IOException
{
77 response
.sendError(getStatusCode(), getMessage());