Skip to content

Commit 3d0326f

Browse files
committed
- Recreated platform part, separating platform and standalone part.
- Removed invalid reference on platform RI from ext API (MonetaryCurrencies). - Unified maven names.
1 parent 5c82cf7 commit 3d0326f

File tree

64 files changed

+301
-230
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+301
-230
lines changed

money-impl/platform-ri/src/main/java/javax/money/MonetaryCurrencies.java renamed to money-api/ext/src/main/java/javax/money/ext/MonetaryCurrencies.java

Lines changed: 20 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,16 @@
66
* Copyright (c) 2012-2013, Credit Suisse
77
* All rights reserved.
88
*/
9-
package javax.money;
9+
package javax.money.ext;
1010

1111
import java.util.ArrayList;
1212
import java.util.Collection;
1313
import java.util.Collections;
14-
import java.util.Currency;
1514
import java.util.Date;
16-
import java.util.HashSet;
1715
import java.util.Iterator;
1816
import java.util.List;
1917
import java.util.Locale;
2018
import java.util.ServiceLoader;
21-
import java.util.Set;
2219
import java.util.logging.Level;
2320
import java.util.logging.Logger;
2421

@@ -373,74 +370,43 @@ private static CurrencyUnitMapperSpi loadCurrencyUnitMapperSpi() {
373370
private static final class DefaultCurrencyUnitProviderSpi implements
374371
CurrencyUnitProviderSpi {
375372

373+
private static final String ISO_NAMESPACE = "ISO-4217";
374+
376375
@Override
377376
public String getDefaultNamespace() {
378-
return MoneyCurrency.ISO_NAMESPACE;
377+
return ISO_NAMESPACE;
379378
}
380379

381380
@Override
382381
public boolean isNamespaceAvailable(String namespace, Long timestamp) {
383-
if (timestamp != null) {
384-
return false;
385-
}
386-
return MoneyCurrency.ISO_NAMESPACE.equals(namespace);
382+
return false;
387383
}
388384

389385
@Override
390386
public Collection<String> getNamespaces(Long timestamp) {
391-
if (timestamp != null) {
392-
return Collections.emptySet();
393-
}
394-
Set<String> namespaces = new HashSet<String>();
395-
namespaces.add(MoneyCurrency.ISO_NAMESPACE);
396-
return namespaces;
387+
return Collections.emptySet();
397388
}
398389

399390
@Override
400-
public boolean isAvailable(String namespace, String code, Long timestamp) {
401-
if (timestamp != null) {
402-
return false;
403-
}
404-
return MoneyCurrency.of(namespace, code) != null;
391+
public CurrencyUnit get(String namespace, String code, Long timestamp) {
392+
throw new UnknownCurrencyException(namespace, code,
393+
"No CurrencyUnitProviderSpi registered using ServiceLoader.");
405394
}
406395

407396
@Override
408-
public CurrencyUnit get(String namespace, String code, Long timestamp) {
409-
if (timestamp != null) {
410-
return null;
411-
}
412-
return MoneyCurrency.of(namespace, code);
397+
public boolean isAvailable(String namespace, String code, Long timestamp) {
398+
return false;
413399
}
414400

415401
@Override
416402
public Collection<CurrencyUnit> getAll(String namespace, Long timestamp) {
417-
if (timestamp != null) {
418-
return Collections.emptySet();
419-
}
420-
if (!isNamespaceAvailable(namespace, timestamp)) {
421-
Collections.emptySet();
422-
}
423-
Set<CurrencyUnit> currencyUnits = new HashSet<CurrencyUnit>();
424-
Set<Currency> currencies = Currency.getAvailableCurrencies();
425-
for (Currency currency : currencies) {
426-
currencyUnits.add(MoneyCurrency.of(currency));
427-
}
428-
return currencyUnits;
403+
return Collections.emptySet();
429404
}
430405

431406
@Override
432407
public Collection<CurrencyUnit> getAll(Locale locale, Long timestamp) {
433-
if (timestamp != null) {
434-
return Collections.emptySet();
435-
}
436-
Set<CurrencyUnit> currencyUnits = new HashSet<CurrencyUnit>();
437-
Currency jdkCurrency = Currency.getInstance(locale);
438-
if (jdkCurrency != null) {
439-
currencyUnits.add(MoneyCurrency.of(jdkCurrency));
440-
}
441-
return currencyUnits;
408+
return Collections.emptySet();
442409
}
443-
444410
}
445411

446412
private static final class DefaultCurrencyUnitMapperSpi implements
@@ -455,8 +421,9 @@ public CurrencyUnit map(String targetNamespace, Long timestamp,
455421
}
456422

457423
/**
458-
* This class models the component defined by JSR 354 that provides accessors
459-
* for {@link CurrencyUnit}. It is provided by the Monetary singleton.
424+
* This class models the component defined by JSR 354 that provides
425+
* accessors for {@link CurrencyUnit}. It is provided by the Monetary
426+
* singleton.
460427
*
461428
* @author Anatole Tresch
462429
*/
@@ -553,10 +520,11 @@ public interface CurrencyUnitProviderSpi {
553520
public Collection<CurrencyUnit> getAll(Locale locale, Long timestamp);
554521

555522
}
556-
523+
557524
/**
558-
* This class models the component defined by JSR 354 that provides accessors
559-
* for {@link CurrencyUnit}. It is provided by the Monetary singleton.
525+
* This class models the component defined by JSR 354 that provides
526+
* accessors for {@link CurrencyUnit}. It is provided by the Monetary
527+
* singleton.
560528
*
561529
* @author Anatole Tresch
562530
*/

money-impl/platform-ri/src/test/java/javax/money/MonetaryCurrenciesTest.java renamed to money-api/ext/src/test/java/javax/money/ext/MonetaryCurrenciesTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
* Copyright (c) 2012-2013, Credit Suisse
77
* All rights reserved.
88
*/
9-
package javax.money;
9+
package javax.money.ext;
1010

1111
import static org.junit.Assert.assertEquals;
1212
import static org.junit.Assert.assertNotNull;
1313

1414
import javax.money.CurrencyUnit;
15-
import javax.money.MonetaryCurrencies;
1615
import javax.money.MoneyCurrency;
16+
import javax.money.ext.MonetaryCurrencies;
1717

1818
import org.junit.Test;
1919

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
/*
2+
* CREDIT SUISSE IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS AGREEMENT. PLEASE READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU ACCEPT THE TERMS AND CONDITIONS OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY IT, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE.
3+
*
4+
* Specification: JSR-354 Money and Currency API ("Specification")
5+
*
6+
* Copyright (c) 2012-2013, Credit Suisse
7+
* All rights reserved.
8+
*/
9+
package javax.money.ext;
10+
11+
import java.util.Collection;
12+
import java.util.Collections;
13+
import java.util.Currency;
14+
import java.util.HashSet;
15+
import java.util.Locale;
16+
import java.util.Set;
17+
18+
import javax.money.CurrencyUnit;
19+
import javax.money.MoneyCurrency;
20+
import javax.money.UnknownCurrencyException;
21+
import javax.money.ext.MonetaryCurrencies.CurrencyUnitProviderSpi;
22+
23+
/**
24+
* Empty pseudo implementation for testing only.
25+
*
26+
* @author Anatole Tresch
27+
*
28+
*/
29+
public class TestCurrencyUnitProvider implements CurrencyUnitProviderSpi {
30+
31+
@Override
32+
public String getDefaultNamespace() {
33+
return MoneyCurrency.ISO_NAMESPACE;
34+
}
35+
36+
@Override
37+
public boolean isNamespaceAvailable(String namespace, Long timestamp) {
38+
return false;
39+
}
40+
41+
@Override
42+
public Collection<String> getNamespaces(Long timestamp) {
43+
Set<String> result = new HashSet<String>();
44+
result.add(MoneyCurrency.ISO_NAMESPACE);
45+
return result;
46+
}
47+
48+
@Override
49+
public boolean isAvailable(String namespace, String currencyCode, Long timestamp) {
50+
if (timestamp == null) {
51+
return MoneyCurrency.of(namespace, currencyCode) != null;
52+
}
53+
return false;
54+
}
55+
56+
@Override
57+
public CurrencyUnit get(String namespace, String currencyCode,
58+
Long timestamp) {
59+
if (timestamp == null) {
60+
CurrencyUnit unit = MoneyCurrency.of(namespace, currencyCode);
61+
if(unit!=null){
62+
return unit;
63+
}
64+
}
65+
throw new UnknownCurrencyException(namespace, currencyCode);
66+
}
67+
68+
@Override
69+
public Collection<CurrencyUnit> getAll(String namespace, Long timestamp) {
70+
if (timestamp != null) {
71+
return Collections.emptySet();
72+
}
73+
if (!isNamespaceAvailable(namespace, timestamp)) {
74+
Collections.emptySet();
75+
}
76+
Set<CurrencyUnit> currencyUnits = new HashSet<CurrencyUnit>();
77+
Set<Currency> currencies = Currency.getAvailableCurrencies();
78+
for (Currency currency : currencies) {
79+
currencyUnits.add(MoneyCurrency.of(currency));
80+
}
81+
return currencyUnits;
82+
}
83+
84+
@Override
85+
public Collection<CurrencyUnit> getAll(Locale locale, Long timestamp) {
86+
if (timestamp != null) {
87+
return Collections.emptySet();
88+
}
89+
Set<CurrencyUnit> currencyUnits = new HashSet<CurrencyUnit>();
90+
Currency jdkCurrency = Currency.getInstance(locale);
91+
if (jdkCurrency != null) {
92+
currencyUnits.add(MoneyCurrency.of(jdkCurrency));
93+
}
94+
return currencyUnits;
95+
}
96+
97+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
javax.money.ext.TestCurrencyUnitProvider

money-api/pom.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@
99
</parent>
1010
<artifactId>money-api</artifactId>
1111
<packaging>pom</packaging>
12-
<name>JSR354 - Java Money and Currency API</name>
12+
<name>JSR 354 (Money and Currency) - Standalone API</name>
1313

1414
<modules>
15-
<module>platform</module>
1615
<module>convert</module>
1716
<module>format</module>
1817
<module>ext</module>

money-impl/cdi/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<version>1.0-SNAPSHOT</version>
88
</parent>
99
<artifactId>money-cdi</artifactId>
10-
<name>JSR 354 (Money and Currency) - Implementation for CDI</name>
10+
<name>JSR 354 (Money and Currency) - CDI Standalone Support</name>
1111
<description>Implementation of JSR 354 (CDI).</description>
1212

1313
<dependencies>

money-impl/cdi/src/test/java/SmokeTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
import javax.money.CurrencyUnit;
2727
import javax.money.MonetaryAmount;
28-
import javax.money.MonetaryCurrencies;
2928
import javax.money.MonetaryOperator;
3029
import javax.money.Money;
3130
import javax.money.MoneyCurrency;
@@ -34,6 +33,7 @@
3433
import javax.money.convert.ExchangeRate;
3534
import javax.money.convert.ExchangeRateType;
3635
import javax.money.convert.MonetaryConversions;
36+
import javax.money.ext.MonetaryCurrencies;
3737
import javax.money.format.ItemFormat;
3838
import javax.money.format.ItemParseException;
3939
import javax.money.format.LocalizationStyle;

money-impl/java-ee/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<version>1.0-SNAPSHOT</version>
88
</parent>
99
<artifactId>money-java-ee</artifactId>
10-
<name>JSR 354 (Money and Currency) - Implementation for Java EE</name>
10+
<name>JSR 354 (Money and Currency) - Java EE Support</name>
1111
<description>Implementation of JSR 354, based on CDI features within a container.</description>
1212

1313
<dependencies>

money-impl/platform-ri/src/test/java/javax/money/TestCurrencyUnitProvider.java

Lines changed: 0 additions & 69 deletions
This file was deleted.

money-impl/platform-ri/src/test/resources/META-INF/services/javax.money.ext.MonetaryCurrencies$CurrencyUnitProviderSpi

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)