package hudson.plugins.proc; import hudson.util.ProcessTree.OSProcess; import hudson.model.AbstractBuild; import org.kohsuke.stapler.HttpRedirect; import org.kohsuke.stapler.HttpResponse; import java.util.List; /** * @author Jitendra Kotamraju */ public class ProcInfo { protected final AbstractBuild run; protected final OSProcess proc; protected ProcInfo(AbstractBuild run, OSProcess proc) { this.run = run; this.proc = proc; } // Is it a Java Process ? Crude way of checking - just checks whether // the first argument contains "java" private static boolean isJavaProc(OSProcess proc) { List<String> args = proc.getArguments(); return args.size() > 0 && args.get(0).contains("java"); } public String getInfo() { return proc.getPid()+" - "+proc.getArguments(); } static ProcInfo getProcInfo(AbstractBuild run, OSProcess proc) { return isJavaProc(proc) ? new JavaProcInfo(run, proc) : new ProcInfo(run, proc); } }