diff --git a/metarParser-parsers/src/main/java/io/github/mivek/command/AirportSupplier.java b/metarParser-parsers/src/main/java/io/github/mivek/command/AirportSupplier.java index 7c40edf3..35596729 100644 --- a/metarParser-parsers/src/main/java/io/github/mivek/command/AirportSupplier.java +++ b/metarParser-parsers/src/main/java/io/github/mivek/command/AirportSupplier.java @@ -3,25 +3,28 @@ import io.github.mivek.model.Airport; import io.github.mivek.provider.airport.AirportProvider; import io.github.mivek.provider.airport.impl.DefaultAirportProvider; + +import java.util.Iterator; import java.util.ServiceLoader; /** * @author mivek */ public final class AirportSupplier implements Supplier { - /** The service loader for the airport provider. */ - private final ServiceLoader airportLoader; + /** The airport provider. */ + private final AirportProvider provider; /** * Constructor. */ public AirportSupplier() { - airportLoader = ServiceLoader.load(AirportProvider.class); + ServiceLoader loader = ServiceLoader.load(AirportProvider.class); + Iterator iterator = loader.iterator(); + this.provider = iterator.hasNext() ? iterator.next() : new DefaultAirportProvider(); } @Override public Airport get(final String string) { - AirportProvider provider = airportLoader.iterator().hasNext() ? airportLoader.iterator().next() : new DefaultAirportProvider(); return provider.getAirports().get(string); } }