package org.jblooming.ontology; import org.jblooming.operator.User; import org.jblooming.security.Area; import org.jblooming.security.Permission; import javax.persistence.MappedSuperclass; /** * @author Ilaria Di gaeta idigaeta@open-lab.com */ @MappedSuperclass public abstract class SecuredDirectedGraphWithAreaSupport extends SecuredDirectedGraphSupport { protected Area area; public Area getArea() { return area; } public void setArea(Area area) { this.area = area; } public boolean hasPermissionFor(User u, Permission p) { if (getOwner() != null && getOwner().equals(u)) return true; boolean result = false; if (getArea() == null) result = u.hasPermissionAsAdmin(); else result = area.hasPermissionFor(u, p); return result; } }