diff --git a/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java b/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java index b6583f024071e3c1151cf974b387ffe72d1579b7..7f5444b36104526101ebf9b3f2aa547b3d91cbc9 100644 --- a/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java +++ b/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java @@ -22,6 +22,7 @@ */ package org.caosdb.server.jobs.core; +import org.caosdb.server.entity.EntityInterface; import org.caosdb.server.entity.Message; import org.caosdb.server.jobs.FlagJob; import org.caosdb.server.jobs.JobAnnotation; @@ -51,5 +52,8 @@ public class ExecuteQuery extends FlagJob { getContainer().addMessage(new Message(e.getMessage())); } getContainer().addMessage(queryInstance); + for (EntityInterface entity : getContainer()) { + getTransaction().getSchedule().addAll(loadJobs(entity, getTransaction())); + } } } diff --git a/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java index 1ca43cec45413d80c307df2f4d09c6b8d34cfb49..603d861ad24b659fab262291d888420c02f6bcf5 100644 --- a/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java +++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java @@ -23,6 +23,7 @@ package org.caosdb.server.jobs.core; import org.caosdb.server.database.backend.transaction.RetrieveAll; +import org.caosdb.server.entity.EntityInterface; import org.caosdb.server.jobs.FlagJob; import org.caosdb.server.jobs.JobAnnotation; import org.caosdb.server.jobs.JobExecutionTime; @@ -37,6 +38,9 @@ public class RetrieveAllJob extends FlagJob { value = "ENTITY"; } execute(new RetrieveAll(getContainer(), value)); + for (EntityInterface entity : getContainer()) { + getTransaction().getSchedule().addAll(loadJobs(entity, getTransaction())); + } } } } diff --git a/src/main/java/org/caosdb/server/transaction/Transaction.java b/src/main/java/org/caosdb/server/transaction/Transaction.java index 6fb28c6fa134c4945161422f77ace01079152fed..b0f8710575375f82f0a7290c04ae8a7392a40af0 100644 --- a/src/main/java/org/caosdb/server/transaction/Transaction.java +++ b/src/main/java/org/caosdb/server/transaction/Transaction.java @@ -105,17 +105,7 @@ public abstract class Transaction<C extends TransactionContainer> extends Abstra // additionally load datatype job if (e.hasValue()) { - boolean found = false; - for (final Job j : loadJobs) { - - if (CheckDatatypePresent.class.isInstance(j) - && ((CheckDatatypePresent) j).getEntity() == e) { - found = true; - } - } - if (!found) { - this.schedule.add(new CheckDatatypePresent().init(Mode.MUST, e, this)); - } + this.schedule.add(new CheckDatatypePresent().init(Mode.MUST, e, this)); } // load pickup job if necessary