/protocols/ss7/map/map-impl/src/test/java/org/mobicents/protocols/ss7/map/functional/MAPProviderImplWrapper.java

http://mobicents.googlecode.com/ · Java · 86 lines · 45 code · 14 blank · 27 comment · 4 complexity · d22dcb6bc2732774eb94fa10291b202e MD5 · raw file

  1. /*
  2. * JBoss, Home of Professional Open Source
  3. * Copyright 2011, Red Hat, Inc. and individual contributors
  4. * by the @authors tag. See the copyright.txt in the distribution for a
  5. * full listing of individual contributors.
  6. *
  7. * This is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU Lesser General Public License as
  9. * published by the Free Software Foundation; either version 2.1 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This software is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this software; if not, write to the Free
  19. * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  20. * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  21. */
  22. package org.mobicents.protocols.ss7.map.functional;
  23. import org.mobicents.protocols.ss7.map.api.MAPServiceBase;
  24. import org.mobicents.protocols.ss7.map.api.MAPException;
  25. import org.mobicents.protocols.ss7.map.api.dialog.MAPProviderAbortReason;
  26. import org.mobicents.protocols.ss7.map.MAPProviderImpl;
  27. import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementary;
  28. import org.mobicents.protocols.ss7.map.primitives.MAPExtensionContainerTest;
  29. import org.mobicents.protocols.ss7.tcap.api.TCAPProvider;
  30. import org.mobicents.protocols.ss7.tcap.api.tc.dialog.events.TCBeginIndication;
  31. import org.mobicents.protocols.ss7.tcap.asn.ApplicationContextName;
  32. import org.mobicents.protocols.ss7.tcap.asn.comp.Component;
  33. /**
  34. *
  35. * @author amit bhayani
  36. * @author sergey vetyutnev
  37. *
  38. */
  39. public class MAPProviderImplWrapper extends MAPProviderImpl {
  40. private int testMode = 0;
  41. private final MAPServiceSupplementary mapServiceSupplementaryTest = new MAPServiceSupplementaryImplWrapper(this);
  42. public MAPProviderImplWrapper(TCAPProvider tcapProvider) {
  43. super(tcapProvider);
  44. for(MAPServiceBase serv : this.mapServices) {
  45. if( serv instanceof MAPServiceSupplementary ) {
  46. this.mapServices.remove(serv);
  47. break;
  48. }
  49. }
  50. this.mapServices.add(this.mapServiceSupplementaryTest);
  51. }
  52. public MAPServiceSupplementary getMAPServiceSupplementary() {
  53. return this.mapServiceSupplementaryTest;
  54. }
  55. public void setTestMode(int testMode) {
  56. this.testMode = testMode;
  57. }
  58. public void onTCBegin(TCBeginIndication tcBeginIndication) {
  59. ApplicationContextName acn = tcBeginIndication.getApplicationContextName();
  60. Component[] comps = tcBeginIndication.getComponents();
  61. if (this.testMode == 1) {
  62. try {
  63. this.fireTCAbortProvider(tcBeginIndication.getDialog(), MAPProviderAbortReason.invalidPDU,
  64. MAPExtensionContainerTest.GetTestExtensionContainer());
  65. } catch (MAPException e) {
  66. loger.error("Error while firing TC-U-ABORT. ", e);
  67. }
  68. return;
  69. }
  70. super.onTCBegin(tcBeginIndication);
  71. }
  72. }