// Path: core/src/main/java/cat/ppicas/cleanarch/model/City.java
// public class City {
// 
//     private String mId;
//     private String mName;
//     private String mCountry;
//     private CurrentWeatherPreview mCurrentWeatherPreview;
// 
//     public City(String id, String name, String country) {
//         mId = id;
//         mName = name;
//         mCountry = country;
//     }
// 
//     public City(String id, String name, String country,
//             CurrentWeatherPreview currentWeatherPreview) {
//         mId = id;
//         mName = name;
//         mCountry = country;
//         mCurrentWeatherPreview = currentWeatherPreview;
//     }
// 
//     public String getId() {
//         return mId;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public String getCountry() {
//         return mCountry;
//     }
// 
//     public CurrentWeatherPreview getCurrentWeatherPreview() {
//         return mCurrentWeatherPreview;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/model/CurrentWeatherPreview.java
// public class CurrentWeatherPreview {
// 
//     private String mCityId;
//     private double mCurrentTemp;
// 
//     public CurrentWeatherPreview(String cityId, double currentTemp) {
//         mCityId = cityId;
//         mCurrentTemp = currentTemp;
//     }
// 
//     public String getCityId() {
//         return mCityId;
//     }
// 
//     public double getCurrentTemp() {
//         return mCurrentTemp;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeather.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeather {
// 
//     @SerializedName("id")
//     private String mCityId;
//     @SerializedName("name")
//     private String mCityName;
//     @SerializedName("main")
//     private Main mMain;
//     @SerializedName("wind")
//     private Wind mWind;
//     @SerializedName("sys")
//     private System mSystem;
// 
//     public String getCityId() {
//         return mCityId;
//     }
// 
//     public String getCityName() {
//         return mCityName;
//     }
// 
//     public Main getMain() {
//         return mMain;
//     }
// 
//     public Wind getWind() {
//         return mWind;
//     }
// 
//     public System getSystem() {
//         return mSystem;
//     }
// 
//     public class Main {
//         @SerializedName("temp")
//         private double mTemp;
//         @SerializedName("humidity")
//         private int mHumidity;
// 
//         public double getTemp() {
//             return mTemp;
//         }
// 
//         public int getHumidity() {
//             return mHumidity;
//         }
//     }
// 
//     public class Wind {
//         @SerializedName("speed")
//         private double mSpeed;
// 
//         public double getSpeed() {
//             return mSpeed;
//         }
//     }
// 
//     public class System {
//         @SerializedName("country")
//         private String mCountry;
// 
//         public String getCountry() {
//             return mCountry;
//         }
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeatherList.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeatherList {
// 
//     @SerializedName("count")
//     private int mCount;
//     @SerializedName("list")
//     private List<OWMCurrentWeather> mCurrentWeatherList;
// 
//     public int getCount() {
//         return mCount;
//     }
// 
//     public List<OWMCurrentWeather> getList() {
//         return mCurrentWeatherList;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/repository/CityRepository.java
// public interface CityRepository {
// 
//     City getCity(String cityId);
// 
//     List<City> findCity(String name);
// 
// }


import java.util.ArrayList;
import java.util.List;
import cat.ppicas.cleanarch.model.City;
import cat.ppicas.cleanarch.model.CurrentWeatherPreview;
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeather;
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeatherList;
import cat.ppicas.cleanarch.repository.CityRepository;
/*
 * Copyright (C) 2015 Pau Picas Sans <pau.picas@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package cat.ppicas.cleanarch.owm;



public class OWMCityRepository implements CityRepository {

    private final OWMService mService;

    public OWMCityRepository(OWMService service) {
        mService = service;
    }

    @Override
// Path: core/src/main/java/cat/ppicas/cleanarch/model/City.java
// public class City {
// 
//     private String mId;
//     private String mName;
//     private String mCountry;
//     private CurrentWeatherPreview mCurrentWeatherPreview;
// 
//     public City(String id, String name, String country) {
//         mId = id;
//         mName = name;
//         mCountry = country;
//     }
// 
//     public City(String id, String name, String country,
//             CurrentWeatherPreview currentWeatherPreview) {
//         mId = id;
//         mName = name;
//         mCountry = country;
//         mCurrentWeatherPreview = currentWeatherPreview;
//     }
// 
//     public String getId() {
//         return mId;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public String getCountry() {
//         return mCountry;
//     }
// 
//     public CurrentWeatherPreview getCurrentWeatherPreview() {
//         return mCurrentWeatherPreview;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/model/CurrentWeatherPreview.java
// public class CurrentWeatherPreview {
// 
//     private String mCityId;
//     private double mCurrentTemp;
// 
//     public CurrentWeatherPreview(String cityId, double currentTemp) {
//         mCityId = cityId;
//         mCurrentTemp = currentTemp;
//     }
// 
//     public String getCityId() {
//         return mCityId;
//     }
// 
//     public double getCurrentTemp() {
//         return mCurrentTemp;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeather.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeather {
// 
//     @SerializedName("id")
//     private String mCityId;
//     @SerializedName("name")
//     private String mCityName;
//     @SerializedName("main")
//     private Main mMain;
//     @SerializedName("wind")
//     private Wind mWind;
//     @SerializedName("sys")
//     private System mSystem;
// 
//     public String getCityId() {
//         return mCityId;
//     }
// 
//     public String getCityName() {
//         return mCityName;
//     }
// 
//     public Main getMain() {
//         return mMain;
//     }
// 
//     public Wind getWind() {
//         return mWind;
//     }
// 
//     public System getSystem() {
//         return mSystem;
//     }
// 
//     public class Main {
//         @SerializedName("temp")
//         private double mTemp;
//         @SerializedName("humidity")
//         private int mHumidity;
// 
//         public double getTemp() {
//             return mTemp;
//         }
// 
//         public int getHumidity() {
//             return mHumidity;
//         }
//     }
// 
//     public class Wind {
//         @SerializedName("speed")
//         private double mSpeed;
// 
//         public double getSpeed() {
//             return mSpeed;
//         }
//     }
// 
//     public class System {
//         @SerializedName("country")
//         private String mCountry;
// 
//         public String getCountry() {
//             return mCountry;
//         }
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeatherList.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeatherList {
// 
//     @SerializedName("count")
//     private int mCount;
//     @SerializedName("list")
//     private List<OWMCurrentWeather> mCurrentWeatherList;
// 
//     public int getCount() {
//         return mCount;
//     }
// 
//     public List<OWMCurrentWeather> getList() {
//         return mCurrentWeatherList;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/repository/CityRepository.java
// public interface CityRepository {
// 
//     City getCity(String cityId);
// 
//     List<City> findCity(String name);
// 
// }


// Path: core/src/main/java/cat/ppicas/cleanarch/owm/OWMCityRepository.java
import java.util.ArrayList;
import java.util.List;
import cat.ppicas.cleanarch.model.City;
import cat.ppicas.cleanarch.model.CurrentWeatherPreview;
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeather;
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeatherList;
import cat.ppicas.cleanarch.repository.CityRepository;

/*
 * Copyright (C) 2015 Pau Picas Sans <pau.picas@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package cat.ppicas.cleanarch.owm;



public class OWMCityRepository implements CityRepository {

    private final OWMService mService;

    public OWMCityRepository(OWMService service) {
        mService = service;
    }

    @Override
    public City getCity(String cityId) {