Skip to content

Commit adbb703

Browse files
authored
Refactor BeanContextBuilder extract interface, use static newBuilder() (#81)
1 parent e734611 commit adbb703

28 files changed

+589
-551
lines changed

inject-test/src/test/java/io/avaje/inject/BeanContextBuilderTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class BeanContextBuilderTest {
1515
@Test
1616
public void noDepends() {
1717

18-
BeanContextBuilder.FactoryOrder factoryOrder = new BeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
18+
DBeanContextBuilder.FactoryOrder factoryOrder = new DBeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
1919
factoryOrder.add(bc("1", null, null));
2020
factoryOrder.add(bc("2", null, null));
2121
factoryOrder.add(bc("3", null, null));
@@ -27,7 +27,7 @@ public void noDepends() {
2727
@Test
2828
public void name_depends() {
2929

30-
BeanContextBuilder.FactoryOrder factoryOrder = new BeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
30+
DBeanContextBuilder.FactoryOrder factoryOrder = new DBeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
3131
factoryOrder.add(bc("two", null, "one"));
3232
factoryOrder.add(bc("one", null, null));
3333
factoryOrder.orderFactories();
@@ -38,7 +38,7 @@ public void name_depends() {
3838
@Test
3939
public void name_depends4() {
4040

41-
BeanContextBuilder.FactoryOrder factoryOrder = new BeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
41+
DBeanContextBuilder.FactoryOrder factoryOrder = new DBeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
4242
factoryOrder.add(bc("1", null, "3"));
4343
factoryOrder.add(bc("2", null, "4"));
4444
factoryOrder.add(bc("3", null, "4"));
@@ -52,7 +52,7 @@ public void name_depends4() {
5252
@Test
5353
public void nameFeature_depends() {
5454

55-
BeanContextBuilder.FactoryOrder factoryOrder = new BeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
55+
DBeanContextBuilder.FactoryOrder factoryOrder = new DBeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
5656
factoryOrder.add(bc("1", "a", "3"));
5757
factoryOrder.add(bc("2", null, "4,a"));
5858
factoryOrder.add(bc("3", null, "4"));
@@ -66,7 +66,7 @@ public void nameFeature_depends() {
6666
@Test
6767
public void feature_depends() {
6868

69-
BeanContextBuilder.FactoryOrder factoryOrder = new BeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
69+
DBeanContextBuilder.FactoryOrder factoryOrder = new DBeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
7070
factoryOrder.add(bc("two", null, "myfeature"));
7171
factoryOrder.add(bc("one", "myfeature", null));
7272
factoryOrder.orderFactories();
@@ -77,7 +77,7 @@ public void feature_depends() {
7777
@Test
7878
public void feature_depends2() {
7979

80-
BeanContextBuilder.FactoryOrder factoryOrder = new BeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
80+
DBeanContextBuilder.FactoryOrder factoryOrder = new DBeanContextBuilder.FactoryOrder(Collections.emptySet(), true, true);
8181
factoryOrder.add(bc("two", null, "myfeature"));
8282
factoryOrder.add(bc("one", "myfeature", null));
8383
factoryOrder.add(bc("three", "myfeature", null));

inject-test/src/test/java/org/example/coffee/BeanContextBuilderAddTest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65
import org.mockito.Mockito;
76

@@ -16,7 +15,7 @@ public void withModules_exludingThisOne() {
1615
assertThrows(IllegalStateException.class, () -> {
1716
TDPump testDoublePump = new TDPump();
1817

19-
try (BeanContext context = new BeanContextBuilder()
18+
try (BeanContext context = BeanContext.newBuilder()
2019
.withBeans(testDoublePump)
2120
// our module is "org.example.coffee"
2221
// so this effectively includes no modules
@@ -35,7 +34,7 @@ public void withModules_includeThisOne() {
3534

3635
TDPump testDoublePump = new TDPump();
3736

38-
try (BeanContext context = new BeanContextBuilder()
37+
try (BeanContext context = BeanContext.newBuilder()
3938
.withBeans(testDoublePump)
4039
.withModules("org.example")
4140
.build()) {
@@ -53,7 +52,7 @@ public void withBean_expect_testDoublePumpUsed() {
5352

5453
TDPump testDoublePump = new TDPump();
5554

56-
try (BeanContext context = new BeanContextBuilder()
55+
try (BeanContext context = BeanContext.newBuilder()
5756
.withBeans(testDoublePump)
5857
.build()) {
5958

@@ -70,7 +69,7 @@ public void withMockitoMock_expect_mockUsed() {
7069

7170
Pump mock = Mockito.mock(Pump.class);
7271

73-
try (BeanContext context = new BeanContextBuilder()
72+
try (BeanContext context = BeanContext.newBuilder()
7473
.withBean(Pump.class, mock)
7574
.build()) {
7675

inject-test/src/test/java/org/example/coffee/BeanContext_Builder_mockitoSpyTest.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.example.coffee.factory.SomeImpl;
65
import org.example.coffee.factory.SomeImplBean;
76
import org.example.coffee.factory.Unused;
@@ -30,7 +29,7 @@ public void withBeans_asMocks() {
3029
Pump pump = mock(Pump.class);
3130
Grinder grinder = mock(Grinder.class);
3231

33-
try (BeanContext context = new BeanContextBuilder()
32+
try (BeanContext context = BeanContext.newBuilder()
3433
.withBeans(pump, grinder)
3534
.build()) {
3635

@@ -51,7 +50,7 @@ public void withBeans_asMocks() {
5150
@Test
5251
public void withMockitoSpy_noSetup_expect_spyUsed() {
5352

54-
try (BeanContext context = new BeanContextBuilder()
53+
try (BeanContext context = BeanContext.newBuilder()
5554
.withSpy(Pump.class)
5655
.build()) {
5756

@@ -67,7 +66,7 @@ public void withMockitoSpy_noSetup_expect_spyUsed() {
6766
@Test
6867
public void withMockitoSpy_postLoadSetup_expect_spyUsed() {
6968

70-
try (BeanContext context = new BeanContextBuilder()
69+
try (BeanContext context = BeanContext.newBuilder()
7170
.withSpy(Pump.class)
7271
.withSpy(Grinder.class)
7372
.build()) {
@@ -90,7 +89,7 @@ public void withMockitoSpy_postLoadSetup_expect_spyUsed() {
9089
@Test
9190
public void withMockitoSpy_expect_spyUsed() {
9291

93-
try (BeanContext context = new BeanContextBuilder()
92+
try (BeanContext context = BeanContext.newBuilder()
9493
.withSpy(Pump.class, pump -> {
9594
// setup the spy
9695
doNothing().when(pump).pumpWater();
@@ -113,7 +112,7 @@ public void withMockitoSpy_expect_spyUsed() {
113112
@Test
114113
public void withMockitoSpy_whenPrimary_expect_spyUsed() {
115114

116-
try (BeanContext context = new BeanContextBuilder()
115+
try (BeanContext context = BeanContext.newBuilder()
117116
.withSpy(PEmailer.class) // has a primary
118117
.build()) {
119118

@@ -128,7 +127,7 @@ public void withMockitoSpy_whenPrimary_expect_spyUsed() {
128127
@Test
129128
public void withMockitoSpy_whenOnlySecondary_expect_spyUsed() {
130129

131-
try (BeanContext context = new BeanContextBuilder()
130+
try (BeanContext context = BeanContext.newBuilder()
132131
.withSpy(Widget.class) // only secondary
133132
.build()) {
134133

@@ -148,7 +147,7 @@ public void withMockitoSpy_whenOnlySecondary_expect_spyUsed() {
148147
@Test
149148
public void withMockitoSpy_whenSecondary_expect_spyUsed() {
150149

151-
try (BeanContext context = new BeanContextBuilder()
150+
try (BeanContext context = BeanContext.newBuilder()
152151
.withSpy(Something.class) // has a secondary and a normal
153152
.build()) {
154153

@@ -172,7 +171,7 @@ public void withMockitoMock_expect_mockUsed() {
172171

173172
AtomicReference<Grinder> mock = new AtomicReference<>();
174173

175-
try (BeanContext context = new BeanContextBuilder()
174+
try (BeanContext context = BeanContext.newBuilder()
176175
.withMock(Pump.class)
177176
.withMock(Grinder.class, grinder -> {
178177
// setup the mock

inject-test/src/test/java/org/example/coffee/CoffeeMakerTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import io.avaje.inject.SystemContext;
65
import org.example.coffee.core.DuperPump;
76
import org.junit.jupiter.api.Test;
@@ -26,7 +25,7 @@ public void makeIt_via_SystemContext() {
2625
@Test
2726
public void makeIt_via_BootContext_withNoShutdownHook() {
2827

29-
try (BeanContext context = new BeanContextBuilder()
28+
try (BeanContext context = BeanContext.newBuilder()
3029
.withNoShutdownHook()
3130
.build()) {
3231

@@ -38,8 +37,7 @@ public void makeIt_via_BootContext_withNoShutdownHook() {
3837
@Test
3938
public void makeIt_via_BootContext() {
4039

41-
try (BeanContext context = new BeanContextBuilder().build()) {
42-
40+
try (BeanContext context = BeanContext.newBuilder().build()) {
4341
String makeIt = context.getBean(CoffeeMaker.class).makeIt();
4442
assertThat(makeIt).isEqualTo("done");
4543
}

inject-test/src/test/java/org/example/coffee/ExtensionExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class ExtensionExample {
1616
}
1717

1818
BeanContext build() {
19-
BeanContextBuilder bootContext = new BeanContextBuilder();
19+
BeanContextBuilder bootContext = BeanContext.newBuilder();
2020
withMocks.forEach(bootContext::withMock);
2121
withSpies.forEach(bootContext::withSpy);
2222
return bootContext.build();

inject-test/src/test/java/org/example/coffee/ExtensionExampleTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void checkForCompilerWarningsOnly_notATestThatRuns() {
2121
Class cls0 = Widget.class;
2222
Class<?> cls1 = SEmailer.class;
2323

24-
BeanContextBuilder bootContext = new BeanContextBuilder()
24+
BeanContextBuilder bootContext = BeanContext.newBuilder()
2525
.withSpy(cls0)
2626
.withSpy(cls1)
2727
.withMock(cls0)

inject-test/src/test/java/org/example/coffee/FactoryTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.example.coffee.factory.BFact;
65
import org.junit.jupiter.api.Test;
76

@@ -12,9 +11,7 @@ public class FactoryTest {
1211
@Test
1312
public void test() {
1413

15-
try (BeanContext context = new BeanContextBuilder()
16-
.build()) {
17-
14+
try (BeanContext context = BeanContext.newBuilder().build()) {
1815
BFact bean = context.getBean(BFact.class);
1916
String b = bean.b();
2017
assertThat(b).isNotNull();

inject-test/src/test/java/org/example/coffee/InjectListTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.example.coffee.list.CombinedSetSomei;
65
import org.example.coffee.list.CombinedSomei;
76
import org.junit.jupiter.api.Test;
@@ -14,7 +13,7 @@ public class InjectListTest {
1413

1514
@Test
1615
public void test() {
17-
try (BeanContext context = new BeanContextBuilder().build()) {
16+
try (BeanContext context = BeanContext.newBuilder().build()) {
1817
CombinedSomei bean = context.getBean(CombinedSomei.class);
1918
List<String> somes = bean.lotsOfSomes();
2019
assertThat(somes).containsOnly("a", "b", "a2");
@@ -23,7 +22,7 @@ public void test() {
2322

2423
@Test
2524
public void test_set() {
26-
try (BeanContext context = new BeanContextBuilder().build()) {
25+
try (BeanContext context = BeanContext.newBuilder().build()) {
2726
CombinedSetSomei bean = context.getBean(CombinedSetSomei.class);
2827
List<String> somes = bean.lotsOfSomes();
2928
assertThat(somes).containsOnly("a", "b", "a2");

inject-test/src/test/java/org/example/coffee/ProviderTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.example.coffee.provider.ProvOther;
65
import org.example.coffee.provider.ProvOther2;
76
import org.junit.jupiter.api.Test;
@@ -13,7 +12,7 @@ public class ProviderTest {
1312
@Test
1413
public void test() {
1514

16-
try (BeanContext context = new BeanContextBuilder().build()) {
15+
try (BeanContext context = BeanContext.newBuilder().build()) {
1716

1817
ProvOther bean = context.getBean(ProvOther.class);
1918
String other = bean.other();

inject-test/src/test/java/org/example/coffee/circular/CircularDependencyTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee.circular;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65

76
import static org.assertj.core.api.Assertions.assertThat;
@@ -10,8 +9,7 @@ class CircularDependencyTest {
109

1110
@Test
1211
void wire() {
13-
try (BeanContext context = new BeanContextBuilder()
14-
.build()) {
12+
try (BeanContext context = BeanContext.newBuilder().build()) {
1513
assertThat(context.getBean(CircA.class)).isNotNull();
1614
assertThat(context.getBean(CircB.class)).isNotNull();
1715
assertThat(context.getBean(CircC.class)).isNotNull();

inject-test/src/test/java/org/example/coffee/factory/AFactTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee.factory;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65

76
import static org.assertj.core.api.Assertions.assertThat;
@@ -12,9 +11,7 @@ public class AFactTest {
1211
public void postConstruct() {
1312

1413
AFact bean;
15-
try (BeanContext context = new BeanContextBuilder()
16-
.build()) {
17-
14+
try (BeanContext context = BeanContext.newBuilder().build()) {
1815
bean = context.getBean(AFact.class);
1916

2017
assertThat(bean.getCountConstruct()).isEqualTo(1);

inject-test/src/test/java/org/example/coffee/factory/BFactTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee.factory;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65

76
import static org.assertj.core.api.Assertions.assertThat;
@@ -12,8 +11,7 @@ public class BFactTest {
1211
public void getCountInit() {
1312

1413
BFact bFact;
15-
try (BeanContext context = new BeanContextBuilder().build()) {
16-
14+
try (BeanContext context = BeanContext.newBuilder().build()) {
1715
bFact = context.getBean(BFact.class);
1816
assertThat(bFact.getCountInit()).isEqualTo(1);
1917
assertThat(bFact.getCountClose()).isEqualTo(0);

inject-test/src/test/java/org/example/coffee/factory/ConfigurationTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee.factory;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65

76
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -12,7 +11,7 @@ public class ConfigurationTest {
1211
public void getCountInit() {
1312

1413
Configuration configuration;
15-
try (BeanContext context = new BeanContextBuilder().build()) {
14+
try (BeanContext context = BeanContext.newBuilder().build()) {
1615
configuration = context.getBean(Configuration.class);
1716
assertEquals(configuration.getCountInit(), 1);
1817
assertEquals(configuration.getCountClose(), 0);

inject-test/src/test/java/org/example/coffee/factory/MultipleOtherThingsTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee.factory;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65

76
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -11,7 +10,7 @@ public class MultipleOtherThingsTest {
1110
@Test
1211
public void test() {
1312

14-
try (BeanContext context = new BeanContextBuilder().build()) {
13+
try (BeanContext context = BeanContext.newBuilder().build()) {
1514
final MultipleOtherThings combined = context.getBean(MultipleOtherThings.class);
1615
assertEquals("blue", combined.blue());
1716
assertEquals("red", combined.red());

inject-test/src/test/java/org/example/coffee/factory/MyFactoryTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.example.coffee.factory;
22

33
import io.avaje.inject.BeanContext;
4-
import io.avaje.inject.BeanContextBuilder;
54
import org.junit.jupiter.api.Test;
65

76
import static org.assertj.core.api.Assertions.assertThat;
@@ -10,7 +9,7 @@ public class MyFactoryTest {
109

1110
@Test
1211
public void methodsCalled() {
13-
try (BeanContext context = new BeanContextBuilder().build()) {
12+
try (BeanContext context = BeanContext.newBuilder().build()) {
1413
final MyFactory myFactory = context.getBean(MyFactory.class);
1514
assertThat(myFactory.methodsCalled()).contains("|useCFact", "|anotherCFact");
1615
}

0 commit comments

Comments
 (0)