/** * SlingBeans - NetBeans Sling plugin https://github.com/jkan997/SlingBeans Licensed under Apache 2.0 license http://www.apache.org/licenses/LICENSE-2.0 */ package org.jkan997.slingbeans.nbactions; import java.awt.Desktop; import java.awt.event.ActionEvent; import java.net.URI; import org.jkan997.slingbeans.helper.LogHelper; import org.jkan997.slingbeans.nbtree.SlingNode; import org.jkan997.slingbeans.slingfs.FileObject; import org.openide.awt.HtmlBrowser.URLDisplayer; public class OpenBrowserAction extends AbstractAction { public final static int OPEN_BROWSER_MODE_HTML = 1; public final static int OPEN_BROWSER_MODE_CRXDE = 2; public final static int OPEN_BROWSER_MODE_WF_CONSOLE = 3; public final static int OPEN_BROWSER_MODE_SYSTEM_CONSOLE = 4; public int openBrowserMode = OPEN_BROWSER_MODE_CRXDE; private final FileObject fileObject; public OpenBrowserAction(SlingNode node) { if (node != null) { fileObject = node.getFileObject(); } else { fileObject = null; } } public OpenBrowserAction(FileObject fileObject) { this.fileObject = fileObject; } @Override public void actionPerformed(ActionEvent e) { try { //URLDisplayer urlDisplayer = URLDisplayer.getDefault(); StringBuilder urlSb = new StringBuilder(fileObject.getFileSystem().getServerPrefix()); if (openBrowserMode == OPEN_BROWSER_MODE_CRXDE) { urlSb.append("/crx/de/index.jsp#/" + fileObject.getPath()); } else if (openBrowserMode == OPEN_BROWSER_MODE_WF_CONSOLE) { urlSb.append("/workflow"); }else if (openBrowserMode == OPEN_BROWSER_MODE_SYSTEM_CONSOLE) { urlSb.append("/system/console/configMgr"); } else { urlSb.append("/" + fileObject.getPath() + ".html"); } Desktop desktop = Desktop.getDesktop(); desktop.browse(new URI(urlSb.toString())); } catch (Exception ex) { LogHelper.logError(ex); } } }