mirror of
https://github.com/jlengrand/quarkus.git
synced 2026-03-10 08:41:22 +00:00
Merge pull request #7261 from mkouba/issue-7257
RootDefinition - trim RuntimeConfig and RuntimeConfiguration suffixes
This commit is contained in:
@@ -35,7 +35,11 @@ public final class RootDefinition extends ClassDefinition {
|
||||
withoutSuffix(
|
||||
withoutSuffix(
|
||||
withoutSuffix(
|
||||
segments,
|
||||
withoutSuffix(
|
||||
withoutSuffix(
|
||||
segments,
|
||||
"Runtime", "Configuration"),
|
||||
"Runtime", "Config"),
|
||||
"Run", "Time", "Configuration"),
|
||||
"Run", "Time", "Config"),
|
||||
"Configuration"),
|
||||
|
||||
@@ -59,6 +59,7 @@ import io.quarkus.extest.runtime.TestAnnotation;
|
||||
import io.quarkus.extest.runtime.TestRecorder;
|
||||
import io.quarkus.extest.runtime.beans.CommandServlet;
|
||||
import io.quarkus.extest.runtime.beans.PublicKeyProducer;
|
||||
import io.quarkus.extest.runtime.config.FooRuntimeConfig;
|
||||
import io.quarkus.extest.runtime.config.ObjectOfValue;
|
||||
import io.quarkus.extest.runtime.config.ObjectValueOf;
|
||||
import io.quarkus.extest.runtime.config.TestBuildAndRunTimeConfig;
|
||||
@@ -388,10 +389,11 @@ public final class TestProcessor {
|
||||
@Record(RUNTIME_INIT)
|
||||
void configureBeans(TestRecorder recorder, List<TestBeanBuildItem> testBeans,
|
||||
BeanContainerBuildItem beanContainer,
|
||||
TestRunTimeConfig runTimeConfig) {
|
||||
TestRunTimeConfig runTimeConfig, FooRuntimeConfig fooRuntimeConfig) {
|
||||
for (TestBeanBuildItem testBeanBuildItem : testBeans) {
|
||||
Class<IConfigConsumer> beanClass = testBeanBuildItem.getConfigConsumer();
|
||||
recorder.configureBeans(beanContainer.getValue(), beanClass, buildAndRunTimeConfig, runTimeConfig);
|
||||
recorder.configureBeans(beanContainer.getValue(), beanClass, buildAndRunTimeConfig, runTimeConfig,
|
||||
fooRuntimeConfig);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -118,3 +118,6 @@ quarkus.test-property=foo
|
||||
quarkus.rt.map-map.outer-key.inner-key=1234
|
||||
quarkus.btrt.map-map.outer-key.inner-key=1234
|
||||
quarkus.bt.map-map.outer-key.inner-key=1234
|
||||
|
||||
# Test config root with "RuntimeConfig" suffix
|
||||
quarkus.foo.bar=huhu
|
||||
|
||||
@@ -4,6 +4,7 @@ import javax.enterprise.event.Observes;
|
||||
|
||||
import io.quarkus.extest.runtime.IConfigConsumer;
|
||||
import io.quarkus.extest.runtime.TestAnnotation;
|
||||
import io.quarkus.extest.runtime.config.FooRuntimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestBuildAndRunTimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestRunTimeConfig;
|
||||
import io.quarkus.runtime.ShutdownEvent;
|
||||
@@ -14,8 +15,9 @@ import io.quarkus.runtime.StartupEvent;
|
||||
*/
|
||||
@TestAnnotation
|
||||
public class ConfiguredBean implements IConfigConsumer {
|
||||
TestRunTimeConfig runTimeConfig;
|
||||
TestBuildAndRunTimeConfig buildTimeConfig;
|
||||
volatile TestRunTimeConfig runTimeConfig;
|
||||
volatile TestBuildAndRunTimeConfig buildTimeConfig;
|
||||
volatile FooRuntimeConfig fooRuntimeConfig;
|
||||
|
||||
public ConfiguredBean() {
|
||||
System.out.printf("ConfiguredBean.ctor, %s%n", super.toString());
|
||||
@@ -27,10 +29,13 @@ public class ConfiguredBean implements IConfigConsumer {
|
||||
* @param runTimeConfig
|
||||
*/
|
||||
@Override
|
||||
public void loadConfig(TestBuildAndRunTimeConfig buildTimeConfig, TestRunTimeConfig runTimeConfig) {
|
||||
System.out.printf("loadConfig, buildTimeConfig=%s, runTimeConfig=%s%n", buildTimeConfig, runTimeConfig);
|
||||
public void loadConfig(TestBuildAndRunTimeConfig buildTimeConfig, TestRunTimeConfig runTimeConfig,
|
||||
FooRuntimeConfig fooRuntimeConfig) {
|
||||
System.out.printf("loadConfig, buildTimeConfig=%s, runTimeConfig=%s, fooRuntimeConfig=%s%n", buildTimeConfig,
|
||||
runTimeConfig, fooRuntimeConfig);
|
||||
this.buildTimeConfig = buildTimeConfig;
|
||||
this.runTimeConfig = runTimeConfig;
|
||||
this.fooRuntimeConfig = fooRuntimeConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -54,6 +59,10 @@ public class ConfiguredBean implements IConfigConsumer {
|
||||
return buildTimeConfig;
|
||||
}
|
||||
|
||||
public FooRuntimeConfig getFooRuntimeConfig() {
|
||||
return fooRuntimeConfig;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ConfiguredBean{runTimeConfig=" + runTimeConfig + '}';
|
||||
|
||||
@@ -54,6 +54,7 @@ public class ConfiguredBeanTest {
|
||||
Assertions.assertNotNull(configuredBean);
|
||||
Assertions.assertNotNull(configuredBean.getBuildTimeConfig());
|
||||
Assertions.assertNotNull(configuredBean.getRunTimeConfig());
|
||||
Assertions.assertEquals("huhu", configuredBean.getFooRuntimeConfig().bar);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.quarkus.extest.runtime;
|
||||
|
||||
import io.quarkus.extest.runtime.config.FooRuntimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestBuildAndRunTimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestRunTimeConfig;
|
||||
|
||||
@@ -7,5 +8,6 @@ import io.quarkus.extest.runtime.config.TestRunTimeConfig;
|
||||
* Interface used to pass the runtime configuration to an application bean for validation
|
||||
*/
|
||||
public interface IConfigConsumer {
|
||||
void loadConfig(TestBuildAndRunTimeConfig buildTimeConfig, TestRunTimeConfig runTimeConfig);
|
||||
void loadConfig(TestBuildAndRunTimeConfig buildTimeConfig, TestRunTimeConfig runTimeConfig,
|
||||
FooRuntimeConfig fooRuntimeConfig);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.jboss.logging.Logger;
|
||||
|
||||
import io.quarkus.arc.runtime.BeanContainer;
|
||||
import io.quarkus.extest.runtime.beans.PublicKeyProducer;
|
||||
import io.quarkus.extest.runtime.config.FooRuntimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestBuildAndRunTimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestRunTimeConfig;
|
||||
import io.quarkus.extest.runtime.config.XmlConfig;
|
||||
@@ -17,11 +18,7 @@ import io.quarkus.runtime.annotations.Recorder;
|
||||
|
||||
/**
|
||||
* The runtime recorder
|
||||
*
|
||||
* note that the use of the deprecated @Template is deliberate, to ensure that it still works.
|
||||
*
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
@Recorder
|
||||
public class TestRecorder {
|
||||
static final Logger log = Logger.getLogger(TestRecorder.class);
|
||||
@@ -38,10 +35,10 @@ public class TestRecorder {
|
||||
*/
|
||||
public void configureBeans(BeanContainer beanContainer, Class<IConfigConsumer> beanClass,
|
||||
TestBuildAndRunTimeConfig buildTimeConfig,
|
||||
TestRunTimeConfig runTimeConfig) {
|
||||
TestRunTimeConfig runTimeConfig, FooRuntimeConfig fooRuntimeConfig) {
|
||||
log.infof("Begin BeanContainerListener callback\n");
|
||||
IConfigConsumer instance = beanContainer.instance(beanClass);
|
||||
instance.loadConfig(buildTimeConfig, runTimeConfig);
|
||||
instance.loadConfig(buildTimeConfig, runTimeConfig, fooRuntimeConfig);
|
||||
log.infof("configureBeans, instance=%s\n", instance);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package io.quarkus.extest.runtime.config;
|
||||
|
||||
import io.quarkus.runtime.annotations.ConfigItem;
|
||||
import io.quarkus.runtime.annotations.ConfigPhase;
|
||||
import io.quarkus.runtime.annotations.ConfigRoot;
|
||||
|
||||
/**
|
||||
* Test config root with "RuntimeConfig" suffix.
|
||||
*/
|
||||
@ConfigRoot(phase = ConfigPhase.RUN_TIME)
|
||||
public class FooRuntimeConfig {
|
||||
|
||||
/**
|
||||
* Test property.
|
||||
*/
|
||||
@ConfigItem(defaultValue = "baz")
|
||||
public String bar;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("FooRuntimeConfig [bar=").append(bar).append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -921,7 +921,7 @@ lowercased, and re-joined using hyphens (`-`).
|
||||
A configuration root's class name can contain an extra suffix segment for the case where there are configuration
|
||||
roots for multiple <<Configuration Root Phases>>. Classes which correspond to the `BUILD_TIME` and `BUILD_AND_RUN_TIME_FIXED`
|
||||
may end with `BuildTimeConfig` or `BuildTimeConfiguration`, and classes which correspond to the `RUN_TIME` phase
|
||||
may end with `RunTimeConfig` or `RunTimeConfiguration`.
|
||||
may end with `RuntimeConfig`, `RunTimeConfig`, `RuntimeConfiguration` or `RunTimeConfiguration`.
|
||||
|
||||
Note: The current implementation is still using injection site to determine the root set, so to avoid migration problems, it
|
||||
is recommended that the injection site (field or parameter) have the same name as the configuration root class until
|
||||
|
||||
@@ -4,6 +4,7 @@ import javax.enterprise.event.Observes;
|
||||
|
||||
import io.quarkus.extest.runtime.IConfigConsumer;
|
||||
import io.quarkus.extest.runtime.TestAnnotation;
|
||||
import io.quarkus.extest.runtime.config.FooRuntimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestBuildAndRunTimeConfig;
|
||||
import io.quarkus.extest.runtime.config.TestRunTimeConfig;
|
||||
import io.quarkus.runtime.ShutdownEvent;
|
||||
@@ -11,8 +12,9 @@ import io.quarkus.runtime.StartupEvent;
|
||||
|
||||
@TestAnnotation
|
||||
public class NativeBean implements IConfigConsumer {
|
||||
TestRunTimeConfig runTimeConfig;
|
||||
TestBuildAndRunTimeConfig buildTimeConfig;
|
||||
volatile TestRunTimeConfig runTimeConfig;
|
||||
volatile TestBuildAndRunTimeConfig buildTimeConfig;
|
||||
volatile FooRuntimeConfig fooRuntimeConfig;
|
||||
|
||||
public NativeBean() {
|
||||
System.out.printf("NativeBean.ctor, %s%n", super.toString());
|
||||
@@ -24,10 +26,13 @@ public class NativeBean implements IConfigConsumer {
|
||||
* @param runTimeConfig
|
||||
*/
|
||||
@Override
|
||||
public void loadConfig(TestBuildAndRunTimeConfig buildTimeConfig, TestRunTimeConfig runTimeConfig) {
|
||||
System.out.printf("loadConfig, buildTimeConfig=%s, runTimeConfig=%s%n", buildTimeConfig, runTimeConfig);
|
||||
public void loadConfig(TestBuildAndRunTimeConfig buildTimeConfig, TestRunTimeConfig runTimeConfig,
|
||||
FooRuntimeConfig fooRuntimeConfig) {
|
||||
System.out.printf("loadConfig, buildTimeConfig=%s, runTimeConfig=%s, fooRuntimeConfig=%s%n", buildTimeConfig,
|
||||
runTimeConfig, fooRuntimeConfig);
|
||||
this.buildTimeConfig = buildTimeConfig;
|
||||
this.runTimeConfig = runTimeConfig;
|
||||
this.fooRuntimeConfig = fooRuntimeConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user