protected void fillIPAddressTable(IMessage message) { AvpSet avps = message.getAvps().getAvps(HOST_IP_ADDRESS); if (avps != null) { ArrayList<InetAddress> t = new ArrayList<InetAddress>(); for (int i = 0; i < avps.size(); i++) { try { t.add(avps.getAvpByIndex(i).getAddress()); } catch (AvpDataException e) { logger.warn("Unable to retrieve IP Address from Host-IP-Address AVP"); } } addresses = t.toArray(new InetAddress[t.size()]); } }
/** * @param ap * @param innerSet */ private void validateGrouped(AvpRepresentation ap, AvpSet innerSet) { // we have set of grouped avps, and ap is grouped, lets validate // NOTE this methods can be called multiple time, until we dont have for (int index = 0; index < innerSet.size(); index++) { Avp presumablyGrouped = innerSet.getAvpByIndex(index); ap.validate(presumablyGrouped); // AvpSet groupedPart = null; // try { // groupedPart = presumablyGrouped.getGrouped(); // } // catch (AvpDataException e) { // logger.debug("Failed to get grouped AVP.", e); // } // // if (groupedPart == null) { // logger.error("Avp should be grouped, but its not: " + ap); // // continue; // } // else { // validateGroupedChildren(ap, groupedPart); // } } }
Object[] array = (Object[]) java.lang.reflect.Array.newInstance(arrayClass, as.size()); for (int ii = 0; ii < array.length; ii++) { array[ii] = newInstanceGroupedAvp(arrayClass, ad, as.getAvpByIndex(ii)); Object[] array = (Object[]) java.lang.reflect.Array.newInstance(arrayClass, as.size()); for (int ii = 0; ii < array.length; ii++) { array[ii] = newInstanceSimpleAvp(arrayClass, ad, as.getAvpByIndex(ii));
case Avp.DESTINATION_REALM: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0;
case Avp.DESTINATION_REALM: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0;
case Avp.DESTINATION_REALM: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0;
case Avp.DESTINATION_REALM: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0;
case Avp.DESTINATION_REALM: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0;
case Avp.DESTINATION_REALM: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0;
@Override public void validate(AvpSet avpSet) throws AvpNotAllowedException { //this is used in RAs, cause ... AvpSet is asexual AVP, no code, no vendor // let it rip for (AvpRepresentation childrenVAvp : getChildren()) { AvpSet childSset = avpSet.getAvps(childrenVAvp.getCode(), childrenVAvp.getVendorId()); int count = childSset.size(); if (!childrenVAvp.isCountValidForMultiplicity(count)) { throw new AvpNotAllowedException("AVP: " + childrenVAvp + " has wrong count, in grouped parent avp - " + (count) + ", allowed: " + childrenVAvp.getMultiplicityIndicator(), getCode(), getVendorId()); } if (childrenVAvp.isGrouped()) { for (int index = 0; index < childSset.size(); index++) { Avp presumablyGrouped = childSset.getAvpByIndex(index); childrenVAvp.validate(presumablyGrouped); } } // else we are good ? } }
if (avpCode == Avp.VENDOR_SPECIFIC_APPLICATION_ID) { Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0; case Avp.VENDOR_SPECIFIC_APPLICATION_ID: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0; set.insertAvp(index, avpCode, avp.byteArrayValue(), avp.getVendorId(), avp.getMandatoryRule() != DiameterAvp.FLAG_RULE_MUSTNOT, avp.getProtectedRule() == DiameterAvp.FLAG_RULE_MUST);
if (avpCode == Avp.VENDOR_SPECIFIC_APPLICATION_ID) { Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0; case Avp.VENDOR_SPECIFIC_APPLICATION_ID: Avp firstAvp = set.size() > 0 ? set.getAvpByIndex(0) : null; int index = (firstAvp != null && firstAvp.getCode() == Avp.SESSION_ID) ? 1 : 0; set.insertAvp(index, avpCode, avp.byteArrayValue(), avp.getVendorId(), avp.getMandatoryRule() != DiameterAvp.FLAG_RULE_MUSTNOT, avp.getProtectedRule() == DiameterAvp.FLAG_RULE_MUST);
if (message.getAvps().getAvpByIndex(0).getCode() != Avp.SESSION_ID && sessionId != null) {