Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-06-05 03:40:32 +0000
committerddunne2008-06-05 03:40:32 +0000
commitd3ea65f9b71a5e29719eabc2ba6cd57197855a6b (patch)
tree422283cce284473db6d1a2166a462c2fe1e0f134
parent83aa1c352f60195ed4e745190113e4a917f43a91 (diff)
downloadorg.eclipse.osee-d3ea65f9b71a5e29719eabc2ba6cd57197855a6b.tar.gz
org.eclipse.osee-d3ea65f9b71a5e29719eabc2ba6cd57197855a6b.tar.xz
org.eclipse.osee-d3ea65f9b71a5e29719eabc2ba6cd57197855a6b.zip
Improve performance of OSEE/ATS state framework
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/vue/LoadAIsAndTeamsAction.java5
-rw-r--r--org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactPersistenceManager.java1
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/WorkItemDefinitionFactory.java15
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(

Back to the top