use of org.jdiameter.api.sh.ServerShSession in project jain-slee.diameter by RestComm.
the class DiameterS6aResourceAdaptor method stateChanged.
/* (non-Javadoc)
* @see org.mobicents.slee.resource.diameter.s6a.handlers.S6aSessionCreationListener#stateChanged(org.jdiameter.api.app.AppSession, java.lang.Enum, java.lang.Enum)
*/
public void stateChanged(AppSession source, Enum oldState, Enum newState) {
DiameterActivityHandle dah = getActivityHandle(source.getSessionId());
Object activity = getActivity(dah);
if (activity != null) {
if (source instanceof ServerShSession) {
try {
// damn, no common, do something unexpected
StateChangeListener<AppSession> scl = (StateChangeListener<AppSession>) activity;
scl.stateChanged(source, oldState, newState);
} catch (Exception e) {
tracer.warning("Failed to deliver state, for: " + dah + " on stateChanged( " + source + ", " + oldState + ", " + newState + " )", e);
}
}
} else {
tracer.warning("No activity for: " + dah + " on stateChanged( " + source + ", " + oldState + ", " + newState + " )");
}
}
use of org.jdiameter.api.sh.ServerShSession in project jain-slee.diameter by RestComm.
the class ShServerActivityAnswerCreationTest method testShServerActivityAnswerCreation.
@Test
public void testShServerActivityAnswerCreation() throws Exception {
ServerShSession session = new ShServerSessionImpl(new ShServerSessionDataLocalImpl(), new IShMessageFactoryImpl(), (ISessionFactory) stack.getSessionFactory(), new ServerShSessionListenerImpl());
DiameterMessageFactoryImpl msgFactory = new DiameterMessageFactoryImpl(session.getSessions().get(0), stack, null, null);
ShClientMessageFactoryImpl factory = new ShClientMessageFactoryImpl(session.getSessions().get(0), stack);
UserDataRequest udr = factory.createUserDataRequest();
net.java.slee.resource.diameter.sh.events.ProfileUpdateRequest pur = factory.createProfileUpdateRequest();
net.java.slee.resource.diameter.sh.events.SubscribeNotificationsRequest snr = factory.createSubscribeNotificationsRequest();
ArrayList<DiameterMessage> list = new ArrayList<DiameterMessage>();
list.add(udr);
list.add(pur);
list.add(snr);
ShServerActivityImpl activity = new ShServerActivityImpl(new ShServerMessageFactoryImpl(msgFactory, session.getSessions().get(0), stack, diameterShAvpFactory), diameterShAvpFactory, session, null, null);
DiameterActivityAnswerCreationHelper.testAnswerCreation(activity, "stateMessages", list);
}
use of org.jdiameter.api.sh.ServerShSession in project jain-slee.diameter by RestComm.
the class DiameterS13ResourceAdaptor method stateChanged.
/* (non-Javadoc)
* @see org.mobicents.slee.resource.diameter.s13.handlers.S13SessionCreationListener#stateChanged(org.jdiameter.api.app.AppSession, java.lang.Enum, java.lang.Enum)
*/
public void stateChanged(AppSession source, Enum oldState, Enum newState) {
DiameterActivityHandle dah = getActivityHandle(source.getSessionId());
Object activity = getActivity(dah);
if (activity != null) {
if (source instanceof ServerShSession) {
try {
// damn, no common, do something unexpected
StateChangeListener<AppSession> scl = (StateChangeListener<AppSession>) activity;
scl.stateChanged(source, oldState, newState);
} catch (Exception e) {
tracer.warning("Failed to deliver state, for: " + dah + " on stateChanged( " + source + ", " + oldState + ", " + newState + " )", e);
}
}
} else {
tracer.warning("No activity for: " + dah + " on stateChanged( " + source + ", " + oldState + ", " + newState + " )");
}
}
use of org.jdiameter.api.sh.ServerShSession in project jain-slee.diameter by RestComm.
the class DiameterCxDxResourceAdaptor method stateChanged.
/* (non-Javadoc)
* @see org.mobicents.slee.resource.diameter.cxdx.handlers.CxDxSessionCreationListener#stateChanged(org.jdiameter.api.app.AppSession, java.lang.Enum, java.lang.Enum)
*/
public void stateChanged(AppSession source, Enum oldState, Enum newState) {
DiameterActivityHandle dah = getActivityHandle(source.getSessionId());
Object activity = getActivity(dah);
if (activity != null) {
if (source instanceof ServerShSession) {
try {
// damn, no common, do something unexpected
StateChangeListener<AppSession> scl = (StateChangeListener<AppSession>) activity;
scl.stateChanged(source, oldState, newState);
} catch (Exception e) {
tracer.warning("Failed to deliver state, for: " + dah + " on stateChanged( " + source + ", " + oldState + ", " + newState + " )", e);
}
}
} else {
tracer.warning("No activity for: " + dah + " on stateChanged( " + source + ", " + oldState + ", " + newState + " )");
}
}
use of org.jdiameter.api.sh.ServerShSession in project jain-slee.diameter by RestComm.
the class ShServerActivityAnswerCreationTest method testShServerSubscriptionActivityAnswerCreation.
@Test
public void testShServerSubscriptionActivityAnswerCreation() throws Exception {
ServerShSession session = new ShServerSessionImpl(new ShServerSessionDataLocalImpl(), new IShMessageFactoryImpl(), (ISessionFactory) stack.getSessionFactory(), new ServerShSessionListenerImpl());
DiameterMessageFactoryImpl msgFactory = new DiameterMessageFactoryImpl(session.getSessions().get(0), stack, null, null);
ShClientMessageFactoryImpl factory = new ShClientMessageFactoryImpl(session.getSessions().get(0), stack);
UserDataRequest udr = factory.createUserDataRequest();
net.java.slee.resource.diameter.sh.events.ProfileUpdateRequest pur = factory.createProfileUpdateRequest();
net.java.slee.resource.diameter.sh.events.SubscribeNotificationsRequest snr = factory.createSubscribeNotificationsRequest();
ArrayList<DiameterMessage> list = new ArrayList<DiameterMessage>();
list.add(udr);
list.add(pur);
list.add(snr);
ShServerSubscriptionActivityImpl activity = new ShServerSubscriptionActivityImpl(new ShServerMessageFactoryImpl(msgFactory, session.getSessions().get(0), stack, diameterShAvpFactory), diameterShAvpFactory, session, null, null);
DiameterActivityAnswerCreationHelper.testAnswerCreation(activity, "stateMessages", list);
}
Aggregations