use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value in project timbuctoo by HuygensING.
the class ProvenanceChangeLogTest method getProvenanceForObjectField.
@Test
public void getProvenanceForObjectField() throws Exception {
CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", false, "object", ImmutableMap.of("type", TYPE_URI, "fields", Lists.newArrayList(ImmutableMap.of("uri", FIRST_NAME_URI, "isList", false, "valueType", STRING)))))));
when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
String value = "value";
Map<Object, Object> name = Maps.newHashMap();
name.put("uri", SUBJECT_NAME_1);
name.put(FIRST_NAME_FIELD, createPropertyInput(value));
Map<Object, Object> provenance = Maps.newHashMap();
provenance.put(NAME_FIELD, name);
Map<Object, Object> entity = Maps.newHashMap();
entity.put("provenance", provenance);
ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
assertThat(provChanges.size(), is(3));
assertThat(provChanges.get(0), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(SUBJECT_NAME_1, null)).oldValuesIsEmpty()));
assertThat(provChanges.get(1), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(RDF_TYPE).withValues(new Value(TYPE_URI, null)).oldValuesIsEmpty()));
assertThat(provChanges.get(2), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(FIRST_NAME_URI).withValues(new Value(value, STRING)).oldValuesIsEmpty()));
}
use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value in project timbuctoo by HuygensING.
the class PredicateTest method mergeCombinesValuesMap.
@Test
public void mergeCombinesValuesMap() throws Exception {
Predicate predicate1 = createPredicate("predicate", Direction.OUT, "testOwner");
Map<String, Long> valueTypes1 = new HashMap<>();
valueTypes1.put("Test Value", 1L);
valueTypes1.put("Test Value 2", 1L);
predicate1.setValueTypes(valueTypes1);
final Predicate predicate2 = createPredicate("predicate", Direction.OUT, "testOwner");
Map<String, Long> valueTypes2 = new HashMap<>();
valueTypes2.put("Test Value", 1L);
valueTypes2.put("Test Value 2", 1L);
valueTypes2.put("Test Value 3", 1L);
predicate2.setValueTypes(valueTypes2);
Predicate mergedPredicate = predicate1.merge(predicate2);
assertThat(mergedPredicate.getValueTypes(), IsMapContaining.hasEntry("Test Value", 2L));
assertThat(mergedPredicate.getValueTypes(), IsMapContaining.hasEntry("Test Value 2", 2L));
assertThat(mergedPredicate.getValueTypes(), IsMapContaining.hasEntry("Test Value 3", 1L));
}
use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value in project timbuctoo by HuygensING.
the class ProvenanceChangeLogTest method getProvenanceForListObjectField.
@Test
public void getProvenanceForListObjectField() throws Exception {
CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", true, "object", ImmutableMap.of("type", TYPE_URI, "fields", Lists.newArrayList(ImmutableMap.of("uri", FIRST_NAME_URI, "isList", false, "valueType", STRING)))))));
when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
String value1 = "value1";
Map<Object, Object> name1 = Maps.newHashMap();
name1.put("uri", SUBJECT_NAME_1);
name1.put(FIRST_NAME_FIELD, createPropertyInput(value1));
Map<Object, Object> name2 = Maps.newHashMap();
name2.put("uri", SUBJECT_NAME_2);
String value2 = "value2";
name2.put(FIRST_NAME_FIELD, createPropertyInput(value2));
Map<Object, Object> provenance = Maps.newHashMap();
provenance.put(NAME_FIELD, newArrayList(name1, name2));
Map<Object, Object> entity = Maps.newHashMap();
entity.put("provenance", provenance);
ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
assertThat(provChanges.size(), is(6));
assertThat(provChanges.get(0), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(SUBJECT_NAME_1, null)).oldValuesIsEmpty()));
assertThat(provChanges.get(1), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(RDF_TYPE).withValues(new Value(TYPE_URI, null)).oldValuesIsEmpty()));
assertThat(provChanges.get(2), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(FIRST_NAME_URI).withValues(new Value(value1, STRING)).oldValuesIsEmpty()));
assertThat(provChanges.get(3), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(SUBJECT_NAME_2, null)).oldValuesIsEmpty()));
assertThat(provChanges.get(4), is(likeChange().withSubject(SUBJECT_NAME_2).withPredicate(RDF_TYPE).withValues(new Value(TYPE_URI, null)).oldValuesIsEmpty()));
assertThat(provChanges.get(5), is(likeChange().withSubject(SUBJECT_NAME_2).withPredicate(FIRST_NAME_URI).withValues(new Value(value2, STRING)).oldValuesIsEmpty()));
}
use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value in project timbuctoo by HuygensING.
the class DataSetRepository method loadDataSetsFromJson.
private void loadDataSetsFromJson() throws IOException {
Map<String, Set<DataSetMetaData>> ownerMetadataMap = dataStorage.loadDataSetMetaData();
synchronized (dataSetMap) {
for (Map.Entry<String, Set<DataSetMetaData>> entry : ownerMetadataMap.entrySet()) {
String ownerId = entry.getKey();
Set<DataSetMetaData> ownerMetaDatas = entry.getValue();
HashMap<String, DataSet> ownersSets = new HashMap<>();
dataSetMap.put(ownerId, ownersSets);
for (DataSetMetaData dataSetMetaData : ownerMetaDatas) {
String dataSetName = dataSetMetaData.getDataSetId();
try {
DataSet value = dataSet(dataSetMetaData, executorService, rdfBaseUri, dataStoreFactory, () -> onUpdated.accept(dataSetMetaData.getCombinedId()), dataStorage.getDataSetStorage(ownerId, dataSetName), readOnlyChecker);
ownersSets.put(dataSetName, value);
dataSetsUpdatedListeners.forEach(value::subscribeToDataChanges);
} catch (DataStoreCreationException e) {
throw new IOException(e);
}
}
}
}
}
use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value in project timbuctoo by HuygensING.
the class RdfDescriptionSaver method delValue.
@Override
public void delValue(String subject, String predicate, String value, String dataType, String graph) throws RdfProcessingFailedException {
try {
if (Objects.equals(subject, baseUri)) {
ValueFactory vf = SimpleValueFactory.getInstance();
model.remove(vf.createIRI(subject), vf.createIRI(predicate), vf.createLiteral(value));
}
} catch (Exception e) {
throw new RdfProcessingFailedException(e);
}
}
Aggregations