public final class org.owasp.dependencycheck.utils.Settings extends java.lang.Object
{
private static final org.slf4j.Logger LOGGER;
private static final java.lang.String PROPERTIES_FILE;
private static final java.lang.String ARRAY_SEP;
private java.util.Properties props;
private java.util.List maskedKeys;
private java.io.File tempDirectory;
private com.fasterxml.jackson.databind.ObjectMapper objectMapper;
public void <init>()
{
com.fasterxml.jackson.databind.ObjectMapper v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props> = null;
v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory> = null;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
specialinvoke v.<org.owasp.dependencycheck.utils.Settings: void initialize(java.lang.String)>("dependencycheck.properties");
return;
}
public void <init>(java.util.Properties)
{
java.util.Properties v, v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.util.Properties;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props> = null;
v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory> = null;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props> = v;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
specialinvoke v.<org.owasp.dependencycheck.utils.Settings: void logProperties(java.lang.String,java.util.Properties)>("Properties loaded", v);
return;
}
public void <init>(java.lang.String)
{
com.fasterxml.jackson.databind.ObjectMapper v;
java.lang.String v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props> = null;
v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory> = null;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
specialinvoke v.<org.owasp.dependencycheck.utils.Settings: void initialize(java.lang.String)>(v);
return;
}
private void initialize(java.lang.String)
{
java.lang.Throwable v;
java.util.Properties v, v, v;
org.slf4j.Logger v, v, v, v;
java.io.IOException v;
org.owasp.dependencycheck.utils.Settings v;
java.lang.NullPointerException v;
java.lang.String v;
java.io.InputStream v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props> = v;
label:
v = staticinvoke <org.owasp.dependencycheck.utils.FileUtils: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
label:
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
virtualinvoke v.<java.util.Properties: void load(java.io.InputStream)>(v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Did not find settings file \'{}\'.", v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("", v);
goto label;
label:
v := @caughtexception;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Unable to load settings from \'{}\'.", v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("", v);
label:
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
specialinvoke v.<org.owasp.dependencycheck.utils.Settings: void logProperties(java.lang.String,java.util.Properties)>("Properties loaded", v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.NullPointerException from label to label with label;
catch java.io.IOException from label to label with label;
}
public void cleanup()
{
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void cleanup(boolean)>(1);
return;
}
public synchronized void cleanup(boolean)
{
org.slf4j.Logger v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v, v, v, v;
java.lang.String v;
boolean v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: boolean;
if v == 0 goto label;
v = v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory>;
if v == null goto label;
v = v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory>;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Deleting ALL temporary files from `{}`", v);
v = v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory>;
staticinvoke <org.owasp.dependencycheck.utils.FileUtils: boolean delete(java.io.File)>(v);
v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory> = null;
label:
return;
}
private boolean isKeyMasked(java.lang.String)
{
java.util.function.Predicate v;
org.owasp.dependencycheck.utils.Settings v;
java.util.List v, v, v;
java.util.stream.Stream v;
java.lang.String v;
boolean v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.List maskedKeys>;
if v == null goto label;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.List maskedKeys>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void initMaskedKeys()>();
label:
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.List maskedKeys>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.owasp.dependencycheck.utils.Settings$lambda_isKeyMasked_0__1: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
protected java.lang.String getPrintableValue(java.lang.String, java.lang.String)
{
java.lang.String v, v, v, v;
org.owasp.dependencycheck.utils.Settings v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = null;
if v == null goto label;
v = specialinvoke v.<org.owasp.dependencycheck.utils.Settings: boolean isKeyMasked(java.lang.String)>(v);
if v == 0 goto label;
v = "********";
goto label;
label:
v = v;
label:
v = v;
label:
return v;
}
protected void initMaskedKeys()
{
java.lang.String[] v;
org.owasp.dependencycheck.utils.Settings v;
java.util.function.Function v;
java.util.ArrayList v;
java.util.List v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String[] getArray(java.lang.String)>("odc.settings.mask");
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.owasp.dependencycheck.utils.Settings: java.util.List maskedKeys> = v;
goto label;
label:
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.owasp.dependencycheck.utils.Settings$lambda_initMaskedKeys_1__2: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v.<org.owasp.dependencycheck.utils.Settings: java.util.List maskedKeys> = v;
label:
return;
}
private void logProperties(java.lang.String, java.util.Properties)
{
java.lang.Throwable v;
java.lang.Object[] v, v;
java.util.Enumeration v;
java.lang.String v, v, v, v;
boolean v, v;
java.io.PrintWriter v;
java.util.Properties v;
org.slf4j.Logger v, v;
java.io.StringWriter v;
org.owasp.dependencycheck.utils.Settings v;
java.lang.Object v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.util.Properties;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void initMaskedKeys()>();
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
v = new java.io.PrintWriter;
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.Writer)>(v);
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter format(java.lang.String,java.lang.Object[])>("%s:%n%n", v);
v = virtualinvoke v.<java.util.Properties: java.util.Enumeration propertyNames()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>(v);
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getPrintableValue(java.lang.String,java.lang.String)>(v, v);
if v == null goto label;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter format(java.lang.String,java.lang.Object[])>("%s=\'%s\'%n", v);
goto label;
label:
virtualinvoke v.<java.io.PrintWriter: void flush()>();
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = virtualinvoke v.<java.io.StringWriter: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.PrintWriter: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void setString(java.lang.String, java.lang.String)
{
java.util.Properties v;
org.slf4j.Logger v;
java.lang.String v, v, v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
virtualinvoke v.<java.util.Properties: java.lang.Object setProperty(java.lang.String,java.lang.String)>(v, v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getPrintableValue(java.lang.String,java.lang.String)>(v, v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Setting: {}=\'{}\'", v, v);
return;
}
public void setStringIfNotNull(java.lang.String, java.lang.String)
{
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if null == v goto label;
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setString(java.lang.String,java.lang.String)>(v, v);
label:
return;
}
public void setStringIfNotEmpty(java.lang.String, java.lang.String)
{
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if null == v goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setString(java.lang.String,java.lang.String)>(v, v);
label:
return;
}
public void setArrayIfNotEmpty(java.lang.String, java.lang.String[])
{
java.lang.Throwable v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.lang.String[] v;
java.lang.IllegalArgumentException v;
org.owasp.dependencycheck.utils.Settings v;
int v;
java.lang.String v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String[];
if null == v goto label;
v = lengthof v;
if v <= 0 goto label;
label:
v = v.<org.owasp.dependencycheck.utils.Settings: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setString(java.lang.String,java.lang.String)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
return;
catch com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
}
public void setArrayIfNotEmpty(java.lang.String, java.util.List)
{
java.lang.Throwable v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.lang.IllegalArgumentException v;
org.owasp.dependencycheck.utils.Settings v;
java.util.List v;
java.lang.String v, v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
if null == v goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
label:
v = v.<org.owasp.dependencycheck.utils.Settings: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setString(java.lang.String,java.lang.String)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
return;
catch com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
}
public void setBoolean(java.lang.String, boolean)
{
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = staticinvoke <java.lang.Boolean: java.lang.String toString(boolean)>(v);
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setString(java.lang.String,java.lang.String)>(v, v);
return;
}
public void setBooleanIfNotNull(java.lang.String, java.lang.Boolean)
{
java.lang.Boolean v;
java.lang.String v;
org.owasp.dependencycheck.utils.Settings v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Boolean;
if null == v goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setBoolean(java.lang.String,boolean)>(v, v);
label:
return;
}
public void setFloat(java.lang.String, float)
{
float v;
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: float;
v = staticinvoke <java.lang.Float: java.lang.String toString(float)>(v);
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setString(java.lang.String,java.lang.String)>(v, v);
return;
}
public void setInt(java.lang.String, int)
{
java.util.Properties v;
org.slf4j.Logger v;
int v;
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
java.lang.Integer v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: int;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
virtualinvoke v.<java.util.Properties: java.lang.Object setProperty(java.lang.String,java.lang.String)>(v, v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Setting: {}=\'{}\'", v, v);
return;
}
public void setIntIfNotNull(java.lang.String, java.lang.Integer)
{
int v;
java.lang.String v;
org.owasp.dependencycheck.utils.Settings v;
java.lang.Integer v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Integer;
if null == v goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void setInt(java.lang.String,int)>(v, v);
label:
return;
}
public void mergeProperties(java.io.File) throws java.io.FileNotFoundException, java.io.IOException
{
java.lang.Throwable v;
java.io.FileInputStream v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.io.File;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void mergeProperties(java.io.InputStream)>(v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void mergeProperties(java.lang.String) throws java.io.FileNotFoundException, java.io.IOException
{
java.lang.Throwable v;
java.io.FileInputStream v;
java.lang.String v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>(v);
label:
virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: void mergeProperties(java.io.InputStream)>(v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void mergeProperties(java.io.InputStream) throws java.io.IOException
{
java.util.Properties v, v;
org.owasp.dependencycheck.utils.Settings v;
java.io.InputStream v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.io.InputStream;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
virtualinvoke v.<java.util.Properties: void load(java.io.InputStream)>(v);
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
specialinvoke v.<org.owasp.dependencycheck.utils.Settings: void logProperties(java.lang.String,java.util.Properties)>("Properties updated via merge", v);
return;
}
public java.io.File getFile(java.lang.String)
{
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
return v;
}
protected java.io.File getDataFile(java.lang.String)
{
org.slf4j.Logger v, v, v, v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Settings.getDataFile() - file: \'{}\'", v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("[JAR]");
if v == 0 goto label;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Settings.getDataFile() - transforming filename");
v = specialinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getJarPath()>();
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Settings.getDataFile() - jar file: \'{}\'", v);
v = new java.io.File;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(6);
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Settings.getDataFile() - returning: \'{}\'", v);
return v;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
return v;
}
private java.io.File getJarPath()
{
java.net.URL v, v;
java.nio.charset.Charset v;
java.lang.String v, v, v, v, v;
boolean v;
org.slf4j.Logger v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v, v, v;
java.security.ProtectionDomain v, v;
java.lang.Class v, v;
java.security.CodeSource v, v, v;
java.io.UnsupportedEncodingException v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v = ".";
v = "";
v = class "Lorg/owasp/dependencycheck/utils/Settings;";
v = virtualinvoke v.<java.lang.Class: java.security.ProtectionDomain getProtectionDomain()>();
if v == null goto label;
v = virtualinvoke v.<java.security.ProtectionDomain: java.security.CodeSource getCodeSource()>();
if v == null goto label;
v = virtualinvoke v.<java.security.ProtectionDomain: java.security.CodeSource getCodeSource()>();
v = virtualinvoke v.<java.security.CodeSource: java.net.URL getLocation()>();
if v == null goto label;
v = class "Lorg/owasp/dependencycheck/utils/Settings;";
v = virtualinvoke v.<java.lang.Class: java.security.ProtectionDomain getProtectionDomain()>();
v = virtualinvoke v.<java.security.ProtectionDomain: java.security.CodeSource getCodeSource()>();
v = virtualinvoke v.<java.security.CodeSource: java.net.URL getLocation()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getPath()>();
label:
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.nio.charset.Charset: java.lang.String name()>();
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>("", v);
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".jar");
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
return v;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(".");
return v;
catch java.io.UnsupportedEncodingException from label to label with label;
}
public java.lang.String getString(java.lang.String, java.lang.String)
{
java.util.Properties v;
java.lang.String v, v, v, v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>(v, v);
return v;
}
public synchronized java.io.File getTempDirectory() throws java.io.IOException
{
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v, v, v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v = v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory>;
if v != null goto label;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.io.tmpdir");
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String,java.lang.String)>("temp.directory", v);
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <org.owasp.dependencycheck.utils.FileUtils: java.io.File createTempDirectory(java.io.File)>(v);
v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory> = v;
label:
v = v.<org.owasp.dependencycheck.utils.Settings: java.io.File tempDirectory>;
return v;
}
public java.lang.String getString(java.lang.String)
{
java.util.Properties v;
java.lang.String v, v, v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>(v);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>(v, v);
return v;
}
public java.lang.String[] getArray(java.lang.String)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
com.fasterxml.jackson.databind.ObjectMapper v;
char v, v;
java.lang.String[] v;
org.owasp.dependencycheck.utils.Settings v;
java.lang.Object v;
java.lang.String v, v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v == 123 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 91 goto label;
label:
v = v.<org.owasp.dependencycheck.utils.Settings: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,java.lang.Class)>(v, class "[Ljava/lang/String;");
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to read value \'\u0001\' as an array");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
return v;
label:
return null;
catch com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
}
public void removeProperty(java.lang.String)
{
java.lang.String v;
java.util.Properties v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = v.<org.owasp.dependencycheck.utils.Settings: java.util.Properties props>;
virtualinvoke v.<java.util.Properties: java.lang.Object remove(java.lang.Object)>(v);
return;
}
public int getInt(java.lang.String) throws org.owasp.dependencycheck.utils.InvalidSettingException
{
int v;
java.lang.NumberFormatException v;
java.lang.String v, v, v;
org.owasp.dependencycheck.utils.Settings v;
org.owasp.dependencycheck.utils.InvalidSettingException v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.owasp.dependencycheck.utils.InvalidSettingException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not convert property \'\u0001\' to an int.");
specialinvoke v.<org.owasp.dependencycheck.utils.InvalidSettingException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
public int getInt(java.lang.String, int)
{
java.lang.Object[] v;
org.slf4j.Logger v;
java.lang.NumberFormatException v;
org.owasp.dependencycheck.utils.Settings v;
java.lang.Integer v;
int v, v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: int;
label:
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String,java.lang.String)>(v, "");
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getPrintableValue(java.lang.String,java.lang.String)>(v, v);
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("Could not convert property \'{}={}\' to an int; using {} instead.", v);
label:
v = v;
label:
return v;
catch java.lang.NumberFormatException from label to label with label;
}
public long getLong(java.lang.String) throws org.owasp.dependencycheck.utils.InvalidSettingException
{
java.lang.NumberFormatException v;
long v;
java.lang.String v, v, v;
org.owasp.dependencycheck.utils.Settings v;
org.owasp.dependencycheck.utils.InvalidSettingException v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.owasp.dependencycheck.utils.InvalidSettingException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not convert property \'\u0001\' to a long.");
specialinvoke v.<org.owasp.dependencycheck.utils.InvalidSettingException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
public boolean getBoolean(java.lang.String) throws org.owasp.dependencycheck.utils.InvalidSettingException
{
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
return v;
}
public boolean getBoolean(java.lang.String, boolean)
{
java.lang.String v, v, v;
org.owasp.dependencycheck.utils.Settings v;
boolean v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = staticinvoke <java.lang.Boolean: java.lang.String toString(boolean)>(v);
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
return v;
}
public float getFloat(java.lang.String, float)
{
java.lang.Throwable v;
org.slf4j.Logger v;
float v, v;
java.lang.String v, v;
org.owasp.dependencycheck.utils.Settings v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: float;
v = v;
label:
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
v = staticinvoke <java.lang.Float: float parseFloat(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>("ignore", v);
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String getConnectionString(java.lang.String, java.lang.String) throws java.io.IOException, org.owasp.dependencycheck.utils.InvalidSettingException
{
java.lang.Object[] v, v, v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v, v;
org.slf4j.Logger v, v;
org.owasp.dependencycheck.utils.Settings v;
org.owasp.dependencycheck.utils.InvalidSettingException v, v;
java.io.File v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
if v != null goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Invalid properties file; %s is missing.", v);
v = new org.owasp.dependencycheck.utils.InvalidSettingException;
specialinvoke v.<org.owasp.dependencycheck.utils.InvalidSettingException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("%s");
if v == 0 goto label;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getH2DataDirectory()>();
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Data directory: {}", v);
v = null;
if v == null goto label;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>(v);
label:
if v != null goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Invalid properties file to get a file based connection string; \'%s\' must be defined.", v);
v = new org.owasp.dependencycheck.utils.InvalidSettingException;
specialinvoke v.<org.owasp.dependencycheck.utils.InvalidSettingException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("jdbc:h2:file:");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".mv.db");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 6;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>(v, v);
v = <org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Connection String: \'{}\'", v);
return v;
label:
return v;
}
public java.io.File getDataDirectory() throws java.io.IOException
{
java.lang.Object[] v;
java.io.IOException v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v;
java.lang.String v, v;
boolean v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getDataFile(java.lang.String)>("data.directory");
if v == null goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v == 0 goto label;
label:
return v;
label:
v = new java.io.IOException;
v = newarray (java.lang.Object)[1];
if v != null goto label;
v = "unknown";
goto label;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
label:
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unable to create the data directory \'%s\'", v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
}
public java.io.File getH2DataDirectory() throws java.io.IOException
{
java.lang.Object[] v;
java.io.IOException v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v;
java.lang.String v, v, v;
boolean v, v, v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.lang.String getString(java.lang.String)>("data.h.directory");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getDataFile(java.lang.String)>("data.h.directory");
goto label;
label:
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getDataFile(java.lang.String)>("data.directory");
label:
if v == null goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v == 0 goto label;
label:
return v;
label:
v = new java.io.IOException;
v = newarray (java.lang.Object)[1];
if v != null goto label;
v = "unknown";
goto label;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
label:
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unable to create the h data directory \'%s\'", v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
}
public java.io.File getTempFile(java.lang.String, java.lang.String) throws java.io.IOException
{
java.lang.Object[] v;
java.util.UUID v;
org.owasp.dependencycheck.utils.Settings v;
java.io.File v, v, v;
java.lang.String v, v, v, v;
boolean v;
v := @this: org.owasp.dependencycheck.utils.Settings;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getTempDirectory()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%s%s.%s", v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = virtualinvoke v.<org.owasp.dependencycheck.utils.Settings: java.io.File getTempFile(java.lang.String,java.lang.String)>(v, v);
return v;
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/owasp/dependencycheck/utils/Settings;");
<org.owasp.dependencycheck.utils.Settings: org.slf4j.Logger LOGGER> = v;
return;
}
}