Skip to content

Commit f132bf8

Browse files
authored
Merge pull request #149 from SentryMan/log
Slightly Improve Logging
2 parents c5d81ef + 6056f37 commit f132bf8

File tree

3 files changed

+18
-16
lines changed

3 files changed

+18
-16
lines changed

jsonb-generator/src/main/java/io/avaje/jsonb/generator/ProcessingContext.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ static void init(ProcessingEnvironment processingEnv) {
5454

5555
private static boolean initPreviewEnabled(ProcessingEnvironment processingEnv) {
5656
try {
57-
return (boolean) ProcessingEnvironment.class.getDeclaredMethod("isPreviewEnabled").invoke(processingEnv);
57+
return (boolean)
58+
ProcessingEnvironment.class.getDeclaredMethod("isPreviewEnabled").invoke(processingEnv);
5859
} catch (final Throwable e) {
5960
return false;
6061
}
@@ -123,20 +124,22 @@ static ProcessingEnvironment env() {
123124
return CTX.get().env;
124125
}
125126

126-
static void addImportedPrism(ImportPrism prism) {
127+
static void addImportedPrism(ImportPrism prism, Element element) {
127128
if (!prism.subtypes().isEmpty() && prism.value().size() > 1) {
128-
throw new IllegalStateException("subtypes cannot be used when an import annotation imports more than one class");
129+
logError(
130+
element, "subtypes cannot be used when an import annotation imports more than one class");
131+
return;
129132
}
130133
final var json = CTX.get().importedJsonMap;
131134
final var subtypes = CTX.get().importedSubtypeMap;
132135
prism
133-
.value()
134-
.forEach(
135-
m -> {
136-
final var type = m.toString();
137-
json.put(type, prism.jsonSettings());
138-
subtypes.put(type, prism.subtypes());
139-
});
136+
.value()
137+
.forEach(
138+
m -> {
139+
final var type = m.toString();
140+
json.put(type, prism.jsonSettings());
141+
subtypes.put(type, prism.subtypes());
142+
});
140143
}
141144

142145
static Optional<JsonPrism> importedJson(TypeElement type) {

jsonb-generator/src/main/java/io/avaje/jsonb/generator/Processor.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,12 @@ private void writeAdaptersForImportedList(Set<? extends Element> imported) {
177177
*/
178178
private void writeAdaptersForImported(Set<? extends Element> importedElements) {
179179
importedElements.stream()
180-
.flatMap(e -> ImportPrism.getAllInstancesOn(e).stream())
181-
.forEach(this::addImported);
180+
.flatMap(e -> ImportPrism.getAllInstancesOn(e).stream().peek(p -> addImportedPrism(p, e)))
181+
.forEach(this::addImported);
182182
}
183183

184184
private void addImported(ImportPrism importPrism) {
185-
addImportedPrism(importPrism);
186-
for (TypeMirror importType : importPrism.value()) {
185+
for (final TypeMirror importType : importPrism.value()) {
187186
// if imported by mixin annotation skip
188187
if (mixInImports.contains(importType.toString())) {
189188
return;
@@ -193,7 +192,7 @@ private void addImported(ImportPrism importPrism) {
193192
}
194193

195194
private static TypeElement implementationType(ImportPrism importPrism) {
196-
TypeMirror implementationType = importPrism.implementation();
195+
final TypeMirror implementationType = importPrism.implementation();
197196
if (!"java.lang.Void".equals(implementationType.toString())) {
198197
return asTypeElement(implementationType);
199198
}

jsonb-spring-adapter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<dependency>
1818
<groupId>org.springframework.boot</groupId>
1919
<artifactId>spring-boot-dependencies</artifactId>
20-
<version>3.0.4</version>
20+
<version>3.1.2</version>
2121
<type>pom</type>
2222
<scope>import</scope>
2323
</dependency>

0 commit comments

Comments
 (0)