protected boolean addFilter(PoiFilter p, SQLiteConnection db, boolean addOnlyCategories) { if (db != null) { if (!addOnlyCategories) { db.execSQL( "INSERT INTO " + FILTER_NAME + " VALUES (?, ?, ?)", new Object[] { p.getName(), p.getFilterId(), p.getFilterByName() }); //$NON-NLS-1$ //$NON-NLS-2$ } Map<AmenityType, LinkedHashSet<String>> types = p.getAcceptedTypes(); SQLiteStatement insertCategories = db.compileStatement( "INSERT INTO " + CATEGORIES_NAME + " VALUES (?, ?, ?)"); //$NON-NLS-1$ //$NON-NLS-2$ for (AmenityType a : types.keySet()) { if (types.get(a) == null) { insertCategories.bindString(1, p.getFilterId()); insertCategories.bindString(2, AmenityType.valueToString(a)); insertCategories.bindNull(3); insertCategories.execute(); } else { for (String s : types.get(a)) { insertCategories.bindString(1, p.getFilterId()); insertCategories.bindString(2, AmenityType.valueToString(a)); insertCategories.bindString(3, s); insertCategories.execute(); } } } insertCategories.close(); return true; } return false; }