Project

General

Profile

Download (2.44 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2009 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
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.
9
*/
10
package eu.etaxonomy.cdm.remote.controller;
11

    
12
import java.io.IOException;
13

    
14
import javax.servlet.http.HttpServletResponse;
15

    
16
import org.apache.commons.lang.StringUtils;
17

    
18

    
19
/**
20
 * @author a.kohlbecker
21
 * @date 06.04.2009
22
 *
23
 */
24
public class HttpStatusMessage {
25

    
26
    public final static HttpStatusMessage UUID_MISSING = new HttpStatusMessage(HttpServletResponse.SC_BAD_REQUEST, "missing uuid parameter");
27
    public final static HttpStatusMessage UUID_INVALID = new HttpStatusMessage(HttpServletResponse.SC_BAD_REQUEST, "invalid uuid");
28
    public final static HttpStatusMessage UUID_NOT_FOUND = new HttpStatusMessage(HttpServletResponse.SC_NOT_FOUND, "uuid not found");
29
    public final static HttpStatusMessage UUID_REFERENCES_WRONG_TYPE = new HttpStatusMessage(HttpServletResponse.SC_NOT_FOUND, "uuid references wrong type");
30

    
31
    public final static HttpStatusMessage PROPERTY_NOT_FOUND = new HttpStatusMessage(HttpServletResponse.SC_NOT_FOUND, "property not found");
32

    
33
    public final static HttpStatusMessage INTERNAL_ERROR = new HttpStatusMessage(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "internal server error");
34

    
35

    
36
    private int statusCode;
37

    
38
    private final String message;
39

    
40

    
41
    private HttpStatusMessage(int statusCode, String message) {
42
        this.statusCode = statusCode;
43
        this.message = message;
44
    }
45

    
46
    /**
47
     * create a new HttpStatusMessage
48
     *
49
     * @param statusMessage
50
     * @param statusCode
51
     * @return
52
     */
53
    public static HttpStatusMessage create(String statusMessage, int statusCode) {
54
        return new HttpStatusMessage(statusCode, statusMessage);
55
    }
56

    
57
    public int getStatusCode() {
58
        return statusCode;
59
    }
60

    
61
    public HttpStatusMessage setStatusCode(int statusCode) {
62
        this.statusCode = statusCode;
63
        return this;
64
    }
65

    
66
    public String getMessage() {
67
        return message;
68
    }
69

    
70
    @Override
71
    public String toString() {
72
        return StringUtils.leftPad(Integer.toString(statusCode), 3, "0") + message;
73
    }
74

    
75

    
76
    public void send(HttpServletResponse response) throws IOException{
77
        response.sendError(getStatusCode(), getMessage());
78
    }
79

    
80
}
(30-30/62)