/**
* Android ownCloud News
*
* @author David Luhmer
* @copyright 2013 David Luhmer david-dev@live.de
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library 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 AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
package de.luhmer.owncloudnewsreader.reader.owncloud;
import org.json.JSONObject;
import java.util.ArrayList;
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm;
import de.luhmer.owncloudnewsreader.database.model.Feed;
import de.luhmer.owncloudnewsreader.reader.InsertIntoDatabase;
public class InsertFeedIntoDatabase implements IHandleJsonObject{
DatabaseConnectionOrm dbConn;
ArrayList<Feed> feeds = new ArrayList<>();
public InsertFeedIntoDatabase(DatabaseConnectionOrm dbConn) {
this.dbConn = dbConn;
}
private static Feed parseFeed(JSONObject e)
{
String faviconLink = e.optString("faviconLink");
if(faviconLink != null)
if(faviconLink.equals("null") || faviconLink.trim().equals(""))
faviconLink = null;
Feed feed = new Feed();
feed.setId(e.optLong("id"));
feed.setFolderId(e.optLong("folderId"));
feed.setFaviconUrl(faviconLink);
//Possible XSS fields
feed.setFeedTitle(e.optString("title"));
feed.setLink(e.optString("url"));
//feed.setLink(e.optString("link"));
return feed;
}
@Override
public boolean performAction(JSONObject jObj) {
Feed rssFeed = parseFeed(jObj);
feeds.add(rssFeed);
return true;
}
public void WriteAllToDatabaseNow() {
InsertIntoDatabase.InsertFeedsIntoDatabase(feeds, dbConn);
}
}