Skip to content

Commit 285b994

Browse files
authored
Merge pull request #9147 from mP1/feature/SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext-CurrencyLocaleContext-replaces-CurrencyContext-and-LocaleContext
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext CurrencyL…
2 parents 75921af + 327cd45 commit 285b994

5 files changed

Lines changed: 39 additions & 88 deletions

File tree

src/main/java/walkingkooka/spreadsheet/SpreadsheetContextSharedMutableSpreadsheetId.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,11 @@ SpreadsheetEngineContext createSpreadsheetEngineContext() {
126126
return SpreadsheetEngineContexts.spreadsheetEnvironmentContext(
127127
this.multiplier,
128128
this.spreadsheetContextSupplier,
129-
this.currencyContext(),
129+
this.currencyContext()
130+
.setLocaleContext(
131+
this.localeContext()
132+
),
130133
this.spreadsheetEnvironmentContext(),
131-
this.localeContext(),
132134
this.spreadsheetMetadataContext,
133135
TerminalContexts.fake(),
134136
this.spreadsheetProvider(),

src/main/java/walkingkooka/spreadsheet/engine/SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import walkingkooka.convert.BinaryNumberConverterFunction;
2121
import walkingkooka.convert.ConverterLike;
2222
import walkingkooka.currency.CurrencyContext;
23+
import walkingkooka.currency.CurrencyLocaleContext;
2324
import walkingkooka.environment.EnvironmentContext;
2425
import walkingkooka.locale.LocaleContext;
2526
import walkingkooka.plugin.ProviderContext;
@@ -61,18 +62,16 @@ final class SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext extends
6162

6263
static SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext with(final BinaryNumberConverterFunction<SpreadsheetConverterContext> multiplier,
6364
final SpreadsheetContextSupplier spreadsheetContextSupplier,
64-
final CurrencyContext currencyContext,
65+
final CurrencyLocaleContext currencyLocaleContext,
6566
final SpreadsheetEnvironmentContext spreadsheetEnvironmentContext,
66-
final LocaleContext localeContext,
6767
final SpreadsheetMetadataContext spreadsheetMetadataContext,
6868
final TerminalContext terminalContext,
6969
final SpreadsheetProvider spreadsheetProvider,
7070
final ProviderContext providerContext) {
7171
Objects.requireNonNull(multiplier, "multiplier");
7272
Objects.requireNonNull(spreadsheetContextSupplier, "spreadsheetContextSupplier");
73-
Objects.requireNonNull(currencyContext, "currencyContext");
73+
Objects.requireNonNull(currencyLocaleContext, "currencyLocaleContext");
7474
Objects.requireNonNull(spreadsheetEnvironmentContext, "spreadsheetEnvironmentContext");
75-
Objects.requireNonNull(localeContext, "localeContext");
7675
Objects.requireNonNull(spreadsheetMetadataContext, "spreadsheetMetadataContext");
7776
Objects.requireNonNull(terminalContext, "terminalContext");
7877
Objects.requireNonNull(spreadsheetProvider, "spreadsheetProvider");
@@ -81,10 +80,10 @@ static SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext with(final Bi
8180
return new SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext(
8281
multiplier,
8382
spreadsheetContextSupplier,
84-
currencyContext,
83+
currencyLocaleContext, // CurrencyContext
8584
SpreadsheetEnvironmentContextFactory.with(
8685
multiplier,
87-
currencyContext.setLocaleContext(localeContext),
86+
currencyLocaleContext,
8887
spreadsheetEnvironmentContext,
8988
spreadsheetProvider,
9089
providerContext

src/main/java/walkingkooka/spreadsheet/engine/SpreadsheetEngineContexts.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@
1818
package walkingkooka.spreadsheet.engine;
1919

2020
import walkingkooka.convert.BinaryNumberConverterFunction;
21-
import walkingkooka.currency.CurrencyContext;
22-
import walkingkooka.locale.LocaleContext;
21+
import walkingkooka.currency.CurrencyLocaleContext;
2322
import walkingkooka.plugin.ProviderContext;
2423
import walkingkooka.reflect.PublicStaticHelper;
2524
import walkingkooka.spreadsheet.SpreadsheetContext;
@@ -57,19 +56,17 @@ public static SpreadsheetEngineContext spreadsheetContext(final SpreadsheetMetad
5756
*/
5857
public static SpreadsheetEngineContext spreadsheetEnvironmentContext(final BinaryNumberConverterFunction<SpreadsheetConverterContext> multiplier,
5958
final SpreadsheetContextSupplier spreadsheetContextSupplier,
60-
final CurrencyContext currencyContext,
59+
final CurrencyLocaleContext currencyLocaleContext,
6160
final SpreadsheetEnvironmentContext spreadsheetEnvironmentContext,
62-
final LocaleContext localeContext,
6361
final SpreadsheetMetadataContext spreadsheetMetadataContext,
6462
final TerminalContext terminalContext,
6563
final SpreadsheetProvider spreadsheetProvider,
6664
final ProviderContext providerContext) {
6765
return SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
6866
multiplier,
6967
spreadsheetContextSupplier,
70-
currencyContext,
68+
currencyLocaleContext,
7169
spreadsheetEnvironmentContext,
72-
localeContext,
7370
spreadsheetMetadataContext,
7471
terminalContext,
7572
spreadsheetProvider,

src/test/java/walkingkooka/spreadsheet/engine/BasicSpreadsheetEngineTest.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import walkingkooka.convert.provider.FakeConverterProvider;
3838
import walkingkooka.currency.CurrencyContext;
3939
import walkingkooka.currency.CurrencyContextDelegator;
40+
import walkingkooka.currency.CurrencyLocaleContext;
4041
import walkingkooka.datetime.DateTimeContext;
4142
import walkingkooka.datetime.DateTimeContexts;
4243
import walkingkooka.datetime.DateTimeSymbols;
@@ -1322,7 +1323,9 @@ private SpreadsheetEngineContext createSpreadsheetEnvironmentContextEngineContex
13221323
spreadsheetEnvironmentContext.removeEnvironmentValue(SpreadsheetEnvironmentContext.SPREADSHEET_ID);
13231324
}
13241325

1325-
final LocaleContext localeContext = LocaleContexts.jre(LOCALE);
1326+
final CurrencyLocaleContext currencyLocaleContext = CURRENCY_CONTEXT.setLocaleContext(
1327+
LocaleContexts.jre(LOCALE)
1328+
);
13261329

13271330
return SpreadsheetEngineContexts.spreadsheetEnvironmentContext(
13281331
MULTIPLIER,
@@ -1338,7 +1341,7 @@ public Optional<SpreadsheetContext> spreadsheetContext(final SpreadsheetId id) {
13381341
(c) -> {
13391342
throw new UnsupportedOperationException();
13401343
}, // httpRouterFactory
1341-
CURRENCY_CONTEXT.setLocaleContext(localeContext),
1344+
currencyLocaleContext,
13421345
spreadsheetEnvironmentContext,
13431346
SPREADSHEET_PROVIDER,
13441347
PROVIDER_CONTEXT
@@ -1349,9 +1352,8 @@ public Optional<SpreadsheetContext> spreadsheetContext(final SpreadsheetId id) {
13491352

13501353
private final SpreadsheetStoreRepository repo = SpreadsheetStoreRepositories.treeMap(metadataStore);
13511354
},
1352-
CURRENCY_CONTEXT,
1355+
currencyLocaleContext,
13531356
spreadsheetEnvironmentContext,
1354-
localeContext,
13551357
SpreadsheetMetadataContexts.basic(
13561358
(EmailAddress user, Optional<Locale> defaultLocale) -> {
13571359
throw new UnsupportedOperationException();

src/test/java/walkingkooka/spreadsheet/engine/SpreadsheetEngineContextSharedSpreadsheetEnvironmentContextTest.java

Lines changed: 21 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
import walkingkooka.convert.Converter;
2525
import walkingkooka.convert.ConverterContext;
2626
import walkingkooka.convert.provider.ConverterName;
27-
import walkingkooka.currency.CurrencyContexts;
27+
import walkingkooka.currency.CurrencyLocaleContext;
28+
import walkingkooka.currency.CurrencyLocaleContexts;
2829
import walkingkooka.environment.AuditInfo;
2930
import walkingkooka.environment.EnvironmentContext;
3031
import walkingkooka.environment.EnvironmentValueName;
3132
import walkingkooka.environment.MissingEnvironmentValueException;
32-
import walkingkooka.locale.LocaleContexts;
3333
import walkingkooka.net.email.EmailAddress;
3434
import walkingkooka.plugin.ProviderContext;
3535
import walkingkooka.plugin.ProviderContexts;
@@ -73,6 +73,8 @@
7373

7474
public final class SpreadsheetEngineContextSharedSpreadsheetEnvironmentContextTest extends SpreadsheetEngineContextSharedTestCase<SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext> {
7575

76+
private final static CurrencyLocaleContext CURRENCY_LOCALE_CONTEXT = CURRENCY_CONTEXT.setLocaleContext(LOCALE_CONTEXT);
77+
7678
private final static SpreadsheetContextSupplier SPREADSHEET_CONTEXT_SUPPLIER = SpreadsheetContextSuppliers.fake();
7779

7880
private final static int DECIMAL_NUMBER_DIGIT_COUNT = 6;
@@ -131,9 +133,8 @@ public void testWithNullMultiplierFails() {
131133
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
132134
null,
133135
SPREADSHEET_CONTEXT_SUPPLIER,
134-
CURRENCY_CONTEXT,
136+
CURRENCY_LOCALE_CONTEXT,
135137
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
136-
LOCALE_CONTEXT,
137138
SPREADSHEET_METADATA_CONTEXT,
138139
TERMINAL_CONTEXT,
139140
SPREADSHEET_PROVIDER,
@@ -149,9 +150,8 @@ public void testWithNullSpreadsheetContextSupplierFails() {
149150
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
150151
MULTIPLIER,
151152
null,
152-
CURRENCY_CONTEXT,
153+
CURRENCY_LOCALE_CONTEXT,
153154
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
154-
LOCALE_CONTEXT,
155155
SPREADSHEET_METADATA_CONTEXT,
156156
TERMINAL_CONTEXT,
157157
SPREADSHEET_PROVIDER,
@@ -161,15 +161,14 @@ public void testWithNullSpreadsheetContextSupplierFails() {
161161
}
162162

163163
@Test
164-
public void testWithNullCurrencyContextFails() {
164+
public void testWithNullCurrencyLocaleContextFails() {
165165
assertThrows(
166166
NullPointerException.class,
167167
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
168168
MULTIPLIER,
169169
SPREADSHEET_CONTEXT_SUPPLIER,
170170
null,
171171
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
172-
LOCALE_CONTEXT,
173172
SPREADSHEET_METADATA_CONTEXT,
174173
TERMINAL_CONTEXT,
175174
SPREADSHEET_PROVIDER,
@@ -185,26 +184,7 @@ public void testWithNullSpreadsheetEnvironmentContextFails() {
185184
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
186185
MULTIPLIER,
187186
SPREADSHEET_CONTEXT_SUPPLIER,
188-
CURRENCY_CONTEXT,
189-
null,
190-
LOCALE_CONTEXT,
191-
SPREADSHEET_METADATA_CONTEXT,
192-
TERMINAL_CONTEXT,
193-
SPREADSHEET_PROVIDER,
194-
PROVIDER_CONTEXT
195-
)
196-
);
197-
}
198-
199-
@Test
200-
public void testWithNullLocaleContextFails() {
201-
assertThrows(
202-
NullPointerException.class,
203-
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
204-
MULTIPLIER,
205-
SPREADSHEET_CONTEXT_SUPPLIER,
206-
CURRENCY_CONTEXT,
207-
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
187+
CURRENCY_LOCALE_CONTEXT,
208188
null,
209189
SPREADSHEET_METADATA_CONTEXT,
210190
TERMINAL_CONTEXT,
@@ -221,9 +201,8 @@ public void testWithNullSpreadsheetMetadataContextFails() {
221201
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
222202
MULTIPLIER,
223203
SPREADSHEET_CONTEXT_SUPPLIER,
224-
CURRENCY_CONTEXT,
204+
CURRENCY_LOCALE_CONTEXT,
225205
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
226-
LOCALE_CONTEXT,
227206
null,
228207
TERMINAL_CONTEXT,
229208
SPREADSHEET_PROVIDER,
@@ -239,9 +218,8 @@ public void testWithNullSpreadsheetProviderFails() {
239218
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
240219
MULTIPLIER,
241220
SPREADSHEET_CONTEXT_SUPPLIER,
242-
CURRENCY_CONTEXT,
221+
CURRENCY_LOCALE_CONTEXT,
243222
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
244-
LOCALE_CONTEXT,
245223
SPREADSHEET_METADATA_CONTEXT,
246224
TERMINAL_CONTEXT,
247225
null,
@@ -257,9 +235,8 @@ public void testWithNullProviderContextFails() {
257235
() -> SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
258236
MULTIPLIER,
259237
SPREADSHEET_CONTEXT_SUPPLIER,
260-
CURRENCY_CONTEXT,
238+
CURRENCY_LOCALE_CONTEXT,
261239
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
262-
LOCALE_CONTEXT,
263240
SPREADSHEET_METADATA_CONTEXT,
264241
TERMINAL_CONTEXT,
265242
SPREADSHEET_PROVIDER,
@@ -281,9 +258,8 @@ private SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext createContex
281258
return SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
282259
MULTIPLIER,
283260
spreadsheetContextSupplier,
284-
CURRENCY_CONTEXT,
261+
CURRENCY_LOCALE_CONTEXT,
285262
spreadsheetEnvironmentContext,
286-
LOCALE_CONTEXT,
287263
SpreadsheetMetadataContexts.basic(
288264
CREATE_METADATA,
289265
SpreadsheetMetadataStores.treeMap()
@@ -589,9 +565,8 @@ public void testEqualsDifferentMultiplier() {
589565
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
590566
BinaryNumberConverterFunctions.fake(),
591567
SPREADSHEET_CONTEXT_SUPPLIER,
592-
CURRENCY_CONTEXT,
568+
CURRENCY_LOCALE_CONTEXT,
593569
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
594-
LOCALE_CONTEXT,
595570
SPREADSHEET_METADATA_CONTEXT,
596571
TERMINAL_CONTEXT,
597572
SPREADSHEET_PROVIDER,
@@ -606,9 +581,8 @@ public void testEqualsDifferentSpreadsheetContextSupplier() {
606581
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
607582
MULTIPLIER,
608583
SpreadsheetContextSuppliers.fake(),
609-
CURRENCY_CONTEXT,
584+
CURRENCY_LOCALE_CONTEXT,
610585
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
611-
LOCALE_CONTEXT,
612586
SPREADSHEET_METADATA_CONTEXT,
613587
TERMINAL_CONTEXT,
614588
SPREADSHEET_PROVIDER,
@@ -618,14 +592,13 @@ public void testEqualsDifferentSpreadsheetContextSupplier() {
618592
}
619593

620594
@Test
621-
public void testEqualsDifferentCurrencyContext() {
595+
public void testEqualsDifferentCurrencyLocaleContext() {
622596
this.checkNotEquals(
623597
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
624598
MULTIPLIER,
625599
SPREADSHEET_CONTEXT_SUPPLIER,
626-
CurrencyContexts.fake(),
600+
CurrencyLocaleContexts.fake(),
627601
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
628-
LOCALE_CONTEXT,
629602
SPREADSHEET_METADATA_CONTEXT,
630603
TERMINAL_CONTEXT,
631604
SPREADSHEET_PROVIDER,
@@ -649,26 +622,8 @@ public void testEqualsDifferentSpreadsheetEnvironmentContext() {
649622
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
650623
MULTIPLIER,
651624
SPREADSHEET_CONTEXT_SUPPLIER,
652-
CURRENCY_CONTEXT,
625+
CURRENCY_LOCALE_CONTEXT,
653626
spreadsheetEnvironmentContext,
654-
LOCALE_CONTEXT,
655-
SPREADSHEET_METADATA_CONTEXT,
656-
TERMINAL_CONTEXT,
657-
SPREADSHEET_PROVIDER,
658-
PROVIDER_CONTEXT
659-
)
660-
);
661-
}
662-
663-
@Test
664-
public void testEqualsDifferentLocaleContext() {
665-
this.checkNotEquals(
666-
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
667-
MULTIPLIER,
668-
SPREADSHEET_CONTEXT_SUPPLIER,
669-
CURRENCY_CONTEXT,
670-
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
671-
LocaleContexts.jre(Locale.FRANCE),
672627
SPREADSHEET_METADATA_CONTEXT,
673628
TERMINAL_CONTEXT,
674629
SPREADSHEET_PROVIDER,
@@ -683,9 +638,8 @@ public void testEqualsDifferentSpreadsheetMetadataContext() {
683638
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
684639
MULTIPLIER,
685640
SPREADSHEET_CONTEXT_SUPPLIER,
686-
CURRENCY_CONTEXT,
641+
CURRENCY_LOCALE_CONTEXT,
687642
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
688-
LOCALE_CONTEXT,
689643
SpreadsheetMetadataContexts.fake(),
690644
TERMINAL_CONTEXT,
691645
SPREADSHEET_PROVIDER,
@@ -700,9 +654,8 @@ public void testEqualsDifferentTerminalContext() {
700654
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
701655
MULTIPLIER,
702656
SPREADSHEET_CONTEXT_SUPPLIER,
703-
CURRENCY_CONTEXT,
657+
CURRENCY_LOCALE_CONTEXT,
704658
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
705-
LOCALE_CONTEXT,
706659
SPREADSHEET_METADATA_CONTEXT,
707660
TerminalContexts.fake(),
708661
SPREADSHEET_PROVIDER,
@@ -717,9 +670,8 @@ public void testEqualsDifferentSpreadsheetProvider() {
717670
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
718671
MULTIPLIER,
719672
SPREADSHEET_CONTEXT_SUPPLIER,
720-
CURRENCY_CONTEXT,
673+
CURRENCY_LOCALE_CONTEXT,
721674
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
722-
LOCALE_CONTEXT,
723675
SPREADSHEET_METADATA_CONTEXT,
724676
TERMINAL_CONTEXT,
725677
SpreadsheetProviders.fake(),
@@ -734,9 +686,8 @@ public void testEqualsDifferentProviderContext() {
734686
SpreadsheetEngineContextSharedSpreadsheetEnvironmentContext.with(
735687
MULTIPLIER,
736688
SPREADSHEET_CONTEXT_SUPPLIER,
737-
CURRENCY_CONTEXT,
689+
CURRENCY_LOCALE_CONTEXT,
738690
SPREADSHEET_ENVIRONMENT_CONTEXT.cloneEnvironment(),
739-
LOCALE_CONTEXT,
740691
SPREADSHEET_METADATA_CONTEXT,
741692
TERMINAL_CONTEXT,
742693
SPREADSHEET_PROVIDER,

0 commit comments

Comments
 (0)