use of org.jdiameter.api.AvpSet in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsOctetString.
public static byte[][] getAvpsAsOctetString(int avpCode, long vendorId, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode, vendorId);
byte[][] values = new byte[avpSet.size()][];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getOctetString();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " as type OctetString.", e);
}
return new byte[0][];
}
}
use of org.jdiameter.api.AvpSet in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsFloat32.
public static float[] getAvpsAsFloat32(int avpCode, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode);
float[] values = new float[avpSet.size()];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getFloat32();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " as type Float32.", e);
}
return new float[0];
}
}
use of org.jdiameter.api.AvpSet in project jain-slee.diameter by RestComm.
the class AvpUtilities method getAvpsAsUTF8String.
public static String[] getAvpsAsUTF8String(int avpCode, AvpSet set) {
try {
AvpSet avpSet = set.getAvps(avpCode);
String[] values = new String[avpSet.size()];
int i = 0;
for (Avp avp : avpSet) {
values[i++] = avp.getUTF8String();
}
return values;
} catch (AvpDataException e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to obtain AVP with code " + avpCode + " as type UTF8String.", e);
}
return new String[0];
}
}
use of org.jdiameter.api.AvpSet in project jain-slee.diameter by RestComm.
the class RoMessageFactoryImpl method addAvp.
protected void addAvp(DiameterAvp avp, AvpSet set) {
// proper function?
if (avp instanceof GroupedAvp) {
AvpSet avpSet = set.addGroupedAvp(avp.getCode(), avp.getVendorId(), avp.getMandatoryRule() == 1, avp.getProtectedRule() == 1);
DiameterAvp[] groupedAVPs = ((GroupedAvp) avp).getExtensionAvps();
for (DiameterAvp avpFromGroup : groupedAVPs) {
addAvp(avpFromGroup, avpSet);
}
} else if (avp != null) {
set.addAvp(avp.getCode(), avp.byteArrayValue(), avp.getVendorId(), avp.getMandatoryRule() == 1, avp.getProtectedRule() == 1);
}
}
use of org.jdiameter.api.AvpSet in project jain-slee.diameter by RestComm.
the class RoMessageFactoryImpl method createMessage.
public Message createMessage(DiameterHeader header, DiameterAvp[] avps) throws AvpNotAllowedException {
Message msg = createRawMessage(header);
AvpSet set = msg.getAvps();
for (DiameterAvp avp : avps) {
addAvp(avp, set);
}
return msg;
}
Aggregations