Skip to content

Commit dbef595

Browse files
committed
support the loading of addons generators and decorators.
all sonar violations removed.
1 parent 2a103be commit dbef595

File tree

4 files changed

+37
-18
lines changed

4 files changed

+37
-18
lines changed

src/main/java/io/asfjava/ui/core/GeneratorFactoryLoader.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,30 @@
22

33
import static io.asfjava.ui.core.logging.ErrorCode.ASF01;
44

5+
import java.util.List;
6+
import java.util.stream.Collectors;
7+
import java.util.stream.Stream;
8+
59
import org.reflections.Reflections;
610

711
import io.asfjava.ui.core.generators.FormDefinitionGenerator;
812
import io.asfjava.ui.core.logging.ASFUILogger;
913

1014
final class GeneratorFactoryLoader {
11-
private static final String PACKAGESCAN = "io.asfjava.ui.core.generators";
15+
private static final List<String> PACKAGESCAN = Stream
16+
.of("io.asfjava.ui.core.generators", "io.asfjava.ui.addons.generators").collect(Collectors.toList());
1217
private static Reflections reflections = new Reflections(PACKAGESCAN);
1318

1419
void load() {
15-
reflections.getSubTypesOf(FormDefinitionGenerator.class).stream().forEach(subtype -> register(subtype));
20+
for (Class<? extends FormDefinitionGenerator> subType : reflections
21+
.getSubTypesOf(FormDefinitionGenerator.class)) {
22+
register(subType);
23+
}
1624
}
1725

18-
private void register(Class<? extends FormDefinitionGenerator> subtype) {
26+
private void register(Class<? extends FormDefinitionGenerator> subType) {
1927
try {
20-
FormDefinitionGenerator formDefinitionGenerator = subtype.newInstance();
28+
FormDefinitionGenerator formDefinitionGenerator = subType.newInstance();
2129
FormDefinitionGeneratorFactory.getInstance().register(formDefinitionGenerator::getAnnotation,
2230
formDefinitionGenerator);
2331
} catch (InstantiationException | IllegalAccessException e) {

src/main/java/io/asfjava/ui/core/SchemaDecoratorLoader.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,31 @@
22

33
import static io.asfjava.ui.core.logging.ErrorCode.ASF01;
44

5+
import java.util.List;
6+
import java.util.stream.Collectors;
7+
import java.util.stream.Stream;
8+
59
import org.reflections.Reflections;
610

711
import io.asfjava.ui.core.logging.ASFUILogger;
812
import io.asfjava.ui.core.schema.decorators.SchemaDecorator;
913

1014
final class SchemaDecoratorLoader {
1115

12-
private static final String PACKAGESCAN = "io.asfjava.ui.core.schema.decorators";
16+
private static final List<String> PACKAGESCAN = Stream
17+
.of("io.asfjava.ui.core.schema.decorators", "io.asfjava.ui.addons.schema.decorators")
18+
.collect(Collectors.toList());
1319
private static Reflections reflections = new Reflections(PACKAGESCAN);
1420

1521
void load() {
16-
reflections.getSubTypesOf(SchemaDecorator.class).stream().forEach(subtype -> register(subtype));
22+
for (Class<? extends SchemaDecorator> subType : reflections.getSubTypesOf(SchemaDecorator.class)) {
23+
register(subType);
24+
}
1725
}
1826

19-
private void register(Class<? extends SchemaDecorator> subtype) {
27+
private void register(Class<? extends SchemaDecorator> subType) {
2028
try {
21-
SchemaDecorator decorator = subtype.newInstance();
29+
SchemaDecorator decorator = subType.newInstance();
2230
SchemaDecoratorFactory.getInstance().register(decorator::getAnnotation, decorator);
2331
} catch (InstantiationException | IllegalAccessException e) {
2432
ASFUILogger.getLogger().error(ASF01, e);
@@ -30,12 +38,12 @@ void unload() {
3038
}
3139

3240
static SchemaDecoratorLoader getInstance() {
33-
if (INSTANCE == null)
34-
INSTANCE = new SchemaDecoratorLoader();
35-
return INSTANCE;
41+
if (instance == null)
42+
instance = new SchemaDecoratorLoader();
43+
return instance;
3644
}
3745

38-
private static SchemaDecoratorLoader INSTANCE;
46+
private static SchemaDecoratorLoader instance;
3947

4048
private SchemaDecoratorLoader() {
4149
}

src/main/java/io/asfjava/ui/core/generators/CheckBoxGenerator.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,18 @@ public void generate(ObjectNode fieldFormDefinition, Field field) {
4040
fieldFormDefinition.set("titleMap", titlesMap);
4141
} catch (InstantiationException | IllegalAccessException e) {
4242
ASFUILogger.getLogger().error(e.getMessage());
43+
throw new RuntimeException(e);
4344
}
4445
}
4546
}
4647

4748
private void buildValueDefinition(ObjectMapper checkBoxMapper, ArrayNode titlesMap, String value) {
4849
ObjectNode entry = checkBoxMapper.createObjectNode();
49-
if (value.equals(value.toUpperCase())) {
50+
String upperCasedValue = value.toUpperCase();
51+
String lowerCasedValue = value.toLowerCase();
52+
if (value.equals(upperCasedValue)) {
5053
entry.put("name", value.toLowerCase());
51-
} else if (value.equals(value.toLowerCase())) {
54+
} else if (value.equals(lowerCasedValue)) {
5255
entry.put("name", value.replace(value.substring(0, 1), value.substring(0, 1).toUpperCase()));
5356
} else {
5457
entry.put("name", value);

src/main/java/io/asfjava/ui/core/schema/UiFormSchemaGenerator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
public final class UiFormSchemaGenerator {
1919

20-
private static UiFormSchemaGenerator INSTANCE;
20+
private static UiFormSchemaGenerator instance;
2121

2222
public UiForm generate(Class<? extends Serializable> formDto) throws JsonMappingException {
2323
ObjectMapper mapper = new ObjectMapper();
@@ -47,10 +47,10 @@ private void buildFieldDefinition(Field field, Annotation annotation, ObjectMapp
4747
}
4848

4949
public static UiFormSchemaGenerator get() {
50-
if (INSTANCE == null) {
51-
INSTANCE = new UiFormSchemaGenerator();
50+
if (instance == null) {
51+
instance = new UiFormSchemaGenerator();
5252
}
53-
return INSTANCE;
53+
return instance;
5454
}
5555

5656
private UiFormSchemaGenerator() {

0 commit comments

Comments
 (0)