Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2017-03-21 20:45:02 +0000
committerMegumi Telles2017-03-31 15:28:46 +0000
commitd20158921e5451f5e95db2c7ea307b0b435da49c (patch)
tree22ad6d0f4c23029ab07adc328cee04740d8420df
parente7d0e59859b442143921f64b08f55720849cf9f1 (diff)
downloadorg.eclipse.osee-d20158921e5451f5e95db2c7ea307b0b435da49c.tar.gz
org.eclipse.osee-d20158921e5451f5e95db2c7ea307b0b435da49c.tar.xz
org.eclipse.osee-d20158921e5451f5e95db2c7ea307b0b435da49c.zip
bug[ats_ATS354028]: Delay and Scrollbar jumps when try to transition task
-rw-r--r--plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreService.java2
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsStoreService.java5
-rw-r--r--plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionHelperAdapter.java15
-rw-r--r--plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/util/AtsStoreServiceImpl.java8
4 files changed, 28 insertions, 2 deletions
diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreService.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreService.java
index b4d21fc0166..a2821b5b9b9 100644
--- a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreService.java
+++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/util/IAtsStoreService.java
@@ -62,4 +62,6 @@ public interface IAtsStoreService {
Collection<AttributeTypeToken> getAttributeTypes();
+ boolean isChangedInDb(IAtsWorkItem workItem);
+
}
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsStoreService.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsStoreService.java
index e8250932d84..095b78f8f33 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsStoreService.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsStoreService.java
@@ -174,4 +174,9 @@ public class AtsStoreService implements IAtsStoreService {
return org.eclipse.osee.framework.jdk.core.util.Collections.castAll(AttributeTypeManager.getAllTypes());
}
+ @Override
+ public boolean isChangedInDb(IAtsWorkItem workItem) {
+ return ArtifactQuery.isArtifactChangedViaTransaction((Artifact) workItem.getStoreObject());
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionHelperAdapter.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionHelperAdapter.java
index 50a45e5d7b6..8f775d0ea04 100644
--- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionHelperAdapter.java
+++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/transition/TransitionHelperAdapter.java
@@ -10,8 +10,9 @@
*******************************************************************************/
package org.eclipse.osee.ats.core.workflow.transition;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
import org.eclipse.osee.ats.api.IAtsServices;
import org.eclipse.osee.ats.api.IAtsWorkItem;
import org.eclipse.osee.ats.api.user.IAtsUser;
@@ -102,7 +103,17 @@ public abstract class TransitionHelperAdapter implements ITransitionHelper {
@Override
public void handleWorkflowReload(TransitionResults results) {
if (!workflowsReloaded) {
- services.getStoreService().reload(new ArrayList<>(getWorkItems()));
+ // Only reload work items that have been changed in the database and not updated locally
+ List<IAtsWorkItem> workItemsToReload = new LinkedList<>();
+ for (IAtsWorkItem workItem : getWorkItems()) {
+ boolean changed = services.getStoreService().isChangedInDb(workItem);
+ if (changed) {
+ workItemsToReload.add(workItem);
+ }
+ }
+ if (!workItemsToReload.isEmpty()) {
+ services.getStoreService().reload(workItemsToReload);
+ }
for (IAtsWorkItem workItem : getWorkItems()) {
if (services.getStoreService().isDeleted(workItem)) {
results.addResult(workItem, TransitionResult.WORKITEM_DELETED);
diff --git a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/util/AtsStoreServiceImpl.java b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/util/AtsStoreServiceImpl.java
index c913422796f..58a8cb50e83 100644
--- a/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/util/AtsStoreServiceImpl.java
+++ b/plugins/org.eclipse.osee.ats.rest/src/org/eclipse/osee/ats/rest/internal/util/AtsStoreServiceImpl.java
@@ -163,4 +163,12 @@ public class AtsStoreServiceImpl implements IAtsStoreService {
return atsServer.getOrcsApi().getOrcsTypes().getAttributeTypes().getAll();
}
+ /**
+ * return false cause server always loads workItems fresh
+ */
+ @Override
+ public boolean isChangedInDb(IAtsWorkItem workItem) {
+ return false;
+ }
+
}

Back to the top