Skip to content

Commit

Permalink
Fixed quality issues based on inspection results.
Browse files Browse the repository at this point in the history
  • Loading branch information
atsticks committed Jul 30, 2017
1 parent 146e945 commit 0bec963
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 55 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -618,7 +618,7 @@
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
Expand Down
20 changes: 10 additions & 10 deletions src/main/java/javax/money/Monetary.java
Expand Up @@ -41,7 +41,7 @@ public final class Monetary {
/**
* The used {@link javax.money.spi.MonetaryCurrenciesSingletonSpi} instance.
*/
private static final MonetaryCurrenciesSingletonSpi MONETARY_CURRENCIES_SINGLETON_SPI() {
private static MonetaryCurrenciesSingletonSpi MONETARY_CURRENCIES_SINGLETON_SPI() {
try {
return Optional.ofNullable(Bootstrap
.getService(MonetaryCurrenciesSingletonSpi.class)).orElseGet(
Expand All @@ -56,7 +56,7 @@ private static final MonetaryCurrenciesSingletonSpi MONETARY_CURRENCIES_SINGLETO
/**
* The used {@link javax.money.spi.MonetaryAmountsSingletonSpi} instance.
*/
private static final MonetaryAmountsSingletonSpi MONETARY_AMOUNTS_SINGLETON_SPI() {
private static MonetaryAmountsSingletonSpi monetaryAmountsSingletonSpi() {
try {
return Bootstrap.getService(MonetaryAmountsSingletonSpi.class);
} catch (Exception e) {
Expand All @@ -69,7 +69,7 @@ private static final MonetaryAmountsSingletonSpi MONETARY_AMOUNTS_SINGLETON_SPI(
/**
* The used {@link javax.money.spi.MonetaryAmountsSingletonSpi} instance.
*/
private static final MonetaryAmountsSingletonQuerySpi MONETARY_AMOUNTS_SINGLETON_QUERY_SPI() {
private static MonetaryAmountsSingletonQuerySpi MONETARY_AMOUNTS_SINGLETON_QUERY_SPI() {
try {
return Bootstrap.getService(MonetaryAmountsSingletonQuerySpi.class);
} catch (Exception e) {
Expand All @@ -84,7 +84,7 @@ private static final MonetaryAmountsSingletonQuerySpi MONETARY_AMOUNTS_SINGLETON
/**
* The used {@link javax.money.spi.MonetaryCurrenciesSingletonSpi} instance.
*/
private static final MonetaryRoundingsSingletonSpi MONETARY_ROUNDINGS_SINGLETON_SPI() {
private static MonetaryRoundingsSingletonSpi MONETARY_ROUNDINGS_SINGLETON_SPI() {
try {
return Optional.ofNullable(Bootstrap
.getService(MonetaryRoundingsSingletonSpi.class))
Expand Down Expand Up @@ -275,10 +275,10 @@ public static Set<String> getRoundingNames(String... providers) {
* implementation class is registered.
*/
public static <T extends MonetaryAmount> MonetaryAmountFactory<T> getAmountFactory(Class<T> amountType) {
Optional.ofNullable(MONETARY_AMOUNTS_SINGLETON_SPI())
Optional.ofNullable(monetaryAmountsSingletonSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryAmountsSingletonSpi loaded."));

MonetaryAmountFactory<T> factory = MONETARY_AMOUNTS_SINGLETON_SPI().getAmountFactory(amountType);
MonetaryAmountFactory<T> factory = monetaryAmountsSingletonSpi().getAmountFactory(amountType);
return Optional.ofNullable(factory).orElseThrow(
() -> new MonetaryException("No AmountFactory available for type: " + amountType.getName()));
}
Expand All @@ -293,7 +293,7 @@ public static <T extends MonetaryAmount> MonetaryAmountFactory<T> getAmountFacto
* implementation class is registered.
*/
public static MonetaryAmountFactory<?> getDefaultAmountFactory() {
return Optional.ofNullable(MONETARY_AMOUNTS_SINGLETON_SPI())
return Optional.ofNullable(monetaryAmountsSingletonSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryAmountsSingletonSpi loaded."))
.getDefaultAmountFactory();
}
Expand All @@ -306,7 +306,7 @@ public static MonetaryAmountFactory<?> getDefaultAmountFactory() {
* corresponding {@link MonetaryAmountFactory} instances provided, never {@code null}
*/
public static Collection<MonetaryAmountFactory<?>> getAmountFactories() {
return Optional.ofNullable(MONETARY_AMOUNTS_SINGLETON_SPI())
return Optional.ofNullable(monetaryAmountsSingletonSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryAmountsSingletonSpi loaded."))
.getAmountFactories();
}
Expand All @@ -319,7 +319,7 @@ public static Collection<MonetaryAmountFactory<?>> getAmountFactories() {
* corresponding {@link MonetaryAmountFactory} instances provided, never {@code null}
*/
public static Collection<Class<? extends MonetaryAmount>> getAmountTypes() {
return Optional.ofNullable(MONETARY_AMOUNTS_SINGLETON_SPI())
return Optional.ofNullable(monetaryAmountsSingletonSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryAmountsSingletonSpi loaded.")).getAmountTypes();
}

Expand All @@ -330,7 +330,7 @@ public static Collection<Class<? extends MonetaryAmount>> getAmountTypes() {
* @return all current default {@link MonetaryAmount} implementation class, never {@code null}
*/
public static Class<? extends MonetaryAmount> getDefaultAmountType() {
return Optional.ofNullable(MONETARY_AMOUNTS_SINGLETON_SPI())
return Optional.ofNullable(monetaryAmountsSingletonSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryAmountsSingletonSpi loaded."))
.getDefaultAmountType();
}
Expand Down
52 changes: 15 additions & 37 deletions src/main/java/javax/money/convert/MonetaryConversions.java
Expand Up @@ -56,8 +56,12 @@ public final class MonetaryConversions{
* The SPI currently active, use {@link ServiceLoader} to register an
* alternate implementation.
*/
private static final MonetaryConversionsSingletonSpi getMonetaryConversionsSpi() {
return Optional.of(Bootstrap.getService(MonetaryConversionsSingletonSpi.class)).get();
private static MonetaryConversionsSingletonSpi getMonetaryConversionsSpi() {
return Optional.ofNullable(Bootstrap.getService(MonetaryConversionsSingletonSpi.class))
.orElseThrow(() -> new MonetaryException("No MonetaryConversionsSingletonSpi " +
"loaded, " +
"query functionality is not " +
"available."));
}

/**
Expand Down Expand Up @@ -111,11 +115,7 @@ public static CurrencyConversion getConversion(String termCurrencyCode, String..
* @throws IllegalArgumentException if the query defines {@link ExchangeRateProvider}s that are not available.
*/
public static CurrencyConversion getConversion(ConversionQuery conversionQuery){
return Optional.ofNullable(getMonetaryConversionsSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryConversionsSingletonSpi " +
"loaded, " +
"query functionality is not " +
"available.")).getConversion(conversionQuery);
return getMonetaryConversionsSpi().getConversion(conversionQuery);
}

/**
Expand All @@ -125,11 +125,7 @@ public static CurrencyConversion getConversion(ConversionQuery conversionQuery){
* @return true, if a conversion is accessible from {@link #getConversion(ConversionQuery)}.
*/
public static boolean isConversionAvailable(ConversionQuery conversionQuery){
return Optional.ofNullable(getMonetaryConversionsSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryConversionsSingletonSpi " +
"loaded, " +
"query functionality is not " +
"available.")).isConversionAvailable(conversionQuery);
return getMonetaryConversionsSpi().isConversionAvailable(conversionQuery);
}

/**
Expand All @@ -141,11 +137,7 @@ public static boolean isConversionAvailable(ConversionQuery conversionQuery){
* @return true, if a conversion is accessible from {@link #getConversion(String, String...)}.
*/
public static boolean isConversionAvailable(String currencyCode, String... providers){
return Optional.ofNullable(getMonetaryConversionsSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryConversionsSingletonSpi " +
"loaded, " +
"query functionality is not " +
"available."))
return getMonetaryConversionsSpi()
.isConversionAvailable(Monetary.getCurrency(currencyCode), providers);
}

Expand All @@ -157,11 +149,7 @@ public static boolean isConversionAvailable(String currencyCode, String... provi
* @return true, if a conversion is accessible from {@link #getConversion(String, String...)}.
*/
public static boolean isConversionAvailable(CurrencyUnit termCurrency, String... providers){
return Optional.ofNullable(getMonetaryConversionsSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryConversionsSingletonSpi " +
"loaded, " +
"query functionality is not " +
"available."))
return getMonetaryConversionsSpi()
.isConversionAvailable(termCurrency, providers);
}

Expand Down Expand Up @@ -203,7 +191,7 @@ public static ExchangeRateProvider getExchangeRateProvider(

List<ExchangeRateProviderSupplier> suppliers = new ArrayList<>();
suppliers.add(Objects.requireNonNull(provider));
Stream.of(providers).forEach(suppliers::add);
suppliers.addAll(Arrays.asList(providers));

String[] array = suppliers.stream()
.map(ExchangeRateProviderSupplier::get).toArray(String[]::new);
Expand All @@ -219,8 +207,7 @@ public static ExchangeRateProvider getExchangeRateProvider(
* @throws IllegalArgumentException if no such {@link ExchangeRateProvider} is available.
*/
public static ExchangeRateProvider getExchangeRateProvider(ConversionQuery conversionQuery){
return Optional.ofNullable(getMonetaryConversionsSpi()).orElseThrow(() -> new MonetaryException(
"No MonetaryConversionsSingletonSpi loaded, query functionality is not available."))
return getMonetaryConversionsSpi()
.getExchangeRateProvider(conversionQuery);
}

Expand All @@ -231,11 +218,7 @@ public static ExchangeRateProvider getExchangeRateProvider(ConversionQuery conve
* @return true, if a rate provider is accessible from {@link #getExchangeRateProvider(ConversionQuery)}}.
*/
public static boolean isExchangeRateProviderAvailable(ConversionQuery conversionQuery){
return Optional.ofNullable(getMonetaryConversionsSpi())
.orElseThrow(() -> new MonetaryException("No MonetaryConversionsSingletonSpi " +
"loaded, " +
"query functionality is not " +
"available."))
return getMonetaryConversionsSpi()
.isExchangeRateProviderAvailable(conversionQuery);
}

Expand All @@ -248,10 +231,7 @@ public static boolean isExchangeRateProviderAvailable(ConversionQuery conversion
* @return all supported provider ids, never {@code null}.
*/
public static Collection<String> getConversionProviderNames(){
Collection<String> providers = Optional.ofNullable(getMonetaryConversionsSpi()).orElseThrow(
() -> new MonetaryException(
"No MonetaryConversionsSingletonSpi loaded, query functionality is not available."))
.getProviderNames();
Collection<String> providers = getMonetaryConversionsSpi().getProviderNames();
if(Objects.isNull(providers)){
Logger.getLogger(MonetaryConversions.class.getName()).warning(
"No supported rate/conversion providers returned by SPI: " +
Expand All @@ -267,9 +247,7 @@ public static Collection<String> getConversionProviderNames(){
* @return the default provider, never {@code null}.
*/
public static List<String> getDefaultConversionProviderChain(){
List<String> defaultChain = Optional.ofNullable(getMonetaryConversionsSpi()).orElseThrow(
() -> new MonetaryException(
"No MonetaryConversionsSingletonSpi loaded, query functionality is not available."))
List<String> defaultChain = getMonetaryConversionsSpi()
.getDefaultProviderChain();
Objects.requireNonNull(defaultChain, "No default provider chain provided by SPI: " +
getMonetaryConversionsSpi().getClass().getName());
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/javax/money/format/MonetaryFormats.java
Expand Up @@ -27,7 +27,7 @@
*/
public final class MonetaryFormats {

private static final MonetaryFormatsSingletonSpi getMonetaryFormatsSpi() {
private static MonetaryFormatsSingletonSpi getMonetaryFormatsSpi() {
return loadMonetaryFormatsSingletonSpi();
}

Expand Down
8 changes: 3 additions & 5 deletions src/main/java/javax/money/spi/Bootstrap.java
Expand Up @@ -8,10 +8,7 @@
*/
package javax.money.spi;

import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.ServiceLoader;
import java.util.*;
import java.util.logging.Logger;

/**
Expand Down Expand Up @@ -44,6 +41,7 @@ private Bootstrap() {
*/
private static ServiceProvider loadDefaultServiceProvider() {
try {
//noinspection LoopStatementThatDoesntLoop
for (ServiceProvider sp : ServiceLoader.load(ServiceProvider.class)) {
return sp;
}
Expand Down Expand Up @@ -115,7 +113,7 @@ public static <T> T getService(Class<T> serviceType) {
List<T> services = getServiceProvider().getServices(serviceType);
return services
.stream()
.sorted((o1, o2) -> o1.getClass().getSimpleName().compareTo(o2.getClass().getSimpleName()))
.sorted(Comparator.comparing(o -> o.getClass().getSimpleName()))
.findFirst()
.orElse(null);
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/javax/money/spi/ServiceProvider.java
Expand Up @@ -27,7 +27,7 @@ public interface ServiceProvider {
*
* @return the provider's priority (default is 0).
*/
public int getPriority();
int getPriority();

/**
* Access a list of services, given its type. The bootstrap mechanism should
Expand Down

0 comments on commit 0bec963

Please sign in to comment.