diff --git a/envvars-lib/src/main/java/com/optum/envvars/mapdata/EnvVarsMapDataEngine.java b/envvars-lib/src/main/java/com/optum/envvars/mapdata/EnvVarsMapDataEngine.java index c34713c..52f16f3 100644 --- a/envvars-lib/src/main/java/com/optum/envvars/mapdata/EnvVarsMapDataEngine.java +++ b/envvars-lib/src/main/java/com/optum/envvars/mapdata/EnvVarsMapDataEngine.java @@ -47,11 +47,13 @@ public EnvVarsMapDataEngine(EnvVarsSchemaReader envVarsSchemaReader, EnvVarsStat final Object schemaAsObject = rawSourceMap.get("schema"); if (envVarsSchemaReader!=null && schemaAsObject!=null) { final String schemaAsString = schemaAsObject.toString(); - final URL schemaUrl; - try { - schemaUrl = new URL(schemaAsString); - } catch (MalformedURLException e) { - throw new EnvVarsException("Unable to load EnvVars schema from: " + schemaAsString); + URL schemaUrl = getClass().getClassLoader().getResource(schemaAsString); + if (schemaUrl == null) { + try { + schemaUrl = new URL(schemaAsString); + } catch (MalformedURLException e) { + throw new EnvVarsException("Unable to load EnvVars schema from: " + schemaAsString); + } } this.envVarsStaticSchema = envVarsSchemaReader.buildFromURL(schemaUrl); } else { diff --git a/envvars-yaml/src/main/java/com/optum/envvars/schema/yaml/YamlEnvVarsSchemaReader.java b/envvars-yaml/src/main/java/com/optum/envvars/schema/yaml/YamlEnvVarsSchemaReader.java index b3f4bd6..7d87b2f 100644 --- a/envvars-yaml/src/main/java/com/optum/envvars/schema/yaml/YamlEnvVarsSchemaReader.java +++ b/envvars-yaml/src/main/java/com/optum/envvars/schema/yaml/YamlEnvVarsSchemaReader.java @@ -34,11 +34,16 @@ public EnvVarsStaticSchema buildFromString(String schemaString, String definitio public EnvVarsStaticSchema buildFromURL(URL url) throws EnvVarsException { final YamlLoadWrapper yamlLoadWrapper = YamlLoadWrapper.fromURL(yaml, url); final SchemaYaml schemaYaml = yamlLoadWrapper.load(); + System.out.println("Schema Definitions for " + url + ": " + schemaYaml.definitions); EnvVarsDefinitions envVarsDefinitions = new EnvVarsDefinitions(); for(String definition : schemaYaml.definitions) { try { - EnvVarsDefinitions definitionsFromURL = new YamlEnvVarsDefinitionsReader().getFromURL(new URL(definition)); + URL definitionUrl = getClass().getClassLoader().getResource(definition); + if (definitionUrl == null) { + definitionUrl = new URL(definition); + } + EnvVarsDefinitions definitionsFromURL = new YamlEnvVarsDefinitionsReader().getFromURL(definitionUrl); envVarsDefinitions.put(definitionsFromURL); } catch (MalformedURLException e) { throw new EnvVarsException("Bad URL in Schema Definition: " + definition);