Skip to content
Snippets Groups Projects

Release 0.12.1

Merged Timm Fitschen requested to merge release-0.12.1 into main
3 files
+ 11
2
Compare changes
  • Side-by-side
  • Inline

Files

@@ -31,6 +31,7 @@ import org.caosdb.server.database.BackendTransaction;
import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
import org.caosdb.server.datatype.CollectionValue;
import org.caosdb.server.datatype.IndexedSingleValue;
import org.caosdb.server.accessControl.Principal;
import org.caosdb.server.datatype.ReferenceValue;
import org.caosdb.server.entity.EntityID;
import org.caosdb.server.entity.EntityInterface;
@@ -60,6 +61,7 @@ import org.caosdb.server.utils.EntityStatus;
public class RetrieveFullEntityTransaction extends BackendTransaction {
private final Container<? extends EntityInterface> container;
private final Principal principal;
public RetrieveFullEntityTransaction(final EntityInterface entity) {
final Container<EntityInterface> c = new Container<>();
@@ -67,8 +69,9 @@ public class RetrieveFullEntityTransaction extends BackendTransaction {
this.container = c;
}
public RetrieveFullEntityTransaction(final Container<? extends EntityInterface> container) {
public RetrieveFullEntityTransaction(final Container<? extends EntityInterface> container, final Principal principal) {
this.container = container;
this.principal = principal;
}
public RetrieveFullEntityTransaction(final EntityID id) {
@@ -226,7 +229,7 @@ public class RetrieveFullEntityTransaction extends BackendTransaction {
// check whether the referenced entity may be retrieved
final EntityACL entityACL = ref.getEntityACL();
if (!entityACL.isPermitted(SecurityUtils.getSubject(), EntityPermission.RETRIEVE_ENTITY)) {
if (!entityACL.isPermitted(this.principal, EntityPermission.RETRIEVE_ENTITY)) {
return;
}
// recursion! (Only for the matching selections)
Loading