From 325e4e8350fb2dc1ab01ae8444acd6d323dee32f Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 23 May 2018 07:56:00 +0200 Subject: Clean up temp dirs in finally clause --- .../application/provider/SchemaValidators.java | 33 ++++++++++++---------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'config-application-package') 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 e7e65751ee8..783f7361ad5 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 @@ -56,20 +56,23 @@ public class SchemaValidators { */ public SchemaValidators(Version vespaVersion, DeployLogger logger) { this.deployLogger = logger; - File schemaDir; + File schemaDir = null; try { schemaDir = saveSchemasFromJar(new File(SchemaValidators.schemaDirBase), vespaVersion); - } catch (IOException e) { - throw new RuntimeException(e); + servicesXmlValidator = createValidator(schemaDir, servicesXmlSchemaName); + hostsXmlValidator = createValidator(schemaDir, hostsXmlSchemaName); + deploymentXmlValidator = createValidator(schemaDir, deploymentXmlSchemaName); + validationOverridesXmlValidator = createValidator(schemaDir, validationOverridesXmlSchemaName); + containerIncludeXmlValidator = createValidator(schemaDir, containerIncludeXmlSchemaName); + routingStandaloneXmlValidator = createValidator(schemaDir, routingStandaloneXmlSchemaName); + } catch (IOException ioe) { + throw new RuntimeException(ioe); + } catch (Exception e) { + throw e; + } finally { + if (schemaDir != null) + IOUtils.recursiveDeleteDir(schemaDir); } - - servicesXmlValidator = createValidator(schemaDir, servicesXmlSchemaName); - hostsXmlValidator = createValidator(schemaDir, hostsXmlSchemaName); - deploymentXmlValidator = createValidator(schemaDir, deploymentXmlSchemaName); - validationOverridesXmlValidator = createValidator(schemaDir, validationOverridesXmlSchemaName); - containerIncludeXmlValidator = createValidator(schemaDir, containerIncludeXmlSchemaName); - routingStandaloneXmlValidator = createValidator(schemaDir, routingStandaloneXmlSchemaName); - IOUtils.recursiveDeleteDir(schemaDir); } /** @@ -81,19 +84,19 @@ public class SchemaValidators { this(vespaVersion, new BaseDeployLogger()); } - public SchemaValidator servicesXmlValidator() throws IOException { + public SchemaValidator servicesXmlValidator() { return servicesXmlValidator; } - public SchemaValidator hostsXmlValidator() throws IOException { + public SchemaValidator hostsXmlValidator() { return hostsXmlValidator; } - public SchemaValidator deploymentXmlValidator() throws IOException { + public SchemaValidator deploymentXmlValidator() { return deploymentXmlValidator; } - SchemaValidator validationOverridesXmlValidator() throws IOException { + SchemaValidator validationOverridesXmlValidator() { return validationOverridesXmlValidator; } -- cgit v1.2.3