/** * Copyright (C) 2013 - 2015 the enviroCar community * * This file is part of the enviroCar app. * * The enviroCar app is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * The enviroCar app is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * Public License for more details. * * You should have received a copy of the GNU General Public License along * with the enviroCar app. If not, see http://www.gnu.org/licenses/. */ package org.envirocar.remote.dao; import org.envirocar.core.dao.AbstractCacheDAO; import org.envirocar.core.dao.AnnouncementDAO; import org.envirocar.core.entity.Announcement; import org.envirocar.core.exception.DataRetrievalFailureException; import org.envirocar.core.exception.NotConnectedException; import java.io.IOException; import java.util.List; import javax.inject.Inject; import rx.Observable; /** * TODO JavaDoc * * @author dewall */ public class CacheAnnouncementsDAO extends AbstractCacheDAO implements AnnouncementDAO { public static final String CACHE_FILE_NAME = "announcements"; @Inject public CacheAnnouncementsDAO() {} @Override public List<Announcement> getAllAnnouncements() throws DataRetrievalFailureException, NotConnectedException { return null; } @Override public Observable<List<Announcement>> getAllAnnouncementsObservable() { return null; } @Override public void saveAnnouncements(List<Announcement> announcements) throws NotConnectedException, IOException { } // @Override // public List<Announcement> getAllAnnouncements() throws DataRetrievalFailureException { // Gson gson = new GsonBuilder() // .registerTypeAdapter(Announcement.class, new AnnouncementSerializer()) // .create(); // try { // return gson.fromJson(readCache(CACHE_FILE_NAME), // new TypeToken<List<Announcement>>() { // }.getType()); // } catch (IOException e) { // throw new DataRetrievalFailureException(e); // } // } // // @Override // public Observable<List<Announcement>> getAllAnnouncementsObservable() { // return Observable.create(new Observable.OnSubscribe<List<Announcement>>() { // @Override // public void call(Subscriber<? super List<Announcement>> subscriber) { // try { // List<Announcement> announcements = getAllAnnouncements(); // subscriber.onNext(announcements); // subscriber.onCompleted(); // } catch (DataRetrievalFailureException e) { // subscriber.onError(e); // } // } // }); // } // // @Override // public void saveAnnouncements(List<Announcement> announcements) throws // NotConnectedException, // IOException { // storeCache(CACHE_FILE_NAME, GSON.toJson(announcements, new TypeToken<List<Announcement>>() { // }.getType())); // } }