Tomas Jelinek has uploaded a new change for review.

Change subject: core: don't send PersistentBag to FE
......................................................................

core: don't send PersistentBag to FE

This is only a PoC not meant to be merged!

The problem is that the @OneToMany Hibernate mappings result in a List of type
PersistentBag which is an internal Hibernate class. If this is sent to the FE
it causes number of NPEs.

Change-Id: I4c627875e252316e06474adceaf7bb2eea1d9fe2
Signed-off-by: Tomas Jelinek <tjeli...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetJobsByOffsetQuery.java
1 file changed, 21 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/97/41797/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetJobsByOffsetQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetJobsByOffsetQuery.java
index aa35782..2ea7127 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetJobsByOffsetQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetJobsByOffsetQuery.java
@@ -1,10 +1,12 @@
 package org.ovirt.engine.core.bll;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.job.Job;
+import org.ovirt.engine.core.common.job.Step;
 import org.ovirt.engine.core.common.queries.GetJobsByOffsetQueryParameters;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 
@@ -24,7 +26,26 @@
 
         int offset = Math.max(getParameters().getOffset(), 0);
         List<Job> jobs = 
DbFacade.getInstance().getJobDao().getJobsByOffsetAndPageSize(offset * 
pageSize, pageSize);
+        for (Job job : jobs) {
+            List<Step> steps = new ArrayList<>();
+            for(Step step : job.getSteps()) {
+                steps.add(clearSteps(step));
+            }
+            job.setSteps(steps);
+        }
+
         getQueryReturnValue().setReturnValue(jobs);
     }
 
+    private Step clearSteps(Step step) {
+        List<Step> substeps = new ArrayList<>();
+
+        for (Step sub : step.getSteps()) {
+            substeps.add(clearSteps(sub));
+        }
+
+        step.setSteps(substeps);
+        return step;
+    }
+
 }


-- 
To view, visit https://gerrit.ovirt.org/41797
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4c627875e252316e06474adceaf7bb2eea1d9fe2
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tomas Jelinek <tjeli...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to