1 package de.dlr.shepard.neo4Core.dao; 2 3 import java.util.Collections; 4 5 import de.dlr.shepard.neo4Core.entities.Permissions; 6 import de.dlr.shepard.util.Constants; 7 import de.dlr.shepard.util.CypherQueryHelper; 8 9 public class PermissionsDAO extends GenericDAO<Permissions> { 10 11 public Permissions findByEntityNeo4jId(long entityId) { 12 String query = String.format("MATCH (e)-[:has_permissions]->(p:Permissions) WHERE ID(e) = %d ", entityId) 13 + CypherQueryHelper.getReturnPart("p"); 14 var permissions = findByQuery(query, Collections.emptyMap()); 15 if (permissions.iterator().hasNext()) 16 return permissions.iterator().next(); 17 return null; 18 } 19 20 public Permissions findByEntityShepardId(long entityShepardId) { 21 String query = String.format( 22 "MATCH (e)-[:has_permissions]->(p:Permissions) WHERE e." + Constants.SHEPARD_ID + " = %d ", 23 entityShepardId) + CypherQueryHelper.getReturnPart("p"); 24 var permissions = findByQuery(query, Collections.emptyMap()); 25 if (permissions.iterator().hasNext()) 26 return permissions.iterator().next(); 27 return null; 28 } 29 30 public Permissions createWithEntityNeo4jId(Permissions permissions, long entityId) { 31 var created = createOrUpdate(permissions); 32 String query = String.format( 33 "MATCH (e) WHERE ID(e) = %d MATCH (p:Permissions) WHERE ID(p) = %d CREATE path = (e)-[r:has_permissions]->(p)", 34 entityId, created.getId()); 35 runQuery(query, Collections.emptyMap()); 36 return findByNeo4jId(created.getId()); 37 } 38 39 public Permissions createWithEntityShepardId(Permissions permissions, long entityShepardId) { 40 var created = createOrUpdate(permissions); 41 String query = String.format( 42 "MATCH (e) WHERE e." + Constants.SHEPARD_ID 43 + " = %d MATCH (p:Permissions) WHERE ID(p) = %d CREATE path = (e)-[r:has_permissions]->(p)", 44 entityShepardId, created.getId()); 45 runQuery(query, Collections.emptyMap()); 46 return findByNeo4jId(created.getId()); 47 } 48 49 @Override 50 public Class<Permissions> getEntityType() { 51 return Permissions.class; 52 } 53 54 }