List of usage examples for com.badlogic.gdx.sql SQLiteGdxDatabaseCursor moveToFirst
public void moveToFirst();
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public static String GetShortDescription(Cache cache) { String description = ""; SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery("select ShortDescription from Caches where Id=?", new String[] { Long.toString(cache.Id) }); if (reader == null) return ""; reader.moveToFirst(); while (!reader.isAfterLast()) { if (reader.getString(0) != null) description = reader.getString(0); reader.moveToNext();/*from w ww. ja v a 2s. com*/ } reader.close(); return description; }
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public static String GetDescription(Cache cache) { String description = ""; SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery("select Description from Caches where Id=?", new String[] { Long.toString(cache.Id) }); if (reader == null) return ""; reader.moveToFirst(); while (!reader.isAfterLast()) { if (reader.getString(0) != null) description = reader.getString(0); reader.moveToNext();/* w ww . j av a 2s. c o m*/ } reader.close(); return description; }
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public boolean readDetail(Cache cache) { if (cache.detail != null) return true; cache.detail = new CacheDetail(); SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery(SQL_GET_DETAIL_FROM_ID, new String[] { String.valueOf(cache.Id) }); try {//from w w w . jav a 2s .c om if (reader != null && reader.getCount() > 0) { reader.moveToFirst(); readDetailFromCursor(reader, cache.detail, false, false); reader.close(); return true; } else { if (reader != null) reader.close(); return false; } } catch (Exception e) { if (reader != null) reader.close(); e.printStackTrace(); return false; } }
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public Cache getFromDbByCacheId(long CacheID) { SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery(SQL_GET_CACHE + SQL_BY_ID, new String[] { String.valueOf(CacheID) }); try {// w w w.j av a 2 s . c o m if (reader != null && reader.getCount() > 0) { reader.moveToFirst(); Cache ret = ReadFromCursor(reader, false, false); reader.close(); return ret; } else { if (reader != null) reader.close(); return null; } } catch (Exception e) { if (reader != null) reader.close(); e.printStackTrace(); return null; } finally { reader = null; } }
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public Cache getFromDbByGcCode(String GcCode, boolean withDetail) // NO_UCD (test only) { String where = SQL_GET_CACHE + (withDetail ? ", " + SQL_DETAILS : "") + SQL_BY_GC_CODE; SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery(where, new String[] { GcCode }); try {/* ww w .j a va2s .c om*/ if (reader != null && reader.getCount() > 0) { reader.moveToFirst(); Cache ret = ReadFromCursor(reader, withDetail, false); reader.close(); return ret; } else { if (reader != null) reader.close(); return null; } } catch (Exception e) { if (reader != null) reader.close(); e.printStackTrace(); return null; } }
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public ArrayList<String> getGcCodesFromMustLoadImages() { ArrayList<String> GcCodes = new ArrayList<String>(); SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery( "select GcCode from Caches where Type<>4 and (ImagesUpdated=0 or DescriptionImagesUpdated=0)", null);//from ww w . ja v a2s .c o m if (reader.getCount() > 0) { reader.moveToFirst(); while (!reader.isAfterLast()) { String GcCode = reader.getString(0); GcCodes.add(GcCode); reader.moveToNext(); } } reader.close(); return GcCodes; }
From source file:de.longri.cachebox3.sqlite.dao.CacheDAO.java
License:Open Source License
public Boolean loadBooleanValue(String gcCode, String key) { SQLiteGdxDatabaseCursor reader = Database.Data .rawQuery("select " + key + " from Caches where GcCode = \"" + gcCode + "\"", null); try {/* ww w . j a v a2 s . c o m*/ reader.moveToFirst(); while (!reader.isAfterLast()) { if (reader.getInt(0) != 0) { // gefunden. Suche abbrechen return true; } reader.moveToNext(); } } catch (Exception ex) { return false; } finally { reader.close(); } return false; }
From source file:de.longri.cachebox3.sqlite.dao.CacheListDAO.java
License:Open Source License
public CacheList ReadCacheList(CacheList cacheList, String join, String where, boolean withDescription, boolean fullDetails, boolean loadAllWaypoints) { if (cacheList == null) return null; // Clear List before read cacheList.clear();/* w w w . j a v a 2 s .c o m*/ boolean error = false; log.trace("ReadCacheList 1.Waypoints"); LongMap<CB_List<Waypoint>> waypoints = new LongMap<CB_List<Waypoint>>(); // zuerst alle Waypoints einlesen CB_List<Waypoint> wpList = new CB_List<Waypoint>(); long aktCacheID = -1; String sql = fullDetails ? WaypointDAO.SQL_WP_FULL : WaypointDAO.SQL_WP; if (!((fullDetails || loadAllWaypoints))) { // when CacheList should be loaded without full details and without all Waypoints // do not load all waypoints from db! sql += " WHERE IsStart=\"true\" or Type=" + CacheTypes.Final.ordinal(); // StartWaypoint or CacheTypes.Final } sql += " ORDER BY 'CacheId'"; SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery(sql, null); if (reader == null) return cacheList; reader.moveToFirst(); while (!reader.isAfterLast()) { WaypointDAO waypointDAO = new WaypointDAO(); Waypoint wp = waypointDAO.getWaypoint(reader, fullDetails); if (!(fullDetails || loadAllWaypoints)) { // wenn keine FullDetails geladen werden sollen dann sollen nur die Finals und Start-Waypoints geladen werden if (!(wp.IsStart || wp.Type == CacheTypes.Final)) { reader.moveToNext(); continue; } } if (wp.CacheId != aktCacheID) { aktCacheID = wp.CacheId; wpList = new CB_List<Waypoint>(); waypoints.put(aktCacheID, wpList); } wpList.add(wp); reader.moveToNext(); } reader.close(); log.debug(wpList.size() + " Waypoints readed!"); log.debug("ReadCacheList 2.Caches"); try { if (fullDetails) { sql = SQL.SQL_GET_CACHE + ", " + SQL.SQL_DETAILS; if (withDescription) { // load Cache with Description, Solver, Notes for Transfering Data from Server to ACB sql += "," + SQL.SQL_GET_DETAIL_WITH_DESCRIPTION; } } else { sql = SQL.SQL_GET_CACHE; } sql += " FROM `Caches` AS `c` " + join + " " + ((where.length() > 0) ? "WHERE " + where : where); reader = Database.Data.rawQuery(sql, null); } catch (Exception e) { log.error("CacheList.LoadCaches() sql+ \n" + sql, e); error = true; } if (!error) { reader.moveToFirst(); CacheDAO cacheDAO = new CacheDAO(); while (!reader.isAfterLast()) { Cache cache = cacheDAO.ReadFromCursor(reader, fullDetails, withDescription); boolean doAdd = true; if (FilterInstances.hasCorrectedCoordinates != 0) { if (waypoints.containsKey(cache.Id)) { CB_List<Waypoint> tmpwaypoints = waypoints.get(cache.Id); for (int i = 0, n = tmpwaypoints.size(); i < n; i++) { cache.waypoints.add(tmpwaypoints.get(i)); } } boolean hasCorrectedCoordinates = cache.CorrectedCoordiantesOrMysterySolved(); if (FilterInstances.hasCorrectedCoordinates < 0) { // show only those without corrected ones if (hasCorrectedCoordinates) doAdd = false; } else if (FilterInstances.hasCorrectedCoordinates > 0) { // only those with corrected ones if (!hasCorrectedCoordinates) doAdd = false; } } if (doAdd) { cacheList.add(cache); cache.waypoints.clear(); if (waypoints.containsKey(cache.Id)) { CB_List<Waypoint> tmpwaypoints = waypoints.get(cache.Id); for (int i = 0, n = tmpwaypoints.size(); i < n; i++) { cache.waypoints.add(tmpwaypoints.get(i)); } waypoints.remove(cache.Id); } } // ++Global.CacheCount; reader.moveToNext(); } reader.close(); } else { log.error("Corrupt database try cache by cache"); // get all id's reader = Database.Data.rawQuery(SQL.SQL_ALL_CACHE_IDS, null); reader.moveToFirst(); ArrayList<Long> idList = new ArrayList<Long>(reader.getCount()); while (!reader.isAfterLast()) { idList.add(reader.getLong(0)); reader.moveToNext(); } CacheDAO cacheDAO = new CacheDAO(); for (Long id : idList) { Cache cache = null; try { cache = cacheDAO.getFromDbByCacheId(id); } catch (Exception e) { log.error("Can't read Cache (id:" + id + ") from database."); try { Database.Data.delete("Caches", "id=" + id, null); } catch (Exception e1) { log.error("Can't delete this Cache. Skip it!"); } continue; } boolean doAdd = true; if (FilterInstances.hasCorrectedCoordinates != 0) { if (waypoints.containsKey(cache.Id)) { CB_List<Waypoint> tmpwaypoints = waypoints.get(cache.Id); for (int i = 0, n = tmpwaypoints.size(); i < n; i++) { cache.waypoints.add(tmpwaypoints.get(i)); } } boolean hasCorrectedCoordinates = cache.CorrectedCoordiantesOrMysterySolved(); if (FilterInstances.hasCorrectedCoordinates < 0) { // show only those without corrected ones if (hasCorrectedCoordinates) doAdd = false; } else if (FilterInstances.hasCorrectedCoordinates > 0) { // only those with corrected ones if (!hasCorrectedCoordinates) doAdd = false; } } if (doAdd) { cacheList.add(cache); cache.waypoints.clear(); if (waypoints.containsKey(cache.Id)) { CB_List<Waypoint> tmpwaypoints = waypoints.get(cache.Id); for (int i = 0, n = tmpwaypoints.size(); i < n; i++) { cache.waypoints.add(tmpwaypoints.get(i)); } waypoints.remove(cache.Id); } } } } // clear other never used WP`s from Mem waypoints.clear(); waypoints = null; // do it manual (or automated after fix), got hanging app on startup // log.debug( "ReadCacheList 3.Sorting"); try { // Collections.sort(cacheList); } catch ( Exception e) { // log.error( "CacheListDAO.ReadCacheList()", "Sort ERROR", e); } // log.debug( "ReadCacheList 4. ready"); return cacheList; }
From source file:de.longri.cachebox3.sqlite.dao.CategoryDAO.java
License:Open Source License
public Category ReadFromCursor(SQLiteGdxDatabaseCursor reader) { Category result = new Category(); result.Id = reader.getLong(0);/*from ww w . java 2 s . c om*/ result.GpxFilename = reader.getString(1); result.pinned = reader.getInt(2) != 0; // alle GpxFilenames einlesen SQLiteGdxDatabaseCursor reader2 = Database.Data.rawQuery( "select ID, GPXFilename, Imported, CacheCount from GpxFilenames where CategoryId=?", new String[] { String.valueOf(result.Id) }); reader2.moveToFirst(); while (reader2.isAfterLast() == false) { GpxFilenameDAO gpxFilenameDAO = new GpxFilenameDAO(); GpxFilename gpx = gpxFilenameDAO.ReadFromCursor(reader2); result.add(gpx); reader2.moveToNext(); } reader2.close(); return result; }
From source file:de.longri.cachebox3.sqlite.dao.CategoryDAO.java
License:Open Source License
public Category CreateNewCategory(String filename) { filename = new File(filename).getName(); // neue Category in DB anlegen Category result = new Category(); Parameters args = new Parameters(); args.put("GPXFilename", filename); try {/*from ww w. j av a 2 s . co m*/ Database.Data.insert("Category", args); } catch (Exception exc) { log.error(filename, exc); } long Category_ID = 0; SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery("Select max(ID) from Category", null); reader.moveToFirst(); if (reader.isAfterLast() == false) { Category_ID = reader.getLong(0); } reader.close(); result.Id = Category_ID; result.GpxFilename = filename; result.Checked = true; result.pinned = false; return result; }