diff options
author | donald.g.dunne | 2017-12-08 17:55:19 +0000 |
---|---|---|
committer | donald.g.dunne | 2017-12-08 17:55:19 +0000 |
commit | 290acdd6cf24fdf0a23949d3c0a508b2fcabb920 (patch) | |
tree | 1f115e273edadc1d158a418e1108bea479a69394 /plugins/org.eclipse.osee.ats.core/src | |
parent | ecfe2fa4e47a2b22a57e49f7843ac1e921c6d586 (diff) | |
download | org.eclipse.osee-290acdd6cf24fdf0a23949d3c0a508b2fcabb920.tar.gz org.eclipse.osee-290acdd6cf24fdf0a23949d3c0a508b2fcabb920.tar.xz org.eclipse.osee-290acdd6cf24fdf0a23949d3c0a508b2fcabb920.zip |
Revert "bug[ats_TW5390]: Task generation results in missing attributes"
This reverts commit fa064121111ef5bc4e76194c8cd151350aa6c795.
Diffstat (limited to 'plugins/org.eclipse.osee.ats.core/src')
2 files changed, 22 insertions, 27 deletions
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/internal/state/AtsStateFactory.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/internal/state/AtsStateFactory.java index c35c3aca963..862d96721fb 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/internal/state/AtsStateFactory.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/internal/state/AtsStateFactory.java @@ -10,8 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.internal.state; -import java.util.HashMap; -import java.util.Map; import org.eclipse.osee.ats.api.IAtsServices; import org.eclipse.osee.ats.api.IAtsWorkItem; import org.eclipse.osee.ats.api.user.IAtsUser; @@ -20,8 +18,7 @@ import org.eclipse.osee.ats.api.workflow.log.IAtsLogFactory; import org.eclipse.osee.ats.api.workflow.state.IAtsStateFactory; import org.eclipse.osee.ats.api.workflow.state.IAtsStateManager; import org.eclipse.osee.ats.api.workflow.state.IAtsWorkStateFactory; -import org.eclipse.osee.framework.core.data.TransactionId; -import org.eclipse.osee.framework.jdk.core.type.Id; +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; /** * @author Donald G. Dunne @@ -31,8 +28,6 @@ public class AtsStateFactory implements IAtsStateFactory { private final IAtsWorkStateFactory workStateFactory; private final IAtsLogFactory logFactory; private final IAtsServices services; - Map<Id, IAtsStateManager> idToStateManager = new HashMap<>(); - Map<Id, TransactionId> idToTransactionId = new HashMap<>(); public AtsStateFactory(IAtsServices services, IAtsWorkStateFactory workStateFactory, IAtsLogFactory logFactory) { this.services = services; @@ -42,20 +37,21 @@ public class AtsStateFactory implements IAtsStateFactory { @Override public IAtsStateManager getStateManager(IAtsWorkItem workItem) { - IAtsStateManager stateMgr = idToStateManager.get(workItem); - TransactionId transId = idToTransactionId.get(workItem); - TransactionId workItemTransaction = services.getStoreService().getTransactionId(workItem); - if (stateMgr == null || (workItemTransaction.isValid() && workItemTransaction.notEqual(transId))) { - stateMgr = new StateManager(workItem, logFactory, services); - idToStateManager.put(workItem, stateMgr); - idToTransactionId.put(workItem, services.getStoreService().getTransactionId(workItem)); + StateManager stateMgr = new StateManager(workItem, logFactory, services); + return stateMgr; + } + + @Override + public IAtsStateManager getStateManager(IAtsWorkItem workItem, boolean load) throws OseeCoreException { + IAtsStateManager stateMgr = getStateManager(workItem); + if (load) { StateManagerStore.load(workItem, stateMgr, services.getAttributeResolver(), workStateFactory); } return stateMgr; } @Override - public void writeToStore(IAtsUser asUser, IAtsWorkItem workItem, IAtsChangeSet changes) { + public void writeToStore(IAtsUser asUser, IAtsWorkItem workItem, IAtsChangeSet changes) throws OseeCoreException { StateManagerStore.writeToStore(asUser, workItem, (StateManager) workItem.getStateMgr(), services.getAttributeResolver(), changes, workStateFactory); } @@ -65,15 +61,4 @@ public class AtsStateFactory implements IAtsStateFactory { StateManagerStore.load(workItem, stateMgr, services.getAttributeResolver(), workStateFactory); } - @Override - public void clearStateManager(Id id) { - idToStateManager.put(id, null); - } - - @Override - public void setStateMgr(IAtsWorkItem workItem, IAtsStateManager stateMgr) { - idToStateManager.put(workItem, stateMgr); - idToTransactionId.put(workItem, services.getStoreService().getTransactionId(workItem)); - } - } diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/WorkItem.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/WorkItem.java index 8d9b7e072bb..4908220411a 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/WorkItem.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/workflow/WorkItem.java @@ -37,6 +37,7 @@ import org.eclipse.osee.framework.core.data.ArtifactId; import org.eclipse.osee.framework.core.data.ArtifactToken; import org.eclipse.osee.framework.core.data.ArtifactTypeId; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.Conditions; import org.eclipse.osee.logger.Log; /** @@ -45,6 +46,7 @@ import org.eclipse.osee.logger.Log; public class WorkItem extends AtsObject implements IAtsWorkItem { protected final ArtifactToken artifact; + private IAtsStateManager stateMgr; private IAtsLog atsLog; private IWorkDefinitionMatch match; protected final IAtsServices services; @@ -135,12 +137,20 @@ public class WorkItem extends AtsObject implements IAtsWorkItem { @Override public IAtsStateManager getStateMgr() { - return services.getStateFactory().getStateManager(this); + if (stateMgr == null) { + try { + stateMgr = services.getStateFactory().getStateManager(this, true); + } catch (OseeCoreException ex) { + logger.error(ex, "Error getting stateManager for artifact[%s]", artifact); + } + } + return stateMgr; } @Override public void setStateManager(IAtsStateManager stateMgr) { - services.getStateFactory().setStateMgr(this, stateMgr); + Conditions.assertNotNull(stateMgr, "stateMgr"); + this.stateMgr = stateMgr; } @Override |