Search in sources :

Example 1 with SubscribeNotificationsRequestImpl

use of org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl in project jain-slee.diameter by RestComm.

the class DiameterShServerResourceAdaptor method createEvent.

/**
 * Create Event object from a JDiameter message (request or answer)
 *
 * @return a DiameterMessage object wrapping the request/answer
 * @throws OperationNotSupportedException
 */
private DiameterMessage createEvent(Message message) {
    if (message == null) {
        throw new NullPointerException("Message argument cannot be null while creating event.");
    }
    int commandCode = message.getCommandCode();
    if (message.isError()) {
        return new ErrorAnswerImpl(message);
    }
    boolean isRequest = message.isRequest();
    switch(commandCode) {
        case // PNR/PNA
        PushNotificationRequest.commandCode:
            return isRequest ? new PushNotificationRequestImpl(message) : new PushNotificationAnswerImpl(message);
        case // PUR/PUA
        ProfileUpdateRequest.commandCode:
            return isRequest ? new ProfileUpdateRequestImpl(message) : new ProfileUpdateAnswerImpl(message);
        case // SNR/SNA
        SubscribeNotificationsRequest.commandCode:
            return isRequest ? new SubscribeNotificationsRequestImpl(message) : new SubscribeNotificationsAnswerImpl(message);
        case // UDR/UDA
        UserDataRequest.commandCode:
            return isRequest ? new UserDataRequestImpl(message) : new UserDataAnswerImpl(message);
        default:
            return new ExtensionDiameterMessageImpl(message);
    }
}
Also used : UserDataAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataAnswerImpl) PushNotificationRequestImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl) ProfileUpdateAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateAnswerImpl) ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) SleeEndpoint(javax.slee.resource.SleeEndpoint) SubscribeNotificationsAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsAnswerImpl) ProfileUpdateRequestImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateRequestImpl) SubscribeNotificationsRequestImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl) UserDataRequestImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataRequestImpl) ErrorAnswerImpl(org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl) PushNotificationAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationAnswerImpl)

Example 2 with SubscribeNotificationsRequestImpl

use of org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl in project jain-slee.diameter by RestComm.

the class DiameterShClientResourceAdaptor method createEvent.

/**
 * Create Event object from a JDiameter message (request or answer)
 *
 * @return a DiameterMessage object wrapping the request/answer
 * @throws OperationNotSupportedException
 */
private DiameterMessage createEvent(Message message) {
    if (message == null) {
        throw new NullPointerException("Message argument cannot be null while creating event.");
    }
    int commandCode = message.getCommandCode();
    if (message.isError()) {
        return new ErrorAnswerImpl(message);
    }
    boolean isRequest = message.isRequest();
    switch(commandCode) {
        case // PNR/PNA
        PushNotificationRequestImpl.commandCode:
            return isRequest ? new PushNotificationRequestImpl(message) : new PushNotificationAnswerImpl(message);
        case // PUR/PUA
        ProfileUpdateRequestImpl.commandCode:
            return isRequest ? new ProfileUpdateRequestImpl(message) : new ProfileUpdateAnswerImpl(message);
        case // SNR/SNA
        SubscribeNotificationsRequestImpl.commandCode:
            return isRequest ? new SubscribeNotificationsRequestImpl(message) : new SubscribeNotificationsAnswerImpl(message);
        case // UDR/UDA
        net.java.slee.resource.diameter.sh.events.UserDataRequest.commandCode:
            return isRequest ? new UserDataRequestImpl(message) : new UserDataAnswerImpl(message);
        default:
            return new ExtensionDiameterMessageImpl(message);
    }
}
Also used : UserDataAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataAnswerImpl) PushNotificationRequestImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl) ProfileUpdateAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateAnswerImpl) ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) SleeEndpoint(javax.slee.resource.SleeEndpoint) SubscribeNotificationsAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsAnswerImpl) ProfileUpdateRequestImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateRequestImpl) SubscribeNotificationsRequestImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl) UserDataRequestImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataRequestImpl) ErrorAnswerImpl(org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl) PushNotificationAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationAnswerImpl)

Example 3 with SubscribeNotificationsRequestImpl

use of org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl in project jain-slee.diameter by RestComm.

the class ShClientMessageFactoryImpl method createSubscribeNotificationsRequest.

public SubscribeNotificationsRequest createSubscribeNotificationsRequest() {
    DiameterAvp[] avps = new DiameterAvp[0];
    if (session != null) {
        try {
            DiameterAvp sessionIdAvp = null;
            sessionIdAvp = baseAvpFactory.createAvp(0, DiameterAvpCodes.SESSION_ID, session.getSessionId());
            avps = new DiameterAvp[] { sessionIdAvp };
        } catch (NoSuchAvpException e) {
            logger.error("Unexpected failure trying to create Session-Id AVP.", e);
        }
    }
    Message msg = createShMessage(null, avps, SubscribeNotificationsRequest.commandCode);
    SubscribeNotificationsRequestImpl snr = new SubscribeNotificationsRequestImpl(msg);
    addOrigin(snr);
    return snr;
}
Also used : Message(org.jdiameter.api.Message) DiameterMessage(net.java.slee.resource.diameter.base.events.DiameterMessage) DiameterAvp(net.java.slee.resource.diameter.base.events.avp.DiameterAvp) NoSuchAvpException(net.java.slee.resource.diameter.base.NoSuchAvpException) SubscribeNotificationsRequestImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl)

Aggregations

SubscribeNotificationsRequestImpl (org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl)3 SleeEndpoint (javax.slee.resource.SleeEndpoint)2 ErrorAnswerImpl (org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl)2 ExtensionDiameterMessageImpl (org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl)2 ProfileUpdateAnswerImpl (org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateAnswerImpl)2 ProfileUpdateRequestImpl (org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateRequestImpl)2 PushNotificationAnswerImpl (org.mobicents.slee.resource.diameter.sh.events.PushNotificationAnswerImpl)2 PushNotificationRequestImpl (org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl)2 SubscribeNotificationsAnswerImpl (org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsAnswerImpl)2 UserDataAnswerImpl (org.mobicents.slee.resource.diameter.sh.events.UserDataAnswerImpl)2 UserDataRequestImpl (org.mobicents.slee.resource.diameter.sh.events.UserDataRequestImpl)2 NoSuchAvpException (net.java.slee.resource.diameter.base.NoSuchAvpException)1 DiameterMessage (net.java.slee.resource.diameter.base.events.DiameterMessage)1 DiameterAvp (net.java.slee.resource.diameter.base.events.avp.DiameterAvp)1 Message (org.jdiameter.api.Message)1