View Javadoc
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  }