package krasa.visualvm;
import static org.apache.commons.lang.StringUtils.isNotBlank;
import com.intellij.openapi.diagnostic.Logger;
import krasa.visualvm.runner.VisualVMGenericDebuggerRunnerSettings;
import krasa.visualvm.runner.VisualVMGenericRunnerSettings;
/*dirty, but works*/
public class VisualVMContext {
private static final Logger log = Logger.getInstance(VisualVMContext.class.getName());
private static volatile VisualVMContext currentlyExecuted;
protected Long appId;
protected String jdkPath;
public VisualVMContext(Long appId, String jdkPath) {
this.appId = appId;
this.jdkPath = jdkPath;
}
public VisualVMContext(VisualVMGenericDebuggerRunnerSettings debuggerSettings) {
this.appId = debuggerSettings.getVisualVMId();
}
public VisualVMContext(VisualVMGenericRunnerSettings runnerSettings) {
this.appId = runnerSettings.getVisualVMId();
}
public Long getAppId() {
return appId;
}
public String getJdkPath() {
return jdkPath;
}
public void save() {
log.info("saving context: " + this.toString());
VisualVMContext.currentlyExecuted = this;
}
public static VisualVMContext load() {
return currentlyExecuted;
}
public static boolean isValid(VisualVMContext visualVMContext) {
return visualVMContext != null && visualVMContext.getAppId() != null;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("VisualVMContext");
sb.append("{appId=").append(appId);
// sb.append(", jdkPath='").append(jdkPath).append('\'');
sb.append('}');
return sb.toString();
}
}