diff --git a/part-2/src/main/java/com/example/Application.java b/part-2/src/main/java/com/example/Application.java index 4e51767..cd04430 100644 --- a/part-2/src/main/java/com/example/Application.java +++ b/part-2/src/main/java/com/example/Application.java @@ -1,42 +1,8 @@ package com.example; - import javax.inject.*; import dagger.*; import com.acme.*; -@Module -class YahooWeatherModule { - - private final String key; - - public YahooWeatherModule(String key) { - this.key = key; - } - - @Provides - WeatherService provideWeatherService(WebSocket socket) { - return new YahooWeather(key, socket); - } -} - -@Module -class WeatherChannelModule { - @Provides - WeatherService provideWeatherService() { - return new WeatherChannel(); - } -} - -@Module -class GpsSensorModule { - @Provides - GpsSensor provideGpsSensor() { - GpsSensor gps = new GpsSensor(); - gps.calibrate(); - return gps; - } -} - @Component(modules = {YahooWeatherModule.class, GpsSensorModule.class}) interface AppComponent { WeatherReporter getWeatherReporter(); @@ -44,8 +10,14 @@ interface AppComponent { public class Application { public static void main(String args[]) { + if(args.length < 1) { + System.out.println("You must provide an API key\n"); + return; + } + String apiKey = args[0]; YahooWeatherModule yahoo = new YahooWeatherModule(apiKey); + AppComponent component = DaggerAppComponent.builder() .yahooWeatherModule(yahoo) .build(); diff --git a/part-2/src/main/java/com/example/GpsSensorModule.java b/part-2/src/main/java/com/example/GpsSensorModule.java new file mode 100644 index 0000000..abe25ee --- /dev/null +++ b/part-2/src/main/java/com/example/GpsSensorModule.java @@ -0,0 +1,13 @@ +package com.example; +import com.acme.*; +import dagger.*; + +@Module +public class GpsSensorModule { + @Provides + GpsSensor provideGpsSensor() { + GpsSensor gps = new GpsSensor(); + gps.calibrate(); + return gps; + } +} diff --git a/part-2/src/main/java/com/example/LocationManager.java b/part-2/src/main/java/com/example/LocationManager.java index 8e9f8b5..cda3871 100644 --- a/part-2/src/main/java/com/example/LocationManager.java +++ b/part-2/src/main/java/com/example/LocationManager.java @@ -1,5 +1,4 @@ package com.example; - import javax.inject.*; import com.acme.*; diff --git a/part-2/src/main/java/com/example/WeatherChannel.java b/part-2/src/main/java/com/example/WeatherChannel.java index ef0d8cf..0198ef8 100644 --- a/part-2/src/main/java/com/example/WeatherChannel.java +++ b/part-2/src/main/java/com/example/WeatherChannel.java @@ -1,5 +1,5 @@ package com.example; -import javax.inject.Inject; +import javax.inject.*; public class WeatherChannel implements WeatherService { @Inject diff --git a/part-2/src/main/java/com/example/WeatherChannelModule.java b/part-2/src/main/java/com/example/WeatherChannelModule.java new file mode 100644 index 0000000..9c4e374 --- /dev/null +++ b/part-2/src/main/java/com/example/WeatherChannelModule.java @@ -0,0 +1,10 @@ +package com.example; +import dagger.*; + +@Module +public class WeatherChannelModule { + @Provides + WeatherService provideWeatherService() { + return new WeatherChannel(); + } +} diff --git a/part-2/src/main/java/com/example/WeatherService.java b/part-2/src/main/java/com/example/WeatherService.java index 5261885..2ce4724 100644 --- a/part-2/src/main/java/com/example/WeatherService.java +++ b/part-2/src/main/java/com/example/WeatherService.java @@ -1,5 +1,4 @@ package com.example; -import javax.inject.*; public interface WeatherService { } diff --git a/part-2/src/main/java/com/example/WebSocket.java b/part-2/src/main/java/com/example/WebSocket.java index bf9a6e7..739098c 100644 --- a/part-2/src/main/java/com/example/WebSocket.java +++ b/part-2/src/main/java/com/example/WebSocket.java @@ -1,5 +1,5 @@ package com.example; -import javax.inject.Inject; +import javax.inject.*; public class WebSocket { @Inject diff --git a/part-2/src/main/java/com/example/YahooWeather.java b/part-2/src/main/java/com/example/YahooWeather.java index 1d8f540..536f906 100644 --- a/part-2/src/main/java/com/example/YahooWeather.java +++ b/part-2/src/main/java/com/example/YahooWeather.java @@ -1,5 +1,5 @@ package com.example; -import javax.inject.Inject; +import javax.inject.*; public class YahooWeather implements WeatherService { diff --git a/part-2/src/main/java/com/example/YahooWeatherModule.java b/part-2/src/main/java/com/example/YahooWeatherModule.java new file mode 100644 index 0000000..4b26f70 --- /dev/null +++ b/part-2/src/main/java/com/example/YahooWeatherModule.java @@ -0,0 +1,18 @@ +package com.example; +import dagger.*; + +@Module +public class YahooWeatherModule { + + private final String key; + + public YahooWeatherModule(String key) { + this.key = key; + } + + @Provides + WeatherService provideWeatherService(WebSocket socket) { + return new YahooWeather(key, socket); + } +} +