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

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

Introduction

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

Prototype

public int getCount();

Source Link

Document

Returns the numbers of rows in the cursor.

Usage

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 www .  j a va  2s .  c o m*/
        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 {/*from   w ww . j  ava  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 {//from  w ww  .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 Boolean cacheExists(long CacheID) {

    SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery(SQL_EXIST_CACHE,
            new String[] { String.valueOf(CacheID) });

    boolean exists = (reader.getCount() > 0);

    reader.close();/* www  .ja va  2 s .  c  om*/

    return exists;

}

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   w w w.j  a  v  a 2  s .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.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();/*from w  w  w  .  j a va  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.ImageDAO.java

License:Open Source License

/**
 * @param GcCode//  w  w w  .ja  v a 2  s  . com
 * @return
 */
public ArrayList<ImageEntry> getImagesForCache(String GcCode) {
    ArrayList<ImageEntry> images = new ArrayList<ImageEntry>();

    SQLiteGdxDatabaseCursor reader = Database.Data.rawQuery(
            "select CacheId, GcCode, Name, Description, ImageUrl, IsCacheImage from Images where GcCode=?",
            new String[] { GcCode });
    if (reader.getCount() > 0) {
        reader.moveToFirst();
        while (!reader.isAfterLast()) {
            ImageEntry image = new ImageEntry(reader);
            images.add(image);
            reader.moveToNext();
        }
    }
    reader.close();
    return images;
}