Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2020-06-22 20:47:25 +0000
committerRyan T. Baldwin2020-06-22 20:47:25 +0000
commit0546945d2e2f46ea5f6f950f448de5db2be2adba (patch)
treed3302c1f0714608439a02827710e032fae3e7ec2
parent58473dc2ad8752ee92ff9257cf1f5204c2ac6a78 (diff)
downloadorg.eclipse.osee-0546945d2e2f46ea5f6f950f448de5db2be2adba.tar.gz
org.eclipse.osee-0546945d2e2f46ea5f6f950f448de5db2be2adba.tar.xz
org.eclipse.osee-0546945d2e2f46ea5f6f950f448de5db2be2adba.zip
bug[TW15414]: Refresh WFE in place on Reload
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/ReloadAction.java7
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java50
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/members/WfeMembersTab.java3
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/reload/WfeReloadTab.java90
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/task/WfeTasksTab.java3
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/WfeWorkFlowTab.java4
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeTargetedVersionHeader.java4
-rw-r--r--plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java15
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceImpl.java3
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceProxy.java5
-rw-r--r--plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/IAccessControlService.java2
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java2
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java7
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java7
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java5
15 files changed, 148 insertions, 59 deletions
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/ReloadAction.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/ReloadAction.java
index 1b111ce7ca7..f7cd1e90567 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/ReloadAction.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/actions/ReloadAction.java
@@ -23,6 +23,7 @@ import org.eclipse.osee.ats.api.util.IAtsChangeSet;
import org.eclipse.osee.ats.api.workflow.IAtsTask;
import org.eclipse.osee.ats.ide.editor.WorkflowEditor;
import org.eclipse.osee.ats.ide.editor.WorkflowEditor.WfeSaveListener;
+import org.eclipse.osee.ats.ide.editor.tab.reload.WfeReloadTab;
import org.eclipse.osee.ats.ide.internal.Activator;
import org.eclipse.osee.ats.ide.internal.AtsClientService;
import org.eclipse.osee.ats.ide.workflow.AbstractWorkflowArtifact;
@@ -72,8 +73,6 @@ public class ReloadAction extends AbstractAtsAction {
@Override
public void saved(IAtsWorkItem workItem, IAtsChangeSet changes) {
- // Can't close the editor until save or it will do it's own dirty editor save dialog
- editor.close(false);
try {
Thread reloadThread = getReloadThread();
reloadThread.start();
@@ -83,7 +82,6 @@ public class ReloadAction extends AbstractAtsAction {
}
});
} else {
- editor.close(false);
try {
Thread reloadThread = getReloadThread();
reloadThread.start();
@@ -111,7 +109,8 @@ public class ReloadAction extends AbstractAtsAction {
}
ArtifactQuery.reloadArtifacts(relatedArts);
- WorkflowEditor.edit(sma);
+ WfeReloadTab reload = new WfeReloadTab(editor);
+ reload.reloadEditor("Reload WFE Editor");
}
});
return reloadThread;
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java
index 33618d29df4..dd296207caf 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/WorkflowEditor.java
@@ -111,6 +111,7 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
@@ -136,7 +137,7 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
private WfeMembersTab membersTab;
private WfeDefectsTab defectsTab;
private WfeTasksTab taskTab;
- int attributesPageIndex;
+ int attributesPageIndex = 0;;
private AttributesComposite attributesComposite;
private final List<IWfeEditorListener> editorListeners = new ArrayList<>();
WfeOutlinePage outlinePage;
@@ -150,6 +151,12 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
*/
private final DoubleKeyHashMap<RelationTypeToken, String, List<IWfeEventHandle>> artRelHandlers =
new DoubleKeyHashMap<>();
+ private WfeReloadTab reloadTab;
+ private int metricsPageIndex = 0;
+
+ public void loadPages() {
+ addPages();
+ }
@Override
protected void addPages() {
@@ -236,7 +243,8 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
}
private void createReloadTab() throws PartInitException {
- addPage(new WfeReloadTab(this));
+ reloadTab = new WfeReloadTab(this);
+ addPage(reloadTab);
}
private void createMembersTab() throws PartInitException {
@@ -345,16 +353,33 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
if (workItem != null && !workItem.isDeleted() && workItem.isWfeDirty().isTrue()) {
workItem.revert();
}
+ disposeTabs();
+ if (getToolkit() != null) {
+ getToolkit().dispose();
+ }
+ super.dispose();
+ }
+
+ public void disposeTabs() {
+ if (metricsPageIndex > 0) {
+ removePage(metricsPageIndex);
+ }
+ if (attributesPageIndex > 0) {
+ removePage(attributesPageIndex);
+ }
+ if (taskTab != null) {
+ removePage(taskTab.getIndex());
+ }
if (workFlowTab != null) {
- workFlowTab.dispose();
+ removePage(workFlowTab.getIndex());
}
if (membersTab != null) {
- membersTab.dispose();
+ removePage(membersTab.getIndex());
}
- if (taskTab != null) {
- taskTab.dispose();
+ if (reloadTab != null) {
+ removePage(reloadTab.getIndex());
+ reloadTab = null;
}
- super.dispose();
}
@Override
@@ -364,7 +389,7 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
@Override
public Result isDirtyResult() {
- if (getWfeInput().isReload() || workItem.isDeleted()) {
+ if (workFlowTab == null || getWfeInput().isReload() || (workItem != null && workItem.isDeleted())) {
return Result.FalseResult;
}
try {
@@ -412,7 +437,7 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
Composite composite = createCommonPageComposite(getContainer());
createToolBar(composite);
new AtsMetricsComposite(this, composite, SWT.NONE);
- int metricsPageIndex = addPage(composite);
+ metricsPageIndex = addPage(composite);
setPageText(metricsPageIndex, "Metrics");
} catch (Exception ex) {
OseeLog.log(Activator.class, Level.SEVERE, ex);
@@ -990,4 +1015,11 @@ public class WorkflowEditor extends AbstractArtifactEditor implements IDirtyRepo
setActivePage(pageId);
}
+ public Button getReloadButton() {
+ if (reloadTab != null) {
+ return reloadTab.getReloadButtion();
+ }
+ return null;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/members/WfeMembersTab.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/members/WfeMembersTab.java
index 5ea8dd01d05..a117a3010aa 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/members/WfeMembersTab.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/members/WfeMembersTab.java
@@ -375,9 +375,6 @@ public class WfeMembersTab extends FormPage implements IWorldEditor, ISelectedAt
if (worldComposite != null) {
worldComposite.dispose();
}
- if (editor.getToolkit() != null) {
- editor.getToolkit().dispose();
- }
}
private final Control control = null;
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/reload/WfeReloadTab.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/reload/WfeReloadTab.java
index 71174086bd7..3e781cc6ea6 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/reload/WfeReloadTab.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/reload/WfeReloadTab.java
@@ -1,5 +1,5 @@
/*********************************************************************
- * Copyright (c) 2013 Boeing
+ * Copyright (c) 2020 Boeing
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
@@ -27,6 +27,7 @@ import org.eclipse.osee.framework.core.data.BranchId;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.plugin.core.util.Jobs;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.skynet.util.FormsUtil;
@@ -54,10 +55,12 @@ import org.eclipse.ui.forms.editor.FormPage;
public class WfeReloadTab extends FormPage {
private IManagedForm managedForm;
private Composite bodyComp;
- public final static String ID = "ats.reload.tab";
+ public final static String ID = "ats.attributes.tab";
private final WorkflowEditor editor;
private final String title;
private final BranchId branch;
+ private Button reloadButton;
+ private boolean reloading = false;
public WfeReloadTab(WorkflowEditor editor) {
super(editor, ID, "Reload");
@@ -86,16 +89,20 @@ public class WfeReloadTab extends FormPage {
imageLabel.setBackground(Displays.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
imageLabel.setText("Saved item not on currently configured ATS Branch. Unable to reload.");
} else {
- Button reloadButton = new Button(bodyComp, SWT.PUSH);
+ reloadButton = new Button(bodyComp, SWT.PUSH);
reloadButton.setText("Reload");
reloadButton.setImage(ImageManager.getImage(FrameworkImage.REFRESH));
reloadButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- loadEditor();
+ if (reloading) {
+ AWorkbench.popup("Editor Reloading...");
+ } else {
+ reloading = true;
+ reloadEditor();
+ }
}
-
});
}
@@ -124,13 +131,6 @@ public class WfeReloadTab extends FormPage {
}
@Override
- public void dispose() {
- if (editor.getToolkit() != null) {
- editor.getToolkit().dispose();
- }
- }
-
- @Override
public void showBusy(boolean busy) {
super.showBusy(busy);
IManagedForm managedForm = getManagedForm();
@@ -139,7 +139,12 @@ public class WfeReloadTab extends FormPage {
}
}
- private void loadEditor() {
+ private void reloadEditor() {
+ LoadAndRefreshJob loadAndRefresh = new LoadAndRefreshJob(title);
+ Jobs.startJob(loadAndRefresh, true);
+ }
+
+ public void reloadEditor(String title) {
LoadAndRefreshJob loadAndRefresh = new LoadAndRefreshJob(title);
Jobs.startJob(loadAndRefresh, true);
}
@@ -152,37 +157,64 @@ public class WfeReloadTab extends FormPage {
@Override
protected IStatus run(IProgressMonitor monitor) {
- IAtsWorkItem workItem = editor.getWorkItem();
- if (workItem == null) {
- workItem =
- AtsClientService.get().getWorkItemService().getWorkItem(editor.getWfeInput().getSavedArtUuid().getId());
- }
- if (workItem == null) {
- AWorkbench.popup("Can't reload editor.");
- editor.closeEditor();
- return Status.CANCEL_STATUS;
- }
- final IAtsWorkItem fWorkItem = workItem;
+
Displays.ensureInDisplayThread(new Runnable() {
@Override
public void run() {
- WorkflowEditor workflowEditor = WorkflowEditor.getWorkflowEditor(fWorkItem);
- if (workflowEditor != null) {
- workflowEditor.closeEditor();
+ if (Widgets.isAccessible(editor.getReloadButton())) {
+ editor.getReloadButton().setText("Reloading...");
+ editor.getReloadButton().getParent().layout(true);
+
+ }
+ IManagedForm managedForm = getManagedForm();
+ if (managedForm != null && Widgets.isAccessible(getManagedForm().getForm())) {
+ getManagedForm().getForm().getForm().setBusy(true);
}
}
});
- Displays.ensureInDisplayThread(new Runnable() {
+
+ Thread reload = new Thread(new Runnable() {
@Override
public void run() {
- WorkflowEditor.edit(fWorkItem);
+ IAtsWorkItem workItem = editor.getWorkItem();
+ if (workItem == null) {
+ workItem = AtsClientService.get().getWorkItemService().getWorkItem(
+ editor.getWfeInput().getSavedArtUuid().getId());
+ }
+ if (workItem == null) {
+ AWorkbench.popup("Can't reload editor.");
+ editor.closeEditor();
+ return;
+ }
+ final Artifact artifact = (Artifact) workItem.getStoreObject();
+ try {
+ // Cause access policy to be loaded if not already
+ artifact.isReadOnly();
+ } catch (Exception ex) {
+ // do nothing
+ }
+
+ Displays.ensureInDisplayThread(new Runnable() {
+
+ @Override
+ public void run() {
+ editor.getWfeInput().setArtifact(artifact);
+ editor.disposeTabs();
+ editor.loadPages();
+ }
+ });
}
});
+ reload.start();
return Status.OK_STATUS;
}
+ }
+
+ public Button getReloadButtion() {
+ return reloadButton;
};
}
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/task/WfeTasksTab.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/task/WfeTasksTab.java
index 9d7ee52a989..f9dd7d85570 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/task/WfeTasksTab.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/task/WfeTasksTab.java
@@ -344,9 +344,6 @@ public class WfeTasksTab extends FormPage implements IArtifactEventListener, IWo
if (taskComposite != null) {
taskComposite.dispose();
}
- if (editor.getToolkit() != null) {
- editor.getToolkit().dispose();
- }
}
private final Control control = null;
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/WfeWorkFlowTab.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/WfeWorkFlowTab.java
index a733d489806..b2cd7e58e9c 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/WfeWorkFlowTab.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/WfeWorkFlowTab.java
@@ -514,10 +514,6 @@ public class WfeWorkFlowTab extends FormPage implements IWorldViewerEventHandler
for (WfeWorkflowSection section : sections) {
section.dispose();
}
-
- if (editor.getToolkit() != null) {
- editor.getToolkit().dispose();
- }
}
private WfeHeaderComposite headerComp;
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeTargetedVersionHeader.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeTargetedVersionHeader.java
index 6455f9b5962..f0f39500e1c 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeTargetedVersionHeader.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/editor/tab/workflow/header/WfeTargetedVersionHeader.java
@@ -47,7 +47,6 @@ public class WfeTargetedVersionHeader extends Composite implements IWfeEventHand
private final static String TARGET_VERSION = "Target Version:";
Label valueLabel;
- Label origLabel;
Hyperlink link;
private final IAtsTeamWorkflow teamWf;
@@ -136,9 +135,6 @@ public class WfeTargetedVersionHeader extends Composite implements IWfeEventHand
if (Widgets.isAccessible(valueLabel)) {
valueLabel.setBackground(color);
}
- if (Widgets.isAccessible(origLabel)) {
- origLabel.setBackground(color);
- }
if (Widgets.isAccessible(link)) {
link.setBackground(color);
}
diff --git a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java
index db425b9f606..3f81c9104fb 100644
--- a/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java
+++ b/plugins/org.eclipse.osee.ats.ide/src/org/eclipse/osee/ats/ide/internal/Activator.java
@@ -21,6 +21,7 @@ import org.eclipse.osee.ats.ide.workflow.AtsWorkItemEventHandler;
import org.eclipse.osee.ats.ide.world.WorldXViewerEventHandler;
import org.eclipse.osee.framework.plugin.core.OseeActivator;
import org.eclipse.osee.framework.skynet.core.event.model.AccessTopicEvent;
+import org.eclipse.osee.framework.ui.skynet.internal.ServiceUtil;
import org.eclipse.osee.framework.ui.skynet.util.FrameworkEvents;
import org.osgi.framework.BundleContext;
import org.osgi.service.event.EventConstants;
@@ -45,6 +46,20 @@ public class Activator extends OseeActivator {
AtsUtil.hashTable(EventConstants.EVENT_TOPIC, FrameworkEvents.NAVIGATE_VIEW_LOADED));
context.registerService(EventHandler.class.getName(), new SavedSearchesNavigateItem(),
AtsUtil.hashTable(EventConstants.EVENT_TOPIC, AtsTopicEvent.SAVED_SEARCHES_MODIFIED));
+
+ // Start loading access control
+ Thread loadAccessControl = new Thread(new Runnable() {
+
+ @Override
+ public void run() {
+ try {
+ ServiceUtil.getAccessPolicy().ensurePopulated();
+ } catch (Exception ex) {
+ // do nothing
+ }
+ }
+ }, "Load Access Control");
+ loadAccessControl.start();
}
}
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceImpl.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceImpl.java
index ec76a68e215..e04ae2e0f2c 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceImpl.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceImpl.java
@@ -188,7 +188,8 @@ public class AccessControlServiceImpl implements IAccessControlService {
ensurePopulated.set(false);
}
- private synchronized void ensurePopulated() {
+ @Override
+ public synchronized void ensurePopulated() {
if (ensurePopulated.compareAndSet(false, true)) {
initializeCaches();
populateAccessControlLists();
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceProxy.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceProxy.java
index c87f3092000..c13a735e852 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceProxy.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/AccessControlServiceProxy.java
@@ -213,4 +213,9 @@ public final class AccessControlServiceProxy implements IAccessControlService {
public XResultData isDeleteableRelation(ArtifactToken artifact, RelationTypeToken relationType, XResultData results) {
return getProxiedObject().isDeleteableRelation(artifact, relationType, results);
}
+
+ @Override
+ public void ensurePopulated() {
+ accessService.ensurePopulated();
+ }
}
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/IAccessControlService.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/IAccessControlService.java
index 74586ddf1b6..58244c05b2b 100644
--- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/IAccessControlService.java
+++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/IAccessControlService.java
@@ -33,4 +33,6 @@ public interface IAccessControlService extends IArtifactCheck {
AccessDataQuery getAccessData(ArtifactToken userArtifact, Collection<?> itemsToCheck);
+ void ensurePopulated();
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java
index 3a33cd834ba..c904fe9357c 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/AccessPolicy.java
@@ -44,4 +44,6 @@ public interface AccessPolicy extends IArtifactCheck {
PermissionStatus canRelationBeModified(Artifact subject, Collection<Artifact> toBeRelated, RelationTypeSide relationTypeSide, Level level);
+ void ensurePopulated();
+
}
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java
index 9fd28a4a329..15f1a91d4b8 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/internal/AccessPolicyImpl.java
@@ -21,8 +21,8 @@ import org.eclipse.osee.framework.core.data.ArtifactToken;
import org.eclipse.osee.framework.core.data.ArtifactTypeId;
import org.eclipse.osee.framework.core.data.AttributeTypeId;
import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.RelationTypeToken;
import org.eclipse.osee.framework.core.data.RelationTypeSide;
+import org.eclipse.osee.framework.core.data.RelationTypeToken;
import org.eclipse.osee.framework.core.enums.PermissionEnum;
import org.eclipse.osee.framework.core.enums.RelationSide;
import org.eclipse.osee.framework.core.model.access.AccessDataQuery;
@@ -251,4 +251,9 @@ public class AccessPolicyImpl implements AccessPolicy {
public XResultData isDeleteableRelation(ArtifactToken artifact, RelationTypeToken relationType, XResultData results) {
return accessControlService.isDeleteableRelation(artifact, relationType, results);
}
+
+ @Override
+ public void ensurePopulated() {
+ accessControlService.ensurePopulated();
+ }
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java
index 0776472ec73..2c77adab123 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet.test/src/org/eclipse/osee/framework/ui/skynet/artifact/ArtifactPromptChangeTest.java
@@ -23,8 +23,8 @@ import org.eclipse.osee.framework.core.data.ArtifactToken;
import org.eclipse.osee.framework.core.data.ArtifactTypeId;
import org.eclipse.osee.framework.core.data.AttributeTypeId;
import org.eclipse.osee.framework.core.data.BranchId;
-import org.eclipse.osee.framework.core.data.RelationTypeToken;
import org.eclipse.osee.framework.core.data.RelationTypeSide;
+import org.eclipse.osee.framework.core.data.RelationTypeToken;
import org.eclipse.osee.framework.core.enums.PermissionEnum;
import org.eclipse.osee.framework.core.model.access.PermissionStatus;
import org.eclipse.osee.framework.jdk.core.result.XResultData;
@@ -109,6 +109,11 @@ public class ArtifactPromptChangeTest {
return new XResultData();
}
+ @Override
+ public void ensurePopulated() {
+ // do nothing
+ }
+
}
private static class MockPromptFactory implements IPromptFactory {
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java
index 6a43df31af8..2e9d000252a 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/AccessControlServiceImpl.java
@@ -78,4 +78,9 @@ public class AccessControlServiceImpl implements IAccessControlService {
return results;
}
+ @Override
+ public void ensurePopulated() {
+ throw new UnsupportedOperationException("Not available on server yet");
+ }
+
}

Back to the top