TestSmppServerHandler.java
- package fr.sii.ogham.testing.sms.simulator.cloudhopper;
- import java.util.HashSet;
- import java.util.Set;
- import com.cloudhopper.smpp.SmppConstants;
- import com.cloudhopper.smpp.SmppServerHandler;
- import com.cloudhopper.smpp.SmppServerSession;
- import com.cloudhopper.smpp.SmppSessionConfiguration;
- import com.cloudhopper.smpp.impl.PollableSmppSessionHandler;
- import com.cloudhopper.smpp.pdu.BaseBind;
- import com.cloudhopper.smpp.pdu.BaseBindResp;
- import com.cloudhopper.smpp.type.SmppProcessingException;
- public class TestSmppServerHandler implements SmppServerHandler {
- private Set<SmppServerSession> sessions = new HashSet<>();
- private PollableSmppSessionHandler sessionHandler = new PollableSmppSessionHandler();
- private String systemId;
- private String password;
- public TestSmppServerHandler(String systemId, String password) {
- super();
- this.systemId = systemId;
- this.password = password;
- }
- @Override
- @SuppressWarnings("rawtypes")
- public void sessionBindRequested(Long sessionId, SmppSessionConfiguration sessionConfiguration, final BaseBind bindRequest) throws SmppProcessingException {
- // test name change of sessions
- sessionConfiguration.setName("Test1");
- if (!systemId.equals(bindRequest.getSystemId())) {
- throw new SmppProcessingException(SmppConstants.STATUS_INVSYSID);
- }
- if (!password.equals(bindRequest.getPassword())) {
- throw new SmppProcessingException(SmppConstants.STATUS_INVPASWD);
- }
- }
- @Override
- public void sessionCreated(Long sessionId, SmppServerSession session, BaseBindResp preparedBindResponse) {
- sessions.add(session);
- // need to do something it now (flag we're ready)
- session.serverReady(sessionHandler);
- }
- @Override
- public void sessionDestroyed(Long sessionId, SmppServerSession session) {
- sessions.remove(session);
- }
- public Set<SmppServerSession> getSessions() {
- return sessions;
- }
- public PollableSmppSessionHandler getSessionHandler() {
- return sessionHandler;
- }
- public String getSystemId() {
- return systemId;
- }
- public String getPassword() {
- return password;
- }
- }