diff options
author | Harald Musum <musum@yahoo-inc.com> | 2017-06-10 09:15:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-10 09:15:12 +0200 |
commit | 82f734885a1c290c9ecf4beff2ca05e157620422 (patch) | |
tree | 65561ef5a03842948f389cf10ba10a2139f6274b | |
parent | 2af698629318873b3167cbad30081d2994e9df91 (diff) |
Revert "Set the default constructor on config classes private."
3 files changed, 9 insertions, 24 deletions
diff --git a/config-lib/src/main/java/com/yahoo/config/InnerNodeVector.java b/config-lib/src/main/java/com/yahoo/config/InnerNodeVector.java index eec2d3cd500..72ca0138a53 100644 --- a/config-lib/src/main/java/com/yahoo/config/InnerNodeVector.java +++ b/config-lib/src/main/java/com/yahoo/config/InnerNodeVector.java @@ -1,8 +1,6 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; import java.util.List; /** @@ -40,11 +38,9 @@ public class InnerNodeVector<NODE extends InnerNode> extends NodeVector<NODE> { @SuppressWarnings("unchecked") protected NODE createNew() { try { - Constructor<? extends InnerNode> ctor = defaultNode.getClass().getDeclaredConstructor(); - ctor.setAccessible(true); - return (NODE) ctor.newInstance(); - } catch (InvocationTargetException | IllegalAccessException | InstantiationException | NoSuchMethodException e) { - throw new ConfigurationRuntimeException(e); + return (NODE) defaultNode.getClass().newInstance(); + } catch (IllegalAccessException | InstantiationException ex) { + throw new ConfigurationRuntimeException(ex); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java index ab095ec8d42..9c761e425a7 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/InstanceResolver.java @@ -1,26 +1,17 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model; -import com.yahoo.config.ConfigBuilder; -import com.yahoo.config.ConfigInstance; -import com.yahoo.config.ConfigurationRuntimeException; +import com.yahoo.config.*; import com.yahoo.config.codegen.CNode; import com.yahoo.config.codegen.ConfigGenerator; import com.yahoo.config.codegen.InnerCNode; import com.yahoo.config.codegen.LeafCNode; import com.yahoo.log.LogLevel; -import com.yahoo.vespa.config.ConfigDefinitionKey; -import com.yahoo.vespa.config.ConfigKey; -import com.yahoo.vespa.config.ConfigPayload; -import com.yahoo.vespa.config.ConfigPayloadBuilder; -import com.yahoo.vespa.config.ConfigTransformer; -import com.yahoo.vespa.config.GenericConfig; import com.yahoo.vespa.config.buildergen.ConfigDefinition; import com.yahoo.yolean.Exceptions; +import com.yahoo.vespa.config.*; -import java.lang.reflect.Constructor; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import java.util.Map; @@ -176,7 +167,7 @@ class InstanceResolver { * @param cKey a ConfigKey * @return a {@link ConfigInstance} or null if not available in classpath */ - private static ConfigInstance getInstance(ConfigDefinitionKey cKey, ClassLoader instanceLoader) { + static ConfigInstance getInstance(ConfigDefinitionKey cKey, ClassLoader instanceLoader) { String className = ConfigGenerator.createClassName(cKey.getName()); Class<?> clazz; String fullClassName = packageName(cKey) + "." + className; @@ -187,10 +178,8 @@ class InstanceResolver { } Object i; try { - Constructor<?> configConstructor = clazz.getDeclaredConstructor(); - configConstructor.setAccessible(true); - i = configConstructor.newInstance(); - } catch (InvocationTargetException | InstantiationException | IllegalAccessException | NoSuchMethodException e) { + i = clazz.newInstance(); + } catch (InstantiationException | IllegalAccessException e) { throw new ConfigurationRuntimeException(e); } if (!(i instanceof ConfigInstance)) { diff --git a/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala b/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala index 6eb4d424cc0..716f2a60c33 100644 --- a/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala +++ b/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala @@ -194,7 +194,7 @@ object ConfigGenerator { | * Replaced by {link} | */ |@Deprecated - |private {nodeClass(inner)}() {{ + |public {nodeClass(inner)}() {{ | this(new Builder(), false); |}} </code>.text.stripMargin.trim |