Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2008-05-02 00:20:56 +0000
committerddunne2008-05-02 00:20:56 +0000
commit74ab2f3d24e45223a621280b36bc5c53c10e8c87 (patch)
tree80ce7c6666ba2f110708fe6d16ba341e0ca93397
parent6cad848e823795ef5e0a8df23b3e77ff4ce995db (diff)
downloadorg.eclipse.osee-74ab2f3d24e45223a621280b36bc5c53c10e8c87.tar.gz
org.eclipse.osee-74ab2f3d24e45223a621280b36bc5c53c10e8c87.tar.xz
org.eclipse.osee-74ab2f3d24e45223a621280b36bc5c53c10e8c87.zip
Change Report Improvements
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/ServicesArea.java4
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportServiceNew.java149
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportToolbarServiceNew.java98
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/BranchableStateItem.java2
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/BranchManager.java21
-rw-r--r--org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF2
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xchange/ChangeColumn.java3
7 files changed, 278 insertions, 1 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/ServicesArea.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/ServicesArea.java
index a9dfdd45627..d946527140a 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/ServicesArea.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/ServicesArea.java
@@ -26,7 +26,9 @@ import org.eclipse.osee.ats.editor.service.branch.CommitWorkingBranchService;
import org.eclipse.osee.ats.editor.service.branch.CreateWorkingBranchService;
import org.eclipse.osee.ats.editor.service.branch.DeleteWorkingBranch;
import org.eclipse.osee.ats.editor.service.branch.ShowChangeReportService;
+import org.eclipse.osee.ats.editor.service.branch.ShowChangeReportServiceNew;
import org.eclipse.osee.ats.editor.service.branch.ShowChangeReportToolbarService;
+import org.eclipse.osee.ats.editor.service.branch.ShowChangeReportToolbarServiceNew;
import org.eclipse.osee.ats.editor.service.branch.ShowWorkingBranchService;
import org.eclipse.osee.ats.workflow.AtsWorkPage;
import org.eclipse.osee.framework.ui.skynet.XFormToolkit;
@@ -77,6 +79,7 @@ public class ServicesArea {
services.add(new AddPeerToPeerReviewService(smaMgr));
services.add(new BlockingReview(smaMgr));
// Toolbar Services
+ services.add(new ShowChangeReportToolbarServiceNew(smaMgr));
services.add(new ShowChangeReportToolbarService(smaMgr));
services.add(new OpenParent(smaMgr));
services.add(new EmailActionService(smaMgr));
@@ -93,6 +96,7 @@ public class ServicesArea {
if (page.isAllowCreateBranch()) services.add(new CreateWorkingBranchService(smaMgr));
services.add(new ShowWorkingBranchService(smaMgr));
services.add(new ShowChangeReportService(smaMgr));
+ services.add(new ShowChangeReportServiceNew(smaMgr));
if (page.isAllowCommitBranch()) services.add(new CommitWorkingBranchService(smaMgr, false));
if (AtsPlugin.isAtsAdmin()) services.add(new CommitWorkingBranchService(smaMgr, true));
services.add(new DeleteWorkingBranch(smaMgr));
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportServiceNew.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportServiceNew.java
new file mode 100644
index 00000000000..371b1c29b9c
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportServiceNew.java
@@ -0,0 +1,149 @@
+/*******************************************************************************
+ * 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.editor.service.branch;
+
+import java.sql.SQLException;
+import org.eclipse.osee.ats.editor.SMAManager;
+import org.eclipse.osee.ats.editor.SMAWorkFlowSection;
+import org.eclipse.osee.ats.editor.service.WorkPageService;
+import org.eclipse.osee.ats.editor.stateItem.BranchableStateItem;
+import org.eclipse.osee.ats.workflow.AtsWorkPage;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+import org.eclipse.osee.framework.skynet.core.event.LocalBranchEvent;
+import org.eclipse.osee.framework.skynet.core.event.LocalBranchToArtifactCacheUpdateEvent;
+import org.eclipse.osee.framework.skynet.core.event.LocalTransactionEvent;
+import org.eclipse.osee.framework.skynet.core.event.RemoteBranchEvent;
+import org.eclipse.osee.framework.skynet.core.event.RemoteTransactionEvent;
+import org.eclipse.osee.framework.skynet.core.event.SkynetEventManager;
+import org.eclipse.osee.framework.skynet.core.transaction.TransactionId;
+import org.eclipse.osee.framework.skynet.core.transaction.TransactionIdManager;
+import org.eclipse.osee.framework.ui.plugin.event.Event;
+import org.eclipse.osee.framework.ui.plugin.event.IEventReceiver;
+import org.eclipse.osee.framework.ui.skynet.XFormToolkit;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.ui.forms.events.HyperlinkEvent;
+import org.eclipse.ui.forms.events.IHyperlinkListener;
+import org.eclipse.ui.forms.widgets.Hyperlink;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ShowChangeReportServiceNew extends WorkPageService implements IEventReceiver {
+ private static final TransactionIdManager transactionIdManager = TransactionIdManager.getInstance();
+
+ private Hyperlink link;
+
+ // Since this service is only going to be added for the Implement state, Location.AllState will
+ // work
+ public ShowChangeReportServiceNew(SMAManager smaMgr) {
+ super(smaMgr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#isShowSidebarService(org.eclipse.osee.ats.workflow.AtsWorkPage)
+ */
+ @Override
+ public boolean isShowSidebarService(AtsWorkPage page) {
+ return isCurrentState(page) || page.getId().contains("Implement");
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#createSidebarService(org.eclipse.swt.widgets.Group, org.eclipse.osee.ats.workflow.AtsWorkPage, org.eclipse.osee.framework.ui.skynet.XFormToolkit, org.eclipse.osee.ats.editor.SMAWorkFlowSection)
+ */
+ @Override
+ public void createSidebarService(Group workGroup, AtsWorkPage page, XFormToolkit toolkit, SMAWorkFlowSection section) {
+ link = toolkit.createHyperlink(workGroup, getName(), SWT.NONE);
+ link.addHyperlinkListener(new IHyperlinkListener() {
+
+ public void linkEntered(HyperlinkEvent e) {
+ }
+
+ public void linkExited(HyperlinkEvent e) {
+ }
+
+ public void linkActivated(HyperlinkEvent e) {
+ performService();
+ }
+ });
+ SkynetEventManager.getInstance().register(LocalTransactionEvent.class, this);
+ SkynetEventManager.getInstance().register(RemoteTransactionEvent.class, this);
+ SkynetEventManager.getInstance().register(LocalBranchEvent.class, this);
+ SkynetEventManager.getInstance().register(RemoteBranchEvent.class, this);
+ SkynetEventManager.getInstance().register(LocalBranchToArtifactCacheUpdateEvent.class, this);
+ refresh();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#getName()
+ */
+ @Override
+ public String getName() {
+ return "Show Change Report (New)";
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#getSidebarCategory()
+ */
+ @Override
+ public String getSidebarCategory() {
+ return BranchableStateItem.BRANCH_CATEGORY;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.ats.editor.statistic.WorkPageStatistic#refresh()
+ */
+ @Override
+ public void refresh() {
+ if (link != null && !link.isDisposed()) {
+ boolean enabled = isEnabled();
+ link.setText(enabled ? "Show Change Report (New)" : "Show Change Report (New)\n(no changes)");
+ link.setEnabled(enabled);
+ link.setUnderlined(enabled);
+ }
+ }
+
+ private boolean isEnabled() {
+ boolean enabled = false;
+ try {
+ if (smaMgr.getBranchMgr().isWorkingBranch()) {
+ Pair<TransactionId, TransactionId> transactionToFrom =
+ transactionIdManager.getStartEndPoint(smaMgr.getBranchMgr().getWorkingBranch());
+ enabled = !transactionToFrom.getKey().equals(transactionToFrom.getValue());
+ } else {
+ enabled = smaMgr.getBranchMgr().getTransactionId() != null;
+ }
+ } catch (SQLException ex) {
+ // do nothing
+ }
+ return enabled;
+ }
+
+ public void onEvent(Event event) {
+ refresh();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.framework.jdk.core.event.IEventReceiver#runOnEventInDisplayThread()
+ */
+ public boolean runOnEventInDisplayThread() {
+ return true;
+ }
+
+ private void performService() {
+ smaMgr.getBranchMgr().showChangeReportNew();
+ }
+
+}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportToolbarServiceNew.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportToolbarServiceNew.java
new file mode 100644
index 00000000000..8b933e54f83
--- /dev/null
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/service/branch/ShowChangeReportToolbarServiceNew.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * 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.editor.service.branch;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.osee.ats.editor.SMAManager;
+import org.eclipse.osee.ats.editor.service.WorkPageService;
+import org.eclipse.osee.framework.skynet.core.event.LocalBranchEvent;
+import org.eclipse.osee.framework.skynet.core.event.LocalBranchToArtifactCacheUpdateEvent;
+import org.eclipse.osee.framework.skynet.core.event.RemoteBranchEvent;
+import org.eclipse.osee.framework.skynet.core.event.SkynetEventManager;
+import org.eclipse.osee.framework.ui.plugin.event.Event;
+import org.eclipse.osee.framework.ui.plugin.event.IEventReceiver;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class ShowChangeReportToolbarServiceNew extends WorkPageService implements IEventReceiver {
+ private Action action;
+
+ // Since this service is only going to be added for the Implement state, Location.AllState will
+ // work
+ public ShowChangeReportToolbarServiceNew(SMAManager smaMgr) {
+ super(smaMgr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#createToolbarService()
+ */
+ @Override
+ public Action createToolbarService() {
+ if (!isEnabled()) return null;
+ action = new Action(getName(), Action.AS_PUSH_BUTTON) {
+ public void run() {
+ performService();
+ }
+ };
+ action.setToolTipText(getName());
+ action.setImageDescriptor(SkynetGuiPlugin.getInstance().getImageDescriptor("branch_change.gif"));
+ SkynetEventManager.getInstance().register(LocalBranchEvent.class, this);
+ SkynetEventManager.getInstance().register(RemoteBranchEvent.class, this);
+ SkynetEventManager.getInstance().register(LocalBranchToArtifactCacheUpdateEvent.class, this);
+ return action;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#getName()
+ */
+ @Override
+ public String getName() {
+ return "Show Change Report (New)";
+ }
+
+ private boolean isEnabled() {
+ boolean enabled = false;
+ try {
+ enabled = smaMgr.getBranchMgr().isCommittedBranch() || smaMgr.getBranchMgr().isWorkingBranch();
+ } catch (Exception ex) {
+ // do nothing
+ }
+ return enabled;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.ats.editor.service.WorkPageService#refresh()
+ */
+ @Override
+ public void refresh() {
+ super.refresh();
+ if (action != null) action.setEnabled(isEnabled());
+ }
+
+ public void onEvent(Event event) {
+ refresh();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.framework.jdk.core.event.IEventReceiver#runOnEventInDisplayThread()
+ */
+ public boolean runOnEventInDisplayThread() {
+ return true;
+ }
+
+ private void performService() {
+ smaMgr.getBranchMgr().showChangeReportNew();
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/BranchableStateItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/BranchableStateItem.java
index 63653b2e0b5..2c1e800e513 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/BranchableStateItem.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/stateItem/BranchableStateItem.java
@@ -22,6 +22,7 @@ import org.eclipse.osee.ats.editor.service.branch.CommitWorkingBranchService;
import org.eclipse.osee.ats.editor.service.branch.CreateWorkingBranchService;
import org.eclipse.osee.ats.editor.service.branch.DeleteWorkingBranch;
import org.eclipse.osee.ats.editor.service.branch.ShowChangeReportService;
+import org.eclipse.osee.ats.editor.service.branch.ShowChangeReportServiceNew;
import org.eclipse.osee.ats.editor.service.branch.ShowWorkingBranchService;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.ui.plugin.util.Result;
@@ -49,6 +50,7 @@ public abstract class BranchableStateItem extends AtsStateItem {
services.add(new CommitManagerService(smaMgr));
services.add(new ShowWorkingBranchService(smaMgr));
services.add(new ShowChangeReportService(smaMgr));
+ services.add(new ShowChangeReportServiceNew(smaMgr));
services.add(new CommitWorkingBranchService(smaMgr, false));
if (AtsPlugin.isAtsAdmin()) services.add(new CommitWorkingBranchService(smaMgr, true));
services.add(new DeleteWorkingBranch(smaMgr));
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/BranchManager.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/BranchManager.java
index 924fa0bdc14..55efb570b03 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/BranchManager.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/BranchManager.java
@@ -38,6 +38,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.ArtifactPersistenceManage
import org.eclipse.osee.framework.skynet.core.artifact.Branch;
import org.eclipse.osee.framework.skynet.core.artifact.BranchPersistenceManager;
import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactInTransactionSearch;
+import org.eclipse.osee.framework.skynet.core.change.Change;
import org.eclipse.osee.framework.skynet.core.change.ModificationType;
import org.eclipse.osee.framework.skynet.core.revision.ArtifactChange;
import org.eclipse.osee.framework.skynet.core.revision.ChangeReportInput;
@@ -56,6 +57,7 @@ import org.eclipse.osee.framework.ui.skynet.changeReport.ChangeReportView;
import org.eclipse.osee.framework.ui.skynet.util.OSEELog;
import org.eclipse.osee.framework.ui.skynet.widgets.IBranchArtifact;
import org.eclipse.osee.framework.ui.skynet.widgets.dialog.CheckBoxDialog;
+import org.eclipse.osee.framework.ui.skynet.widgets.xchange.ChangeView;
import org.eclipse.osee.framework.ui.skynet.widgets.xcommit.CommitManagerView;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
@@ -160,6 +162,25 @@ public class BranchManager {
/**
* Display change report associated with the branch, if exists, or transaction, if branch has been committed.
*/
+ public void showChangeReportNew() {
+ try {
+ if (isWorkingBranch()) {
+ Change[] changes = new Change[0];
+ ChangeView.openViewUpon(RevisionManager.getInstance().getChangesPerBranch(getWorkingBranch()).toArray(
+ changes));
+ } else if (isCommittedBranch()) {
+ AWorkbench.popup("ERROR", "not implemented yet.");
+ } else {
+ AWorkbench.popup("ERROR", "No Branch or Committed Transaction Found.");
+ }
+ } catch (Exception ex) {
+ OSEELog.logException(AtsPlugin.class, "Can't show change report.", ex, true);
+ }
+ }
+
+ /**
+ * Display change report associated with the branch, if exists, or transaction, if branch has been committed.
+ */
public void showCommitManager() {
try {
if (smaMgr.getBranchMgr().getWorkingBranch() == null) {
diff --git a/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF b/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
index b180b72da34..f1392b16cfe 100644
--- a/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
+++ b/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
@@ -73,7 +73,9 @@ Export-Package: org.eclipse.osee.framework.ui.skynet,
org.eclipse.osee.framework.ui.skynet.widgets.cellEditor,
org.eclipse.osee.framework.ui.skynet.widgets.dialog,
org.eclipse.osee.framework.ui.skynet.widgets.workflow,
+ org.eclipse.osee.framework.ui.skynet.widgets.xchange,
org.eclipse.osee.framework.ui.skynet.widgets.xcommit,
+ org.eclipse.osee.framework.ui.skynet.widgets.xmerge,
org.eclipse.osee.framework.ui.skynet.widgets.xnavigate,
org.eclipse.osee.framework.ui.skynet.widgets.xresults,
org.eclipse.osee.framework.ui.skynet.widgets.xviewer,
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xchange/ChangeColumn.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xchange/ChangeColumn.java
index 0bf18ff2e2b..0151d1dc66c 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xchange/ChangeColumn.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/xchange/ChangeColumn.java
@@ -21,7 +21,8 @@ import org.eclipse.swt.SWT;
*/
public enum ChangeColumn {
- Name("Artifact name(s)", 350, SWT.LEFT, true, SortDataType.String, false),
+ Empty("", 0, SWT.LEFT, true, SortDataType.String, false),
+ Name("Artifact name(s)", 250, SWT.LEFT, true, SortDataType.String, false),
Item_Type("Item Type", 150, SWT.LEFT, true, SortDataType.String, false),
Item_Kind("Item Kind", 80, SWT.LEFT, true, SortDataType.String, false),
Change_Type("Change Type", 80, SWT.LEFT, true, SortDataType.String, false),

Back to the top