Interface ProvisionService

    • Method Detail

      • isDiscoveryEnabled

        boolean isDiscoveryEnabled()
      • clearCache

        void clearCache()
        Clear the Hibernate object cache. This is used to clear the object cache created by Hibernate. This is needed so large imports don't end up caching the entire database when it has no intention of using a node's data again. This is needed only to help memory performance.
      • createLocationIfNecessary

        @Transactional
        OnmsMonitoringLocation createLocationIfNecessary​(String locationId)
        Lookup a monitoring location in the database, creating it if necessary. This method looks up the OnmsMonitoringLocation object with the ID 'locationId' in the database and returns it. If there is no OnmsMonitoringLocation with that name then one is created using the name provided, saved in the database, and returned.
        Parameters:
        locationId - The ID of the OnmsMonitoringLocation that is needed
        Returns:
        a new OnmsMonitoringLocation that will be saved to the database when the transaction is committed.
      • updateNode

        @Transactional
        void updateNode​(OnmsNode node,
                        String rescanExisting,
                        String monitorKey)
        Update the database entry for the given node. The node supplied is used to update the database. Entries that have been change in the node are copied into the database. It is assumed that the node passed in has been previously loaded from the database and modified.
        Parameters:
        node - The node that has been updated and should be written to the database
        rescanExisting - true, if the node must be rescanned. false, if the node should not be rescanned (perform only add/delete operations on the DB) dbonly, if the node should not be rescanned (perform all DB operations)
      • updateNodeAttributes

        @Transactional
        OnmsNode updateNodeAttributes​(OnmsNode node)
      • getDbNodeInitCat

        @Transactional
        OnmsNode getDbNodeInitCat​(Integer nodeId)
      • getRequisitionedNode

        @Transactional
        OnmsNode getRequisitionedNode​(String foreignSource,
                                      String foreignId)
      • deleteNode

        @Transactional
        void deleteNode​(Integer nodeId)
        Delete the indicated node from the database.
      • deleteInterface

        @Transactional
        void deleteInterface​(Integer nodeId,
                             String ipAddr)
      • deleteService

        @Transactional
        void deleteService​(Integer nodeId,
                           InetAddress addr,
                           String service,
                           boolean ignoreUnmanaged)
        Delete the indicated service from the database. If the service is the last service on the interface, delete the interface as well. If the interface is the last interface on the node, delete the node as well.
        Parameters:
        nodeId - the node containing the service
        addr - the IP address containing the service
        service - the service to delete
        ignoreUnmanaged - if true, cascade delete the containing interface if only unmanaged services remain
      • insertNode

        @Transactional
        void insertNode​(OnmsNode node,
                        String monitorKey)
        Insert the provided node into the database
      • createServiceTypeIfNecessary

        @Transactional
        OnmsServiceType createServiceTypeIfNecessary​(String serviceName)
        Look up the OnmsServiceType with the given name, creating one if it doesn't exist.
        Parameters:
        serviceName - the name of the OnmsServiceType to look up
        Returns:
        a OnmsServiceType object with the given name, if none existed in the database then a new one will been created and saved in the database.
      • createCategoryIfNecessary

        @Transactional
        OnmsCategory createCategoryIfNecessary​(String name)
        Look up the OnmsCategory with the give name, creating one if none exists.
        Parameters:
        name - the name of the OnmsCategory to look up
        Returns:
        an OnmsCategory that represents the given name, if none existed in the database a new one will have been created.
      • getForeignIdToNodeIdMap

        @Transactional(readOnly=true)
        Map<String,​Integer> getForeignIdToNodeIdMap​(String foreignSource)
        Creates a map of foreignIds to nodeIds for all nodes that have the indicated foreignSorce.
      • setNodeParentAndDependencies

        @Transactional
        void setNodeParentAndDependencies​(String foreignSource,
                                          String foreignId,
                                          String parentForeignSource,
                                          String parentForeignId,
                                          String parentNodeLabel)
        Sets the parent of the node and adds the relationship to the path element for the node. The foreignId is used to reference the node and the parentForeignId and the parentNodeLabel are used to locate the parentNodeId
        Parameters:
        foreignSource - the foreignSource to use when looking for the nodeId and parentNodeId by foreignId.
        foreignId - the foreignId for the node being set
        parentForeignId - the foreignId of the parent node
        parentNodeLabel - if the parent node cannot be found using its foreignId then an attempt to locate it using the its nodeLabel is made
      • loadRequisition

        Requisition loadRequisition​(org.springframework.core.io.Resource resource)
      • getNodePoliciesForForeignSource

        List<NodePolicy> getNodePoliciesForForeignSource​(String foreignSourceName)
      • updateNodeScanStamp

        @Transactional
        void updateNodeScanStamp​(Integer nodeId,
                                 Date scanStamp)
      • deleteObsoleteInterfaces

        @Transactional
        void deleteObsoleteInterfaces​(Integer nodeId,
                                      Date scanStamp)
      • setSnmpProfileMapper

        void setSnmpProfileMapper​(SnmpProfileMapper snmpProfileMapper)
      • setTracer

        void setTracer​(io.opentracing.Tracer tracer)
      • buildAndStartSpan

        io.opentracing.Span buildAndStartSpan​(String name,
                                              io.opentracing.SpanContext spanContext)