/** * Instantiates a new TCA collection set. * * @param agent the agent * @param repository the repository */ public TcaCollectionHandler(SnmpCollectionAgent agent, RrdRepository repository, ResourceStorageDao resourceStorageDao, ResourceTypesDao resourceTypesDao, LocationAwareSnmpClient locationAwareSnmpClient) { m_agent = Objects.requireNonNull(agent); m_repository = Objects.requireNonNull(repository); m_resourceStorageDao = Objects.requireNonNull(resourceStorageDao); m_resourceType = Objects.requireNonNull(resourceTypesDao).getResourceTypeByName(RESOURCE_TYPE_NAME); if (m_resourceType == null) { throw new IllegalArgumentException("No resource of type juniperTcaEntry is defined."); } m_locationAwareSnmpClient = Objects.requireNonNull(locationAwareSnmpClient); }
@PostConstruct public void registerWithTypeMapper() { ResourceTypeMapper.getInstance().setResourceTypeMapper( (type) -> resourceTypesDao.getResourceTypeByName(type)); } }
public static ResourceTypeMapper createReseourceTypeMapper(ResourceTypesDao resourceTypesDao) { Objects.requireNonNull(resourceTypesDao); ResourceTypeMapper.getInstance().setResourceTypeMapper( (type) -> resourceTypesDao.getResourceTypeByName(type)); return ResourceTypeMapper.getInstance(); }
public static ResourceTypeMapper createReseourceTypeMapper(ResourceTypesDao resourceTypesDao) { Objects.requireNonNull(resourceTypesDao); ResourceTypeMapper.getInstance().setResourceTypeMapper( (type) -> resourceTypesDao.getResourceTypeByName(type)); return ResourceTypeMapper.getInstance(); }
protected Resource getResource(NodeLevelResource nodeLevelResource, String nodeTypeName, String resourceType, String instance) throws CollectionException { if (CollectionResource.RESOURCE_TYPE_NODE.equalsIgnoreCase(nodeTypeName)) { return nodeLevelResource; } final String effectiveResourceType; if ((resourceType == null) || (resourceType.length() == 0)) { effectiveResourceType = null; } else { effectiveResourceType = resourceType; } final String effectiveInstance; if (instance != null) { effectiveInstance = XmpCollector.sanitizeInstance(instance); } else { effectiveInstance = null; } if (effectiveResourceType != null) { final ResourceType resourceTypeDef = m_resourceTypesDao.getResourceTypeByName(effectiveResourceType); if (resourceType == null) { throw new CollectionException("No resource type found with name '" + effectiveResourceType + "'."); } return new GenericTypeResource(nodeLevelResource, resourceTypeDef, effectiveInstance); } else { return new InterfaceLevelResource(nodeLevelResource, effectiveInstance); } }