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.CypherQueryHelper; 7 8 public class PermissionsDAO extends GenericDAO<Permissions> { 9 10 public Permissions findByEntity(long entityId) { 11 String query = String.format("MATCH (e)-[:has_permissions]->(p:Permissions) WHERE ID(e) = %d ", entityId) 12 + CypherQueryHelper.getReturnPart("p"); 13 var permissions = findByQuery(query, Collections.emptyMap()); 14 if (permissions.iterator().hasNext()) 15 return permissions.iterator().next(); 16 return null; 17 } 18 19 public Permissions createWithEntity(Permissions permissions, long entityId) { 20 var created = createOrUpdate(permissions); 21 String query = String.format( 22 "MATCH (e) WHERE ID(e) = %d MATCH (p:Permissions) WHERE ID(p) = %d CREATE path = (e)-[r:has_permissions]->(p)", 23 entityId, created.getId()); 24 runQuery(query, Collections.emptyMap()); 25 return find(created.getId()); 26 } 27 28 @Override 29 public Class<Permissions> getEntityType() { 30 return Permissions.class; 31 } 32 33 }