From 081dbddffd3c14ca7c69da4794cdab72341c1b3b Mon Sep 17 00:00:00 2001 From: Adam Gorak Date: Thu, 11 May 2017 02:19:04 +0200 Subject: [PATCH 1/8] Trying to prepare this module for configuration of 1 ESME in many clusters. The ESME removal to be implemented. --- .gitignore | 21 ++++-- core/bootstrap/pom.xml | 2 +- core/oam/clismpp/pom.xml | 2 +- core/pom.xml | 2 +- core/smpp-extensions/pom.xml | 2 +- .../src/main/java/org/restcomm/smpp/Esme.java | 0 .../java/org/restcomm/smpp/EsmeCluster.java | 0 .../org/restcomm/smpp/EsmeManagement.java | 64 ++++++++++++++----- .../restcomm/smpp/EsmeManagementMBean.java | 8 +++ management/ui-management/pom.xml | 2 +- pom.xml | 11 +++- 11 files changed, 85 insertions(+), 29 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 core/bootstrap/pom.xml mode change 100644 => 100755 core/oam/clismpp/pom.xml mode change 100644 => 100755 core/pom.xml mode change 100644 => 100755 core/smpp-extensions/pom.xml mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java mode change 100644 => 100755 management/ui-management/pom.xml mode change 100644 => 100755 pom.xml diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 874904d..882fe23 --- a/.gitignore +++ b/.gitignore @@ -8,8 +8,19 @@ *.war *.ear -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -/.classpath -/.project -/target/ +# Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties + +# Eclipse +.project +.classpath +.settings +.checkstyle \ No newline at end of file diff --git a/core/bootstrap/pom.xml b/core/bootstrap/pom.xml old mode 100644 new mode 100755 index e870599..fce9899 --- a/core/bootstrap/pom.xml +++ b/core/bootstrap/pom.xml @@ -6,7 +6,7 @@ core org.restcomm.smpp - 1.0.0-SNAPSHOT + 1.0.20-SNAPSHOT bootstrap diff --git a/core/oam/clismpp/pom.xml b/core/oam/clismpp/pom.xml old mode 100644 new mode 100755 index 938aef0..7a35de1 --- a/core/oam/clismpp/pom.xml +++ b/core/oam/clismpp/pom.xml @@ -4,7 +4,7 @@ core org.restcomm.smpp - 1.0.0-SNAPSHOT + 1.0.20-SNAPSHOT ../../pom.xml diff --git a/core/pom.xml b/core/pom.xml old mode 100644 new mode 100755 index 6b74bdc..e4b17cd --- a/core/pom.xml +++ b/core/pom.xml @@ -6,7 +6,7 @@ smpp-extensions-parent org.restcomm.smpp - 1.0.0-SNAPSHOT + 1.0.20-SNAPSHOT core diff --git a/core/smpp-extensions/pom.xml b/core/smpp-extensions/pom.xml old mode 100644 new mode 100755 index 39317f4..ea41a72 --- a/core/smpp-extensions/pom.xml +++ b/core/smpp-extensions/pom.xml @@ -6,7 +6,7 @@ core org.restcomm.smpp - 1.0.0-SNAPSHOT + 1.0.20-SNAPSHOT smpp-extensions diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java old mode 100644 new mode 100755 diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java old mode 100644 new mode 100755 diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java index 5c23acf..21072e7 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java @@ -31,6 +31,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Date; +import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -74,6 +75,9 @@ public class EsmeManagement implements EsmeManagementMBean { private static final String CLASS_ATTRIBUTE = "type"; private static final XMLBinding binding = new XMLBinding(); private static final String PERSIST_FILE_NAME = "esme.xml"; + + private static final String ESME_CLUSTERS_SEPARATOR = ","; + private static final int NETWORK_ID_NOT_SET = -1; private final String name; @@ -163,6 +167,11 @@ public Esme getEsmeByClusterName(String esmeClusterName) { return null; } + @Override + public boolean hasCluster(final String aClusterName) { + return esmeClusters.containsKey(aClusterName); + } + protected Esme getEsmeByPrimaryKey(String SystemId, String host, int port, SmppBindType smppBindType) { // Check for actual SystemId, host and port @@ -277,14 +286,14 @@ public Esme createEsme(String name, String systemId, String password, String hos // } }// for loop - EsmeCluster esmeCluster = this.esmeClusters.get(clusterName); + EsmeCluster esmeCluster = this.esmeClusters.get(getFirstClusterName(clusterName)); if (esmeCluster != null) { if (esmeCluster.getNetworkId() != networkId) { throw new Exception(String.format(SmppOamMessages.CREATE_EMSE_FAIL_WRONG_NETWORKID_IN_ESMECLUSTER, esmeCluster.getNetworkId(), networkId)); } } - if (clusterName == null) { + if (clusterName == null) { clusterName = name; } @@ -299,12 +308,7 @@ public Esme createEsme(String name, String systemId, String password, String hos esmes.add(esme); - if (esmeCluster == null) { - esmeCluster = new EsmeCluster(clusterName, networkId); - this.esmeClusters.put(clusterName, esmeCluster); - } - - esmeCluster.addEsme(esme); + addEsmeToClusters(esmeClusters, esme); this.store(); @@ -529,15 +533,7 @@ public void load() throws FileNotFoundException { esme.esmeManagement = this; - String esmeClusterName = esme.getClusterName(); - EsmeCluster esmeCluster = this.esmeClusters.get(esmeClusterName); - if (esmeCluster == null) { - esmeCluster = new EsmeCluster(esmeClusterName, esme.getNetworkId()); - this.esmeClusters.put(esmeClusterName, esmeCluster); - } else { - esme.setNetworkId(esmeCluster.getNetworkId()); - } - esmeCluster.addEsme(esme); + addEsmeToClusters(esmeClusters, esme); } reader.close(); @@ -546,6 +542,40 @@ public void load() throws FileNotFoundException { // "Error while re-creating Linksets from persisted file", ex); } } + + private static String getFirstClusterName(final String aName) { + if (aName == null) { + return null; + } + return aName.split(ESME_CLUSTERS_SEPARATOR)[0]; + } + + private static void addEsmeToClusters(final Map aClusters, final Esme anEsme) { + final String[] clusterNames = anEsme.getClusterName().split(ESME_CLUSTERS_SEPARATOR); + for (int i = 0; i < clusterNames.length; i++) { + if (i == 0) { + addEsmeToCluster(aClusters, anEsme, clusterNames[i].trim(), anEsme.getNetworkId()); + } else { + addEsmeToCluster(aClusters, anEsme, clusterNames[i].trim(), NETWORK_ID_NOT_SET); + } + } + } + + private static void addEsmeToCluster(final Map aClusters, final Esme anEsme, + final String aClusterName, final int aNetworkId) { + getEsmeCluster(aClusters, aClusterName, aNetworkId).addEsme(anEsme); + } + + private static EsmeCluster getEsmeCluster(final Map aClusters, final String aName, + final int aNetworkId) { + final EsmeCluster ec = aClusters.get(aName); + if (ec == null) { + final EsmeCluster nec = new EsmeCluster(aName, aNetworkId); + aClusters.put(aName, nec); + return nec; + } + return ec; + } private void registerEsmeMbean(Esme esme) { try { diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java index 56cdd4c..59fc0cc 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java @@ -52,5 +52,13 @@ Esme createEsme(String name, String systemId, String password, String host, int void startEsme(String esmeName) throws Exception; void stopEsme(String esmeName) throws Exception; + + /** + * Checks for cluster. + * + * @param aClusterName the cluster name + * @return true, if successful + */ + boolean hasCluster(String aClusterName); } diff --git a/management/ui-management/pom.xml b/management/ui-management/pom.xml old mode 100644 new mode 100755 index a356e6f..6a0b5d9 --- a/management/ui-management/pom.xml +++ b/management/ui-management/pom.xml @@ -4,7 +4,7 @@ smpp-extensions-parent org.restcomm.smpp - 1.0.0-SNAPSHOT + 1.0.20-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml old mode 100644 new mode 100755 index 8b983ec..0dc3db0 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ smpp-extensions-parent org.restcomm.smpp - 1.0.0-SNAPSHOT + 1.0.20-SNAPSHOT pom @@ -186,7 +186,14 @@ ${compile.debug} - + + org.apache.maven.plugins + maven-compiler-plugin + + 1.7 + 1.7 + + From 92f8e0efa6ad275d45a1d35dcdb03685ff82278f Mon Sep 17 00:00:00 2001 From: "CloudBees DEV@Cloud" Date: Wed, 14 Jun 2017 18:57:16 +0100 Subject: [PATCH 2/8] New release candidate --- core/bootstrap-wildfly/pom.xml | 2 +- core/bootstrap/pom.xml | 2 +- core/oam/clismpp/pom.xml | 2 +- core/pom.xml | 2 +- core/smpp-extensions/pom.xml | 2 +- management/ui-management/pom.xml | 2 +- pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/bootstrap-wildfly/pom.xml b/core/bootstrap-wildfly/pom.xml index feb70fd..10cee7f 100644 --- a/core/bootstrap-wildfly/pom.xml +++ b/core/bootstrap-wildfly/pom.xml @@ -5,7 +5,7 @@ core org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 bootstrap-wildfly diff --git a/core/bootstrap/pom.xml b/core/bootstrap/pom.xml index 1ee152b..b3663b0 100644 --- a/core/bootstrap/pom.xml +++ b/core/bootstrap/pom.xml @@ -6,7 +6,7 @@ core org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 bootstrap diff --git a/core/oam/clismpp/pom.xml b/core/oam/clismpp/pom.xml index 1fec3c1..a839d8a 100644 --- a/core/oam/clismpp/pom.xml +++ b/core/oam/clismpp/pom.xml @@ -4,7 +4,7 @@ core org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 ../../pom.xml diff --git a/core/pom.xml b/core/pom.xml index cc3515d..d01776a 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -6,7 +6,7 @@ smpp-extensions-parent org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 core diff --git a/core/smpp-extensions/pom.xml b/core/smpp-extensions/pom.xml index 60ecd3b..d36a741 100644 --- a/core/smpp-extensions/pom.xml +++ b/core/smpp-extensions/pom.xml @@ -6,7 +6,7 @@ core org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 smpp-extensions diff --git a/management/ui-management/pom.xml b/management/ui-management/pom.xml index 89bc68b..b325b4c 100644 --- a/management/ui-management/pom.xml +++ b/management/ui-management/pom.xml @@ -4,7 +4,7 @@ smpp-extensions-parent org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 ../../pom.xml diff --git a/pom.xml b/pom.xml index 0fb535d..279354b 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ smpp-extensions-parent org.restcomm.smpp - 7.1.0-SNAPSHOT + 7.1.39 pom From 6dae19791df88d80d790814e766db8073766d285 Mon Sep 17 00:00:00 2001 From: Adam Gorak Date: Wed, 5 Jul 2017 00:23:54 +0200 Subject: [PATCH 3/8] Remaining changes for: 1 esme in many clusters. --- .../src/main/java/org/restcomm/smpp/Esme.java | 62 ++++++++- .../java/org/restcomm/smpp/EsmeCluster.java | 22 ++++ .../java/org/restcomm/smpp/EsmeMBean.java | 4 + .../org/restcomm/smpp/EsmeManagement.java | 121 +++++++++++------- .../smpp/EsmeManagementException.java | 40 ++++++ .../restcomm/smpp/EsmeManagementMBean.java | 2 +- .../restcomm/smpp/oam/SmppOamMessages.java | 2 + .../restcomm/smpp/oam/SmppShellExecutor.java | 5 +- 8 files changed, 207 insertions(+), 51 deletions(-) create mode 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java index 2aee3db..9faca77 100755 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java @@ -51,8 +51,11 @@ public class Esme extends SslConfigurationWrapper implements XMLSerializable, Es * */ private static final long serialVersionUID = 1L; - - private static final Logger logger = Logger.getLogger(Esme.class); + + private static final Logger logger = Logger.getLogger(Esme.class); + + private static final String SEPARATOR = ","; + private static final String EMPTY = ""; private static final String ESME_NAME = "name"; @@ -63,6 +66,7 @@ public class Esme extends SslConfigurationWrapper implements XMLSerializable, Es private static final String REMOTE_HOST_IP = "host"; private static final String REMOTE_HOST_PORT = "port"; private static final String NETWORK_ID = "networkId"; + private static final String NETWORK_IDS = "networkIds"; private static final String SPLIT_LONG_MESSAGES = "splitLongMessages"; private static final String SMPP_BIND_TYPE = "smppBindType"; @@ -117,6 +121,7 @@ public class Esme extends SslConfigurationWrapper implements XMLSerializable, Es private String systemType; private SmppInterfaceVersionType smppVersion = null; private int networkId; + private int[] networkIds; // long messages will be split before sending to this destination private boolean splitLongMessages; @@ -337,7 +342,7 @@ public Esme(String name, String systemId, String password, String host, int port this.routingAddressRangePattern = Pattern.compile(this.routingAddressRange); } - this.networkId = networkId; + this.networkId = networkId; this.splitLongMessages = splitLongMessages; this.rateLimitPerSecond = rateLimitPerSecond; @@ -349,6 +354,8 @@ public Esme(String name, String systemId, String password, String host, int port this.nationalLanguageLockingShift = nationalLanguageLockingShift; this.minMessageLength = minMessageLength; this.maxMessageLength = maxMessageLength; + networkIds = new int[1]; + networkIds[0] = networkId; } /** @@ -452,6 +459,16 @@ public void setNetworkId(int networkId) { this.store(); } + @Override + public int[] getNetworkIds() { + return networkIds; + } + + public void setNetworkIds(int[] networkIds) { + this.networkIds = networkIds; + this.store(); + } + @Override public boolean getSplitLongMessages() { return splitLongMessages; @@ -1048,6 +1065,7 @@ public void read(javolution.xml.XMLFormat.InputElement xml, Esme esme) throws XM esme.host = xml.getAttribute(REMOTE_HOST_IP, ""); esme.port = xml.getAttribute(REMOTE_HOST_PORT, -1); esme.networkId = xml.getAttribute(NETWORK_ID, 0); + esme.networkIds = convert(xml.getAttribute(NETWORK_IDS, EMPTY)); esme.splitLongMessages = xml.getAttribute(SPLIT_LONG_MESSAGES, false); esme.rateLimitPerSecond = xml.getAttribute(RATE_LIMIT_PER_SECOND, 0L); @@ -1155,6 +1173,7 @@ public void write(Esme esme, javolution.xml.XMLFormat.OutputElement xml) throws xml.setAttribute(REMOTE_HOST_IP, esme.host); xml.setAttribute(REMOTE_HOST_PORT, esme.port); xml.setAttribute(NETWORK_ID, esme.networkId); + xml.setAttribute(NETWORK_IDS, convert(esme.networkIds)); xml.setAttribute(SPLIT_LONG_MESSAGES, esme.splitLongMessages); xml.setAttribute(RATE_LIMIT_PER_SECOND, esme.rateLimitPerSecond); @@ -1240,8 +1259,9 @@ public void show(StringBuffer sb) { .append(this.systemId).append(SmppOamMessages.SHOW_ESME_STATE).append(this.getStateName()) .append(SmppOamMessages.SHOW_ESME_PASSWORD).append(this.password).append(SmppOamMessages.SHOW_ESME_HOST) .append(this.host).append(SmppOamMessages.SHOW_ESME_PORT).append(this.port) - .append(SmppOamMessages.SHOW_NETWORK_ID).append(this.networkId).append(SmppOamMessages.CHARGING_ENABLED) - .append(this.chargingEnabled).append(SmppOamMessages.SHOW_ESME_BIND_TYPE).append(this.smppBindType) + .append(SmppOamMessages.SHOW_NETWORK_IDS).append(convert(networkIds)) + .append(SmppOamMessages.CHARGING_ENABLED) .append(this.chargingEnabled) + .append(SmppOamMessages.SHOW_ESME_BIND_TYPE).append(this.smppBindType) .append(SmppOamMessages.SHOW_ESME_SYSTEM_TYPE).append(this.systemType) .append(SmppOamMessages.SHOW_ESME_INTERFACE_VERSION).append(this.smppVersion) .append(SmppOamMessages.SHOW_ADDRESS_TON).append(this.esmeTon).append(SmppOamMessages.SHOW_ADDRESS_NPI) @@ -1711,4 +1731,36 @@ public boolean equals(Object obj) { public void store() { this.esmeManagement.store(); } + + private static String convert(final int[] anIntArray) { + if (anIntArray == null) { + return null; + } + if (anIntArray.length == 0) { + return EMPTY; + } + if (anIntArray.length == 1) { + return String.valueOf(anIntArray[0]); + } + final StringBuilder sb = new StringBuilder(anIntArray[0]); + for (int i = 1; i < anIntArray.length; i++) { + sb.append(SEPARATOR).append(anIntArray[i]); + } + return sb.toString(); + } + + private static int[] convert(final String aListOfIntegerValues) { + if (aListOfIntegerValues == null) { + return null; + } + if (aListOfIntegerValues.isEmpty()) { + return new int[0]; + } + final String[] values = aListOfIntegerValues.split(SEPARATOR); + final int[] r = new int[values.length]; + for (int i = 0; i < values.length; i++) { + r[i] = Integer.parseInt(values[i]); + } + return r; + } } diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java index 5428170..70e6fe7 100755 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java @@ -103,4 +103,26 @@ synchronized Esme getNextEsme() { boolean hasMoreEsmes() { return (esmes.size() > 0); } + + /** + * Checks if is OK for given request parameters. + * + * @param aTon the TON + * @param anNpi the NPI + * @param anAddress the address + * @param aName the a name + * @return true, if is OK for give parameters + */ + public boolean isOkFor(final int aTon, final int anNpi, final String anAddress, final String aName) { + for (FastList.Node n = esmesToSendPdu.head(), end = esmesToSendPdu.tail(); (n = n.getNext()) != end;) { + final Esme esme = n.getValue(); + if (esme.getName().equals(aName)) { + continue; + } + if (esme.isRoutingAddressMatching(aTon, anNpi, anAddress)) { + return true; + } + } + return false; + } } diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java index 601a56d..c47f715 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java @@ -77,6 +77,10 @@ public interface EsmeMBean extends DefaultSmppSessionMXBean, SslConfigurationWra int getNetworkId(); + void setNetworkIds(int[] networkIds); + + int[] getNetworkIds(); + boolean getSplitLongMessages(); void setSplitLongMessages(boolean splitLongMessages); diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java index 21072e7..2ce6c28 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java @@ -31,7 +31,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Date; -import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -77,7 +76,6 @@ public class EsmeManagement implements EsmeManagementMBean { private static final String PERSIST_FILE_NAME = "esme.xml"; private static final String ESME_CLUSTERS_SEPARATOR = ","; - private static final int NETWORK_ID_NOT_SET = -1; private final String name; @@ -87,7 +85,8 @@ public class EsmeManagement implements EsmeManagementMBean { protected FastMap esmesServer = new FastMap(); - protected FastMap esmeClusters = new FastMap(); + protected final FastMap esmeClusters = new FastMap(); + protected final FastMap esmeClusterByNetworkId = new FastMap(); private final TextBuilder persistFile = TextBuilder.newInstance(); @@ -218,7 +217,7 @@ public Esme createEsme(String name, String systemId, String password, String hos String smppSessionType, int windowSize, long connectTimeout, long requestExpiryTimeout, long clientBindTimeout, long windowMonitorInterval, long windowWaitTimeout, String clusterName, boolean countersEnabled, int enquireLinkDelay, int enquireLinkDelayServer, long linkDropServer, int sourceTon, int sourceNpi, - String sourceAddressRange, int routingTon, int routingNpi, String routingAddressRange, int networkId, + String sourceAddressRange, int routingTon, int routingNpi, String routingAddressRange, String networkId, boolean splitLongMessages, long rateLimitPerSecond, long rateLimitPerMinute, long rateLimitPerHour, long rateLimitPerDay, int nationalLanguageSingleShift, int nationalLanguageLockingShift, int minMessageLength, int maxMessageLength) throws Exception { @@ -285,30 +284,23 @@ public Esme createEsme(String name, String systemId, String password, String hos // host, port, smppBindType)); // } }// for loop - - EsmeCluster esmeCluster = this.esmeClusters.get(getFirstClusterName(clusterName)); - if (esmeCluster != null) { - if (esmeCluster.getNetworkId() != networkId) { - throw new Exception(String.format(SmppOamMessages.CREATE_EMSE_FAIL_WRONG_NETWORKID_IN_ESMECLUSTER, esmeCluster.getNetworkId(), networkId)); - } - } - - if (clusterName == null) { - clusterName = name; - } + + final String clusterNames = correctClusterName(clusterName, name).trim(); + final int[] networkIds = validateClustersAndNetworkIds(clusterNames, networkId); Esme esme = new Esme(name, systemId, password, host, port, chargingEnabled, systemType, smppInterfaceVersionTypeObj, ton, npi, address, smppBindTypeOb, smppSessionTypeObj, windowSize, connectTimeout, requestExpiryTimeout, - clientBindTimeout, windowMonitorInterval, windowWaitTimeout, clusterName, countersEnabled, enquireLinkDelay, + clientBindTimeout, windowMonitorInterval, windowWaitTimeout, clusterNames, countersEnabled, enquireLinkDelay, enquireLinkDelayServer, linkDropServer, sourceTon, sourceNpi, sourceAddressRange, routingTon, routingNpi, - routingAddressRange, networkId, splitLongMessages, rateLimitPerSecond, rateLimitPerMinute, rateLimitPerHour, + routingAddressRange, networkIds[0], splitLongMessages, rateLimitPerSecond, rateLimitPerMinute, rateLimitPerHour, rateLimitPerDay, nationalLanguageSingleShift, nationalLanguageLockingShift, minMessageLength, maxMessageLength); + esme.setNetworkIds(networkIds); esme.esmeManagement = this; esmes.add(esme); - addEsmeToClusters(esmeClusters, esme); + addEsmeToClusters(esme); this.store(); @@ -316,8 +308,8 @@ public Esme createEsme(String name, String systemId, String password, String hos return esme; } - - public Esme destroyEsme(String esmeName) throws Exception { + + public Esme destroyEsme(String esmeName) throws Exception { Esme esme = this.getEsmeByName(esmeName); if (esme == null) { throw new Exception(String.format(SmppOamMessages.DELETE_ESME_FAILED_NO_ESME_FOUND, esmeName)); @@ -329,11 +321,12 @@ public Esme destroyEsme(String esmeName) throws Exception { esmes.remove(esme); - EsmeCluster esmeCluster = this.esmeClusters.get(esme.getClusterName()); - esmeCluster.removeEsme(esme); - - if (!esmeCluster.hasMoreEsmes()) { - this.esmeClusters.remove(esme.getClusterName()); + for(final EsmeCluster esmeCluster : esmeClusters.values()) { + esmeCluster.removeEsme(esme); + if (!esmeCluster.hasMoreEsmes()) { + esmeClusters.remove(esme.getClusterName()); + esmeClusterByNetworkId.remove(esmeCluster.getNetworkId()); + } } this.store(); @@ -533,7 +526,7 @@ public void load() throws FileNotFoundException { esme.esmeManagement = this; - addEsmeToClusters(esmeClusters, esme); + addEsmeToClusters(esme); } reader.close(); @@ -543,35 +536,36 @@ public void load() throws FileNotFoundException { } } - private static String getFirstClusterName(final String aName) { - if (aName == null) { - return null; - } - return aName.split(ESME_CLUSTERS_SEPARATOR)[0]; - } + /** + * Gets the ESME cluster. + * + * @param aNetworkId the network ID + * @return the ESME cluster + */ + public EsmeCluster getEsmeCluster(final int aNetworkId) { + return esmeClusterByNetworkId.get(aNetworkId); + } - private static void addEsmeToClusters(final Map aClusters, final Esme anEsme) { + private void addEsmeToClusters(final Esme anEsme) { + final int[] networkIds = anEsme.getNetworkIds(); final String[] clusterNames = anEsme.getClusterName().split(ESME_CLUSTERS_SEPARATOR); for (int i = 0; i < clusterNames.length; i++) { - if (i == 0) { - addEsmeToCluster(aClusters, anEsme, clusterNames[i].trim(), anEsme.getNetworkId()); - } else { - addEsmeToCluster(aClusters, anEsme, clusterNames[i].trim(), NETWORK_ID_NOT_SET); - } + addEsmeToCluster(anEsme, clusterNames[i].trim(), networkIds[i]); } } - private static void addEsmeToCluster(final Map aClusters, final Esme anEsme, + private void addEsmeToCluster(final Esme anEsme, final String aClusterName, final int aNetworkId) { - getEsmeCluster(aClusters, aClusterName, aNetworkId).addEsme(anEsme); + getEsmeCluster(aClusterName, aNetworkId).addEsme(anEsme); } - private static EsmeCluster getEsmeCluster(final Map aClusters, final String aName, + private EsmeCluster getEsmeCluster(final String aName, final int aNetworkId) { - final EsmeCluster ec = aClusters.get(aName); + final EsmeCluster ec = esmeClusters.get(aName); if (ec == null) { final EsmeCluster nec = new EsmeCluster(aName, aNetworkId); - aClusters.put(aName, nec); + esmeClusters.put(aName, nec); + esmeClusterByNetworkId.put(aNetworkId, nec); return nec; } return ec; @@ -610,6 +604,47 @@ private void unregisterEsmeMbean(String esmeName) { } } + private static String correctClusterName(final String aClusterName, final String anEsmeName) throws EsmeManagementException { + if (aClusterName == null) { + if (anEsmeName == null) { + throw new EsmeManagementException("EsmeName is not specified."); + } + return anEsmeName; + } + return aClusterName; + } + + private int[] validateClustersAndNetworkIds(final String aClusterName, final String aNetworkId) + throws EsmeManagementException { + if ((aClusterName == null) || aClusterName.isEmpty()) { + throw new EsmeManagementException("Clusters name is not specified."); + } + final String[] clusters = aClusterName.split(ESME_CLUSTERS_SEPARATOR); + final String[] networkIds = aNetworkId.split(ESME_CLUSTERS_SEPARATOR); + if (clusters.length != networkIds.length) { + throw new EsmeManagementException("Clusters count (" + clusters.length + + ") does not match NetworkIds count (" + networkIds.length + ")."); + } + final int r[] = new int[clusters.length]; + for (int i = 0; i < clusters.length; i++) { + try { + r[i] = Integer.parseInt(networkIds[i]); + } catch (NumberFormatException e) { + throw new EsmeManagementException( + "NetworkId for cluster " + clusters[i].trim() + " has non-integer value: " + networkIds[i] + "."); + } + final EsmeCluster c = this.esmeClusters.get(clusters[i].trim()); + if (c == null) { + continue; + } + if (c.getNetworkId() != r[i]) { + throw new EsmeManagementException("NetworkId for cluster " + c.getClusterName() + + " has invalid value. Expected: " + c.getNetworkId() + ". Actual: " + networkIds[i] + "."); + } + } + return r; + } + private class MessageCleanerTimerTask extends TimerTask { private int lastDay = -1; diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java new file mode 100755 index 0000000..d4a4854 --- /dev/null +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java @@ -0,0 +1,40 @@ +/* + * Telestax, Open Source Cloud Communications Copyright 2011-2017, + * Telestax Inc and individual contributors by the @authors tag. + * See the copyright.txt in the distribution for a full listing of + * individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ +package org.restcomm.smpp; + +/** + * The Class EsmeManagementException. + */ +public final class EsmeManagementException extends Exception { + + private static final long serialVersionUID = 1L; + + /** + * Instantiates a new ESME management exception. + * + * @param aMessage the message + */ + public EsmeManagementException(final String aMessage) { + super(aMessage); + } + +} diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java index 59fc0cc..3a9279c 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java @@ -42,7 +42,7 @@ Esme createEsme(String name, String systemId, String password, String host, int String smppSessionType, int windowSize, long connectTimeout, long requestExpiryTimeout, long clientBindTimeout, long windowMonitorInterval, long windowWaitTimeout, String clusterName, boolean countersEnabled, int enquireLinkDelay, int enquireLinkDelayServer, long linkDropServer, int sourceTon, int sourceNpi, - String sourceAddressRange, int routingTon, int routingNpi, String routingAddressRange, int networkId, + String sourceAddressRange, int routingTon, int routingNpi, String routingAddressRange, String networkId, boolean splitLongMessages, long rateLimitPerSecond, long rateLimitPerMinute, long rateLimitPerHour, long rateLimitPerDay, int nationalLanguageSingleShift, int nationalLanguageLockingShift, int minMessageLength, int maxMessageLength) throws Exception; diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java index 049781f..65d1a8c 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java @@ -89,6 +89,8 @@ public interface SmppOamMessages { public static final String SHOW_NETWORK_ID = " networkId="; + public static final String SHOW_NETWORK_IDS = " networkIds="; + public static final String SPLIT_LONG_MESSAGES = " split-long-messages="; public static final String CHARGING_ENABLED = " chargingEnabled="; diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java index 3bced24..2830213 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java @@ -48,6 +48,7 @@ public class SmppShellExecutor implements ShellExecutor { private static final String LINE_SEPARATOR = System.getProperty("line.separator"); private static final String MAP_CACHE_KEY_VALUE_SEPARATOR = " : "; + private static final String NETWORK_ID_DEFAULT = "0"; public SmppShellExecutor() { @@ -284,7 +285,7 @@ private String createEsme(String[] args) throws Exception { String esmeAddrRange = null; String clusterName = name; String password = null; - int networkId = 0; + String networkId = NETWORK_ID_DEFAULT; boolean splitLongMessages = false; long rateLimitPerSecond = 0; long rateLimitPerMinute = 0; @@ -329,7 +330,7 @@ private String createEsme(String[] args) throws Exception { if (key.equals("password")) { password = args[count++]; } else if (key.equals("networkid")) { - networkId = Integer.parseInt(args[count++]); + networkId = args[count++]; } else if (key.equals("split-long-messages")) { splitLongMessages = Boolean.parseBoolean(args[count++]); } else if (key.equals("system-type")) { From 3abd14902634f9050daf6c4a99c939a10441be3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20G=C3=B3rak?= Date: Wed, 5 Jul 2017 13:36:24 +0200 Subject: [PATCH 4/8] Removing unneeded changes. --- .../src/main/java/org/restcomm/smpp/EsmeManagement.java | 5 ----- .../main/java/org/restcomm/smpp/EsmeManagementMBean.java | 8 -------- 2 files changed, 13 deletions(-) diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java index 2cc9c91..d90d5f1 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java @@ -170,11 +170,6 @@ public Esme getEsmeByClusterName(String esmeClusterName) { return null; } - @Override - public boolean hasCluster(final String aClusterName) { - return esmeClusters.containsKey(aClusterName); - } - protected Esme getEsmeByPrimaryKey(String SystemId, String host, int port, SmppBindType smppBindType) { // Check for actual SystemId, host and port diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java index c83cd27..7436021 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java @@ -53,12 +53,4 @@ Esme createEsme(String name, String systemId, String password, String host, int void stopEsme(String esmeName) throws Exception; - /** - * Checks for cluster. - * - * @param aClusterName the cluster name - * @return true, if successful - */ - boolean hasCluster(String aClusterName); - } From e92238221c06121b711253fc5162700a6f745da9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20G=C3=B3rak?= Date: Wed, 5 Jul 2017 13:40:30 +0200 Subject: [PATCH 5/8] Cleanup (new method moved down). --- .../org/restcomm/smpp/EsmeManagement.java | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java index d90d5f1..8e461e5 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java @@ -547,31 +547,6 @@ public EsmeCluster getEsmeCluster(final int aNetworkId) { return esmeClusterByNetworkId.get(aNetworkId); } - private void addEsmeToClusters(final Esme anEsme) { - final int[] networkIds = anEsme.getNetworkIds(); - final String[] clusterNames = anEsme.getClusterName().split(ESME_CLUSTERS_SEPARATOR); - for (int i = 0; i < clusterNames.length; i++) { - addEsmeToCluster(anEsme, clusterNames[i].trim(), networkIds[i]); - } - } - - private void addEsmeToCluster(final Esme anEsme, - final String aClusterName, final int aNetworkId) { - getEsmeCluster(aClusterName, aNetworkId).addEsme(anEsme); - } - - private EsmeCluster getEsmeCluster(final String aName, - final int aNetworkId) { - final EsmeCluster ec = esmeClusters.get(aName); - if (ec == null) { - final EsmeCluster nec = new EsmeCluster(aName, aNetworkId); - esmeClusters.put(aName, nec); - esmeClusterByNetworkId.put(aNetworkId, nec); - return nec; - } - return ec; - } - private void registerEsmeMbean(Esme esme) { try { ObjectName esmeObjNname = new ObjectName(SmppManagement.JMX_DOMAIN + ":layer=Esme,name=" + esme.getName()); @@ -605,6 +580,31 @@ private void unregisterEsmeMbean(String esmeName) { } } + private void addEsmeToClusters(final Esme anEsme) { + final int[] networkIds = anEsme.getNetworkIds(); + final String[] clusterNames = anEsme.getClusterName().split(ESME_CLUSTERS_SEPARATOR); + for (int i = 0; i < clusterNames.length; i++) { + addEsmeToCluster(anEsme, clusterNames[i].trim(), networkIds[i]); + } + } + + private void addEsmeToCluster(final Esme anEsme, + final String aClusterName, final int aNetworkId) { + getEsmeCluster(aClusterName, aNetworkId).addEsme(anEsme); + } + + private EsmeCluster getEsmeCluster(final String aName, + final int aNetworkId) { + final EsmeCluster ec = esmeClusters.get(aName); + if (ec == null) { + final EsmeCluster nec = new EsmeCluster(aName, aNetworkId); + esmeClusters.put(aName, nec); + esmeClusterByNetworkId.put(aNetworkId, nec); + return nec; + } + return ec; + } + private static String correctClusterName(final String aClusterName, final String anEsmeName) throws EsmeManagementException { if (aClusterName == null) { if (anEsmeName == null) { From 7c7e97d2a3571153fa4368ff24667ad7127c8a80 Mon Sep 17 00:00:00 2001 From: Adam Gorak Date: Thu, 6 Jul 2017 23:53:34 +0200 Subject: [PATCH 6/8] Fixes for 1-esme.. --- .../src/main/java/org/restcomm/smpp/Esme.java | 59 +++++++++++-------- .../java/org/restcomm/smpp/EsmeCluster.java | 15 +++++ .../java/org/restcomm/smpp/EsmeMBean.java | 4 -- .../org/restcomm/smpp/EsmeManagement.java | 4 +- 4 files changed, 53 insertions(+), 29 deletions(-) mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java old mode 100644 new mode 100755 index 5277197..222846c --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/Esme.java @@ -55,7 +55,6 @@ public class Esme extends SslConfigurationWrapper implements XMLSerializable, Es private static final Logger logger = Logger.getLogger(Esme.class); private static final String SEPARATOR = ","; - private static final String EMPTY = ""; private static final String ESME_NAME = "name"; @@ -359,8 +358,7 @@ public Esme(String name, String systemId, String password, String host, int port this.destAddrSendLimit = destAddrSendLimit; this.minMessageLength = minMessageLength; this.maxMessageLength = maxMessageLength; - networkIds = new int[1]; - networkIds[0] = networkId; + networkIds = convert(networkId); } /** @@ -464,16 +462,6 @@ public void setNetworkId(int networkId) { this.store(); } - @Override - public int[] getNetworkIds() { - return networkIds; - } - - public void setNetworkIds(int[] networkIds) { - this.networkIds = networkIds; - this.store(); - } - @Override public boolean getSplitLongMessages() { return splitLongMessages; @@ -1079,7 +1067,7 @@ public void read(javolution.xml.XMLFormat.InputElement xml, Esme esme) throws XM esme.host = xml.getAttribute(REMOTE_HOST_IP, ""); esme.port = xml.getAttribute(REMOTE_HOST_PORT, -1); esme.networkId = xml.getAttribute(NETWORK_ID, 0); - esme.networkIds = convert(xml.getAttribute(NETWORK_IDS, EMPTY)); + esme.networkIds = convert(xml.getAttribute(NETWORK_IDS, String.valueOf(esme.networkId)), esme.networkId); esme.splitLongMessages = xml.getAttribute(SPLIT_LONG_MESSAGES, false); esme.rateLimitPerSecond = xml.getAttribute(RATE_LIMIT_PER_SECOND, 0L); @@ -1188,7 +1176,7 @@ public void write(Esme esme, javolution.xml.XMLFormat.OutputElement xml) throws xml.setAttribute(REMOTE_HOST_IP, esme.host); xml.setAttribute(REMOTE_HOST_PORT, esme.port); xml.setAttribute(NETWORK_ID, esme.networkId); - xml.setAttribute(NETWORK_IDS, convert(esme.networkIds)); + xml.setAttribute(NETWORK_IDS, convert(esme.networkIds, esme.networkId)); xml.setAttribute(SPLIT_LONG_MESSAGES, esme.splitLongMessages); xml.setAttribute(RATE_LIMIT_PER_SECOND, esme.rateLimitPerSecond); @@ -1275,7 +1263,7 @@ public void show(StringBuffer sb) { .append(this.systemId).append(SmppOamMessages.SHOW_ESME_STATE).append(this.getStateName()) .append(SmppOamMessages.SHOW_ESME_PASSWORD).append(this.password).append(SmppOamMessages.SHOW_ESME_HOST) .append(this.host).append(SmppOamMessages.SHOW_ESME_PORT).append(this.port) - .append(SmppOamMessages.SHOW_NETWORK_IDS).append(convert(networkIds)) + .append(SmppOamMessages.SHOW_NETWORK_IDS).append(convert(networkIds, networkId)) .append(SmppOamMessages.CHARGING_ENABLED) .append(this.chargingEnabled) .append(SmppOamMessages.SHOW_ESME_BIND_TYPE).append(this.smppBindType) .append(SmppOamMessages.SHOW_ESME_SYSTEM_TYPE).append(this.systemType) @@ -1813,29 +1801,47 @@ public void store() { this.esmeManagement.store(); } - private static String convert(final int[] anIntArray) { + /** + * Gets the network IDs. + * + * @return the network IDs + */ + int[] getNetworkIds() { + return networkIds; + } + + /** + * Sets the network IDs. + * + * @param aNetworkIds the new network IDs + */ + void setNetworkIds(final int[] aNetworkIds) { + networkIds = aNetworkIds; + } + + private static String convert(final int[] anIntArray, final int aSingleValue) { if (anIntArray == null) { - return null; + return String.valueOf(aSingleValue); } if (anIntArray.length == 0) { - return EMPTY; + return String.valueOf(aSingleValue); } if (anIntArray.length == 1) { return String.valueOf(anIntArray[0]); } - final StringBuilder sb = new StringBuilder(anIntArray[0]); + final StringBuilder sb = new StringBuilder().append(anIntArray[0]); for (int i = 1; i < anIntArray.length; i++) { sb.append(SEPARATOR).append(anIntArray[i]); } return sb.toString(); } - private static int[] convert(final String aListOfIntegerValues) { + private static int[] convert(final String aListOfIntegerValues, final int aSingleValue) { if (aListOfIntegerValues == null) { - return null; + return convert(aSingleValue); } if (aListOfIntegerValues.isEmpty()) { - return new int[0]; + return convert(aSingleValue); } final String[] values = aListOfIntegerValues.split(SEPARATOR); final int[] r = new int[values.length]; @@ -1844,4 +1850,11 @@ private static int[] convert(final String aListOfIntegerValues) { } return r; } + + private static int[] convert(final int aSingleNetworkId) { + final int[] r = new int[1]; + r[0] = aSingleNetworkId; + return r; + } + } diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java old mode 100644 new mode 100755 index 70e6fe7..e372464 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeCluster.java @@ -125,4 +125,19 @@ public boolean isOkFor(final int aTon, final int anNpi, final String anAddress, } return false; } + + @Override + public String toString() { + final int count = esmes.size(); + final StringBuilder sb = new StringBuilder(); + sb.append(clusterName).append("["); + for (int i = 0; i < count; i++) { + sb.append(esmes.get(i).getName()); + if (i < count - 1) { + sb.append(","); + } + } + sb.append("]"); + return sb.toString(); + } } diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java index 72ef61d..b9c31cb 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeMBean.java @@ -77,10 +77,6 @@ public interface EsmeMBean extends DefaultSmppSessionMXBean, SslConfigurationWra int getNetworkId(); - void setNetworkIds(int[] networkIds); - - int[] getNetworkIds(); - boolean getSplitLongMessages(); void setSplitLongMessages(boolean splitLongMessages); diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java index 8e461e5..72c7933 100644 --- a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java +++ b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java @@ -639,8 +639,8 @@ private int[] validateClustersAndNetworkIds(final String aClusterName, final Str continue; } if (c.getNetworkId() != r[i]) { - throw new EsmeManagementException("NetworkId for cluster " + c.getClusterName() - + " has invalid value. Expected: " + c.getNetworkId() + ". Actual: " + networkIds[i] + "."); + throw new EsmeManagementException("NetworkId for cluster " + c + " has invalid value. Expected: " + + c.getNetworkId() + ". Actual: " + networkIds[i] + "."); } } return r; From 328830861f9dea1dc6d08308ecf225a555956697 Mon Sep 17 00:00:00 2001 From: Adam Gorak Date: Tue, 11 Jul 2017 01:02:33 +0200 Subject: [PATCH 7/8] Versions restored as on master. --- .gitignore | 0 core/bootstrap-wildfly/pom.xml | 2 +- core/bootstrap/pom.xml | 2 +- core/oam/clismpp/pom.xml | 2 +- core/pom.xml | 2 +- core/smpp-extensions/pom.xml | 2 +- .../src/main/java/org/restcomm/smpp/EsmeManagement.java | 0 .../main/java/org/restcomm/smpp/EsmeManagementException.java | 0 .../src/main/java/org/restcomm/smpp/EsmeManagementMBean.java | 0 .../src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java | 0 .../src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java | 0 management/ui-management/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 7 insertions(+), 7 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 core/bootstrap-wildfly/pom.xml mode change 100644 => 100755 core/bootstrap/pom.xml mode change 100644 => 100755 core/oam/clismpp/pom.xml mode change 100644 => 100755 core/pom.xml mode change 100644 => 100755 core/smpp-extensions/pom.xml mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java mode change 100644 => 100755 core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java mode change 100644 => 100755 management/ui-management/pom.xml mode change 100644 => 100755 pom.xml diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/core/bootstrap-wildfly/pom.xml b/core/bootstrap-wildfly/pom.xml old mode 100644 new mode 100755 index 10cee7f..feb70fd --- a/core/bootstrap-wildfly/pom.xml +++ b/core/bootstrap-wildfly/pom.xml @@ -5,7 +5,7 @@ core org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT bootstrap-wildfly diff --git a/core/bootstrap/pom.xml b/core/bootstrap/pom.xml old mode 100644 new mode 100755 index 987387c..962be2a --- a/core/bootstrap/pom.xml +++ b/core/bootstrap/pom.xml @@ -6,7 +6,7 @@ core org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT bootstrap diff --git a/core/oam/clismpp/pom.xml b/core/oam/clismpp/pom.xml old mode 100644 new mode 100755 index a839d8a..1fec3c1 --- a/core/oam/clismpp/pom.xml +++ b/core/oam/clismpp/pom.xml @@ -4,7 +4,7 @@ core org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT ../../pom.xml diff --git a/core/pom.xml b/core/pom.xml old mode 100644 new mode 100755 index d01776a..cc3515d --- a/core/pom.xml +++ b/core/pom.xml @@ -6,7 +6,7 @@ smpp-extensions-parent org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT core diff --git a/core/smpp-extensions/pom.xml b/core/smpp-extensions/pom.xml old mode 100644 new mode 100755 index d36a741..60ecd3b --- a/core/smpp-extensions/pom.xml +++ b/core/smpp-extensions/pom.xml @@ -6,7 +6,7 @@ core org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT smpp-extensions diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagement.java old mode 100644 new mode 100755 diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementException.java old mode 100644 new mode 100755 diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/EsmeManagementMBean.java old mode 100644 new mode 100755 diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppOamMessages.java old mode 100644 new mode 100755 diff --git a/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java b/core/smpp-extensions/src/main/java/org/restcomm/smpp/oam/SmppShellExecutor.java old mode 100644 new mode 100755 diff --git a/management/ui-management/pom.xml b/management/ui-management/pom.xml old mode 100644 new mode 100755 index b62bb28..ad7f43b --- a/management/ui-management/pom.xml +++ b/management/ui-management/pom.xml @@ -4,7 +4,7 @@ smpp-extensions-parent org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml old mode 100644 new mode 100755 index f3bc49e..9de80e0 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ smpp-extensions-parent org.restcomm.smpp - 7.1.39 + 7.1.0-SNAPSHOT pom From 1023a826aafa85547e80f02399f43d023e05a770 Mon Sep 17 00:00:00 2001 From: Adam Gorak Date: Tue, 11 Jul 2017 01:08:55 +0200 Subject: [PATCH 8/8] POM files versions restored as on master. --- core/bootstrap/pom.xml | 72 ++++++++++++++++---------------- management/ui-management/pom.xml | 68 +++++++++++++++--------------- pom.xml | 9 +--- 3 files changed, 71 insertions(+), 78 deletions(-) diff --git a/core/bootstrap/pom.xml b/core/bootstrap/pom.xml index 962be2a..1ee152b 100755 --- a/core/bootstrap/pom.xml +++ b/core/bootstrap/pom.xml @@ -108,42 +108,42 @@ deploy-module-jboss5 - - maven-antrun-plugin - - - deploy - install - - run - - - - - - - - - - - - undeploy - clean - - run - - - - - - - - - - - - - + + maven-antrun-plugin + + + deploy + install + + run + + + + + + + + + + + + undeploy + clean + + run + + + + + + + + + + + + + diff --git a/management/ui-management/pom.xml b/management/ui-management/pom.xml index ad7f43b..89bc68b 100755 --- a/management/ui-management/pom.xml +++ b/management/ui-management/pom.xml @@ -33,40 +33,40 @@ smpp-management - - maven-antrun-plugin - - - deploy - install - - run - - - - - ${jboss.home}server/default/deploy - - - - - - - undeploy - clean - - run - - - - - - - - - - - + + maven-antrun-plugin + + + deploy + install + + run + + + + + ${jboss.home}server/default/deploy + + + + + + + undeploy + clean + + run + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index 9de80e0..0fb535d 100755 --- a/pom.xml +++ b/pom.xml @@ -187,14 +187,7 @@ ${compile.debug} - - org.apache.maven.plugins - maven-compiler-plugin - - 1.7 - 1.7 - - +