diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java index c6a0470..e4915a2 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java @@ -340,10 +340,23 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements for(TabularResource tr:pendingTR){ logger.debug("Pending Task:"+ tr.getId()); - List tasks=service.getTasks(tr.getId(), TaskStatus.IN_PROGRESS); + List tasksInitializing=service.getTasks(tr.getId(), TaskStatus.INITIALIZING); + List tasksInProgress=service.getTasks(tr.getId(), TaskStatus.IN_PROGRESS); + List tasksValidatingRules=service.getTasks(tr.getId(), TaskStatus.VALIDATING_RULES); + HashMap tasks=new HashMap(); + for(Task t:tasksInitializing){ + tasks.put(t.getId().getValue(),t); + } + for(Task t:tasksInProgress){ + tasks.put(t.getId().getValue(),t); + } + for(Task t:tasksValidatingRules){ + tasks.put(t.getId().getValue(),t); + } + TRId trId=new TRId(String.valueOf(tr.getId().getValue())); - for(Task task:tasks){ - TaskWrapper taskWrapper=new TaskWrapper(task,UIOperationsId.GenericPendingOperation, trId); + for(String key:tasks.keySet()){ + TaskWrapper taskWrapper=new TaskWrapper(tasks.get(key),UIOperationsId.Pending, trId); SessionUtil.setTaskInBackground(session, taskWrapper); pendingNumber++; }