Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Commit 15f1a1c

Browse files
authored
Merge pull request #46 from HumanBrainProject/develop
fix releasing of inferred instances
2 parents f4a27c3 + 6205009 commit 15f1a1c

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

src/main/java/org/humanbrainproject/knowledgegraph/commons/propertyGraph/arango/control/ArangoNativeRepository.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
import org.springframework.stereotype.Component;
2222

2323
import java.util.*;
24-
import java.util.regex.Matcher;
25-
import java.util.regex.Pattern;
2624
import java.util.stream.Collectors;
2725

2826
@Component
@@ -43,11 +41,11 @@ public class ArangoNativeRepository {
4341
@Autowired
4442
ArangoRepository arangoRepository;
4543

46-
public Set<NexusInstanceReference> findOriginalIdsWithLinkTo(ArangoDocumentReference instanceReference, ArangoCollectionReference collectionReference) {
47-
Set<ArangoCollectionReference> collections = databaseFactory.getDefaultDB().getCollections();
44+
public Set<NexusInstanceReference> findOriginalIdsWithLinkTo(ArangoConnection connection, ArangoDocumentReference instanceReference, ArangoCollectionReference collectionReference) {
45+
Set<ArangoCollectionReference> collections = connection.getCollections();
4846
if (collections.contains(instanceReference.getCollection()) && collections.contains(collectionReference)) {
4947
String query = queryFactory.queryOriginalIdForLink(instanceReference, collectionReference, authorizationContext.getReadableOrganizations());
50-
List<String> ids = databaseFactory.getDefaultDB().getOrCreateDB().query(query, null, new AqlQueryOptions(), String.class).asListRemaining();
48+
List<String> ids = connection.getOrCreateDB().query(query, null, new AqlQueryOptions(), String.class).asListRemaining();
5149
return ids.stream().filter(Objects::nonNull).map(NexusInstanceReference::createFromUrl).collect(Collectors.toSet());
5250
}
5351
return Collections.emptySet();

src/main/java/org/humanbrainproject/knowledgegraph/indexing/control/nexusToArango/NexusToArangoIndexingProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public Vertex getVertexStructureById(NexusInstanceReference incomingReference) {
5555
}
5656

5757
public Set<NexusInstanceReference> findInstancesWithLinkTo(String originalParentProperty, NexusInstanceReference originalId) {
58-
return nativeRepository.findOriginalIdsWithLinkTo(ArangoDocumentReference.fromNexusInstance(originalId), ArangoCollectionReference.fromFieldName(originalParentProperty));
58+
return nativeRepository.findOriginalIdsWithLinkTo(databaseFactory.getDefaultDB(), ArangoDocumentReference.fromNexusInstance(originalId), ArangoCollectionReference.fromFieldName(originalParentProperty));
5959
}
6060

6161
public Vertex mapToOriginalSpace(Vertex vertex, NexusInstanceReference originalId) {

src/main/java/org/humanbrainproject/knowledgegraph/releasing/control/ReleaseControl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,9 @@ public IndexingMessage release(NexusInstanceReference instanceReference, Integer
203203
payload.addReference(HBPVocabulary.RELEASE_INSTANCE, configuration.getAbsoluteUrl(instanceReference));
204204
payload.put(HBPVocabulary.RELEASE_REVISION, revision);
205205
payload.addType(HBPVocabulary.RELEASE_TYPE);
206+
NexusInstanceReference originalId = nativeRepository.findOriginalId(instanceReference);
206207
NexusSchemaReference releaseSchema = new NexusSchemaReference("releasing", "prov", "release", "v0.0.2");
207-
NexusInstanceReference instance = instanceManipulationController.createInstanceByIdentifier(releaseSchema, instanceReference.getFullId(false), payload, null);
208+
NexusInstanceReference instance = instanceManipulationController.createInstanceByIdentifier(releaseSchema, originalId.getFullId(false), payload, null);
208209
return new IndexingMessage(instance, jsonTransformer.getMapAsJson(payload), null, null);
209210
}
210211

@@ -215,8 +216,9 @@ public NexusInstanceReference unrelease(NexusInstanceReference instanceReference
215216
Object relativeUrl = document.get(ArangoVocabulary.NEXUS_RELATIVE_URL);
216217
if (relativeUrl != null) {
217218
NexusInstanceReference fromUrl = NexusInstanceReference.createFromUrl((String) relativeUrl);
219+
NexusInstanceReference originalFrom = nativeRepository.findOriginalId(fromUrl);
218220
//Find release instance
219-
Set<NexusInstanceReference> releases = nativeRepository.findOriginalIdsWithLinkTo(ArangoDocumentReference.fromNexusInstance(fromUrl), ArangoCollectionReference.fromFieldName(HBPVocabulary.RELEASE_INSTANCE));
221+
Set<NexusInstanceReference> releases = nativeRepository.findOriginalIdsWithLinkTo(databaseFactory.getInferredDB(), ArangoDocumentReference.fromNexusInstance(originalFrom), ArangoCollectionReference.fromFieldName(HBPVocabulary.RELEASE_INSTANCE));
220222
for (NexusInstanceReference nexusInstanceReference : releases) {
221223
Integer currentRevision = nativeRepository.getCurrentRevision(ArangoDocumentReference.fromNexusInstance(nexusInstanceReference));
222224
nexusInstanceReference.setRevision(currentRevision);

0 commit comments

Comments
 (0)