@Override public void visitNode(final OnmsNodeRequisition nodeReq) { LOG.debug("Scheduling relate of node {}", nodeReq); currentPhase.add(parentSetter(m_provisionService, nodeReq, requisition.getForeignSource())); } };
@Override public void delete(final Requisition requisition) throws ForeignSourceRepositoryException { LOG.debug("Queueing delete of requistion {}", requisition.getForeignSource()); m_pendingRequisitions.put(requisition.getForeignSource(), new DeletedRequisition(requisition)); m_executor.execute(new QueuePersistRunnable()); }
@Override public void run() { getAccessor(requisition.getForeignSource()).addOrReplaceRequisition(requisition); } });
@Override public void run() { getAccessor(requisition.getForeignSource()).addOrReplaceRequisition(requisition); } });
@Override public void visitNode(final OnmsNodeRequisition nodeReq) { LOG.debug("Scheduling relate of node {}", nodeReq); currentPhase.add(parentSetter(m_provisionService, nodeReq, requisition.getForeignSource())); } };
public static File getOutputFileForRequisition(final String path, final Requisition requisition) { return getOutputFileForRequisition(path, requisition.getForeignSource()); }
public DeletedRequisition(final Requisition requisition) { m_requisition = requisition; setForeignSource(requisition.getForeignSource()); }
@Override public void save(final Requisition requisition) throws ForeignSourceRepositoryException { LOG.debug("Queueing save of requisition {} (containing {} nodes)", requisition.getForeignSource(), requisition.getNodeCount()); validate(requisition); m_pendingRequisitions.put(requisition.getForeignSource(), requisition); m_executor.execute(new QueuePersistRunnable()); }
@Override public void delete(final Requisition requisition) throws ForeignSourceRepositoryException { writeLock(); try { getRequisitionMap().remove(requisition.getForeignSource()); m_dirtyRequisitions.add(requisition.getForeignSource()); } finally { writeUnlock(); } }
private void updateNodeCache() { m_nodeReqs.clear(); if (m_nodes != null) { for (final RequisitionNode n : m_nodes) { m_nodeReqs.put(n.getForeignId(), new OnmsNodeRequisition(getForeignSource(), n)); } } }
@Override public void save(final Requisition requisition) throws ForeignSourceRepositoryException { writeLock(); try { validate(requisition); getRequisitionMap().put(requisition.getForeignSource(), requisition); m_dirtyRequisitions.add(requisition.getForeignSource()); } finally { writeUnlock(); } }
@Override public void delete(final Requisition requisition) throws ForeignSourceRepositoryException { m_requisitions.remove(requisition.getForeignSource()); }
@Override public void save(final Requisition requisition) { Assert.notNull(requisition); Assert.notNull(requisition.getForeignSource()); validate(requisition); m_requisitions.put(requisition.getForeignSource(), requisition); }
/** * <p>insertNode</p> * * @param node a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionNode} object. */ public void insertNode(final RequisitionNode node) { updateNodeCacheIfNecessary(); if (m_nodeReqs.containsKey(node.getForeignId())) { final RequisitionNode n = m_nodeReqs.get(node.getForeignId()).getNode(); m_nodes.remove(n); } m_nodes.add(0, node); m_nodeReqs.put(node.getForeignId(), new OnmsNodeRequisition(getForeignSource(), node)); }
/** * <p>putNode</p> * * @param node a {@link org.opennms.netmgt.provision.persist.requisition.RequisitionNode} object. */ public void putNode(final RequisitionNode node) { updateNodeCacheIfNecessary(); if (m_nodeReqs.containsKey(node.getForeignId())) { final RequisitionNode n = m_nodeReqs.get(node.getForeignId()).getNode(); m_nodes.remove(n); } m_nodes.add(node); m_nodeReqs.put(node.getForeignId(), new OnmsNodeRequisition(getForeignSource(), node)); }
/** {@inheritDoc} */ @Override public synchronized Requisition importResourceRequisition(final Resource resource) throws ForeignSourceRepositoryException { final Requisition requisition = m_deployedForeignSourceRepository.importResourceRequisition(resource); final String foreignSource = requisition.getForeignSource(); cleanUpDeployedForeignSources(foreignSource); cleanUpSnapshots(requisition); return requisition; }
protected void assertRequisitionsMatch(final String msg, final Requisition a, final Requisition b) { assertEquals(msg, a.getForeignSource(), b.getForeignSource()); assertEquals(msg, a.getNodes(), b.getNodes()); } }
@Test public void simpleSnapshotTest() throws URISyntaxException { Requisition pendingReq = new Requisition("test"); pendingReq.putNode(createNode("1")); m_pending.save(pendingReq); m_pending.flush(); pendingReq = m_pending.getRequisition(pendingReq.getForeignSource()); final File pendingSnapshot = RequisitionFileUtils.createSnapshot(m_pending, pendingReq.getForeignSource(), pendingReq.getDate()); m_repository.importResourceRequisition(new FileSystemResource(pendingSnapshot)); assertFalse(pendingSnapshot.exists()); final URL pendingUrl = m_pending.getRequisitionURL(pendingReq.getForeignSource()); final File pendingFile = new File(pendingUrl.toURI()); assertFalse(pendingFile.exists()); }
@Activity( lifecycle = "import", phase = "audit", schedulingHint="import" ) public ImportOperationsManager auditNodes(final RequisitionImport ri, final String rescanExisting) { if (ri.isAborted()) { info("The import has been aborted, skipping audit phase import."); return null; } final Requisition specFile = ri.getRequisition(); info("Auditing nodes for requisition {}. The parameter {} was set to {} during import.", specFile, EventConstants.PARM_IMPORT_RESCAN_EXISTING, rescanExisting); final String foreignSource = specFile.getForeignSource(); final Map<String, Integer> foreignIdsToNodes = m_provisionService.getForeignIdToNodeIdMap(foreignSource); final ImportOperationsManager opsMgr = new ImportOperationsManager(foreignIdsToNodes, m_provisionService, rescanExisting); opsMgr.setForeignSource(foreignSource); opsMgr.auditNodes(specFile); debug("Finished auditing nodes."); return opsMgr; }
@Test public void testGetRequisition() throws Exception { FileSystemBuilder bldr = new FileSystemBuilder("target", "testGetForeignSource"); File fsDir = bldr.dir("foreignSource").file("test.xml", fs("test")).file("noreq.xml", fs("noreq")).pop(); File reqDir = bldr.dir("requisitions").file("test.xml", req("test")).file("pending.xml", req("pending")).pop(); FasterFilesystemForeignSourceRepository repo = repo(fsDir, reqDir); Requisition testReq = repo.getRequisition("test"); assertEquals("test", testReq.getForeignSource()); RequisitionNode node = testReq.getNode("1234"); assertNotNull(node); assertEquals("node1", node.getNodeLabel()); }