Search in sources :

Example 1 with CreditControlSessionState

use of net.java.slee.resource.diameter.cca.CreditControlSessionState in project jain-slee.diameter by RestComm.

the class CreditControlClientSessionImpl method validateState.

private void validateState(CreditControlRequest ccr) {
    // this is used for methods that send specific messages. should be done in jdiam, but there is not hook for it now.
    if (ccr.getCcRequestType() == null) {
        throw new DiameterException("No request type is present!!");
    }
    int t = ccr.getCcRequestType().getValue();
    CreditControlSessionState currentState = this.getState();
    if (t == CcRequestType._INITIAL_REQUEST) {
        if (currentState != CreditControlSessionState.IDLE) {
            // FIXME: change all exception to DiameterException
            throw new DiameterException("Failed to validate, intial event, wrong state: " + currentState);
        }
    } else if (t == CcRequestType._UPDATE_REQUEST) {
        if (currentState != CreditControlSessionState.OPEN) {
            // FIXME: change all exception to DiameterException
            throw new DiameterException("Failed to validate, intial event, wrong state: " + currentState);
        }
    } else if (t == CcRequestType._TERMINATION_REQUEST) {
        if (currentState != CreditControlSessionState.OPEN) {
            // FIXME: change all exception to DiameterException
            throw new DiameterException("Failed to validate, intial event, wrong state: " + currentState);
        }
    } else if (t == CcRequestType._EVENT_REQUEST) {
        if (currentState != CreditControlSessionState.IDLE) {
            // FIXME: change all exception to DiameterException
            throw new DiameterException("Failed to validate, intial event, wrong state: " + currentState);
        }
    }
}
Also used : DiameterException(net.java.slee.resource.diameter.base.DiameterException) CreditControlSessionState(net.java.slee.resource.diameter.cca.CreditControlSessionState)

Aggregations

DiameterException (net.java.slee.resource.diameter.base.DiameterException)1 CreditControlSessionState (net.java.slee.resource.diameter.cca.CreditControlSessionState)1