public static byte[] getAvpAsRaw(int avpCode, AvpSet set) { try { Avp avp = set.getAvp(avpCode); return avp != null ? avp.getRaw() : null; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " as type Raw.", e); } return null; } }
public static byte[] getAvpAsRaw(int avpCode, long vendorId, AvpSet set) { try { Avp avp = set.getAvp(avpCode, vendorId); return avp != null ? avp.getRaw() : null; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Raw.", e); } return null; } }
public static byte[] getAvpAsRaw(int avpCode, long vendorId, AvpSet set) { try { Avp avp = set.getAvp(avpCode, vendorId); return avp != null ? avp.getRaw() : null; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Raw.", e); } return null; } }
public static byte[] getAvpAsRaw(int avpCode, AvpSet set) { try { Avp avp = set.getAvp(avpCode); return avp != null ? avp.getRaw() : null; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " as type Raw.", e); } return null; } }
public static byte[][] getAvpsAsRaw(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.getRaw(); } return values; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Raw.", e); } return new byte[0][]; } }
public static byte[][] getAvpsAsRaw(int avpCode, AvpSet set) { try { AvpSet avpSet = set.getAvps(avpCode); byte[][] values = new byte[avpSet.size()][]; int i = 0; for(Avp avp : avpSet) { values[i++] = avp.getRaw(); } return values; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " as type Raw.", e); } return new byte[0][]; } }
public static byte[][] getAvpsAsRaw(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.getRaw(); } return values; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " and Vendor-Id " + vendorId + " as type Raw.", e); } return new byte[0][]; } }
public static byte[][] getAvpsAsRaw(int avpCode, AvpSet set) { try { AvpSet avpSet = set.getAvps(avpCode); byte[][] values = new byte[avpSet.size()][]; int i = 0; for(Avp avp : avpSet) { values[i++] = avp.getRaw(); } return values; } catch (AvpDataException e) { if(logger.isDebugEnabled()) { logger.debug("Failed to obtain AVP with code " + avpCode + " as type Raw.", e); } return new byte[0][]; } }
AvpImpl(Avp avp) { avpCode = avp.getCode(); vendorID = avp.getVendorId(); isMandatory = avp.isMandatory(); isEncrypted = avp.isEncrypted(); isVendorSpecific = avp.isVendorId(); try { rawData = avp.getRaw(); if (rawData == null || rawData.length == 0) { groupedData = avp.getGrouped(); } } catch (AvpDataException e) { logger.debug("Can not create Avp", e); } }
private DiameterAvp[] getAvpsInternal(AvpSet set) throws Exception { List<DiameterAvp> avps = new ArrayList<DiameterAvp>(); for (Avp a : set) { AvpRepresentation avpRep = AvpDictionary.INSTANCE.getAvp(a.getCode(), a.getVendorId()); if (avpRep == null) { //log.error("Avp with code: " + a.getCode() + " VendorId: " + a.getVendorId() + " is not listed in dictionary, skipping!"); continue; } else { if (avpRep.getType().equals("Grouped")) { // TODO: There's no info about if AVP has mandatory or protected flags set... GroupedAvpImpl gAVP = new GroupedAvpImpl(a.getCode(), a.getVendorId(), avpRep.getRuleMandatoryAsInt(), avpRep.getRuleProtectedAsInt(), a.getRaw()); gAVP.setExtensionAvps(getAvpsInternal(a.getGrouped())); // This is a grouped AVP... let's make it like that. avps.add(gAVP); } else { // TODO: There's no info about if AVP has mandatory or protected flags set... avps.add(new DiameterAvpImpl(a.getCode(), a.getVendorId(), avpRep.getRuleMandatoryAsInt(), avpRep.getRuleProtectedAsInt(), a.getRaw(), DiameterAvpType.fromString(avpRep.getType()))); } } } return avps.toArray(new DiameterAvp[avps.size()]); }
private DiameterAvp[] getAvpsInternal(AvpSet set) throws Exception { List<DiameterAvp> avps = new ArrayList<DiameterAvp>(); for (Avp a : set) { AvpRepresentation avpRep = AvpDictionary.INSTANCE.getAvp(a.getCode(), a.getVendorId()); if (avpRep == null) { //log.error("Avp with code: " + a.getCode() + " VendorId: " + a.getVendorId() + " is not listed in dictionary, skipping!"); continue; } else { if (avpRep.getType().equals("Grouped")) { // TODO: There's no info about if AVP has mandatory or protected flags set... GroupedAvpImpl gAVP = new GroupedAvpImpl(a.getCode(), a.getVendorId(), avpRep.getRuleMandatoryAsInt(), avpRep.getRuleProtectedAsInt(), a.getRaw()); gAVP.setExtensionAvps(getAvpsInternal(a.getGrouped())); // This is a grouped AVP... let's make it like that. avps.add(gAVP); } else { // TODO: There's no info about if AVP has mandatory or protected flags set... avps.add(new DiameterAvpImpl(a.getCode(), a.getVendorId(), avpRep.getRuleMandatoryAsInt(), avpRep.getRuleProtectedAsInt(), a.getRaw(), DiameterAvpType.fromString(avpRep.getType()))); } } } return avps.toArray(new DiameterAvp[avps.size()]); }
a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw()); avps.add(new DiameterAvpImpl(a.getCode(), a.getVendorId(), a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw(), DiameterAvpType.fromString(avpRep.getType()))); a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw()); avps.add(new DiameterAvpImpl(a.getCode(), a.getVendorId(), a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw(), null));
a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw()); avps.add(new DiameterAvpImpl(a.getCode(), a.getVendorId(), a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw(), DiameterAvpType.fromString(avpRep.getType()))); a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw()); avps.add(new DiameterAvpImpl(a.getCode(), a.getVendorId(), a.isMandatory() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.isEncrypted() ? DiameterAvp.FLAG_RULE_MUST : DiameterAvp.FLAG_RULE_MUSTNOT, a.getRaw(), null));
private void setUndefinedAvp(AvpSet set, Object rc, ClassInfo c, Map<String, Class<?>> cmargs) throws RecoderException { try { for (MethodInfo mi : c.getMethodsInfo()) { Setter s = mi.getAnnotation(Setter.class); if (s != null && Setter.Type.UNDEFINED.equals(s.value())) { Map<Integer, Integer> known = new HashMap<Integer, Integer>(); for (Class<?> argc : cmargs.values()) { AvpDscr argd = storage.getClassInfo((argc.isArray() ? argc.getComponentType() : argc)).getAnnotation(AvpDscr.class); known.put(argd.code(), argd.code()); } for (Avp a : set) { if (!known.containsKey(a.getCode())) { mi.getMethod().invoke(rc, new UnknownAvp(a.getCode(), a.isMandatory(), a.isVendorId(), a.isEncrypted(), a.getVendorId(), a.getRaw())); } } break; } } } catch (IllegalAccessException e) { throw new RecoderException(e); } catch (InvocationTargetException e) { throw new RecoderException(e); } catch (AvpDataException e) { throw new RecoderException(e); } }