#14 load from jar einfacher

This commit is contained in:
Andreas Penski 2019-06-28 13:58:09 +02:00
parent 165ce94be9
commit b4429bed89
5 changed files with 37 additions and 27 deletions

View file

@ -26,6 +26,8 @@ import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import de.kosit.validationtool.impl.RelativeUriResolver;
/**
* Zentrale Konfigration einer Prüf-Instanz.
*
@ -62,7 +64,7 @@ public class CheckConfiguration {
private URI createDefaultRepository() {
log.info("Creating default scenario repository (alongside scenario definition)");
return this.scenarioDefinition.resolve(".");
return RelativeUriResolver.resolve(URI.create("."), this.scenarioDefinition);
}
}

View file

@ -62,7 +62,14 @@ public class RelativeUriResolver implements URIResolver, UnparsedTextURIResolver
}
}
static URI resolve(final URI href, final URI base) {
/**
* Resolves a relative uri including uris within a jar file.
*
* @param href the uri to resolve
* @param base the base uri
* @return the resolved uri
*/
public static URI resolve(final URI href, final URI base) {
final boolean jarURI = isJarURI(base);
final URI tmpBase = jarURI ? URI.create(base.toASCIIString().substring(4)) : base;
final URI result = tmpBase.resolve(href);

View file

@ -89,6 +89,7 @@ public class ScenarioRepository {
}
private static void checkVersion(final URI scenarioDefinition) {
final DocumentParseAction p = new DocumentParseAction();
try {
final Result<XdmNode, XMLSyntaxError> result = DocumentParseAction.parseDocument(InputFactory.read(scenarioDefinition.toURL()));
if (result.isValid() && !isSupportedDocument(result.getObject())) {

View file

@ -37,7 +37,7 @@ import net.sf.saxon.s9api.XdmNode;
/**
* Testet die Document Parsing-Funktionalitäten.
*
*
* @author Andreas Penski
*/
public class DocumentParserTest {