Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/plugin.xml12
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoArtifactFactory.java36
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoTeamWorkflows.java12
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/AddCommonBranchForAtsDemo.java10
-rw-r--r--plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java5
-rw-r--r--plugins/org.eclipse.osee.ats/plugin.xml6
-rw-r--r--plugins/org.eclipse.osee.ats/schema/AtsTeamWorkflowProvider.exsd (renamed from plugins/org.eclipse.osee.ats/schema/AtsTeamWorkflow.exsd)8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ITeamWorkflowProvider.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java)15
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/TeamWorkflowProviderAdapter.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/AtsTeamWorkflowAdapter.java)15
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java36
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java146
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java18
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java16
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowManager.java29
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowProviders.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowExtensions.java)34
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/AssigneeColumn.java60
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ChangeTypeColumn.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ParentIdColumn.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAActionableItemHeader.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java9
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateChangeReports.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperItem.java7
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DuplicateWorkflowBlam.java10
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionArtifactRollup.java125
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionManager.java27
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionableItemManager.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java2
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java5
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldAssigneeFilter.java6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java4
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerSorter.java12
-rw-r--r--plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch4
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java15
-rw-r--r--plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java8
38 files changed, 417 insertions, 333 deletions
diff --git a/plugins/org.eclipse.osee.ats.config.demo/plugin.xml b/plugins/org.eclipse.osee.ats.config.demo/plugin.xml
index ff239e9c328..edf088cc610 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/plugin.xml
+++ b/plugins/org.eclipse.osee.ats.config.demo/plugin.xml
@@ -37,16 +37,10 @@
</OseeTypes>
</extension>
<extension
- point="org.eclipse.osee.ats.AtsTeamWorkflow">
- <AtsTeamWorkflow
+ point="org.eclipse.osee.ats.AtsTeamWorkflowProvider">
+ <TeamWorkflowProvider
classname="org.eclipse.osee.ats.config.demo.artifact.DemoTeamWorkflows">
- </AtsTeamWorkflow>
- </extension>
- <extension
- point="org.eclipse.osee.framework.skynet.core.ArtifactFactory">
- <ArtifactFactory
- classname="org.eclipse.osee.ats.config.demo.artifact.DemoArtifactFactory">
- </ArtifactFactory>
+ </TeamWorkflowProvider>
</extension>
<extension
point="org.eclipse.osee.framework.ui.skynet.ArtifactImageProvider">
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoArtifactFactory.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoArtifactFactory.java
deleted file mode 100644
index 87d45255f57..00000000000
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoArtifactFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ats.config.demo.artifact;
-
-import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.framework.core.data.IArtifactType;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.model.Branch;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
-import org.eclipse.osee.support.test.util.DemoArtifactTypes;
-
-/**
- * Provides the factory for the loading of the XYZ demo artifact types.
- *
- * @author Donald G. Dunne
- */
-public class DemoArtifactFactory extends ArtifactFactory {
- public DemoArtifactFactory() {
- super(DemoArtifactTypes.DemoCodeTeamWorkflow, DemoArtifactTypes.DemoTestTeamWorkflow,
- DemoArtifactTypes.DemoReqTeamWorkflow);
- }
-
- @Override
- protected Artifact getArtifactInstance(String guid, String humandReadableId, Branch branch, IArtifactType artifactType) throws OseeCoreException {
- return new TeamWorkFlowArtifact(this, guid, humandReadableId, branch, artifactType);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoTeamWorkflows.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoTeamWorkflows.java
index 44270ed4875..1eda565f94d 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoTeamWorkflows.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/artifact/DemoTeamWorkflows.java
@@ -14,9 +14,10 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import org.eclipse.osee.ats.actions.wizard.AtsTeamWorkflowAdapter;
+import org.eclipse.osee.ats.actions.wizard.TeamWorkflowProviderAdapter;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -26,7 +27,7 @@ import org.eclipse.osee.support.test.util.TestUtil;
/**
* @author Donald G. Dunne
*/
-public class DemoTeamWorkflows extends AtsTeamWorkflowAdapter {
+public class DemoTeamWorkflows extends TeamWorkflowProviderAdapter {
private static List<? extends IArtifactType> workflowArtifactTypes;
@@ -48,7 +49,7 @@ public class DemoTeamWorkflows extends AtsTeamWorkflowAdapter {
}
@Override
- public Collection<? extends IArtifactType> getTeamWorkflowArtifactNames() throws OseeCoreException {
+ public Collection<? extends IArtifactType> getTeamWorkflowArtifactTypes() throws OseeCoreException {
if (workflowArtifactTypes == null) {
if (TestUtil.isDemoDb()) {
workflowArtifactTypes =
@@ -61,4 +62,9 @@ public class DemoTeamWorkflows extends AtsTeamWorkflowAdapter {
return workflowArtifactTypes;
}
+ @Override
+ public String getPcrId(TeamWorkFlowArtifact teamArt) {
+ return "";
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/AddCommonBranchForAtsDemo.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/AddCommonBranchForAtsDemo.java
index ad6b3995bfe..7d851048bb2 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/AddCommonBranchForAtsDemo.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/AddCommonBranchForAtsDemo.java
@@ -10,11 +10,19 @@
*******************************************************************************/
package org.eclipse.osee.ats.config.demo.config;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.database.init.AddCommonBranch;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* @author Donald G. Dunne
*/
public class AddCommonBranchForAtsDemo extends AddCommonBranch {
- // provided for db init
+
+ @Override
+ public void run() throws OseeCoreException {
+ TestUtil.setDemoDb(true);
+ super.run();
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java
index fde93183fc9..00805775e0a 100644
--- a/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java
+++ b/plugins/org.eclipse.osee.ats.config.demo/src/org/eclipse/osee/ats/config/demo/config/DemoDatabaseConfig.java
@@ -21,7 +21,6 @@ import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
-import org.eclipse.osee.framework.database.core.OseeInfo;
import org.eclipse.osee.framework.database.init.IDbInitializationTask;
import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
@@ -30,6 +29,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.BranchManager;
import org.eclipse.osee.framework.skynet.core.utility.Requirements;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkItemDefinition.WriteType;
import org.eclipse.osee.support.test.util.DemoSawBuilds;
+import org.eclipse.osee.support.test.util.TestUtil;
/**
* Initialization class that will load configuration information for a sample DB.
@@ -41,6 +41,8 @@ public class DemoDatabaseConfig implements IDbInitializationTask {
@Override
public void run() throws OseeCoreException {
+ TestUtil.setDemoDb(true);
+
if (AtsUtil.dbInitWorkItemDefs()) {
new DemoCodeWorkFlowDefinition().config(WriteType.New, null);
new DemoTestWorkFlowDefinition().config(WriteType.New, null);
@@ -56,7 +58,6 @@ public class DemoDatabaseConfig implements IDbInitializationTask {
BranchManager.createTopLevelBranch(DemoCISBuilds.CIS_Bld_1);
populateProgramBranch(DemoCISBuilds.CIS_Bld_1);
- OseeInfo.putValue(OseeInfo.DB_TYPE_KEY, "demo");
}
private void populateProgramBranch(IOseeBranch branch) throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.ats/plugin.xml b/plugins/org.eclipse.osee.ats/plugin.xml
index 3f79c2cc116..1e3e2f626e6 100644
--- a/plugins/org.eclipse.osee.ats/plugin.xml
+++ b/plugins/org.eclipse.osee.ats/plugin.xml
@@ -4,7 +4,7 @@
<extension-point id="AtsNavigateItem" name="AtsNavigateItem" schema="schema/AtsNavigateItem.exsd"/>
<extension-point id="AtsStateItem" name="AtsStateItem" schema="schema/AtsStateItem.exsd"/>
<extension-point id="AtsWizardItem" name="AtsWizardItem" schema="schema/AtsWizardItem.exsd"/>
- <extension-point id="AtsTeamWorkflow" name="AtsTeamWorkflow" schema="schema/AtsTeamWorkflow.exsd"/>
+ <extension-point id="AtsTeamWorkflowProvider" name="AtsTeamWorkflowProvider" schema="schema/AtsTeamWorkflowProvider.exsd"/>
<extension-point id="AtsNotification" name="AtsNotification" schema="schema/AtsNotification.exsd"/>
<extension-point id="AtsWorldEditorItem" name="AtsWorldEditorItem" schema="schema/AtsWorldEditorItem.exsd"/>
<extension-point id="AtsHealthCheck" name="AtsHealthCheck" schema="schema/AtsHealthCheck.exsd"/>
@@ -121,6 +121,10 @@
<category
name="OSEE ATS"
id="org.eclipse.osee.ats.category"/>
+ <category
+ id="org.eclipse.osee.ats.review.category"
+ name="OSEE Review">
+ </category>
<view
class="org.eclipse.osee.ats.navigate.NavigateView"
icon="images/atsNavigate.gif"
diff --git a/plugins/org.eclipse.osee.ats/schema/AtsTeamWorkflow.exsd b/plugins/org.eclipse.osee.ats/schema/AtsTeamWorkflowProvider.exsd
index 330a90eeda3..fa74290a79c 100644
--- a/plugins/org.eclipse.osee.ats/schema/AtsTeamWorkflow.exsd
+++ b/plugins/org.eclipse.osee.ats/schema/AtsTeamWorkflowProvider.exsd
@@ -3,7 +3,7 @@
<schema targetNamespace="org.eclipse.osee.ats" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
- <meta.schema plugin="org.eclipse.osee.ats" id="AtsTeamWorflow" name="AtsTeamWorflow"/>
+ <meta.schema plugin="org.eclipse.osee.ats" id="TeamWorkflowProvider" name="TeamWorkflowProvider"/>
</appInfo>
<documentation>
This extension point should be used when a plugin wants to configure ATS to use a class that is an extension off TeamWorkflowArtifact class. These methods will provide the capability necessary for ATS to manage the new extensions.
@@ -18,7 +18,7 @@
</annotation>
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
- <element ref="AtsTeamWorkflow"/>
+ <element ref="TeamWorkflowProvider"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
@@ -47,7 +47,7 @@
</complexType>
</element>
- <element name="AtsTeamWorkflow">
+ <element name="TeamWorkflowProvider">
<complexType>
<attribute name="classname" type="string" use="required">
<annotation>
@@ -55,7 +55,7 @@
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow"/>
+ <meta.attribute kind="java" basedOn=":org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider"/>
</appInfo>
</annotation>
</attribute>
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java
index 2ffdf465005..9dea444d32c 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/AtsArtifactImageProvider.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
-import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
+import org.eclipse.osee.ats.artifact.TeamWorkflowProviders;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.FavoritesManager;
import org.eclipse.osee.ats.util.SubscribeManager;
@@ -48,7 +48,7 @@ public class AtsArtifactImageProvider extends ArtifactImageProvider {
ArtifactImageManager.registerOverrideImageProvider(this, AtsArtifactTypes.Task);
ArtifactImageManager.registerOverrideImageProvider(this, AtsArtifactTypes.PeerToPeerReview);
ArtifactImageManager.registerOverrideImageProvider(this, AtsArtifactTypes.DecisionReview);
- for (IArtifactType artifactType : TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes()) {
+ for (IArtifactType artifactType : TeamWorkflowProviders.getAllTeamWorkflowArtifactTypes()) {
ArtifactImageManager.registerOverrideImageProvider(this, artifactType);
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ITeamWorkflowProvider.java
index 2106c27ab61..218613d2851 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/IAtsTeamWorkflow.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/ITeamWorkflowProvider.java
@@ -21,7 +21,7 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException;
/**
* @author Donald G. Dunne
*/
-public interface IAtsTeamWorkflow {
+public interface ITeamWorkflowProvider {
/**
* Return true if this class/plugin is responsible for the creation of the Team Workflow that will be created for the
@@ -56,9 +56,20 @@ public interface IAtsTeamWorkflow {
*
* @return collection of all team workflow artifact type names
*/
- public Collection<? extends IArtifactType> getTeamWorkflowArtifactNames() throws OseeCoreException;
+ public Collection<? extends IArtifactType> getTeamWorkflowArtifactTypes() throws OseeCoreException;
public String getWorkflowDefinitionId(AbstractWorkflowArtifact artifact) throws OseeCoreException;
public String getRelatedTaskWorkflowDefinitionId(AbstractWorkflowArtifact artifact) throws OseeCoreException;
+
+ /**
+ * Assigned or computed Id that will show at the top of the editor
+ */
+ public String getPcrId(TeamWorkFlowArtifact teamArt) throws OseeCoreException;
+
+ /**
+ * 5-9 character short name for UI and display purposes
+ */
+ public String getArtifactTypeShortName(TeamWorkFlowArtifact teamArt);
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/AtsTeamWorkflowAdapter.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/TeamWorkflowProviderAdapter.java
index 54bb7bbc891..4d11207ca78 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/AtsTeamWorkflowAdapter.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/wizard/TeamWorkflowProviderAdapter.java
@@ -14,7 +14,7 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
-public abstract class AtsTeamWorkflowAdapter implements IAtsTeamWorkflow {
+public abstract class TeamWorkflowProviderAdapter implements ITeamWorkflowProvider {
@SuppressWarnings("unused")
@Override
@@ -41,7 +41,7 @@ public abstract class AtsTeamWorkflowAdapter implements IAtsTeamWorkflow {
@SuppressWarnings("unused")
@Override
- public Collection<? extends IArtifactType> getTeamWorkflowArtifactNames() throws OseeCoreException {
+ public Collection<? extends IArtifactType> getTeamWorkflowArtifactTypes() throws OseeCoreException {
return Collections.emptyList();
}
@@ -57,4 +57,15 @@ public abstract class AtsTeamWorkflowAdapter implements IAtsTeamWorkflow {
return null;
}
+ @SuppressWarnings("unused")
+ @Override
+ public String getPcrId(TeamWorkFlowArtifact teamArt) throws OseeCoreException {
+ return null;
+ }
+
+ @Override
+ public String getArtifactTypeShortName(TeamWorkFlowArtifact teamArt) {
+ return null;
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
index b14ce0e9573..9b8615a4567 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AbstractWorkflowArtifact.java
@@ -71,11 +71,9 @@ import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
import org.eclipse.osee.framework.ui.plugin.util.HelpContext;
import org.eclipse.osee.framework.ui.plugin.util.Result;
-import org.eclipse.osee.framework.ui.skynet.FrameworkArtifactImageProvider;
import org.eclipse.osee.framework.ui.skynet.group.IGroupExplorerProvider;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.IWorkPage;
import org.eclipse.osee.framework.ui.skynet.widgets.workflow.WorkPageType;
-import org.eclipse.swt.graphics.Image;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -223,14 +221,6 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
atsWorldRelations.add(typeSideToken);
}
- @Override
- public Image getAssigneeImage() throws OseeCoreException {
- if (isDeleted()) {
- return null;
- }
- return FrameworkArtifactImageProvider.getUserImage(getStateMgr().getAssignees());
- }
-
public void clearCaches() {
implementersStr = null;
}
@@ -268,17 +258,6 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
public String implementersStr = null;
- @Override
- public String getAssigneeStr() throws OseeCoreException {
- if (isCompletedOrCancelled()) {
- if (implementersStr == null && !getImplementers().isEmpty()) {
- implementersStr = "(" + Artifacts.toString("; ", getImplementers()) + ")";
- }
- return implementersStr;
- }
- return Artifacts.toString("; ", getStateMgr().getAssignees());
- }
-
public double getEstimatedHoursFromArtifact() throws OseeCoreException {
if (isAttributeTypeValid(AtsAttributeTypes.EstimatedHours)) {
return getSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 0.0);
@@ -436,7 +415,7 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
}
public static Set<IArtifactType> getAllSMAType() throws OseeCoreException {
- Set<IArtifactType> artTypeNames = TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes();
+ Set<IArtifactType> artTypeNames = TeamWorkflowProviders.getAllTeamWorkflowArtifactTypes();
artTypeNames.add(AtsArtifactTypes.Task);
artTypeNames.add(AtsArtifactTypes.DecisionReview);
artTypeNames.add(AtsArtifactTypes.PeerToPeerReview);
@@ -453,7 +432,7 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
public static List<TeamWorkFlowArtifact> getAllTeamWorkflowArtifacts() throws OseeCoreException {
List<TeamWorkFlowArtifact> result = new ArrayList<TeamWorkFlowArtifact>();
- for (IArtifactType artType : TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes()) {
+ for (IArtifactType artType : TeamWorkflowProviders.getAllTeamWorkflowArtifactTypes()) {
List<TeamWorkFlowArtifact> teamArts =
org.eclipse.osee.framework.jdk.core.util.Collections.castAll(ArtifactQuery.getArtifactListFromType(artType,
AtsUtil.getAtsBranch()));
@@ -1091,17 +1070,6 @@ public abstract class AbstractWorkflowArtifact extends AbstractAtsArtifact imple
return statePages;
}
- /**
- * Assigned or computed Id that will show at the top of the editor
- */
- public String getPcrId() throws OseeCoreException {
- TeamWorkFlowArtifact teamArt = getParentTeamWorkflow();
- if (teamArt != null) {
- return teamArt.getTeamName() + " " + getHumanReadableId();
- }
- return "";
- }
-
protected void addPriviledgedUsersUpTeamDefinitionTree(TeamDefinitionArtifact tda, Set<User> users) throws OseeCoreException {
users.addAll(tda.getLeads());
users.addAll(tda.getPrivilegedMembers());
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
index 541ad2e3fcb..4e794e4e106 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/ActionArtifact.java
@@ -11,172 +11,30 @@
package org.eclipse.osee.ats.artifact;
import java.util.Collection;
-import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import org.eclipse.osee.ats.column.ChangeTypeColumn;
-import org.eclipse.osee.ats.column.PriorityColumn;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.world.IWorldViewArtifact;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
-import org.eclipse.osee.framework.jdk.core.util.DateUtil;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
-import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
-import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
-import org.eclipse.swt.graphics.Image;
/**
* @author Donald G. Dunne
*/
public class ActionArtifact extends AbstractAtsArtifact implements IWorldViewArtifact {
- public static enum CreateTeamOption {
- Duplicate_If_Exists; // If option exists, then duplication of workflow of same team definition is allowed
- };
-
public ActionArtifact(ArtifactFactory parentFactory, String guid, String humanReadableId, Branch branch, IArtifactType artifactType) throws OseeCoreException {
super(parentFactory, guid, humanReadableId, branch, artifactType);
}
- public void resetAttributesOffChildren(SkynetTransaction transaction) throws OseeCoreException {
- ChangeTypeColumn.resetChangeTypeOffChildren(this);
- resetPriorityOffChildren();
- resetUserCommunityOffChildren();
- resetTitleOffChildren();
- resetValidationOffChildren();
- resetDescriptionOffChildren();
- persist(transaction);
- }
-
- public boolean hasAtsWorldChildren() {
- return true;
- }
-
- public Set<ActionableItemArtifact> getActionableItems() throws OseeCoreException {
- Set<ActionableItemArtifact> aias = new HashSet<ActionableItemArtifact>();
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- aias.addAll(team.getActionableItemsDam().getActionableItems());
- }
- return aias;
- }
-
- /**
- * Reset Action title only if all children are titled the same
- */
- private void resetTitleOffChildren() throws OseeCoreException {
- String title = "";
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (title.isEmpty()) {
- title = team.getName();
- } else if (!title.equals(team.getName())) {
- return;
- }
- }
- if (!title.equals(getName())) {
- setName(title);
- }
- }
-
- // Set validation to true if any require validation
- private void resetValidationOffChildren() throws OseeCoreException {
- boolean validationRequired = false;
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (team.getSoleAttributeValue(AtsAttributeTypes.ValidationRequired, false)) {
- validationRequired = true;
- }
- }
- if (validationRequired != getSoleAttributeValue(AtsAttributeTypes.ValidationRequired, false)) {
- setSoleAttributeValue(AtsAttributeTypes.ValidationRequired, validationRequired);
- }
- }
-
- /**
- * Reset Action title only if all children are titled the same
- */
- private void resetDescriptionOffChildren() throws OseeCoreException {
- String desc = "";
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (desc.isEmpty()) {
- desc = team.getSoleAttributeValue(AtsAttributeTypes.Description, "");
- } else if (!desc.equals(team.getSoleAttributeValue(AtsAttributeTypes.Description, ""))) {
- return;
- }
- }
- if (!desc.equals(getSoleAttributeValue(AtsAttributeTypes.Description, ""))) {
- setSoleAttributeValue(AtsAttributeTypes.Description, desc);
- }
- if (desc.isEmpty()) {
- deleteSoleAttribute(AtsAttributeTypes.Description);
- }
- }
-
- private void resetPriorityOffChildren() throws OseeCoreException {
- String priorityType = null;
- Collection<TeamWorkFlowArtifact> teamArts = getTeamWorkFlowArtifacts();
- if (teamArts.size() == 1) {
- priorityType = PriorityColumn.getPriorityStr(teamArts.iterator().next());
- } else {
- for (TeamWorkFlowArtifact team : teamArts) {
- if (!team.isCancelled()) {
- if (priorityType == null) {
- priorityType = PriorityColumn.getPriorityStr(team);
- } else if (!priorityType.equals(PriorityColumn.getPriorityStr(team))) {
- return;
- }
- }
- }
- }
- if (Strings.isValid(priorityType)) {
- setSoleAttributeValue(AtsAttributeTypes.PriorityType, priorityType);
- }
- }
-
- private void resetUserCommunityOffChildren() throws OseeCoreException {
- Set<String> userComs = new HashSet<String>();
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (!team.isCancelled()) {
- userComs.addAll(team.getAttributesToStringList(AtsAttributeTypes.UserCommunity));
- }
- }
- setAttributeValues(AtsAttributeTypes.UserCommunity, userComs);
- }
-
public Collection<TeamWorkFlowArtifact> getTeamWorkFlowArtifacts() throws OseeCoreException {
return getRelatedArtifactsUnSorted(AtsRelationTypes.ActionToWorkflow_WorkFlow, TeamWorkFlowArtifact.class);
}
@Override
- public String getAssigneeStr() throws OseeCoreException {
- Set<User> pocs = new HashSet<User>();
- Set<User> implementers = new HashSet<User>();
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- if (team.isCompletedOrCancelled()) {
- implementers.addAll(team.getImplementers());
- } else {
- pocs.addAll(team.getStateMgr().getAssignees());
- }
- }
- return Artifacts.toString("; ", pocs) + (implementers.isEmpty() ? "" : "(" + Artifacts.toString("; ",
- implementers) + ")");
- }
-
- @Override
- public Image getAssigneeImage() throws OseeCoreException {
- for (TeamWorkFlowArtifact team : getTeamWorkFlowArtifacts()) {
- Image image = team.getAssigneeImage();
- if (image != null) {
- return image;
- }
- }
- return null;
- }
-
- @Override
public void atsDelete(Set<Artifact> deleteArts, Map<Artifact, Object> allRelated) throws OseeCoreException {
super.atsDelete(deleteArts, allRelated);
// Delete all products
@@ -326,8 +184,4 @@ public class ActionArtifact extends AbstractAtsArtifact implements IWorldViewArt
return rollPercent.intValue();
}
- public String getWorldViewLastUpdated() throws OseeCoreException {
- return DateUtil.getMMDDYYHHMM(getLastModified());
- }
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java
index 6d6d217de12..d7f36c5a875 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/AtsArtifactFactory.java
@@ -13,12 +13,16 @@ package org.eclipse.osee.ats.artifact;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.logging.Level;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
+import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.artifact.ArtifactFactory;
@@ -31,6 +35,15 @@ public class AtsArtifactFactory extends ArtifactFactory {
super(AtsArtifactTypes.Action, AtsArtifactTypes.PeerToPeerReview, AtsArtifactTypes.DecisionReview,
AtsArtifactTypes.ActionableItem, AtsArtifactTypes.Task, AtsArtifactTypes.TeamWorkflow,
AtsArtifactTypes.TeamDefinition, AtsArtifactTypes.Version, AtsArtifactTypes.Goal);
+ for (ITeamWorkflowProvider atsTeamWorkflow : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
+ try {
+ for (IArtifactType teamWorkflowTypeName : atsTeamWorkflow.getTeamWorkflowArtifactTypes()) {
+ registerAsResponsible(teamWorkflowTypeName);
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ }
}
@Override
@@ -53,8 +66,10 @@ public class AtsArtifactFactory extends ArtifactFactory {
return new PeerToPeerReviewArtifact(this, guid, humandReadableId, branch, artifactType);
} else if (artifactType.equals(AtsArtifactTypes.Goal)) {
return new GoalArtifact(this, guid, humandReadableId, branch, artifactType);
+ } else if (TeamWorkflowProviders.getAllTeamWorkflowArtifactTypes().contains(artifactType)) {
+ return new TeamWorkFlowArtifact(this, guid, humandReadableId, branch, artifactType);
} else {
- throw new OseeArgumentException("did not recognize the artifact type [%s]", artifactType);
+ throw new OseeArgumentException("AtsArtifactFactory did not recognize the artifact type [%s]", artifactType);
}
}
@@ -64,6 +79,7 @@ public class AtsArtifactFactory extends ArtifactFactory {
artifactTypes.add(AtsArtifactTypes.Version);
artifactTypes.add(AtsArtifactTypes.TeamDefinition);
artifactTypes.add(AtsArtifactTypes.ActionableItem);
+ artifactTypes.add(AtsArtifactTypes.WorkDefinition);
artifactTypes.add(CoreArtifactTypes.WorkRuleDefinition);
artifactTypes.add(CoreArtifactTypes.WorkFlowDefinition);
artifactTypes.add(CoreArtifactTypes.WorkWidgetDefinition);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java
index 5ab69727815..3a8f37841c4 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkFlowArtifact.java
@@ -18,6 +18,7 @@ import java.util.logging.Level;
import org.eclipse.nebula.widgets.xviewer.XViewerCells;
import org.eclipse.osee.ats.config.AtsCacheManager;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.ActionArtifactRollup;
import org.eclipse.osee.ats.util.AtsBranchManager;
import org.eclipse.osee.ats.util.AtsRelationTypes;
import org.eclipse.osee.ats.util.StateManager;
@@ -75,7 +76,8 @@ public class TeamWorkFlowArtifact extends AbstractTaskableArtifact implements IB
public void saveSMA(SkynetTransaction transaction) {
super.saveSMA(transaction);
try {
- getParentActionArtifact().resetAttributesOffChildren(transaction);
+ ActionArtifactRollup rollup = new ActionArtifactRollup(getParentActionArtifact(), transaction);
+ rollup.resetAttributesOffChildren();
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Can't reset Action parent of children", ex);
}
@@ -230,20 +232,14 @@ public class TeamWorkFlowArtifact extends AbstractTaskableArtifact implements IB
return branchMgr;
}
- /**
- * 5-9 character short name for UI and display purposes
- */
- public String getArtifactTypeShortName() {
- return "";
- }
-
public String getBranchName() {
String smaTitle = getName();
if (smaTitle.length() > 40) {
smaTitle = smaTitle.substring(0, 39) + "...";
}
- if (Strings.isValid(getArtifactTypeShortName())) {
- return String.format("%s - %s - %s", getHumanReadableId(), getArtifactTypeShortName(), smaTitle);
+ String typeName = TeamWorkflowManager.getArtifactTypeShortName(this);
+ if (Strings.isValid(typeName)) {
+ return String.format("%s - %s - %s", getHumanReadableId(), typeName, smaTitle);
} else {
return String.format("%s - %s", getHumanReadableId(), smaTitle);
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowManager.java
index bb62ad3ca34..7b39cebfc25 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowManager.java
@@ -12,10 +12,12 @@
package org.eclipse.osee.ats.artifact;
import java.util.Date;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
import org.eclipse.osee.ats.util.TeamState;
import org.eclipse.osee.ats.util.TransitionOption;
import org.eclipse.osee.ats.workflow.TransitionManager;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
@@ -184,4 +186,31 @@ public class TeamWorkflowManager {
return Result.TrueResult;
}
+ /**
+ * Assigned or computed Id that will show at the top of the editor
+ */
+ public static String getPcrId(AbstractWorkflowArtifact awa) throws OseeCoreException {
+ TeamWorkFlowArtifact teamArt = awa.getParentTeamWorkflow();
+ for (ITeamWorkflowProvider atsTeamWorkflow : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
+ String pcrId = atsTeamWorkflow.getPcrId(teamArt);
+ if (Strings.isValid(pcrId)) {
+ return pcrId;
+ }
+ }
+ if (teamArt != null) {
+ return teamArt.getTeamName() + " " + awa.getHumanReadableId();
+ }
+ return "";
+ }
+
+ public static String getArtifactTypeShortName(TeamWorkFlowArtifact teamArt) {
+ for (ITeamWorkflowProvider atsTeamWorkflow : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
+ String typeName = atsTeamWorkflow.getArtifactTypeShortName(teamArt);
+ if (Strings.isValid(typeName)) {
+ return typeName;
+ }
+ }
+ return null;
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowExtensions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowProviders.java
index 603cf0607f8..44165efbfd2 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowExtensions.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/artifact/TeamWorkflowProviders.java
@@ -16,7 +16,7 @@ import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.framework.core.data.IArtifactType;
@@ -28,19 +28,19 @@ import org.osgi.framework.Bundle;
/**
* @author Donald G. Dunne
*/
-public final class TeamWorkflowExtensions {
+public final class TeamWorkflowProviders {
- private static Set<IAtsTeamWorkflow> teamWorkflowExtensionItems;
+ private static Set<ITeamWorkflowProvider> atsTeamWorkflows;
- private TeamWorkflowExtensions() {
+ private TeamWorkflowProviders() {
// private constructor
}
public static Set<IArtifactType> getAllTeamWorkflowArtifactTypes() throws OseeCoreException {
Set<IArtifactType> artifactTypes = new HashSet<IArtifactType>();
artifactTypes.add(AtsArtifactTypes.TeamWorkflow);
- for (IAtsTeamWorkflow ext : getAtsTeamWorkflowExtensions()) {
- artifactTypes.addAll(ext.getTeamWorkflowArtifactNames());
+ for (ITeamWorkflowProvider ext : getAtsTeamWorkflowExtensions()) {
+ artifactTypes.addAll(ext.getTeamWorkflowArtifactTypes());
}
return artifactTypes;
}
@@ -48,16 +48,17 @@ public final class TeamWorkflowExtensions {
/*
* due to lazy initialization, this function is non-reentrant therefore, the synchronized keyword is necessary
*/
- public synchronized static Set<IAtsTeamWorkflow> getAtsTeamWorkflowExtensions() {
- if (teamWorkflowExtensionItems != null) {
- return teamWorkflowExtensionItems;
+ public synchronized static Set<ITeamWorkflowProvider> getAtsTeamWorkflowExtensions() {
+ if (atsTeamWorkflows != null) {
+ return atsTeamWorkflows;
}
- teamWorkflowExtensionItems = new HashSet<IAtsTeamWorkflow>();
+ atsTeamWorkflows = new HashSet<ITeamWorkflowProvider>();
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.osee.ats.AtsTeamWorkflow");
+ IExtensionPoint point =
+ Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.osee.ats.AtsTeamWorkflowProvider");
if (point == null) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Can't access AtsTeamWorkflow extension point");
- return teamWorkflowExtensionItems;
+ return atsTeamWorkflows;
}
IExtension[] extensions = point.getExtensions();
for (IExtension extension : extensions) {
@@ -65,7 +66,7 @@ public final class TeamWorkflowExtensions {
String classname = null;
String bundleName = null;
for (IConfigurationElement el : elements) {
- if (el.getName().equals("AtsTeamWorkflow")) {
+ if (el.getName().equals("TeamWorkflowProvider")) {
classname = el.getAttribute("classname");
bundleName = el.getContributor().getName();
if (classname != null && bundleName != null) {
@@ -73,15 +74,16 @@ public final class TeamWorkflowExtensions {
try {
Class<?> taskClass = bundle.loadClass(classname);
Object obj = taskClass.newInstance();
- teamWorkflowExtensionItems.add((IAtsTeamWorkflow) obj);
+ atsTeamWorkflows.add((ITeamWorkflowProvider) obj);
} catch (Exception ex) {
- OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, "Error loading AtsTeamWorkflow extension", ex);
+ OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP,
+ "Error loading TeamWorkflowProvider extension", ex);
}
}
}
}
}
- return teamWorkflowExtensionItems;
+ return atsTeamWorkflows;
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/AssigneeColumn.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/AssigneeColumn.java
index 63df874da31..f268622fe6f 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/AssigneeColumn.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/AssigneeColumn.java
@@ -17,9 +17,11 @@ import org.eclipse.nebula.widgets.xviewer.XViewerCells;
import org.eclipse.nebula.widgets.xviewer.XViewerColumn;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.ActionArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.ActionManager;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.xviewer.column.XViewerAtsColumn;
-import org.eclipse.osee.ats.world.IWorldViewArtifact;
import org.eclipse.osee.ats.world.WorldXViewerFactory;
import org.eclipse.osee.framework.core.data.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -30,6 +32,7 @@ import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.utility.Artifacts;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.skynet.FrameworkArtifactImageProvider;
import org.eclipse.osee.framework.ui.skynet.widgets.dialog.UserCheckTreeDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
@@ -142,8 +145,8 @@ public class AssigneeColumn extends XViewerAtsColumn implements IXViewerValueCol
@Override
public String getColumnText(Object element, XViewerColumn column, int columnIndex) {
try {
- if (element instanceof IWorldViewArtifact) {
- return ((IWorldViewArtifact) element).getAssigneeStr();
+ if (element instanceof Artifact) {
+ return getAssigneeStr((Artifact) element);
}
} catch (OseeCoreException ex) {
return XViewerCells.getCellExceptionString(ex);
@@ -177,12 +180,59 @@ public class AssigneeColumn extends XViewerAtsColumn implements IXViewerValueCol
@Override
public Image getColumnImage(Object element, XViewerColumn xCol, int columnIndex) {
try {
- if (element instanceof IWorldViewArtifact) {
- return ((IWorldViewArtifact) element).getAssigneeImage();
+ if (element instanceof Artifact) {
+ return AssigneeColumn.getAssigneeImage((Artifact) element);
}
} catch (Exception ex) {
// do nothing
}
return null;
}
+
+ public static Image getAssigneeImage(Artifact artifact) throws OseeCoreException {
+ if (artifact.isDeleted()) {
+ return null;
+ }
+ if (artifact instanceof AbstractWorkflowArtifact) {
+ return FrameworkArtifactImageProvider.getUserImage(((AbstractWorkflowArtifact) artifact).getStateMgr().getAssignees());
+ }
+ if (artifact.isOfType(AtsArtifactTypes.Action)) {
+ for (TeamWorkFlowArtifact team : ActionManager.getTeamWorkFlowArtifacts(artifact)) {
+ Image image = AssigneeColumn.getAssigneeImage(team);
+ if (image != null) {
+ return image;
+ }
+ }
+ }
+ return null;
+
+ }
+
+ public static String getAssigneeStr(Artifact artifact) throws OseeCoreException {
+ if (artifact.isOfType(AtsArtifactTypes.Action)) {
+ Set<User> pocs = new HashSet<User>();
+ Set<User> implementers = new HashSet<User>();
+ for (TeamWorkFlowArtifact team : ActionManager.getTeamWorkFlowArtifacts(artifact)) {
+ if (team.isCompletedOrCancelled()) {
+ implementers.addAll(team.getImplementers());
+ } else {
+ pocs.addAll(team.getStateMgr().getAssignees());
+ }
+ }
+ return Artifacts.toString("; ", pocs) + (implementers.isEmpty() ? "" : "(" + Artifacts.toString("; ",
+ implementers) + ")");
+ } else if (artifact.isOfType(AtsArtifactTypes.StateMachineArtifact)) {
+ AbstractWorkflowArtifact awa = (AbstractWorkflowArtifact) artifact;
+ if (awa.isCompletedOrCancelled()) {
+ if (awa.implementersStr == null && !awa.getImplementers().isEmpty()) {
+ awa.implementersStr = "(" + Artifacts.toString("; ", awa.getImplementers()) + ")";
+ }
+ return awa.implementersStr;
+ }
+ return Artifacts.toString("; ", awa.getStateMgr().getAssignees());
+
+ }
+ return "";
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ChangeTypeColumn.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ChangeTypeColumn.java
index e6f28771a10..2402f554027 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ChangeTypeColumn.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ChangeTypeColumn.java
@@ -17,8 +17,11 @@ import org.eclipse.osee.ats.artifact.ActionArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.ActionManager;
+import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.xviewer.column.XViewerAtsAttributeValueColumn;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -181,9 +184,12 @@ public class ChangeTypeColumn extends XViewerAtsAttributeValueColumn {
return null;
}
- public static void resetChangeTypeOffChildren(ActionArtifact actionArt) throws OseeCoreException {
+ public static void resetChangeTypeOffChildren(Artifact actionArt) throws OseeCoreException {
+ if (!actionArt.isOfType(AtsArtifactTypes.Action)) {
+ throw new OseeArgumentException("Artifact must be an Action instead of [%s]", actionArt.getArtifactTypeName());
+ }
ChangeType changeType = null;
- Collection<TeamWorkFlowArtifact> teamArts = actionArt.getTeamWorkFlowArtifacts();
+ Collection<TeamWorkFlowArtifact> teamArts = ActionManager.getTeamWorkFlowArtifacts(actionArt);
if (teamArts.size() == 1) {
changeType = getChangeType(teamArts.iterator().next());
} else {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ParentIdColumn.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ParentIdColumn.java
index b8e01de6bfa..55468cf9073 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ParentIdColumn.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/column/ParentIdColumn.java
@@ -9,6 +9,7 @@ import org.eclipse.nebula.widgets.xviewer.IXViewerValueColumn;
import org.eclipse.nebula.widgets.xviewer.XViewerCells;
import org.eclipse.nebula.widgets.xviewer.XViewerColumn;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkflowManager;
import org.eclipse.osee.ats.util.xviewer.column.XViewerAtsColumn;
import org.eclipse.osee.ats.world.WorldXViewerFactory;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -42,12 +43,11 @@ public class ParentIdColumn extends XViewerAtsColumn implements IXViewerValueCol
public String getColumnText(Object element, XViewerColumn column, int columnIndex) {
try {
if (element instanceof AbstractWorkflowArtifact && ((AbstractWorkflowArtifact) element).getParentSMA() != null) {
- return ((AbstractWorkflowArtifact) element).getParentSMA().getPcrId();
+ return TeamWorkflowManager.getPcrId(((AbstractWorkflowArtifact) element).getParentSMA());
}
} catch (OseeCoreException ex) {
return XViewerCells.getCellExceptionString(ex);
}
return "";
}
-
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAActionableItemHeader.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAActionableItemHeader.java
index 9c6ab4b9575..2ec61968874 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAActionableItemHeader.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAActionableItemHeader.java
@@ -15,6 +15,7 @@ import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.ActionableItemsColumn;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.ActionManager;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -88,7 +89,7 @@ public class SMAActionableItemHeader extends Composite {
}
final TeamWorkFlowArtifact teamWf = (TeamWorkFlowArtifact) sma;
if (!sma.isCancelled() && !sma.isCompleted()) {
- if (teamWf.getParentActionArtifact().getActionableItems().isEmpty()) {
+ if (ActionManager.getActionableItems(teamWf.getParentActionArtifact()).isEmpty()) {
label.setText(" " + "Error: No Actionable Items identified.");
label.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
} else {
@@ -108,7 +109,7 @@ public class SMAActionableItemHeader extends Composite {
label.update();
layout();
} else {
- if (teamWf.getParentActionArtifact().getActionableItems().isEmpty()) {
+ if (ActionManager.getActionableItems(teamWf.getParentActionArtifact()).isEmpty()) {
label.setText(" " + "Error: No Actionable Items identified.");
label.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
} else {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java
index 1f6e05cadac..de8f3c45274 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAPrint.java
@@ -19,7 +19,9 @@ import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkflowManager;
import org.eclipse.osee.ats.artifact.note.NoteItem;
+import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.column.ChangeTypeColumn;
import org.eclipse.osee.ats.column.DeadlineColumn;
import org.eclipse.osee.ats.column.PriorityColumn;
@@ -29,7 +31,6 @@ import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.Overview;
import org.eclipse.osee.ats.workdef.StateXWidgetPage;
-import org.eclipse.osee.ats.world.IWorldViewArtifact;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.jdk.core.util.DateUtil;
@@ -75,7 +76,7 @@ public class SMAPrint extends Action {
//
AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Team: ", TeamColumn.getName(sma)),
//
- AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Assignees: ", ((IWorldViewArtifact) sma).getAssigneeStr()),
+ AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Assignees: ", AssigneeColumn.getAssigneeStr(sma)),
//
AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Originator: ", sma.getCreatedBy().getName()),
//
@@ -90,11 +91,12 @@ public class SMAPrint extends Action {
AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Priority: ", PriorityColumn.getPriorityStr(sma)),
AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Need By: ", DeadlineColumn.getDateStr(sma))}));
+ String pcrId = TeamWorkflowManager.getPcrId(sma);
resultData.addRaw(AHTML.addRowMultiColumnTable(new String[] {
//
AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Workflow: ", sma.getArtifactTypeName()),
AHTML.getLabelValueStr(AHTML.LABEL_FONT, "HRID: ", sma.getHumanReadableId()),
- (sma.getPcrId() == null ? "" : AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Id: ", sma.getPcrId()))}));
+ (pcrId == null ? "" : AHTML.getLabelValueStr(AHTML.LABEL_FONT, "Id: ", pcrId))}));
resultData.addRaw(AHTML.endMultiColumnTable());
for (NoteItem note : sma.getNotes().getNoteItems()) {
if (note.getState().equals("")) {
@@ -136,7 +138,7 @@ public class SMAPrint extends Action {
rd.addRaw(AHTML.addRowMultiColumnTable(new String[] {
art.getName(),
art.getStateMgr().getCurrentStateName().replaceAll("(Task|State)", ""),
- art.getAssigneeStr(),
+ AssigneeColumn.getAssigneeStr(art),
art.getPercentCompleteSMATotal() + "",
art.getHoursSpentSMATotal() + "",
art.getSoleAttributeValue(AtsAttributeTypes.Resolution, ""),
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java
index 3ebcd83db80..5582d2a4d95 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAWorkFlowTab.java
@@ -41,6 +41,7 @@ import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.GoalArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.artifact.TeamWorkflowManager;
import org.eclipse.osee.ats.artifact.note.NoteItem;
import org.eclipse.osee.ats.config.AtsBulkLoad;
import org.eclipse.osee.ats.internal.AtsPlugin;
@@ -607,7 +608,8 @@ public class SMAWorkFlowTab extends FormPage implements IActionable {
if (sma.isTeamWorkflow()) {
FormsUtil.createLabelText(toolkit, topLineComp, "Team: ", ((TeamWorkFlowArtifact) sma).getTeamName());
} else if ((sma.isTask() || sma.isReview()) && sma.getParentSMA() != null) {
- FormsUtil.createLabelText(toolkit, topLineComp, "Parent Id: ", sma.getParentSMA().getPcrId());
+ String pcrId = TeamWorkflowManager.getPcrId(sma.getParentSMA());
+ FormsUtil.createLabelText(toolkit, topLineComp, "Parent Id: ", pcrId);
}
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
@@ -616,8 +618,9 @@ public class SMAWorkFlowTab extends FormPage implements IActionable {
sma.getHumanReadableId());
try {
- if (Strings.isValid(sma.getPcrId())) {
- FormsUtil.createLabelText(toolkit, topLineComp, " Id: ", sma.getPcrId());
+ String pcrId = TeamWorkflowManager.getPcrId(sma);
+ if (Strings.isValid(pcrId)) {
+ FormsUtil.createLabelText(toolkit, topLineComp, " Id: ", pcrId);
}
} catch (OseeCoreException ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateChangeReports.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateChangeReports.java
index 333f0d44e31..302380ffbd6 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateChangeReports.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/health/ValidateChangeReports.java
@@ -22,7 +22,7 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
+import org.eclipse.osee.ats.artifact.TeamWorkflowProviders;
import org.eclipse.osee.ats.health.change.DataChangeReportComparer;
import org.eclipse.osee.ats.health.change.ValidateChangeReportParser;
import org.eclipse.osee.ats.internal.AtsPlugin;
@@ -126,7 +126,7 @@ public class ValidateChangeReports extends XNavigateItemAction {
StringBuffer sbFull = new StringBuffer(AHTML.beginMultiColumnTable(100, 1));
String[] columnHeaders = new String[] {"HRID", "PCR", "Results"};
sbFull.append(AHTML.addHeaderRowMultiColumnTable(columnHeaders));
- for (IArtifactType artifactType : TeamWorkflowExtensions.getAllTeamWorkflowArtifactTypes()) {
+ for (IArtifactType artifactType : TeamWorkflowProviders.getAllTeamWorkflowArtifactTypes()) {
sbFull.append(AHTML.addRowSpanMultiColumnTable(artifactType.getName(), columnHeaders.length));
try {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperItem.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperItem.java
index fa5fd84d781..1f511115a93 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperItem.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/hyper/ActionHyperItem.java
@@ -16,6 +16,7 @@ import java.util.logging.Level;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.ActionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -122,10 +123,8 @@ public class ActionHyperItem extends HyperViewItem {
return null;
}
try {
- if (artifact instanceof AbstractWorkflowArtifact) {
- return ((AbstractWorkflowArtifact) artifact).getAssigneeImage();
- } else if (artifact instanceof ActionArtifact) {
- return ((ActionArtifact) artifact).getAssigneeImage();
+ if (artifact instanceof AbstractWorkflowArtifact || artifact instanceof ActionArtifact) {
+ return AssigneeColumn.getAssigneeImage((Artifact) artifact);
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DuplicateWorkflowBlam.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DuplicateWorkflowBlam.java
index b07cdd346a5..82e2b7518bb 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DuplicateWorkflowBlam.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DuplicateWorkflowBlam.java
@@ -17,12 +17,11 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
import org.eclipse.osee.ats.artifact.AbstractTaskableArtifact;
-import org.eclipse.osee.ats.artifact.ActionArtifact.CreateTeamOption;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
+import org.eclipse.osee.ats.artifact.TeamWorkflowProviders;
import org.eclipse.osee.ats.artifact.log.LogType;
import org.eclipse.osee.ats.editor.SMAEditor;
import org.eclipse.osee.ats.internal.AtsPlugin;
@@ -62,6 +61,9 @@ public class DuplicateWorkflowBlam extends AbstractBlam {
private final static String DUPLICATE_METHOD = "Duplicate Method";
private final static String TITLE = "New Title (blank for same title)";
private Collection<? extends TeamWorkFlowArtifact> defaultTeamWorkflows;
+ public static enum CreateTeamOption {
+ Duplicate_If_Exists; // If option exists, then duplication of workflow of same team definition is allowed
+ };
public DuplicateWorkflowBlam() {
// do nothing
@@ -167,7 +169,7 @@ public class DuplicateWorkflowBlam extends AbstractBlam {
dupArt.persist(transaction);
// Notify all extension points that workflow is being duplicated in case they need to add, remove
// attributes or relations
- for (IAtsTeamWorkflow teamExtension : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
+ for (ITeamWorkflowProvider teamExtension : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
teamExtension.teamWorkflowDuplicating(teamArt, dupArt);
}
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionArtifactRollup.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionArtifactRollup.java
new file mode 100644
index 00000000000..7a7b3ba8ac3
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionArtifactRollup.java
@@ -0,0 +1,125 @@
+/*
+ * Created on Mar 7, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.util;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
+import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
+import org.eclipse.osee.ats.column.ChangeTypeColumn;
+import org.eclipse.osee.ats.column.PriorityColumn;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+
+public class ActionArtifactRollup {
+
+ private final Artifact action;
+ private final SkynetTransaction transaction;
+
+ public ActionArtifactRollup(Artifact action, SkynetTransaction transaction) throws OseeArgumentException {
+ this.action = action;
+ this.transaction = transaction;
+ if (!action.isOfType(AtsArtifactTypes.Action)) {
+ throw new OseeArgumentException("Artifact must be an Action instead of [%s]", action.getArtifactTypeName());
+ }
+ }
+
+ public void resetAttributesOffChildren() throws OseeCoreException {
+ ChangeTypeColumn.resetChangeTypeOffChildren(action);
+ resetPriorityOffChildren();
+ resetUserCommunityOffChildren();
+ resetTitleOffChildren();
+ resetValidationOffChildren();
+ resetDescriptionOffChildren();
+ action.persist(transaction);
+ }
+
+ /**
+ * Reset Action title only if all children are titled the same
+ */
+ private void resetTitleOffChildren() throws OseeCoreException {
+ String title = "";
+ for (TeamWorkFlowArtifact team : ActionManager.getTeamWorkFlowArtifacts(action)) {
+ if (title.isEmpty()) {
+ title = team.getName();
+ } else if (!title.equals(team.getName())) {
+ return;
+ }
+ }
+ if (!title.equals(action.getName())) {
+ action.setName(title);
+ }
+ }
+
+ // Set validation to true if any require validation
+ private void resetValidationOffChildren() throws OseeCoreException {
+ boolean validationRequired = false;
+ for (TeamWorkFlowArtifact team : ActionManager.getTeamWorkFlowArtifacts(action)) {
+ if (team.getSoleAttributeValue(AtsAttributeTypes.ValidationRequired, false)) {
+ validationRequired = true;
+ }
+ }
+ if (validationRequired != action.getSoleAttributeValue(AtsAttributeTypes.ValidationRequired, false)) {
+ action.setSoleAttributeValue(AtsAttributeTypes.ValidationRequired, validationRequired);
+ }
+ }
+
+ /**
+ * Reset Action title only if all children are titled the same
+ */
+ private void resetDescriptionOffChildren() throws OseeCoreException {
+ String desc = "";
+ for (TeamWorkFlowArtifact team : ActionManager.getTeamWorkFlowArtifacts(action)) {
+ if (desc.isEmpty()) {
+ desc = team.getSoleAttributeValue(AtsAttributeTypes.Description, "");
+ } else if (!desc.equals(team.getSoleAttributeValue(AtsAttributeTypes.Description, ""))) {
+ return;
+ }
+ }
+ if (!desc.equals(action.getSoleAttributeValue(AtsAttributeTypes.Description, ""))) {
+ action.setSoleAttributeValue(AtsAttributeTypes.Description, desc);
+ }
+ if (desc.isEmpty()) {
+ action.deleteSoleAttribute(AtsAttributeTypes.Description);
+ }
+ }
+
+ private void resetPriorityOffChildren() throws OseeCoreException {
+ String priorityType = null;
+ Collection<TeamWorkFlowArtifact> teamArts = ActionManager.getTeamWorkFlowArtifacts(action);
+ if (teamArts.size() == 1) {
+ priorityType = PriorityColumn.getPriorityStr(teamArts.iterator().next());
+ } else {
+ for (TeamWorkFlowArtifact team : teamArts) {
+ if (!team.isCancelled()) {
+ if (priorityType == null) {
+ priorityType = PriorityColumn.getPriorityStr(team);
+ } else if (!priorityType.equals(PriorityColumn.getPriorityStr(team))) {
+ return;
+ }
+ }
+ }
+ }
+ if (Strings.isValid(priorityType)) {
+ action.setSoleAttributeValue(AtsAttributeTypes.PriorityType, priorityType);
+ }
+ }
+
+ private void resetUserCommunityOffChildren() throws OseeCoreException {
+ Set<String> userComs = new HashSet<String>();
+ for (TeamWorkFlowArtifact team : ActionManager.getTeamWorkFlowArtifacts(action)) {
+ if (!team.isCancelled()) {
+ userComs.addAll(team.getAttributesToStringList(AtsAttributeTypes.UserCommunity));
+ }
+ }
+ action.setAttributeValues(AtsAttributeTypes.UserCommunity, userComs);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionManager.java
index a646c9b71b2..0afdd1ce723 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionManager.java
@@ -12,19 +12,21 @@ package org.eclipse.osee.ats.util;
import java.util.Collection;
import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
import java.util.logging.Level;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
import org.eclipse.osee.ats.actions.wizard.INewActionListener;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
import org.eclipse.osee.ats.artifact.ActionArtifact;
-import org.eclipse.osee.ats.artifact.ActionArtifact.CreateTeamOption;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
+import org.eclipse.osee.ats.artifact.TeamWorkflowProviders;
import org.eclipse.osee.ats.column.ChangeTypeColumn;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.operation.DuplicateWorkflowBlam.CreateTeamOption;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
@@ -85,10 +87,10 @@ public class ActionManager {
public static TeamWorkFlowArtifact createTeamWorkflow(ActionArtifact actionArt, TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems, Collection<User> assignees, SkynetTransaction transaction, Date createdDate, User createdBy, INewActionListener newActionListener, CreateTeamOption... createTeamOption) throws OseeCoreException {
IArtifactType teamWorkflowArtifact = AtsArtifactTypes.TeamWorkflow;
- IAtsTeamWorkflow teamExt = null;
+ ITeamWorkflowProvider teamExt = null;
// Check if any plugins want to create the team workflow themselves
- for (IAtsTeamWorkflow teamExtension : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
+ for (ITeamWorkflowProvider teamExtension : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
boolean isResponsible = false;
try {
isResponsible = teamExtension.isResponsibleForTeamWorkflowCreation(teamDef, actionableItems);
@@ -204,4 +206,19 @@ public class ActionManager {
}
}
+ public static Set<ActionableItemArtifact> getActionableItems(Artifact action) throws OseeCoreException {
+ Set<ActionableItemArtifact> aias = new HashSet<ActionableItemArtifact>();
+ if (action.isOfType(AtsArtifactTypes.Action)) {
+ for (TeamWorkFlowArtifact team : ((ActionArtifact) action).getTeamWorkFlowArtifacts()) {
+ aias.addAll(team.getActionableItemsDam().getActionableItems());
+ }
+ }
+ return aias;
+ }
+
+ public static Collection<TeamWorkFlowArtifact> getTeamWorkFlowArtifacts(Artifact actionArt) throws OseeCoreException {
+ return actionArt.getRelatedArtifactsUnSorted(AtsRelationTypes.ActionToWorkflow_WorkFlow,
+ TeamWorkFlowArtifact.class);
+ }
+
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionableItemManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionableItemManager.java
index 442f050172e..1e39fe24fba 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionableItemManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/ActionableItemManager.java
@@ -41,7 +41,7 @@ public class ActionableItemManager {
"Select New Impacted Actionable Items\n\n" + "Note: Un-selecting existing items will NOT remove the impact.\n" + "Team Workflow with no impact should be transitioned to Cancelled.",
Active.Active);
- diag.setInitialAias(actionArt.getActionableItems());
+ diag.setInitialAias(ActionManager.getActionableItems(actionArt));
if (diag.open() != 0) {
return Result.FalseResult;
}
@@ -198,7 +198,8 @@ public class ActionableItemManager {
teamArt.setTeamDefinition(teamDefinition);
}
SkynetTransaction transaction = new SkynetTransaction(branch, "Converate Actionable Item");
- teamArt.getParentActionArtifact().resetAttributesOffChildren(transaction);
+ ActionArtifactRollup rollup = new ActionArtifactRollup(teamArt.getParentActionArtifact(), transaction);
+ rollup.resetAttributesOffChildren();
teamArt.persist(transaction);
transaction.execute();
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java
index a5bbc26da84..ab9d8268d57 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/Import/ExcelAtsActionArtifactExtractor.java
@@ -26,7 +26,6 @@ import java.util.Set;
import java.util.logging.Level;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osee.ats.artifact.ActionArtifact;
-import org.eclipse.osee.ats.artifact.ActionArtifact.CreateTeamOption;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
@@ -34,6 +33,7 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.artifact.VersionArtifact;
import org.eclipse.osee.ats.config.AtsCacheManager;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.operation.DuplicateWorkflowBlam.CreateTeamOption;
import org.eclipse.osee.ats.util.ActionManager;
import org.eclipse.osee.ats.util.AtsArtifactTypes;
import org.eclipse.osee.ats.util.AtsNotifyUsers;
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java
index 0d07cb754ac..f916ac6dfc8 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workdef/WorkDefinitionFactory.java
@@ -10,7 +10,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Level;
-import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsAttributeTypes;
import org.eclipse.osee.ats.artifact.DecisionReviewArtifact;
@@ -19,7 +19,7 @@ import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
+import org.eclipse.osee.ats.artifact.TeamWorkflowProviders;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.widgets.DecisionOption;
@@ -446,7 +446,7 @@ public class WorkDefinitionFactory {
private static WorkDefinitionMatch getWorkDefinitionForTask(TaskArtifact taskArt) throws OseeCoreException {
WorkDefinitionMatch match = new WorkDefinitionMatch();
- for (IAtsTeamWorkflow provider : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
+ for (ITeamWorkflowProvider provider : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
String workFlowDefId = provider.getRelatedTaskWorkflowDefinitionId(taskArt.getParentSMA());
if (Strings.isValid(workFlowDefId)) {
String translatedId = getOverrideWorkDefId(workFlowDefId);
@@ -494,7 +494,7 @@ public class WorkDefinitionFactory {
if (!match.isMatched() && artifact instanceof AbstractWorkflowArtifact) {
AbstractWorkflowArtifact aba = (AbstractWorkflowArtifact) artifact;
// Check extensions for definition handling
- for (IAtsTeamWorkflow provider : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
+ for (ITeamWorkflowProvider provider : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
String workFlowDefId = provider.getWorkflowDefinitionId(aba);
if (Strings.isValid(workFlowDefId)) {
match =
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java
index b3849bfe2d0..19350005461 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/workflow/item/AtsWorkDefinitions.java
@@ -18,7 +18,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
-import org.eclipse.osee.ats.actions.wizard.IAtsTeamWorkflow;
+import org.eclipse.osee.ats.actions.wizard.ITeamWorkflowProvider;
import org.eclipse.osee.ats.artifact.ATSAttributes;
import org.eclipse.osee.ats.artifact.AbstractWorkflowArtifact;
import org.eclipse.osee.ats.artifact.AtsArtifactToken;
@@ -28,7 +28,7 @@ import org.eclipse.osee.ats.artifact.GoalArtifact;
import org.eclipse.osee.ats.artifact.PeerToPeerReviewArtifact;
import org.eclipse.osee.ats.artifact.TaskArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
-import org.eclipse.osee.ats.artifact.TeamWorkflowExtensions;
+import org.eclipse.osee.ats.artifact.TeamWorkflowProviders;
import org.eclipse.osee.ats.column.ChangeTypeXWidget;
import org.eclipse.osee.ats.column.EstimatedHoursRequiredXWidget;
import org.eclipse.osee.ats.column.EstimatedHoursXWidget;
@@ -232,7 +232,7 @@ public final class AtsWorkDefinitions implements IWorkDefinitionProvider {
public WorkFlowDefinitionMatch getWorkFlowDefinitionForTask(TaskArtifact taskArt) throws OseeCoreException {
WorkFlowDefinitionMatch match = new WorkFlowDefinitionMatch();
- for (IAtsTeamWorkflow provider : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
+ for (ITeamWorkflowProvider provider : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
String workFlowDefId = provider.getRelatedTaskWorkflowDefinitionId(taskArt.getParentSMA());
if (Strings.isValid(workFlowDefId)) {
match.setWorkFlowDefinition((WorkFlowDefinition) WorkItemDefinitionFactory.getWorkItemDefinition(workFlowDefId));
@@ -277,7 +277,7 @@ public final class AtsWorkDefinitions implements IWorkDefinitionProvider {
if (artifact instanceof AbstractWorkflowArtifact) {
AbstractWorkflowArtifact aba = (AbstractWorkflowArtifact) artifact;
// Check extensions for definition handling
- for (IAtsTeamWorkflow provider : TeamWorkflowExtensions.getAtsTeamWorkflowExtensions()) {
+ for (ITeamWorkflowProvider provider : TeamWorkflowProviders.getAtsTeamWorkflowExtensions()) {
String workFlowDefId = provider.getWorkflowDefinitionId(aba);
if (Strings.isValid(workFlowDefId)) {
WorkFlowDefinition workDef =
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java
index 8ccc78a4e4c..fd5e116405e 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/IWorldViewArtifact.java
@@ -11,14 +11,9 @@
package org.eclipse.osee.ats.world;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.swt.graphics.Image;
public interface IWorldViewArtifact {
- Image getAssigneeImage() throws OseeCoreException;
-
- String getAssigneeStr() throws OseeCoreException;
-
/**
* @return estimated hours from workflow attribute, tasks and reviews
*/
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldAssigneeFilter.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldAssigneeFilter.java
index 8c3e098adcf..18410aa3276 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldAssigneeFilter.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldAssigneeFilter.java
@@ -13,6 +13,7 @@ package org.eclipse.osee.ats.world;
import java.util.regex.Pattern;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.osee.ats.column.AssigneeColumn;
import org.eclipse.osee.ats.internal.AtsPlugin;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -31,9 +32,8 @@ public class WorldAssigneeFilter extends ViewerFilter {
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
try {
- Artifact art = (Artifact) element;
- if (art instanceof IWorldViewArtifact) {
- return p.matcher(((IWorldViewArtifact) art).getAssigneeStr()).find();
+ if (element instanceof Artifact) {
+ return p.matcher(AssigneeColumn.getAssigneeStr((Artifact) element)).find();
}
} catch (Exception ex) {
OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex);
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java
index 1c17542950a..0587db9bf23 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewer.java
@@ -49,6 +49,7 @@ import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.column.GoalOrderColumn;
import org.eclipse.osee.ats.column.IPersistAltLeftClickProvider;
import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.ActionArtifactRollup;
import org.eclipse.osee.ats.util.ArtifactEmailWizard;
import org.eclipse.osee.ats.util.AtsUtil;
import org.eclipse.osee.ats.util.TeamState;
@@ -167,7 +168,8 @@ public class WorldXViewer extends XViewer implements ISelectedAtsArtifacts, IPer
try {
transaction = new SkynetTransaction(AtsUtil.getAtsBranch(), "Reset Action off Children");
for (ActionArtifact actionArt : getSelectedActionArtifacts()) {
- actionArt.resetAttributesOffChildren(transaction);
+ ActionArtifactRollup rollup = new ActionArtifactRollup(actionArt, transaction);
+ rollup.resetAttributesOffChildren();
}
transaction.execute();
} catch (OseeCoreException ex) {
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerSorter.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerSorter.java
index d0c15cd1e5e..cebc5d44266 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerSorter.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerSorter.java
@@ -38,18 +38,18 @@ public class WorldXViewerSorter extends XViewerSorter {
return 0;
}
XViewerColumn sortXCol = xViewer.getCustomizeMgr().getSortXCols().get(sortXColIndex);
- IWorldViewArtifact m1 = (IWorldViewArtifact) (Artifact) o1;
- IWorldViewArtifact m2 = (IWorldViewArtifact) (Artifact) o2;
+ Artifact m1 = (Artifact) o1;
+ Artifact m2 = (Artifact) o2;
if (sortXCol.equals(AssigneeColumn.getInstance())) {
int compareInt =
- getComparator().compare(m1.getAssigneeStr().replaceFirst("\\(", ""),
- m2.getAssigneeStr().replaceFirst("\\(", ""));
+ getComparator().compare(AssigneeColumn.getAssigneeStr(m1).replaceFirst("\\(", ""),
+ AssigneeColumn.getAssigneeStr(m2).replaceFirst("\\(", ""));
return getCompareBasedOnDirection(sortXCol, compareInt, viewer, o1, o2, sortXColIndex);
} else if (sortXCol.equals(ChangeTypeColumn.getInstance())) {
int compareInt =
- getComparator().compare(ChangeTypeColumn.getChangeType((Artifact) m1).ordinal() + "",
- ChangeTypeColumn.getChangeType((Artifact) m2).ordinal() + "");
+ getComparator().compare(ChangeTypeColumn.getChangeType(m1).ordinal() + "",
+ ChangeTypeColumn.getChangeType(m2).ordinal() + "");
return getCompareBasedOnDirection(sortXCol, compareInt, viewer, o1, o2, sortXColIndex);
}
diff --git a/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch b/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch
index 962da5d46fb..1028acdf4d1 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch
+++ b/plugins/org.eclipse.osee.client.integration.tests/MasterTestSuite_DemoDbInit.launch
@@ -35,8 +35,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="javax.xml@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.birt.chart.device.svg@default:default,org.eclipse.ant.core@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.equinox.p2.director.app@default:default,org.apache.batik.parser@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.platform.doc.isv@default:default,org.mortbay.jetty.util@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.jdt@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.boot@default:default,de.itemis.xtext.antlr@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.xtend@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.birt.chart.device.swt@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.xtext.xtend@default:default,org.eclipse.equinox.p2.ui@default:default,org.apache.commons.httpclient@default:default,org.apache.ant@default:default,org.eclipse.jsch.core@default:default,org.eclipse.help.ui@default:default,org.eclipse.ant.launching@default:default,com.ibm.icu@default:default,org.eclipse.platform@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.ui.intro@default:default,org.eclipse.help@default:default,org.eclipse.core.filebuffers@default:default,org.apache.batik.bridge@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.ui.console@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.birt.chart.engine.extension@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.apache.commons.logging*1.1.1.v201005080502@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.util@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.help.appserver@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.equinox.security@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.debug.core@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.pde.ua.core@default:default,com.google.collect@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.pde.core@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.osgi@-1:true,org.apache.xml.serializer@default:default,org.mozilla.javascript@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.eclipse.compare.core@default:default,org.eclipse.xtext@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.apache.lucene@default:default,org.eclipse.core.runtime@default:true,org.apache.batik.css@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.ant.ui@default:default,org.mortbay.jetty.server@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.equinox.concurrent@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.team.svn@default:default,org.apache.commons.cli@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.pde.ui@default:default,org.eclipse.compare.win32@default:default,org.eclipse.equinox.security.win32.x86@default:false,javax.servlet@default:default,org.eclipse.equinox.p2.repository@default:default,org.apache.batik.xml@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.emf.mwe.utils@default:default,org.aopalliance@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.ui.win32@default:false,org.eclipse.team.svn.help@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.sdk@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.apache.xml.resolver@default:default,org.eclipse.ui@default:default,org.apache.batik.svggen@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.cvs@default:default,org.apache.commons.net@default:default,org.sat4j.pb@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.team.svn.core@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.core.expressions@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.common@2:true,org.eclipse.jdt.junit@default:default,org.apache.lucene.analysis@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.search@default:default,org.antlr.gen@default:default,org.eclipse.birt.core@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.swt@default:default,org.h2@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.draw2d@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.apache.batik.transcoder@default:default,org.eclipse.ui.browser@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.xtext.ui@default:default,javax.servlet.jsp@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.update.core@default:default,com.jcraft.jsch@default:default,org.eclipse.core.resources@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.osgi.util@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.ui.navigator.resources@default:default,org.apache.xerces@default:default,org.hamcrest.core@default:default,org.eclipse.update.ui@default:default,org.apache.log4j@default:default,org.eclipse.help.base@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.compare@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.birt.chart.device.extension@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.core.jobs@default:default,org.eclipse.jdt.core@default:default,org.eclipse.birt.chart.engine@default:default,org.eclipse.core.commands@default:default,org.apache.batik.ext.awt@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.xtext.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.emf.compare.ui@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,com.google.inject@default:default,org.eclipse.ui.forms@default:default,org.apache.batik.util@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.emf.edit.ui@default:default,org.eclipse.equinox.p2.core@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.ui.views@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.jdt.compiler.apt@default:false,org.apache.batik.dom.svg@default:default,org.eclipse.emf.compare@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.core.runtime.compatibility@default:default,javax.mail.glassfish@default:default,org.eclipse.emf.common@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.apache.commons.lang@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xpand@default:default,org.eclipse.pde@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.team.core@default:default,com.lowagie.text@default:default,org.eclipse.jdt.compiler.tool@default:false,org.w3c.dom.svg@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.jface@default:default,org.apache.oro@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.ui.editors@default:default,javax.activation@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.sat4j.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.ecf.identity@default:default,org.apache.batik.util.gui@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.zest.core@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.pde.build@default:default,org.apache.jasper@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.pde.launching@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.jdt.core.manipulation@default:default,org.apache.batik.dom@default:default,org.eclipse.jface.text@default:default,org.apache.commons.el@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.rcp@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.emf.codegen.ecore@default:default,org.apache.batik.pdf@default:default,org.eclipse.core.databinding@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.zest.layouts@default:default,org.eclipse.core.variables@default:default,org.eclipse.help.webapp@default:default,org.eclipse.gef@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.ds@default:true,org.antlr.runtime@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.update.configurator@3:true,org.junit4@default:default,org.eclipse.text@default:default,org.apache.commons.codec@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,javax.wsdl@default:default,org.eclipse.jdt.doc.user@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.coverage.help.ui@default:default,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.core.model.test@default:false,net.jini@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.support.test.util@default:default,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.framework.jdbcodbc@default:default,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.ats.help.ui@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.svn@default:default,org.eclipse.osee.define@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.ats.dsl@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.ats.config.demo@default:default,jms.libraries@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.client.integration.tests@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.coverage.test@default:false,org.eclipse.osee.ats.dsl.ui@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.ats@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.postgresql@default:default,org.eclipse.osee.coverage@default:default,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.lifecycle@default:default,org.postgresql.driver@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.mortbay.jetty.util@default:default,org.apache.xml.resolver@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.update.configurator@3:true,org.eclipse.core.jobs@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.zest.core@default:default,org.apache.lucene@default:default,org.eclipse.equinox.http.registry@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.p2.director@default:default,org.apache.commons.httpclient@default:default,org.eclipse.ltk.core.refactoring@default:default,de.itemis.xtext.antlr@default:default,org.apache.commons.logging*1.1.1.v201005080502@default:default,org.eclipse.rcp@default:default,org.eclipse.team.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.update.core.win32@default:false,org.mortbay.jetty.server@default:default,org.apache.ant@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.compare.win32@default:default,org.apache.commons.lang@default:default,org.eclipse.equinox.p2.operations@default:default,com.jcraft.jsch@default:default,org.eclipse.core.resources@default:default,org.eclipse.debug.ui@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.help@default:default,org.eclipse.equinox.preferences@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.equinox.frameworkadmin@default:default,org.antlr.runtime@default:default,javax.activation@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.platform@default:default,org.h2@default:default,org.eclipse.nebula.widgets.xviewer@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.concurrent@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.xpand@default:default,org.sat4j.core@default:default,javax.servlet@default:default,org.apache.commons.cli@default:default,org.eclipse.core.databinding@default:default,org.apache.batik.xml@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.apache.log4j@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.apache.jasper@default:default,org.eclipse.jdt.core@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui.editors@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.jdt.compiler.apt@default:false,javax.servlet.jsp@default:default,org.eclipse.ant.ui@default:default,org.eclipse.equinox.ds@default:true,org.eclipse.debug.core@default:default,org.eclipse.pde.launching@default:default,org.apache.batik.css@default:default,org.eclipse.core.variables@default:default,org.eclipse.birt.chart.device.svg@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.nebula.widgets.calendarcombo@default:default,org.eclipse.xtext.builder@default:default,org.apache.lucene.analysis@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ui.views@default:default,org.eclipse.ui.intro.universal@default:default,org.apache.batik.dom@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.apache.commons.net@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.jsch.core@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.emf.common@default:default,org.w3c.dom.svg@default:default,org.eclipse.xtext.generator@default:default,org.hamcrest.core@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.jface.databinding@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.help.base@default:default,org.eclipse.ant.launching@default:default,org.eclipse.pde.ui@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.emf.ecore@default:default,org.apache.batik.dom.svg@default:default,org.eclipse.compare@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.core.expressions@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ant.core@default:default,org.junit4@default:default,org.eclipse.pde@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.birt.chart.engine@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.w3c.dom.smil@default:default,org.eclipse.cvs@default:default,org.eclipse.core.net@default:default,org.eclipse.team.svn@default:default,org.eclipse.equinox.p2.repository@default:default,org.apache.xml.serializer@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.help.appserver@default:default,org.eclipse.emf.compare.match@default:default,com.lowagie.text@default:default,org.apache.batik.util.gui@default:default,org.eclipse.update.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.gef@default:default,org.eclipse.xtext.xtend@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.intro@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.compare.core@default:default,org.eclipse.jface.text@default:default,org.apache.commons.el@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.xtext.logging@default:false,org.eclipse.platform.doc.isv@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.apache.batik.pdf@default:default,org.mozilla.javascript@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.equinox.common@2:true,javax.xml@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.help.ui@default:default,org.eclipse.xtext@default:default,org.eclipse.core.databinding.observable@default:default,org.antlr.gen@default:default,org.apache.batik.bridge@default:default,org.sat4j.pb@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jdt.debug@default:default,org.apache.batik.svggen@default:default,org.eclipse.search@default:default,org.apache.batik.parser@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.ui.console@default:default,org.eclipse.ecf.filetransfer@default:default,com.google.collect@default:default,org.eclipse.osgi@-1:true,org.eclipse.jdt.apt.core@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.sdk@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.emf.mwe.core@default:default,org.eclipse.birt.chart.device.extension@default:default,org.eclipse.core.externaltools@default:default,org.aopalliance@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.jface@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.apache.oro@default:default,org.apache.batik.util@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.equinox.util@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.osgi.util@default:default,org.eclipse.birt.chart.engine.extension@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.xtext.util@default:default,org.eclipse.ui.cheatsheets@default:default,com.google.inject@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.equinox.http.servlet@default:default,org.apache.commons.codec@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.workbench@default:default,com.ibm.icu@default:default,org.eclipse.emf.edit@default:default,org.eclipse.text@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ecf@default:default,org.eclipse.zest.layouts@default:default,org.eclipse.jdt.core.manipulation@default:default,org.apache.batik.ext.awt@default:default,org.eclipse.swt@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.boot@default:default,org.w3c.css.sac@default:default,org.eclipse.birt.core@default:default,org.eclipse.core.contenttype@default:default,org.apache.xerces@default:default,org.eclipse.core.commands@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.team.core@default:default,org.eclipse.pde.build@default:default,org.eclipse.update.core@default:default,org.eclipse.pde.core@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.xtend@default:default,javax.wsdl@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.jdt.junit@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.team.cvs.ssh2@default:default,javax.mail.glassfish@default:default,org.eclipse.birt.chart.device.swt@default:default,org.apache.batik.transcoder@default:default,org.eclipse.xtext.ui@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.osee.ats.dsl@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.help.ui@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.core.message.test@default:false,org.eclipse.osee.framework.skynet.core@default:default,org.eclipse.osee.framework.ui.skynet.test@default:false,org.eclipse.osee.framework.svn@default:default,jms.libraries@default:default,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.support.test.util@default:default,org.postgresql.driver@default:default,org.eclipse.osee.framework.messaging@default:default,org.eclipse.osee.framework.templates@default:default,org.eclipse.osee.define.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.client.integration.tests@default:default,org.eclipse.osee.framework.messaging.event.res.test@default:false,org.eclipse.osee.framework.lifecycle@default:default,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.database.init@default:default,org.eclipse.osee.coverage.help.ui@default:default,org.eclipse.osee.framework.plugin.core@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.ui.jdk@default:default,org.eclipse.osee.ats.help.ui@default:default,net.jini@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.ats.config.demo@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.ote.define@default:default,org.eclipse.osee.ats.dsl.ui@default:default,org.eclipse.osee.framework.messaging.test@default:false,org.eclipse.osee.framework.lifecycle.test@default:false,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.skynet.core.test@default:false,org.eclipse.osee.framework.ui.skynet@default:default,org.eclipse.osee.framework.postgresql@default:default,org.eclipse.osee.framework.access@default:default,org.eclipse.osee.framework.messaging.event.res@default:default,org.eclipse.osee.coverage.test@default:false,org.eclipse.osee.ats.test@default:false,org.eclipse.osee.framework.core.client@default:default,org.eclipse.osee.framework.core.dsl.ui.integration@default:default,org.eclipse.osee.ats@default:default,org.eclipse.osee.framework.ui.swt@default:default,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.access.test@default:false,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.framework.ui.plugin@default:default,org.eclipse.osee.coverage@default:default,org.eclipse.osee.framework.messaging.event.skynet@default:default,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.ui.ws@default:default,org.eclipse.osee.framework.jdbcodbc@default:default,org.eclipse.osee.framework.jini@default:default,org.eclipse.osee.define@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
index 129b6cac0f6..ae49b107335 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
@@ -10,9 +10,10 @@
*******************************************************************************/
package org.eclipse.osee.framework.skynet.core.artifact;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
import org.eclipse.osee.framework.core.data.IArtifactType;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.enums.ModificationType;
@@ -31,10 +32,12 @@ import org.eclipse.osee.framework.jdk.core.util.Strings;
*/
public abstract class ArtifactFactory {
- private final Collection<IArtifactType> artifactTypeNames;
+ private final Set<IArtifactType> artifactTypeNames = new HashSet<IArtifactType>(5);
protected ArtifactFactory(IArtifactType... artifactTypes) {
- this.artifactTypeNames = Arrays.asList(artifactTypes);
+ for (IArtifactType artifactType : artifactTypes) {
+ registerAsResponsible(artifactType);
+ }
}
public Artifact makeNewArtifact(IOseeBranch branch, IArtifactType artifactTypeToken, String guid, String humandReadableId, ArtifactProcessor earlyArtifactInitialization) throws OseeCoreException {
@@ -135,6 +138,12 @@ public abstract class ArtifactFactory {
return artifactTypeNames.contains(artifactType);
}
+ public void registerAsResponsible(IArtifactType artifactType) {
+ if (!artifactTypeNames.contains(artifactType)) {
+ artifactTypeNames.add(artifactType);
+ }
+ }
+
/**
* Return any artifact types of artifacts that should never be garbage collected. This includes artifacts like user
* artifacts and config artifacts that should always stay loaded for performance reasons.
diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java
index 8c9297853d0..c6b7bba8433 100644
--- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java
+++ b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/TestUtil.java
@@ -53,6 +53,14 @@ public class TestUtil {
return DEMO_DB_TYPE.equals(OseeInfo.getCachedValue(OseeInfo.DB_TYPE_KEY));
}
+ public static void setDemoDb(boolean set) throws OseeCoreException {
+ if (set) {
+ OseeInfo.putValue(OseeInfo.DB_TYPE_KEY, DEMO_DB_TYPE);
+ } else {
+ OseeInfo.putValue(OseeInfo.DB_TYPE_KEY, "");
+ }
+ }
+
public static void sleep(long milliseconds) throws Exception {
System.out.println("Sleeping " + milliseconds);
Thread.sleep(milliseconds);

Back to the top