From a887a420f60df3bcf98601398f8177a49d698e35 Mon Sep 17 00:00:00 2001 From: Willem Elbers Date: Tue, 29 Mar 2022 13:52:11 +0200 Subject: [PATCH] Update job in list by index --- .../editors/references/ReferencesEditor.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/crud/v2/editor/editors/references/ReferencesEditor.java b/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/crud/v2/editor/editors/references/ReferencesEditor.java index accecbaa..7a6e1c9c 100644 --- a/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/crud/v2/editor/editors/references/ReferencesEditor.java +++ b/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/crud/v2/editor/editors/references/ReferencesEditor.java @@ -336,6 +336,9 @@ public CustomDataUpdateEvent(AjaxRequestTarget target) { public void onBeforeRender() { super.onBeforeRender(); listview.setModelObject(references); + for(ReferenceJob job : references) { + logger.info("onBeforeRender job ref={}, state={}", job.getReference().getRef(), job.state); + } } @Override @@ -515,19 +518,26 @@ public void run() { synchronized(this) { for(int i = 0; i < references.size(); i++) { + ReferenceJob job = references.get(i); //for(ReferenceJob job : references) { //references.get(i) - if(references.get(i).getState() == State.INITIALIZED) { - references.get(i).setState(State.ANALYZING); + if(job.getState() == State.INITIALIZED) { + job.setState(State.ANALYZING); + references.set(i, job); + logger.debug("Starting. Job ref={}, state = {}",references.get(i).getReference().getRef(), references.get(i).getState()); //fireEvent(new DataUpdatedEvent(null)); try { - analyze(references.get(i)); - references.get(i).setState(State.DONE); + analyze(job); + + job.setState(State.DONE); + references.set(i, job); + //fireEvent(new DataUpdatedEvent(null)); } catch(Exception ex) { - references.get(i).setState(State.FAILED); - + job.setState(State.FAILED); + references.set(i, job); + //fireEvent(new DataUpdatedEvent(null)); } logger.debug("Finished. Job ref={}, state = {}",references.get(i).getReference().getRef(), references.get(i).getState());