/** * <p>addGraphResultSet</p> * * @param resultSet a {@link org.opennms.web.svclayer.model.GraphResults.GraphResultSet} object. */ public void addGraphResultSet(GraphResultSet resultSet) { resultSet.setIndex(m_resourceIndex++); m_graphResultSets.add(resultSet); String resourceType = resultSet.getResource().getResourceType().getLabel(); if (!m_resourceTypes.contains(resourceType)) { m_resourceTypes.add(resourceType); } if (!m_graphResultMap.containsKey(resourceType)) { m_graphResultMap.put(resourceType, new LinkedList<GraphResultSet>()); } m_graphResultMap.get(resourceType).add(resultSet); }
/** {@inheritDoc} */ @Override public void visit(OnmsResource resource) { if (m_resourceTypeMatch.equals(resource.getResourceType().getName())) { m_delegatedVisitor.visit(resource); } }
/** * <p>getChildResource</p> * * @param parentResource a {@link org.opennms.netmgt.model.OnmsResource} object. * @param resourceType a {@link java.lang.String} object. * @param resource a {@link java.lang.String} object. * @return a {@link org.opennms.netmgt.model.OnmsResource} object. */ protected OnmsResource getChildResource(OnmsResource parentResource, String resourceType, String resource) { final OnmsResourceType targetType = m_resourceTypes.get(resourceType); if (targetType == null) { throw new ObjectRetrievalFailureException(OnmsResource.class, resourceType + "/" + resource, "Unsupported resource type: " + resourceType, null); } final OnmsResource childResource = targetType.getChildByName(parentResource, resource); if (childResource != null) { LOG.debug("getChildResource: returning resource {}", childResource); return childResource; } throw new ObjectRetrievalFailureException(OnmsResource.class, resourceType + "/" + resource, "Could not find child resource '" + resource + "' with resource type '" + resourceType + "' on resource '" + resource + "'", null); }
/** * Used to determine whether or not the given (parent) resource * has any child resources. */ protected boolean hasAnyChildResources(OnmsResource resource) { // The order of the resource types matter here since we want to // check for the types are most likely occur first. return getResourceTypes().stream() .anyMatch(t -> t.isResourceTypeOnParent(resource)); }
/** {@inheritDoc} */ @Override @Transactional(readOnly=true) public List<OnmsResource> findTopLevelResources() { // Retrieve all top-level resources by passing null as the parent final List<OnmsResource> resources = m_resourceTypes.values().stream() .distinct() .map(type -> type.getResourcesForParent(null)) .flatMap(List::stream) .filter(this::hasAnyChildResources) .collect(Collectors.toList()); return resources; }
/** * <p>getLink</p> * * @return a {@link java.lang.String} object. */ public String getLink() { if (m_link != null) { return m_link; } else { return m_resourceType.getLinkForResource(this); } }
private Collection<OnmsResourceType> getAvailableResourceTypes() { return m_resourceDao.getResourceTypes().stream() .filter(t -> t.isResourceTypeOnParent(m_parent)) .collect(Collectors.toList()); } }
@Override public List<OnmsResource> load() { Preconditions.checkNotNull(m_parent, "parent attribute"); // Gather the lists of children from all the available resource types and merge them // into a single list List<OnmsResource> children = getAvailableResourceTypes().stream() .map(t -> t.getResourcesForParent(m_parent)) .flatMap(List::stream) .collect(Collectors.toList()); // Set the parent field on all of the resources children.stream().forEach(c -> c.setParent(m_parent)); return children; }
public String getResourceParentLabel() { Assert.notNull(m_resource, "the resource must be set before calling this method"); final StringBuilder buffer = new StringBuilder(); OnmsResource parent = m_resource.getParent(); while (parent != null) { if (buffer.length() > 0) { buffer.append("<br/>"); } buffer.append(parent.getResourceType().getLabel()); buffer.append(": "); buffer.append(parent.getLabel()); parent = parent.getParent(); } return buffer.toString(); }
String newResourceTypeItemId = "node[" + itemToExpandId + "]." + resourceTypeMapEntry.getKey().getName(); newResourceTypeItem.getItemProperty("label").setValue(resourceTypeMapEntry.getKey().getLabel()); newResourceTypeItem.getItemProperty("type").setValue("resourceType"); newResourceTypeItem.getItemProperty("nodeId").setValue(itemToExpandId); newResourceTypeItem.getItemProperty("nodeLabel").setValue(itemToExpand.getItemProperty("label").getValue()); newResourceTypeItem.getItemProperty("resourceTypeId").setValue(newResourceTypeItemId); newResourceTypeItem.getItemProperty("resourceTypeLabel").setValue(resourceTypeMapEntry.getKey().getLabel());
private void initResourceTypes() { final Map<String, OnmsResourceType> resourceTypes = Maps.newLinkedHashMap(); OnmsResourceType resourceType; resourceType = new NodeSnmpResourceType(m_resourceStorageDao); resourceTypes.put(resourceType.getName(), resourceType); InterfaceSnmpResourceType intfResourceType = new InterfaceSnmpResourceType(m_resourceStorageDao); resourceTypes.put(intfResourceType.getName(), intfResourceType); resourceType = new InterfaceSnmpByIfIndexResourceType(intfResourceType); resourceTypes.put(resourceType.getName(), resourceType); resourceType = new ResponseTimeResourceType(m_resourceStorageDao, m_ipInterfaceDao); resourceTypes.put(resourceType.getName(), resourceType); resourceType = new DistributedStatusResourceType(m_resourceStorageDao, m_locationMonitorDao); resourceTypes.put(resourceType.getName(), resourceType); resourceTypes.putAll(GenericIndexResourceType.createTypes(m_resourceTypesDao.getResourceTypes(), m_resourceStorageDao)); m_nodeResourceType = new NodeResourceType(this, m_nodeDao); resourceTypes.put(m_nodeResourceType.getName(), m_nodeResourceType); // Add 'nodeSource' as an alias to for the 'node' resource type to preserve backwards compatibility // See NMS-8404 for details resourceTypes.put("nodeSource", m_nodeResourceType); if (isDomainResourceTypeUsed()) { LOG.debug("One or more packages are configured with storeByIfAlias=true. Enabling the domain resource type."); resourceType = new DomainResourceType(this, m_resourceStorageDao); resourceTypes.put(resourceType.getName(), resourceType); } else { LOG.debug("No packages are configured with storeByIfAlias=true. Excluding the domain resource type."); } m_resourceTypes = resourceTypes; m_lastUpdatedResourceTypesConfig = m_resourceTypesDao.getLastUpdate(); }
public String getResourceParentLabel() { Assert.notNull(m_resource, "the resource must be set before calling this method"); final StringBuilder buffer = new StringBuilder(); OnmsResource parent = m_resource.getParent(); while (parent != null) { if (buffer.length() > 0) { buffer.append("<br/>"); } buffer.append(parent.getResourceType().getLabel()); buffer.append(": "); buffer.append(parent.getLabel()); parent = parent.getParent(); } return buffer.toString(); }
String newResourceTypeItemId = "node[" + itemToExpandId + "]." + resourceTypeMapEntry.getKey().getName(); newResourceTypeItem.getItemProperty("label").setValue(resourceTypeMapEntry.getKey().getLabel()); newResourceTypeItem.getItemProperty("type").setValue("resourceType"); newResourceTypeItem.getItemProperty("nodeId").setValue(itemToExpandId); newResourceTypeItem.getItemProperty("nodeLabel").setValue(itemToExpand.getItemProperty("label").getValue()); newResourceTypeItem.getItemProperty("resourceTypeId").setValue(newResourceTypeItemId); newResourceTypeItem.getItemProperty("resourceTypeLabel").setValue(resourceTypeMapEntry.getKey().getLabel());
if (resourceTypeMatches.length > 0) { for (String resourceTypeMatch : resourceTypeMatches) { if (resourceTypeMatch.equals(childResource.getResourceType().getName())) { addGraph = true; break;
/** * <p>addGraphResultSet</p> * * @param resultSet a {@link org.opennms.web.svclayer.model.GraphResults.GraphResultSet} object. */ public void addGraphResultSet(GraphResultSet resultSet) { resultSet.setIndex(m_resourceIndex++); m_graphResultSets.add(resultSet); String resourceType = resultSet.getResource().getResourceType().getLabel(); if (!m_resourceTypes.contains(resourceType)) { m_resourceTypes.add(resourceType); } if (!m_graphResultMap.containsKey(resourceType)) { m_graphResultMap.put(resourceType, new LinkedList<GraphResultSet>()); } m_graphResultMap.get(resourceType).add(resultSet); }
if (resourceTypeMatches.length > 0) { for (String resourceTypeMatch : resourceTypeMatches) { if (resourceTypeMatch.equals(childResource.getResourceType().getName())) { addGraph = true; break;
/** * <p>toString</p> * * @return a {@link java.lang.String} object. */ @Override public String toString() { return this.getResourceType().getLabel() + ": " + this.getLabel(); } }
String resourceType = resource.getResourceType().getName();