Skip to content

Commit f7a3c18

Browse files
fix: Revert "chore: remove @EdcSettng and @EdcSettingContext from the code base (#47)" (#55)
This reverts commit f190f7f.
1 parent 4bb591b commit f7a3c18

File tree

5 files changed

+101
-6
lines changed

5 files changed

+101
-6
lines changed

plugins/autodoc/autodoc-processor/src/main/java/org/eclipse/edc/plugins/autodoc/core/processor/introspection/ExtensionIntrospector.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
package org.eclipse.edc.plugins.autodoc.core.processor.introspection;
1616

1717
import org.eclipse.edc.plugins.autodoc.core.processor.compiler.AnnotationFunctions;
18+
import org.eclipse.edc.runtime.metamodel.annotation.EdcSetting;
19+
import org.eclipse.edc.runtime.metamodel.annotation.EdcSettingContext;
1820
import org.eclipse.edc.runtime.metamodel.annotation.Extension;
1921
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
2022
import org.eclipse.edc.runtime.metamodel.annotation.Provider;
@@ -101,7 +103,8 @@ public List<Service> resolveProvidedServices(Element element) {
101103
* Resolves configuration points declared with {@link Setting}.
102104
*/
103105
public List<ConfigurationSetting> resolveConfigurationSettings(Element element) {
104-
return getEnclosedElementsAnnotatedWith(element, Setting.class)
106+
return Stream.concat(getEnclosedElementsAnnotatedWith(element, EdcSetting.class),
107+
getEnclosedElementsAnnotatedWith(element, Setting.class))
105108
.filter(VariableElement.class::isInstance)
106109
.map(VariableElement.class::cast)
107110
.map(this::createConfigurationSetting)
@@ -138,6 +141,9 @@ private ConfigurationSetting createConfigurationSetting(VariableElement settingE
138141
var settingBuilder = ConfigurationSetting.Builder.newInstance().key(keyValue);
139142

140143
var settingMirror = mirrorFor(Setting.class, settingElement);
144+
if (settingMirror == null) { //todo: compatibility
145+
settingMirror = mirrorFor(EdcSetting.class, settingElement);
146+
}
141147

142148
var description = attributeValue(String.class, "value", settingMirror, elementUtils);
143149
settingBuilder.description(description);
@@ -158,7 +164,7 @@ private ConfigurationSetting createConfigurationSetting(VariableElement settingE
158164
}
159165

160166
/**
161-
* Resolves a configuration prefix specified by {@link SettingContext} for a given EDC setting element or an empty string if there is none.
167+
* Resolves a configuration prefix specified by {@link EdcSettingContext} for a given EDC setting element or an empty string if there is none.
162168
*/
163169
@NotNull
164170
private String resolveConfigurationPrefix(VariableElement edcSettingElement) {
@@ -167,6 +173,9 @@ private String resolveConfigurationPrefix(VariableElement edcSettingElement) {
167173
return "";
168174
}
169175
var contextMirror = mirrorFor(SettingContext.class, enclosingElement);
176+
if (contextMirror == null) {
177+
contextMirror = mirrorFor(EdcSettingContext.class, enclosingElement);
178+
}
170179
return contextMirror != null ? attributeValue(String.class, "value", contextMirror, elementUtils) : "";
171180
}
172181
}

plugins/autodoc/autodoc-processor/src/main/java/org/eclipse/edc/plugins/autodoc/core/processor/introspection/ModuleIntrospector.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package org.eclipse.edc.plugins.autodoc.core.processor.introspection;
1616

17+
import org.eclipse.edc.runtime.metamodel.annotation.EdcSetting;
1718
import org.eclipse.edc.runtime.metamodel.annotation.Extension;
1819
import org.eclipse.edc.runtime.metamodel.annotation.ExtensionPoint;
1920
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
@@ -79,7 +80,7 @@ public String getModuleName(RoundEnvironment environment) {
7980
* <li>Are annotated with {@link Provides}</li>
8081
* <li>Are annotated with {@link Requires}</li>
8182
* <li>Have one or more fields annotated with {@link Inject}</li>
82-
* <li>Have one or more fields annotated with {@link Setting}</li>
83+
* <li>Have one or more fields annotated with {@link EdcSetting}</li>
8384
* <li>Have one or more methods annotated with {@link Provider}</li>
8485
* </ul>
8586
* <p>
@@ -91,13 +92,14 @@ public String getModuleName(RoundEnvironment environment) {
9192
*/
9293
public Set<Element> getExtensionElements(RoundEnvironment environment) {
9394
var extensionClasses = environment.getElementsAnnotatedWith(Extension.class);
95+
var settingsSymbolsDeprecated = environment.getElementsAnnotatedWith(EdcSetting.class);
9496
var settingsSymbols = environment.getElementsAnnotatedWith(Setting.class);
9597
var injectSymbols = environment.getElementsAnnotatedWith(Inject.class);
9698
var providerSymbols = environment.getElementsAnnotatedWith(Provider.class);
9799
var providesClasses = environment.getElementsAnnotatedWith(Provides.class);
98100
var requiresClasses = environment.getElementsAnnotatedWith(Requires.class);
99101

100-
var symbols = settingsSymbols.stream();
102+
var symbols = Stream.concat(settingsSymbols.stream(), settingsSymbolsDeprecated.stream());
101103
symbols = Stream.concat(symbols, injectSymbols.stream());
102104
symbols = Stream.concat(symbols, providerSymbols.stream());
103105

plugins/autodoc/autodoc-processor/src/test/java/org/eclipse/edc/plugins/autodoc/core/processor/testextensions/SampleExtensionWithoutAnnotation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
package org.eclipse.edc.plugins.autodoc.core.processor.testextensions;
1616

1717
import org.eclipse.edc.plugins.autodoc.core.processor.Constants;
18+
import org.eclipse.edc.runtime.metamodel.annotation.EdcSetting;
1819
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
1920
import org.eclipse.edc.runtime.metamodel.annotation.Provider;
2021
import org.eclipse.edc.runtime.metamodel.annotation.Provides;
21-
import org.eclipse.edc.runtime.metamodel.annotation.Setting;
2222
import org.eclipse.edc.spi.system.ServiceExtension;
2323

2424
@Provides(SomeOtherService.class)
2525
public class SampleExtensionWithoutAnnotation implements ServiceExtension {
26-
@Setting(value = Constants.TEST_SETTING_NAME, required = true)
26+
@EdcSetting(value = Constants.TEST_SETTING_NAME, required = true)
2727
public static final String TEST_SETTING = Constants.TEST_SETTING_KEY;
2828

2929
@Inject
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Copyright (c) 2022 Microsoft Corporation
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Apache License, Version 2.0 which is available at
6+
* https://www.apache.org/licenses/LICENSE-2.0
7+
*
8+
* SPDX-License-Identifier: Apache-2.0
9+
*
10+
* Contributors:
11+
* Microsoft Corporation - initial API and implementation
12+
*
13+
*/
14+
15+
package org.eclipse.edc.runtime.metamodel.annotation;
16+
17+
import java.lang.annotation.Documented;
18+
import java.lang.annotation.ElementType;
19+
import java.lang.annotation.Retention;
20+
import java.lang.annotation.RetentionPolicy;
21+
import java.lang.annotation.Target;
22+
23+
/**
24+
* Denotes a runtime configuration setting.
25+
*
26+
* @deprecated Please use {@link Setting}
27+
*/
28+
@Target({ ElementType.TYPE, ElementType.FIELD })
29+
@Retention(RetentionPolicy.RUNTIME)
30+
@Documented
31+
@Deprecated
32+
public @interface EdcSetting {
33+
34+
/**
35+
* The setting description.
36+
*/
37+
String value() default "";
38+
39+
String type() default "string";
40+
41+
long min() default Long.MIN_VALUE;
42+
43+
long max() default Long.MAX_VALUE;
44+
45+
/**
46+
* Returns true if the setting is required.
47+
*/
48+
boolean required() default false;
49+
50+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (c) 2022 Microsoft Corporation
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Apache License, Version 2.0 which is available at
6+
* https://www.apache.org/licenses/LICENSE-2.0
7+
*
8+
* SPDX-License-Identifier: Apache-2.0
9+
*
10+
* Contributors:
11+
* Microsoft Corporation - initial API and implementation
12+
*
13+
*/
14+
15+
package org.eclipse.edc.runtime.metamodel.annotation;
16+
17+
import java.lang.annotation.Documented;
18+
import java.lang.annotation.ElementType;
19+
import java.lang.annotation.Retention;
20+
import java.lang.annotation.RetentionPolicy;
21+
import java.lang.annotation.Target;
22+
23+
/**
24+
* Defines a context for setting keys.
25+
*
26+
* @deprecated please use {@link SettingContext}
27+
*/
28+
@Target({ ElementType.TYPE, ElementType.FIELD })
29+
@Retention(RetentionPolicy.RUNTIME)
30+
@Documented
31+
@Deprecated
32+
public @interface EdcSettingContext {
33+
String value();
34+
}

0 commit comments

Comments
 (0)