001package org.kuali.ole.sip2.requestParser;
002
003import org.apache.log4j.Logger;
004import org.kuali.ole.sip2.common.StatusCode;
005import org.kuali.ole.sip2.constants.OLESIP2Constants;
006
007/**
008 * Created by gayathria on 2/12/14.
009 */
010public class OLESIP2SCStatusRequestParser extends OLESIP2RequestParser {
011
012    private static final Logger LOG = Logger.getLogger(OLESIP2SCStatusRequestParser.class);
013
014    private StatusCode statusCode;
015    private String maxPrintWidth;
016    private String protocolVersion;
017
018    public OLESIP2SCStatusRequestParser(String requestData) {
019        this.parseSCStstusRequest(requestData);
020    }
021
022
023    public void parseSCStstusRequest(String requestData) {
024
025        LOG.info("Entry OLESIP2SCStatusRequestParser.parseSCStstusRequest(String requestData)");
026        requestData = requestData.trim();
027        code = requestData.substring(0, 2);
028        if (String.valueOf(requestData.charAt(2)).equalsIgnoreCase("0"))
029            statusCode = StatusCode.OK;
030        else if (String.valueOf(requestData.charAt(2)).equalsIgnoreCase("1"))
031            statusCode = StatusCode.PRINTER_OUT_OF_PAPER;
032        else if (String.valueOf(requestData.charAt(2)).equalsIgnoreCase("2"))
033            statusCode = StatusCode.SHUT_DOWN;
034        maxPrintWidth = requestData.substring(3, 6);
035        protocolVersion = requestData.substring(6, 10);
036        if (requestData.length() == 19) {
037            if (requestData.substring(10, 12).equalsIgnoreCase(OLESIP2Constants.SEQUENCE_NUM_CODE)) {
038                sequenceNum = requestData.substring(12, 15);
039                checkSum = requestData.substring(15);
040            }
041        }
042        LOG.info("Exit OLESIP2SCStatusRequestParser.parseSCStstusRequest(String requestData)");
043    }
044
045    public StatusCode getStatusCode() {
046        return statusCode;
047    }
048
049    public void setStatusCode(StatusCode statusCode) {
050        this.statusCode = statusCode;
051    }
052
053    public String getMaxPrintWidth() {
054        return maxPrintWidth;
055    }
056
057    public void setMaxPrintWidth(String maxPrintWidth) {
058        this.maxPrintWidth = maxPrintWidth;
059    }
060
061    public String getProtocolVersion() {
062        return protocolVersion;
063    }
064
065    public void setProtocolVersion(String protocolVersion) {
066        this.protocolVersion = protocolVersion;
067    }
068}