Example usage for com.badlogic.gdx.sql SQLiteGdxDatabaseCursor moveToFirst

List of usage examples for com.badlogic.gdx.sql SQLiteGdxDatabaseCursor moveToFirst

Introduction

In this page you can find the example usage for com.badlogic.gdx.sql SQLiteGdxDatabaseCursor moveToFirst.

Prototype

public void moveToFirst();

Source Link

Usage

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;
}