@JsonCreator private static SnapshotId jsonCreator(@Nullable String id) { checkArgument(!isNullOrEmpty(id), "Id must be provided"); return new SnapshotId(id); } }
public void setDeltaTestrig(SnapshotId testrig) { _config.setProperty(BfConsts.ARG_DELTA_TESTRIG, testrig != null ? testrig.getId() : null); }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } else if (!(obj instanceof TestrigSettings)) { return false; } TestrigSettings other = (TestrigSettings) obj; return _name.equals(other._name); }
@Override public @Nonnull SnapshotId generateSnapshotId() { return new SnapshotId(uuid()); } }
public @Nonnull Path getSnapshotDir(NetworkId network, SnapshotId snapshot) { return getNetworkDir(network).resolve(BfConsts.RELPATH_SNAPSHOTS_DIR).resolve(snapshot.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); }
public SnapshotId getDeltaTestrig() { String name = _config.getString(BfConsts.ARG_DELTA_TESTRIG); return name != null ? new SnapshotId(name) : null; }
@Override public void assignSnapshot(String snapshot, NetworkId networkId, SnapshotId snapshotId) { Path idFile = getSnapshotIdPath(snapshot, networkId); idFile.getParent().toFile().mkdirs(); CommonUtil.writeFile(idFile, snapshotId.getId()); }
public SnapshotId getTestrig() { String name = _config.getString(BfConsts.ARG_TESTRIG); return name != null ? new SnapshotId(name) : null; }
/** The name of the [optional] topology file within a test-rig */ public static void applyBaseDir(TestrigSettings settings, Path containerDir, SnapshotId testrig) { Path testrigDir = containerDir.resolve(Paths.get(BfConsts.RELPATH_SNAPSHOTS_DIR, testrig.getId())); settings.setName(testrig); settings.setBasePath(testrigDir); }
@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 SnapshotId getSnapshotId(String snapshot, NetworkId networkId) { if (!hasSnapshotId(snapshot, networkId)) { throw new IllegalArgumentException( String.format("No ID assigned to non-existent snapshot '%s'", snapshot)); } return new SnapshotId(CommonUtil.readFile(getSnapshotIdPath(snapshot, networkId))); }
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); } }
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); }
params.put(BfConsts.ARG_TESTRIG, snapshotId.getId()); params.put(BfConsts.ARG_SNAPSHOT_NAME, snapshot); if (referenceSnapshot != null) { SnapshotId referenceSnapshotId = idManager.getSnapshotId(referenceSnapshot, networkId); params.put(BfConsts.ARG_DELTA_TESTRIG, referenceSnapshotId.getId()); return new WorkItem(workItem.getId(), networkId.getId(), snapshotId.getId(), params);
public WorkMgrServiceTest() { _networkName = "myNetwork"; _networkId = new NetworkId(_networkName + "_id"); _snapshotName = "mySnapshot"; _snapshotId = new SnapshotId(_snapshotName + "_id"); }
networkDir.resolve(Paths.get(BfConsts.RELPATH_SNAPSHOTS_DIR, baseSnapshotId.getId()));
@Override public @Nonnull SnapshotId generateSnapshotId() { return new SnapshotId(uuid()); }
private WorkDetails resolveIds(NetworkId networkId, WorkDetails workDetails) { IdManager idm = Main.getWorkMgr().getIdManager(); SnapshotId snapshot = idm.getSnapshotId(workDetails.baseTestrig, networkId); String referenceSnapshot = null; if (workDetails.deltaTestrig != null) { SnapshotId referenceSnapshotId = idm.getSnapshotId(workDetails.deltaTestrig, networkId); referenceSnapshot = referenceSnapshotId.getId(); } return new WorkDetails( snapshot.getId(), referenceSnapshot, workDetails.isDifferential, workDetails.workType); } }