private void doVisit(Groups groups, DataCollectionVisitor visitor) { for (Iterator<Group> it = groups.getGroups().iterator(); it.hasNext();) { Group group = it.next(); doVisit(group, visitor); } }
@Override public List<String> getAvailableMibGroups() { List<String> groups = new ArrayList<>(); for (final SnmpCollection collection : getContainer().getObject().getSnmpCollections()) { if (collection.getGroups() != null) { for (final Group group : collection.getGroups().getGroups()) { groups.add(group.getName()); } } } return groups; }
private void validateResourceTypes(final Collection<SnmpCollection> snmpCollections, final Set<String> allowedResourceTypes) { final String configuredString; if (allowedResourceTypes.size() == 0) { configuredString = "(none)"; } else { configuredString = StringUtils.join(allowedResourceTypes, ", "); } final String allowableValues = "any positive number, 'ifIndex', or any of the configured resourceTypes: " + configuredString; for (final SnmpCollection collection : snmpCollections) { final Groups groups = collection.getGroups(); if (groups != null) { for (final Group group : groups.getGroups()) { for (final MibObj mibObj : group.getMibObjs()) { final String instance = mibObj.getInstance(); if (instance == null) continue; if (MibObject.INSTANCE_IFINDEX.equals(instance)) continue; if (allowedResourceTypes.contains(instance)) continue; try { // Check to see if the value is a non-negative integer if (Integer.parseInt(instance.trim()) >= 0) { continue; } } catch (NumberFormatException e) {} // XXX this should be a better exception throw new IllegalArgumentException("instance '" + instance + "' invalid in mibObj definition for OID '" + mibObj.getOid() + "' in collection '" + collection.getName() + "' for group '" + group.getName() + "'. Allowable instance values: " + allowableValues); } } } } }
for (final Group group : groups.getGroups()) { groupMap.put(group.getName(), group);
/** * Gets the parent groups. * <p>The list of groups per SNMP collection that are referencing a given resourceTypeName</p> * * @param dataCollectionConfigDao the data collection configuration DAO * @param resourceTypeName the resource type name * @return the parent groups. */ private Set<String> getParentGroups(final DataCollectionConfigDao dataCollectionConfigDao, String resourceTypeName) { Set<String> groupMap = new TreeSet<>(); for (final SnmpCollection collection : dataCollectionConfigDao.getRootDataCollection().getSnmpCollections()) { for (final Group group : collection.getGroups().getGroups()) { for (final MibObj mibObj : group.getMibObjs()) { if (mibObj.getInstance().equals(resourceTypeName)) { groupMap.add(group.getName() + '@' + collection.getName()); } } } } return groupMap; }
/** * Gets the parent groups. * <p>The list of groups per SNMP collection that are referencing a given resourceTypeName</p> * * @param dataCollectionConfigDao the data collection configuration DAO * @param resourceTypeName the resource type name * @return the parent groups. */ private Set<String> getParentGroups(final DataCollectionConfigDao dataCollectionConfigDao, String resourceTypeName) { Set<String> groupMap = new TreeSet<>(); for (final SnmpCollection collection : dataCollectionConfigDao.getRootDataCollection().getSnmpCollections()) { for (final Group group : collection.getGroups().getGroups()) { for (final MibObj mibObj : group.getMibObjs()) { if (mibObj.getInstance().equals(resourceTypeName)) { groupMap.add(group.getName() + '@' + collection.getName()); } } } } return groupMap; }
public void visit(final DatacollectionConfigVisitor visitor) { visitor.visitSnmpCollection(this); if (m_includeCollections != null) { for (final IncludeCollection collection : m_includeCollections) { collection.visit(visitor); } } if (m_groups != null && m_groups.getGroups() != null) { for (final Group group : m_groups.getGroups()) { group.visit(visitor); } } if (m_systems != null && m_systems.getSystemDefs() != null) { for (final SystemDef def : m_systems.getSystemDefs()) { def.visit(visitor); } } if (m_resourceTypes != null) { for (final ResourceType type : m_resourceTypes) { type.visit(visitor); } } visitor.visitSnmpCollectionComplete(); }
LOG.warn("addSystemDef: group {} does not exist on any data collection group", groupName); } else { if (contains(collection.getGroups().getGroups(), group)) { LOG.debug("addSystemDef: group {} already exist on SNMP collection {}", groupName, collection.getName()); } else {