@JsonCreator private static @Nonnull SnapshotMetadata create( @JsonProperty(PROP_CREATION_TIMESTAMP) @Nullable Instant creationTimestamp, @JsonProperty(PROP_INITIALIZATION_METADATA) @Nullable InitializationMetadata initializationMetadata, @JsonProperty(PROP_PARENT_SNAPSHOT_ID) @Nullable SnapshotId parentSnapshot) { return new SnapshotMetadata( requireNonNull(creationTimestamp), requireNonNull(initializationMetadata), parentSnapshot); }
public @Nonnull SnapshotMetadata updateStatus(ProcessingStatus status, String errMessage) { return new SnapshotMetadata( _creationTimestamp, _initializationMetadata.updateStatus(status, errMessage), _parentSnapshotId); } }
@Test public void serialization() { SnapshotMetadata metadata = new SnapshotMetadata(Instant.ofEpochMilli(758949005001L), new SnapshotId("blah")); JsonNode jsonNode = BatfishObjectMapper.mapper().valueToTree(metadata); assertThat(jsonNode.get(PROP_CREATION_TIMESTAMP).asText(), equalTo("1994-01-19T03:10:05.001Z")); assertThat(jsonNode.get(PROP_PARENT_SNAPSHOT_ID).asText(), equalTo("blah")); assertThat( jsonNode.get(PROP_INITIALIZATION_METADATA).get("currentStatus").asText(), equalTo(ProcessingStatus.UNINITIALIZED.toString())); } }
private void initSnapshotMetadata(String network, String snapshot, ProcessingStatus status) throws IOException { WorkMgrTestUtils.initSnapshotWithTopology(NETWORK, snapshot, ImmutableSet.of()); SnapshotMetadataMgr.writeMetadata( new SnapshotMetadata(Instant.now(), null).updateStatus(status, null), network, snapshot); }
private void createSnapshotWithMetadata(String network, String snapshot) throws IOException { NetworkId networkId = _idManager.getNetworkId(network); SnapshotId snapshotId = _idManager.generateSnapshotId(); _idManager.assignSnapshot(snapshot, networkId, snapshotId); SnapshotMetadataMgr.writeMetadata( new SnapshotMetadata(new Date().toInstant(), null), networkId, snapshotId); }
new SnapshotMetadata(Instant.now(), parentSnapshotId), networkId, snapshotId); } catch (Exception e) { BatfishException metadataError = new BatfishException("Could not write testrigMetadata", e);
public static void initSnapshotWithTopology(String network, String snapshot, Set<String> nodes) throws IOException { IdManager idManager = Main.getWorkMgr().getIdManager(); NetworkId networkId = idManager.getNetworkId(network); SnapshotId snapshotId = idManager.hasSnapshotId(snapshot, networkId) ? idManager.getSnapshotId(snapshot, networkId) : idManager.generateSnapshotId(); idManager.assignSnapshot(snapshot, networkId, snapshotId); SnapshotMetadataMgr.writeMetadata( new SnapshotMetadata(new Date().toInstant(), null), networkId, snapshotId); Topology pojoTopology = new Topology(snapshot); pojoTopology.setNodes(nodes.stream().map(Node::new).collect(Collectors.toSet())); Main.getWorkMgr().getStorage().storePojoTopology(pojoTopology, networkId, snapshotId); org.batfish.datamodel.Topology envTopology = new org.batfish.datamodel.Topology(ImmutableSortedSet.of()); Main.getWorkMgr().getStorage().storeTopology(envTopology, networkId, snapshotId); }