diff options
author | ddunne | 2008-06-05 03:40:32 +0000 |
---|---|---|
committer | ddunne | 2008-06-05 03:40:32 +0000 |
commit | d3ea65f9b71a5e29719eabc2ba6cd57197855a6b (patch) | |
tree | 422283cce284473db6d1a2166a462c2fe1e0f134 | |
parent | 83aa1c352f60195ed4e745190113e4a917f43a91 (diff) | |
download | org.eclipse.osee-d3ea65f9b71a5e29719eabc2ba6cd57197855a6b.tar.gz org.eclipse.osee-d3ea65f9b71a5e29719eabc2ba6cd57197855a6b.tar.xz org.eclipse.osee-d3ea65f9b71a5e29719eabc2ba6cd57197855a6b.zip |
Improve performance of OSEE/ATS state framework
3 files changed, 17 insertions, 4 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java index 62d0860cc9f..3c23f3a7a56 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java @@ -173,9 +173,9 @@ public class LoadAIsAndTeamsAction extends Action { desc = line.replaceFirst(DESCRIPTION, ""); else if (line.startsWith(WORKFLOW_ID)) { workflowId = line.replaceFirst(WORKFLOW_ID, ""); - } else if (line.startsWith(STATIC_ID)) + } else if (line.startsWith(STATIC_ID)) { staticIds.add(line.replaceFirst(STATIC_ID, "")); - else if (line.startsWith(GET_OR_CREATE)) + } else if (line.startsWith(GET_OR_CREATE)) getOrCreate = true; else if (line.startsWith(FULL_NAME)) fullName = line.replaceFirst(FULL_NAME, ""); @@ -223,7 +223,6 @@ public class LoadAIsAndTeamsAction extends Action { for (Artifact actionableItem : actionableItems) { teamDefArt.addRelation(CoreRelationEnumeration.TeamActionableItem_ActionableItem, actionableItem); } - teamDefArt.persistRelations(); } } if (teamDefArt == null) { diff --git a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java index 8cf812e0a74..7b0537295b5 100644 --- a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java +++ b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java @@ -172,7 +172,6 @@ public class ArtifactPersistenceManager { throw new IllegalArgumentException(
"The artifact " + artifact.getGuid() + " must be at the head of the branch to be edited.");
}
-
if (artifact.isDirty() && !artifact.isInTransaction()) {
builder.addArtifact(artifact);
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/WorkItemDefinitionFactory.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/WorkItemDefinitionFactory.java index cb97d4cad63..340bbfb7712 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/WorkItemDefinitionFactory.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/WorkItemDefinitionFactory.java @@ -5,6 +5,7 @@ */
package org.eclipse.osee.framework.ui.skynet.widgets.workflow;
+import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -13,6 +14,7 @@ import java.util.Map; import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager;
import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
+import org.eclipse.osee.framework.skynet.core.relation.CoreRelationEnumeration;
/**
* @author Donald G. Dunne
@@ -58,6 +60,19 @@ public class WorkItemDefinitionFactory { }
}
+ public static void relateWorkItemDefinitions(String parentWorkflowId, String childWorkflowId) throws SQLException {
+ Artifact parentArt =
+ ArtifactQuery.getArtifactsFromName(parentWorkflowId, BranchPersistenceManager.getCommonBranch()).iterator().next();
+ if (parentArt == null) throw new IllegalArgumentException("Can't access parentWorkflowId " + parentWorkflowId);
+ Artifact childArt =
+ ArtifactQuery.getArtifactsFromName(childWorkflowId, BranchPersistenceManager.getCommonBranch()).iterator().next();
+ if (childArt == null) throw new IllegalArgumentException("Can't access childWorkflowId " + childWorkflowId);
+ if (!parentArt.getArtifacts(CoreRelationEnumeration.WorkItem__Child, Artifact.class).contains(childArt)) {
+ parentArt.addRelation(CoreRelationEnumeration.WorkItem__Child, childArt);
+ parentArt.persistRelations();
+ }
+ }
+
private static void addItemDefinition(WorkItemDefinition workItemDefinition) {
if (workItemDefinition.getId() == null) throw new IllegalArgumentException("Item Id can't be null");
if (itemIdToDefinition.containsKey(workItemDefinition.getId())) throw new IllegalArgumentException(
|