public NetworkId getContainer() { String id = _config.getString(BfConsts.ARG_CONTAINER); return id != null ? new NetworkId(id) : null; }
public @Nonnull Path getNetworkDir(NetworkId network) { return _baseDir.resolve(network.getId()); }
@Override public boolean equals(Object o) { if (o == this) { return true; } else if (!(o instanceof NetworkSnapshot)) { return false; } NetworkSnapshot other = (NetworkSnapshot) o; return _network.equals(other._network) && _snapshot.equals(other._snapshot); }
@Override public @Nonnull NetworkId generateNetworkId() { return new NetworkId(uuid()); }
@Override public void assignNetwork(String network, NetworkId networkId) { Path idFile = getNetworkIdPath(network); idFile.getParent().toFile().mkdirs(); CommonUtil.writeFile(idFile, networkId.getId()); }
@VisibleForTesting static InitializationMetadata getInitializationMetadata(String network, String snapshot) throws IOException { // already resolved return SnapshotMetadataMgr.getInitializationMetadata( new NetworkId(network), new SnapshotId(snapshot)); } }
/** * Get all completed work for the specified network and snapshot. * * @param network {@link NetworkId} to get completed work for. * @param snapshot {@link SnapshotId} to get completed work for. * @return {@link List} of completed {@link QueuedWork}. */ public synchronized List<QueuedWork> getCompletedWork(NetworkId network, SnapshotId snapshot) { ImmutableList.Builder<QueuedWork> b = ImmutableList.builder(); for (QueuedWork work : _queueCompletedWork) { if (work.getWorkItem().getContainerName().equals(network.getId()) && work.getWorkItem().getTestrigName().equals(snapshot.getId())) { b.add(work); } } return b.build(); }
@Override public @Nonnull NetworkId getNetworkId(String network) { if (!hasNetworkId(network)) { throw new IllegalArgumentException( String.format("No ID assigned to non-existent network %s", network)); } return new NetworkId(CommonUtil.readFile(getNetworkIdPath(network))); }
/** Gets the {@link ReferenceLibrary} for the network */ @Override public ReferenceLibrary getReferenceLibraryData() { Path libraryPath = _settings .getStorageBase() .resolve(_settings.getContainer().getId()) .resolve(BfConsts.RELPATH_REFERENCE_LIBRARY_PATH); try { return ReferenceLibrary.read(libraryPath); } catch (IOException e) { _logger.errorf("Could not read reference library data from %s: %s", libraryPath, e); return null; } }
private static void updateInitializationStatus( String network, String snapshot, ProcessingStatus status, String errMessage) throws IOException { // already resolved SnapshotMetadataMgr.updateInitializationStatus( new NetworkId(network), new SnapshotId(snapshot), status, errMessage); }
private void writeJsonAnswerWithLog(@Nullable String logString, String structuredAnswerString) { // Write log of WorkItem task to the configured path for logs if (logString != null && _settings.getTaskId() != null) { Path jsonPath = _settings .getStorageBase() .resolve(_settings.getContainer().getId()) .resolve(BfConsts.RELPATH_SNAPSHOTS_DIR) .resolve(_settings.getTestrig().getId()) .resolve(BfConsts.RELPATH_OUTPUT) .resolve(_settings.getTaskId() + BfConsts.SUFFIX_ANSWER_JSON_FILE); CommonUtil.writeFile(jsonPath, logString); } // Write answer.json and answer-pretty.json if WorkItem was answering a question if (_settings.getQuestionName() != null) { writeJsonAnswer(structuredAnswerString); } }
public WorkMgrServiceTest() { _networkName = "myNetwork"; _networkId = new NetworkId(_networkName + "_id"); _snapshotName = "mySnapshot"; _snapshotId = new SnapshotId(_snapshotName + "_id"); }
@Override public @Nonnull NetworkId generateNetworkId() { return new NetworkId(uuid()); }
Main.getWorkMgr().getNetworkNames().stream() .filter( n -> Main.getWorkMgr().getIdManager().getNetworkId(n).getId().equals(networkId)) .findFirst(); checkArgument(networkOpt.isPresent(), "Invalid network ID: %s", networkId);
public NetworkSnapshot networkSnapshot() { return new NetworkSnapshot( new NetworkId(UUID.randomUUID().toString()), new SnapshotId(UUID.randomUUID().toString())); }
public static void initTestrigSettings(Settings settings) { SnapshotId testrig = settings.getTestrig(); Path containerDir = settings.getStorageBase().resolve(settings.getContainer().getId()); if (testrig != null) { applyBaseDir(settings.getBaseTestrigSettings(), containerDir, testrig); SnapshotId deltaTestrig = settings.getDeltaTestrig(); TestrigSettings deltaTestrigSettings = settings.getDeltaTestrigSettings(); if (deltaTestrig != null) { applyBaseDir(deltaTestrigSettings, containerDir, deltaTestrig); } if (settings.getDiffActive()) { settings.setActiveTestrigSettings(settings.getDeltaTestrigSettings()); } else { settings.setActiveTestrigSettings(settings.getBaseTestrigSettings()); } } else { throw new CleanBatfishException("Must supply argument to -" + BfConsts.ARG_TESTRIG); } }
@Override public NetworkSnapshot getNetworkSnapshot() { return new NetworkSnapshot(new NetworkId("a"), new SnapshotId("b")); } })
@Test public void listIncompleteWorkForSpecificStatus() throws Exception { initSnapshotMetadata("testrig", ProcessingStatus.UNINITIALIZED); QueuedWork work1 = resolvedQueuedWork( new WorkItem(NETWORK, "testrig"), new WorkDetails("testrig", WorkType.PARSING)); QueuedWork work2 = resolvedQueuedWork( new WorkItem(NETWORK, "testrig"), new WorkDetails("testrig", WorkType.UNKNOWN)); _workQueueMgr.queueUnassignedWork(work1); _workQueueMgr.queueUnassignedWork(work2); List<QueuedWork> parsingWorks = _workQueueMgr.listIncompleteWork(_networkId.getId(), null, WorkType.PARSING); assertThat(parsingWorks, equalTo(Collections.singletonList(work1))); }
@Override public NetworkSnapshot getNetworkSnapshot() { return new NetworkSnapshot(new NetworkId("a"), new SnapshotId("b")); } })