summaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-09-20 12:36:51 +0200
committerHarald Musum <musum@oath.com>2018-09-20 12:36:51 +0200
commitd3ce5363de4109870d6993b21e307d6999d01ba1 (patch)
tree7bb90bc5b3b18861002103f9264931cdb3199b44 /config-application-package
parentd06c943b265e1e635f6b2a61358778db29f787c3 (diff)
Minor schema validator cleanup
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/ApplicationPackageXmlFilesValidator.java4
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidator.java6
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidators.java28
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/SimpleApplicationValidator.java2
4 files changed, 12 insertions, 28 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/ApplicationPackageXmlFilesValidator.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/ApplicationPackageXmlFilesValidator.java
index 8e9c5c0b509..74ade9d8e14 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/ApplicationPackageXmlFilesValidator.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/ApplicationPackageXmlFilesValidator.java
@@ -26,9 +26,9 @@ public class ApplicationPackageXmlFilesValidator {
private static final FilenameFilter xmlFilter = (dir, name) -> name.endsWith(".xml");
- public ApplicationPackageXmlFilesValidator(AppSubDirs appDirs, Version vespaVersion) {
+ private ApplicationPackageXmlFilesValidator(AppSubDirs appDirs, Version vespaVersion) {
this.appDirs = appDirs;
- this.validators = new SchemaValidators(vespaVersion, new BaseDeployLogger());
+ this.validators = new SchemaValidators(vespaVersion);
}
public static ApplicationPackageXmlFilesValidator create(File appDir, Version vespaVersion) {
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidator.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidator.java
index 50268fc1e08..16469bb13ae 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidator.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidator.java
@@ -82,15 +82,15 @@ public class SchemaValidator {
private class CustomErrorHandler implements ErrorHandler {
volatile String fileName;
- public void warning(SAXParseException e) throws SAXException {
+ public void warning(SAXParseException e) {
deployLogger.log(Level.WARNING, message(e));
}
- public void error(SAXParseException e) throws SAXException {
+ public void error(SAXParseException e) {
throw new IllegalArgumentException(message(e));
}
- public void fatalError(SAXParseException e) throws SAXException {
+ public void fatalError(SAXParseException e) {
throw new IllegalArgumentException(message(e));
}
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidators.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidators.java
index 783f7361ad5..a28f771c37b 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidators.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SchemaValidators.java
@@ -2,7 +2,6 @@
package com.yahoo.config.model.application.provider;
import com.yahoo.component.Version;
-import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.io.IOUtils;
import com.yahoo.log.LogLevel;
import org.osgi.framework.Bundle;
@@ -40,8 +39,6 @@ public class SchemaValidators {
private static final String routingStandaloneXmlSchemaName = "routing-standalone.rnc";
- private final DeployLogger deployLogger;
-
private final SchemaValidator servicesXmlValidator;
private final SchemaValidator hostsXmlValidator;
private final SchemaValidator deploymentXmlValidator;
@@ -54,8 +51,7 @@ public class SchemaValidators {
*
* @param vespaVersion the version of Vespa we should validate against
*/
- public SchemaValidators(Version vespaVersion, DeployLogger logger) {
- this.deployLogger = logger;
+ public SchemaValidators(Version vespaVersion) {
File schemaDir = null;
try {
schemaDir = saveSchemasFromJar(new File(SchemaValidators.schemaDirBase), vespaVersion);
@@ -75,15 +71,6 @@ public class SchemaValidators {
}
}
- /**
- * Initializes the validator by using the given file as schema file
- *
- * @param vespaVersion the version of Vespa we should validate against
- */
- public SchemaValidators(Version vespaVersion) {
- this(vespaVersion, new BaseDeployLogger());
- }
-
public SchemaValidator servicesXmlValidator() {
return servicesXmlValidator;
}
@@ -104,7 +91,7 @@ public class SchemaValidators {
return containerIncludeXmlValidator;
}
- public SchemaValidator routingStandaloneXmlValidator() {
+ SchemaValidator routingStandaloneXmlValidator() {
return routingStandaloneXmlValidator;
}
@@ -114,22 +101,20 @@ public class SchemaValidators {
* @return the directory the schema files are stored in
* @throws IOException if it is not possible to read schema files
*/
- File saveSchemasFromJar(File tmpBase, Version vespaVersion) throws IOException {
+ private File saveSchemasFromJar(File tmpBase, Version vespaVersion) throws IOException {
final Class<? extends SchemaValidators> schemaValidatorClass = this.getClass();
final ClassLoader classLoader = schemaValidatorClass.getClassLoader();
Enumeration<URL> uris = classLoader.getResources("schema");
if (uris == null) return null;
File tmpDir = java.nio.file.Files.createTempDirectory(tmpBase.toPath(), "vespa").toFile();
- log.log(LogLevel.DEBUG, "Will save all XML schemas to " + tmpDir);
+ log.log(LogLevel.DEBUG, "Will save all XML schemas found in jar to " + tmpDir);
while (uris.hasMoreElements()) {
URL u = uris.nextElement();
log.log(LogLevel.DEBUG, "uri for resource 'schema'=" + u.toString());
if ("jar".equals(u.getProtocol())) {
JarURLConnection jarConnection = (JarURLConnection) u.openConnection();
JarFile jarFile = jarConnection.getJarFile();
- for (Enumeration<JarEntry> entries = jarFile.entries();
- entries.hasMoreElements(); ) {
-
+ for (Enumeration<JarEntry> entries = jarFile.entries(); entries.hasMoreElements(); ) {
JarEntry je = entries.nextElement();
if (je.getName().startsWith("schema/") && je.getName().endsWith(".rnc")) {
writeContentsToFile(tmpDir, je.getName(), jarFile.getInputStream(je));
@@ -168,7 +153,6 @@ public class SchemaValidators {
return tmpDir;
}
- // TODO: This only copies schema for services.xml. Why?
private static void copySchemas(File from, File to) throws IOException {
// TODO: only copy .rnc files.
if (! from.exists()) throw new IOException("Could not find schema source directory '" + from + "'");
@@ -187,7 +171,7 @@ public class SchemaValidators {
private SchemaValidator createValidator(File schemaDir, String schemaFile) {
try {
File file = new File(schemaDir + File.separator + "schema" + File.separator + schemaFile);
- return new SchemaValidator(file, deployLogger);
+ return new SchemaValidator(file, new BaseDeployLogger());
} catch (SAXException e) {
throw new RuntimeException("Invalid schema '" + schemaFile + "'", e);
} catch (IOException e) {
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SimpleApplicationValidator.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SimpleApplicationValidator.java
index 9db254bc742..1284d315058 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SimpleApplicationValidator.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/SimpleApplicationValidator.java
@@ -14,6 +14,6 @@ import java.io.Reader;
public class SimpleApplicationValidator {
public static void checkServices(Reader reader, Version version) throws IOException {
- new SchemaValidators(version, new BaseDeployLogger()).servicesXmlValidator().validate(reader);
+ new SchemaValidators(version).servicesXmlValidator().validate(reader);
}
}