diff options
2 files changed, 52 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java index 8e9a917788c..c0f63e5468a 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorActionBarContributor.java @@ -32,6 +32,7 @@ import org.eclipse.osee.framework.ui.skynet.OpenContributionItem; import org.eclipse.osee.framework.ui.skynet.access.PolicyDialog; import org.eclipse.osee.framework.ui.skynet.action.RevealInExplorerAction; import org.eclipse.osee.framework.ui.skynet.artifact.editor.action.CopyArtifactURLAction; +import org.eclipse.osee.framework.ui.skynet.artifact.editor.action.OpenArtifactInBrowserAction; import org.eclipse.osee.framework.ui.skynet.internal.Activator; import org.eclipse.osee.framework.ui.skynet.widgets.xBranch.BranchView; import org.eclipse.osee.framework.ui.skynet.widgets.xHistory.HistoryView; @@ -67,6 +68,7 @@ public class ArtifactEditorActionBarContributor implements IActionContributor { if (CopyArtifactURLAction.isApplicable(artifact)) { manager.add(new CopyArtifactURLAction(artifact)); } + manager.add(new OpenArtifactInBrowserAction(artifact)); manager.add(new Separator()); manager.add(new DirtyReportAction(artifact)); } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/action/OpenArtifactInBrowserAction.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/action/OpenArtifactInBrowserAction.java new file mode 100644 index 00000000000..8265aa5507c --- /dev/null +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/action/OpenArtifactInBrowserAction.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2016 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.framework.ui.skynet.artifact.editor.action; + +import java.util.logging.Level; +import org.eclipse.jface.action.Action; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactURL; +import org.eclipse.osee.framework.ui.skynet.internal.Activator; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.swt.program.Program; + +/** + * Open Artifact in Native Browser. + * + * @author Donald G. Dunne + */ +public final class OpenArtifactInBrowserAction extends Action { + + private final Artifact artifact; + + public OpenArtifactInBrowserAction(Artifact artifact) { + super(); + this.artifact = artifact; + setImageDescriptor(ImageManager.getProgramImageDescriptor("html")); + setToolTipText("Open Artifact in Native Browser"); + } + + @Override + public void run() { + try { + String urlString = String.format("%sorcs/branch/%d/artifact/%d", ArtifactURL.getSelectedPermanenrLinkUrl(), + artifact.getBranchId(), artifact.getUuid()); + Program.launch(urlString); + } catch (Exception ex) { + OseeLog.logf(Activator.class, Level.SEVERE, ex, "Error obtaining url for - guid: [%s] branch:[%s]", + artifact.getGuid(), artifact.getBranch()); + } + } + +} |