1 package de.dlr.shepard.neo4Core.dao; 2 3 import java.util.Collections; 4 import java.util.List; 5 import java.util.stream.StreamSupport; 6 7 import de.dlr.shepard.neo4Core.entities.FileReference; 8 import de.dlr.shepard.util.Constants; 9 import de.dlr.shepard.util.CypherQueryHelper; 10 11 public class FileReferenceDAO extends VersionableEntityDAO<FileReference> { 12 13 public List<FileReference> findByDataObjectNeo4jId(long dataObjectId) { 14 String query = String.format("MATCH (d:DataObject)-[hr:has_reference]->%s WHERE ID(d)=%d ", 15 CypherQueryHelper.getObjectPart("r", "FileReference", false), dataObjectId) 16 + CypherQueryHelper.getReturnPart("r"); 17 18 var queryResult = findByQuery(query, Collections.emptyMap()); 19 20 List<FileReference> result = StreamSupport.stream(queryResult.spliterator(), false) 21 .filter(r -> r.getDataObject() != null).filter(r -> r.getDataObject().getId().equals(dataObjectId)) 22 .toList(); 23 24 return result; 25 } 26 27 public List<FileReference> findByDataObjectShepardId(long dataObjectShepardId) { 28 String query = String.format( 29 "MATCH (d:DataObject)-[hr:has_reference]->%s WHERE d." + Constants.SHEPARD_ID + "=%d ", 30 CypherQueryHelper.getObjectPart("r", "FileReference", false), dataObjectShepardId) 31 + CypherQueryHelper.getReturnPart("r"); 32 var queryResult = findByQuery(query, Collections.emptyMap()); 33 34 List<FileReference> result = StreamSupport.stream(queryResult.spliterator(), false) 35 .filter(r -> r.getDataObject() != null) 36 .filter(r -> r.getDataObject().getShepardId().equals(dataObjectShepardId)).toList(); 37 38 return result; 39 } 40 41 @Override 42 public Class<FileReference> getEntityType() { 43 return FileReference.class; 44 } 45 46 }