diff options
author | donald.g.dunne | 2017-03-21 20:45:02 +0000 |
---|---|---|
committer | Megumi Telles | 2017-03-31 15:28:46 +0000 |
commit | d20158921e5451f5e95db2c7ea307b0b435da49c (patch) | |
tree | 22ad6d0f4c23029ab07adc328cee04740d8420df | |
parent | e7d0e59859b442143921f64b08f55720849cf9f1 (diff) | |
download | org.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
Change-Id: I4fa027fc2e93530a181284d8999c0bf0f70bb124
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; + } + } |