summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/Response.java
blob: c9787f8e570bb8a1041961f73917c4429121c3f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
package derms;

import derms.net.MessagePayload;

public class Response implements MessagePayload {
    private int sequenceID = 0;
    private String response = "";
    private int rmNumber = 0;
    private String function = "";
    private String userID = "";
    private String newResourceID = "";
    private String newResourceType = "";
    private String oldResourceID = "";
    private String oldResourceType = "";
    private int duration = 0;
    private String udpMessage = "";
    private boolean isSuccess = false;

    public Response(String udpMessage) {
        setUdpMessage(udpMessage.trim());
        String[] messageParts = getUdpMessage().split(";");
        setSequenceID(Integer.parseInt(messageParts[0]));
        setResponse(messageParts[1].trim());
        setRmNumber(messageParts[2]);
        setFunction(messageParts[3]);
        setUserID(messageParts[4]);
        setNewResourceID(messageParts[5]);
        setNewResourceType(messageParts[6]);
        setOldResourceID(messageParts[7]);
        setOldResourceType(messageParts[8]);
        setDuration(Integer.parseInt(messageParts[9]));
    }

    public Response(int sequenceID, String status) {
        setSequenceID(sequenceID);
        setResponse(status);
        setRmNumber("2");
        setFunction("");
        setUserID("");
        setNewResourceID("");
        setNewResourceType("");
        setOldResourceID("");
        setOldResourceType("");
        setDuration(1);
    }

    @Override
    public int hash() {
        return  sequenceID + response.hashCode() + rmNumber + function.hashCode()
                + userID.hashCode() + newResourceID.hashCode() + newResourceType.hashCode()
                + oldResourceID.hashCode() + oldResourceType.hashCode() + duration
                + udpMessage.hashCode();
    }

    public int getSequenceID() {
        return sequenceID;
    }

    public void setSequenceID(int sequenceID) {
        this.sequenceID = sequenceID;
    }

    public String getResponse() {
        return response;
    }

    public void setResponse(String response) {
        isSuccess = response.contains("Success:");
        this.response = response;
    }

    public int getRmNumber() {
        return rmNumber;
    }

    public void setRmNumber(String rmNumber) {
        if (rmNumber.equalsIgnoreCase("RM1")) {
            this.rmNumber = 1;
        } else if (rmNumber.equalsIgnoreCase("RM2")) {
            this.rmNumber = 2;
        } else if (rmNumber.equalsIgnoreCase("RM3")) {
            this.rmNumber = 3;
        } else {
            this.rmNumber = 0;
        }
    }

    public String getFunction() {
        return function;
    }

    public void setFunction(String function) {
        this.function = function;
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getNewResourceID() {
        return newResourceID;
    }

    public void setNewResourceID(String newEventID) {
        this.newResourceID = newEventID;
    }

    public String getNewResourceType() {
        return newResourceType;
    }

    public void setNewResourceType(String newEventType) {
        this.newResourceType = newEventType;
    }

    public String getOldResourceID() {
        return oldResourceID;
    }

    public void setOldResourceID(String oldEventID) {
        this.oldResourceID = oldEventID;
    }

    public String getOldResourceType() {
        return oldResourceType;
    }

    public void setOldResourceType(String oldEventType) {
        this.oldResourceType = oldEventType;
    }

    public int getDuration() {
        return duration;
    }

    public void setDuration(int bookingCapacity) {
        this.duration = bookingCapacity;
    }

    public String getUdpMessage() {
        return udpMessage;
    }

    public void setUdpMessage(String udpMessage) {
        this.udpMessage = udpMessage;
    }

    public boolean isSuccess() {
        return isSuccess;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj != null) {
            if (obj instanceof Response) {
                Response obj1 = (Response) obj;
                return obj1.getFunction().equalsIgnoreCase(this.getFunction())
                        && obj1.getSequenceID() == this.getSequenceID()
                        && obj1.getUserID().equalsIgnoreCase(this.getUserID())
                        && obj1.isSuccess() == this.isSuccess();
//                        && obj1.getResponse().equalsIgnoreCase(this.getResponse());
            }
        }
        return false;
    }
}