Skip to content

Commit 9bd9c6a

Browse files
committed
reorder singleton instances
1 parent 3b53bee commit 9bd9c6a

6 files changed

+73
-88
lines changed

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

+12-14
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,23 @@
99

1010
public final class FormDefinitionGeneratorFactory {
1111

12-
public Optional<FormDefinitionGenerator> getGenerator(String annotationName) {
13-
return Optional.ofNullable(GENERATORS.get(annotationName));
14-
}
15-
16-
void register(Supplier<String> annotationName, FormDefinitionGenerator generator) {
17-
GENERATORS.put(annotationName.get(), generator);
18-
}
12+
private static FormDefinitionGeneratorFactory instance;
1913

2014
public static FormDefinitionGeneratorFactory getInstance() {
21-
if (instance == null) {
22-
instance = new FormDefinitionGeneratorFactory();
23-
}
24-
return instance;
15+
return (instance == null)
16+
? instance = new FormDefinitionGeneratorFactory()
17+
: instance;
2518
}
2619

27-
private static final Map<String, FormDefinitionGenerator> GENERATORS = new ConcurrentHashMap<>();
20+
private final Map<String, FormDefinitionGenerator> generators = new ConcurrentHashMap<>();
2821

29-
private static FormDefinitionGeneratorFactory instance;
22+
private FormDefinitionGeneratorFactory() {}
3023

31-
private FormDefinitionGeneratorFactory() {
24+
public Optional<FormDefinitionGenerator> getGenerator(String annotationName) {
25+
return Optional.ofNullable(generators.get(annotationName));
26+
}
27+
28+
void register(Supplier<String> annotationName, FormDefinitionGenerator generator) {
29+
generators.put(annotationName.get(), generator);
3230
}
3331
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ public final void contextInitialized(final ServletContextEvent sce) {
1414

1515
@Override
1616
public final void contextDestroyed(final ServletContextEvent sce) {
17-
// to implement it
17+
// TODO to implement
1818
}
1919
}
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,34 @@
11
package io.asfjava.ui.core;
22

3+
import io.asfjava.ui.core.generators.FormDefinitionGenerator;
4+
import io.asfjava.ui.core.logging.ASFUILogger;
5+
import org.reflections.Reflections;
6+
37
import static io.asfjava.ui.core.logging.ErrorCode.ASF01;
48

5-
import java.util.List;
6-
import java.util.stream.Collectors;
7-
import java.util.stream.Stream;
9+
final class GeneratorFactoryLoader {
810

9-
import org.reflections.Reflections;
11+
private static final String[] PACKAGES_TO_SCAN = {
12+
"io.asfjava.ui.core.generators",
13+
"io.asfjava.ui.addons.generators"
14+
};
15+
private static Reflections reflections = new Reflections(PACKAGES_TO_SCAN);
16+
private static GeneratorFactoryLoader instance;
1017

11-
import io.asfjava.ui.core.generators.FormDefinitionGenerator;
12-
import io.asfjava.ui.core.logging.ASFUILogger;
18+
static GeneratorFactoryLoader getInstance() {
19+
return (instance == null)
20+
? instance = new GeneratorFactoryLoader()
21+
: instance;
22+
}
1323

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

1926
void load() {
20-
reflections.getSubTypesOf(FormDefinitionGenerator.class).forEach(instance::register);
27+
reflections.getSubTypesOf(FormDefinitionGenerator.class).forEach(this::register);
28+
}
29+
30+
void unload() {
31+
ASFUILogger.getLogger().info("I'm unloader");
2132
}
2233

2334
private void register(Class<? extends FormDefinitionGenerator> subType) {
@@ -29,20 +40,4 @@ private void register(Class<? extends FormDefinitionGenerator> subType) {
2940
ASFUILogger.getLogger().error(ASF01, e);
3041
}
3142
}
32-
33-
void unload() {
34-
ASFUILogger.getLogger().info("I'm unloader");
35-
}
36-
37-
static GeneratorFactoryLoader getInstance() {
38-
if (instance == null)
39-
instance = new GeneratorFactoryLoader();
40-
return instance;
41-
}
42-
43-
private static GeneratorFactoryLoader instance;
44-
45-
private GeneratorFactoryLoader() {
46-
}
47-
4843
}

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

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ public static void initialize(){
66
GeneratorFactoryLoader.getInstance().load();
77
SchemaDecoratorLoader.getInstance().load();
88
}
9-
10-
private SFJavaUi() {
11-
}
9+
10+
private SFJavaUi() {}
1211
}
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
11
package io.asfjava.ui.core;
22

3+
import io.asfjava.ui.core.schema.decorators.SchemaDecorator;
4+
35
import java.util.Map;
46
import java.util.Optional;
57
import java.util.concurrent.ConcurrentHashMap;
68
import java.util.function.Supplier;
79

8-
import io.asfjava.ui.core.schema.decorators.SchemaDecorator;
9-
1010
public final class SchemaDecoratorFactory {
11-
public Optional<SchemaDecorator> getDecorator(String annotationName) {
12-
return Optional.ofNullable(decorators.get(annotationName));
13-
}
1411

15-
void register(Supplier<String> annotationName, SchemaDecorator generator) {
16-
decorators.put(annotationName.get(), generator);
17-
}
12+
private static SchemaDecoratorFactory instance;
1813

1914
public static SchemaDecoratorFactory getInstance() {
20-
if (instance == null) {
21-
instance = new SchemaDecoratorFactory();
22-
}
23-
return instance;
15+
return (instance == null)
16+
? instance = new SchemaDecoratorFactory()
17+
: instance;
2418
}
2519

26-
private static final Map<String, SchemaDecorator> decorators = new ConcurrentHashMap<>();
20+
private final Map<String, SchemaDecorator> decorators = new ConcurrentHashMap<>();
2721

28-
private static SchemaDecoratorFactory instance;
22+
private SchemaDecoratorFactory() {}
2923

30-
private SchemaDecoratorFactory() {
24+
public Optional<SchemaDecorator> getDecorator(String annotationName) {
25+
return Optional.ofNullable(decorators.get(annotationName));
26+
}
27+
28+
void register(Supplier<String> annotationName, SchemaDecorator generator) {
29+
decorators.put(annotationName.get(), generator);
3130
}
3231
}
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,34 @@
11
package io.asfjava.ui.core;
22

3-
import static io.asfjava.ui.core.logging.ErrorCode.ASF01;
4-
5-
import java.util.List;
6-
import java.util.stream.Collectors;
7-
import java.util.stream.Stream;
8-
9-
import org.reflections.Reflections;
10-
113
import io.asfjava.ui.core.logging.ASFUILogger;
124
import io.asfjava.ui.core.schema.decorators.SchemaDecorator;
5+
import org.reflections.Reflections;
6+
7+
import static io.asfjava.ui.core.logging.ErrorCode.ASF01;
138

149
final class SchemaDecoratorLoader {
1510

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());
19-
private static Reflections reflections = new Reflections(PACKAGESCAN);
11+
private static final String[] PACKAGES_TO_SCAN = {
12+
"io.asfjava.ui.core.schema.decorators",
13+
"io.asfjava.ui.addons.schema.decorators"
14+
};
15+
private static Reflections reflections = new Reflections(PACKAGES_TO_SCAN);
16+
private static SchemaDecoratorLoader instance;
17+
18+
static SchemaDecoratorLoader getInstance() {
19+
return (instance == null)
20+
? instance = new SchemaDecoratorLoader()
21+
: instance;
22+
}
23+
24+
private SchemaDecoratorLoader() {}
2025

2126
void load() {
22-
reflections.getSubTypesOf(SchemaDecorator.class).forEach(instance::register);
27+
reflections.getSubTypesOf(SchemaDecorator.class).forEach(this::register);
28+
}
29+
30+
void unload() {
31+
ASFUILogger.getLogger().info("I'm unloader");
2332
}
2433

2534
private void register(Class<? extends SchemaDecorator> subType) {
@@ -30,19 +39,4 @@ private void register(Class<? extends SchemaDecorator> subType) {
3039
ASFUILogger.getLogger().error(ASF01, e);
3140
}
3241
}
33-
34-
void unload() {
35-
ASFUILogger.getLogger().info("I'm unloader");
36-
}
37-
38-
static SchemaDecoratorLoader getInstance() {
39-
if (instance == null)
40-
instance = new SchemaDecoratorLoader();
41-
return instance;
42-
}
43-
44-
private static SchemaDecoratorLoader instance;
45-
46-
private SchemaDecoratorLoader() {
47-
}
4842
}

0 commit comments

Comments
 (0)