/*
* TeleStax, Open Source Cloud Communications Copyright 2012.
* 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.mobicents.protocols.ss7.tools.simulator.level3;
import javolution.xml.XMLFormat;
import javolution.xml.stream.XMLStreamException;
import org.mobicents.protocols.ss7.map.api.primitives.AddressNature;
import org.mobicents.protocols.ss7.map.api.primitives.NumberingPlan;
/**
*
* @author sergey vetyutnev
*
*/
public class MapConfigurationData {
protected static final String LOCAL_SSN = "localSsn";
protected static final String REMOTE_SSN = "remoteSsn";
protected static final String REMOTE_ADDRESS_DIGITS = "remoteAddressDigits";
protected static final String ORIG_REFERENCE = "origReference";
protected static final String ORIG_REFERENCE_ADDRESS_NATURE = "origReferenceAddressNature";
protected static final String ORIG_REFERENCE_NUMBERING_PLAN = "origReferenceNumberingPlan";
protected static final String DEST_REFERENCE = "destReference";
protected static final String DEST_REFERENCE_ADDRESS_NATURE = "destReferenceAddressNature";
protected static final String DEST_REFERENCE_NUMBERING_PLAN = "destReferenceNumberingPlan";
// private int localSsn;
// private int remoteSsn;
private String remoteAddressDigits;
private String origReference;
private AddressNature origReferenceAddressNature = AddressNature.international_number;
private NumberingPlan origReferenceNumberingPlan = NumberingPlan.ISDN;
private String destReference;
private AddressNature destReferenceAddressNature = AddressNature.international_number;
private NumberingPlan destReferenceNumberingPlan = NumberingPlan.ISDN;
// public int getLocalSsn() {
// return localSsn;
// }
//
// public void setLocalSsn(int localSsn) {
// this.localSsn = localSsn;
// }
//
// public int getRemoteSsn() {
// return remoteSsn;
// }
//
// public void setRemoteSsn(int remoteSsn) {
// this.remoteSsn = remoteSsn;
// }
public String getRemoteAddressDigits() {
return remoteAddressDigits;
}
public void setRemoteAddressDigits(String remoteAddressDigits) {
this.remoteAddressDigits = remoteAddressDigits;
}
public String getOrigReference() {
return origReference;
}
public void setOrigReference(String origReference) {
this.origReference = origReference;
}
public AddressNature getOrigReferenceAddressNature() {
return origReferenceAddressNature;
}
public void setOrigReferenceAddressNature(AddressNature origReferenceAddressNature) {
this.origReferenceAddressNature = origReferenceAddressNature;
}
public NumberingPlan getOrigReferenceNumberingPlan() {
return origReferenceNumberingPlan;
}
public void setOrigReferenceNumberingPlan(NumberingPlan origReferenceNumberingPlan) {
this.origReferenceNumberingPlan = origReferenceNumberingPlan;
}
public String getDestReference() {
return destReference;
}
public void setDestReference(String destReference) {
this.destReference = destReference;
}
public AddressNature getDestReferenceAddressNature() {
return destReferenceAddressNature;
}
public void setDestReferenceAddressNature(AddressNature destReferenceAddressNature) {
this.destReferenceAddressNature = destReferenceAddressNature;
}
public NumberingPlan getDestReferenceNumberingPlan() {
return destReferenceNumberingPlan;
}
public void setDestReferenceNumberingPlan(NumberingPlan destReferenceNumberingPlan) {
this.destReferenceNumberingPlan = destReferenceNumberingPlan;
}
protected static final XMLFormat<MapConfigurationData> XML = new XMLFormat<MapConfigurationData>(MapConfigurationData.class) {
public void write(MapConfigurationData map, OutputElement xml) throws XMLStreamException {
// xml.setAttribute(LOCAL_SSN, map.getLocalSsn());
// xml.setAttribute(REMOTE_SSN, map.getRemoteSsn());
xml.add(map.getRemoteAddressDigits(), REMOTE_ADDRESS_DIGITS, String.class);
xml.add(map.getOrigReference(), ORIG_REFERENCE, String.class);
xml.add(map.getDestReference(), DEST_REFERENCE, String.class);
xml.add(map.getOrigReferenceAddressNature().toString(), ORIG_REFERENCE_ADDRESS_NATURE, String.class);
xml.add(map.getOrigReferenceNumberingPlan().toString(), ORIG_REFERENCE_NUMBERING_PLAN, String.class);
xml.add(map.getDestReferenceAddressNature().toString(), DEST_REFERENCE_ADDRESS_NATURE, String.class);
xml.add(map.getDestReferenceNumberingPlan().toString(), DEST_REFERENCE_NUMBERING_PLAN, String.class);
}
public void read(InputElement xml, MapConfigurationData map) throws XMLStreamException {
// map.setLocalSsn(xml.getAttribute(LOCAL_SSN).toInt());
// map.setRemoteSsn(xml.getAttribute(REMOTE_SSN).toInt());
map.setRemoteAddressDigits((String) xml.get(REMOTE_ADDRESS_DIGITS, String.class));
map.setOrigReference((String) xml.get(ORIG_REFERENCE, String.class));
map.setDestReference((String) xml.get(DEST_REFERENCE, String.class));
String an = (String) xml.get(ORIG_REFERENCE_ADDRESS_NATURE, String.class);
map.setOrigReferenceAddressNature(AddressNature.valueOf(an));
String np = (String) xml.get(ORIG_REFERENCE_NUMBERING_PLAN, String.class);
map.setOrigReferenceNumberingPlan(NumberingPlan.valueOf(np));
an = (String) xml.get(DEST_REFERENCE_ADDRESS_NATURE, String.class);
map.setDestReferenceAddressNature(AddressNature.valueOf(an));
np = (String) xml.get(DEST_REFERENCE_NUMBERING_PLAN, String.class);
map.setDestReferenceNumberingPlan(NumberingPlan.valueOf(np));
}
};
}