use of org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl in project jain-slee.diameter by RestComm.
the class ShServerMessageFactoryImpl method createPushNotificationRequest.
public PushNotificationRequest createPushNotificationRequest() {
List<DiameterAvp> avps = new ArrayList<DiameterAvp>();
if (session != null)
try {
DiameterAvp sessionIdAvp = null;
sessionIdAvp = localFactory.getBaseFactory().createAvp(0, DiameterAvpCodes.SESSION_ID, session.getSessionId());
avps.add(sessionIdAvp);
} catch (NoSuchAvpException e) {
logger.error("Unable to create Session-Id AVP.", e);
}
Message msg = createShMessage(null, avps.toArray(new DiameterAvp[avps.size()]));
PushNotificationRequestImpl request = new PushNotificationRequestImpl(msg);
addOrigin(request);
return request;
}
use of org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl 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);
}
}
use of org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl 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);
}
}
use of org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl in project jain-slee.diameter by RestComm.
the class ShClientActivityAnswerCreationTest method testShClientActivityAnswerCreation.
@Test
public void testShClientActivityAnswerCreation() throws Exception {
ClientShSession session = new ShClientSessionImpl(new ShClientSessionDataLocalImpl(), new IShMessageFactoryImpl(), (ISessionFactory) stack.getSessionFactory(), new ClientShSessionListenerImpl());
PushNotificationRequest pnr = new PushNotificationRequestImpl(stack.getSessionFactory().getNewSession().createRequest(PushNotificationRequest.commandCode, SH_APP_ID, "mobicents.org", "hss.mobicents"));
ArrayList<DiameterMessage> list = new ArrayList<DiameterMessage>();
list.add(pnr);
ShClientSubscriptionActivityImpl activity = new ShClientSubscriptionActivityImpl(new ShClientMessageFactoryImpl(session.getSessions().get(0), stack), new DiameterShAvpFactoryImpl(diameterAvpFactory), session, null, null);
DiameterActivityAnswerCreationHelper.testAnswerCreation(activity, "stateMessages", list);
}
Aggregations