/** * 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.io.IOException; import java.io.Writer; import static javax.swing.Action.NAME; import org.openide.windows.IOProvider; import org.openide.windows.InputOutput; /** * * @author jkan997 */ public abstract class AbstractAction extends javax.swing.AbstractAction { protected String name; private Writer logWriter = null; public void setActionName(String val) { this.name = val; putValue(NAME, name); } public String getActionName() { return name; } protected Writer getOutputWriter() { if (logWriter == null) { IOProvider iop = IOProvider.getDefault(); /*InputOutput io = iop.getIO("Sling Synchronization", false); if (io!=null){ io.closeInputOutput(); }*/ InputOutput io = iop.getIO("Sling Synchronization", false); logWriter = io.getOut(); io.setOutputVisible(true); io.select(); } return logWriter; } protected void logInfo(String msg, Object... params) { Writer logWriter = getOutputWriter(); String fmtMsg = String.format(msg, params); try { logWriter.append(fmtMsg); logWriter.append("\n"); } catch (IOException iOException) { } } protected void logHeader(String msg, Object... params) { Writer logWriter = getOutputWriter(); String fmtMsg = String.format(msg, params); try { StringBuilder line = new StringBuilder(); for (int i = 0; i <= fmtMsg.length(); i++) { line.append('-'); } line.append('\n'); logWriter.append(line); logWriter.append(fmtMsg); logWriter.append("\n"); logWriter.append(line); } catch (IOException iOException) { } } }