// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.olio.olios.model.record; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import com.olio.util.ALog; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Set; // Referenced classes of package com.olio.olios.model.record: // DatabaseRecord, DateAccessibleDatabaseRecord public class DatabaseRecordMixins { public static class DateCreatedRecordFieldSet extends DatabaseRecord.RecordFieldSet { public void assignFromCursorColumn(DateAccessibleDatabaseRecord dateaccessibledatabaserecord, Cursor cursor, int i) { dateaccessibledatabaserecord.setDateCreated(Long.valueOf(cursor.getLong(i))); } public volatile void assignFromCursorColumn(Object obj, Cursor cursor, int i) { assignFromCursorColumn((DateAccessibleDatabaseRecord)obj, cursor, i); } public String columnName() { return "date_created"; } public String createType() { return "INTEGER"; } public void writeToContentValues(DateAccessibleDatabaseRecord dateaccessibledatabaserecord, ContentValues contentvalues) { contentvalues.put("date_created", Long.valueOf(System.currentTimeMillis())); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((DateAccessibleDatabaseRecord)obj, contentvalues); } public DateCreatedRecordFieldSet() { } } public static class DateModifiedRecordFieldSet extends DatabaseRecord.RecordFieldSet { public void assignFromCursorColumn(DateAccessibleDatabaseRecord dateaccessibledatabaserecord, Cursor cursor, int i) { dateaccessibledatabaserecord.setDateModified(Long.valueOf(cursor.getLong(i))); } public volatile void assignFromCursorColumn(Object obj, Cursor cursor, int i) { assignFromCursorColumn((DateAccessibleDatabaseRecord)obj, cursor, i); } public String columnName() { return "date_modified"; } public String createType() { return "INTEGER"; } public void writeToContentValues(DateAccessibleDatabaseRecord dateaccessibledatabaserecord, ContentValues contentvalues) { contentvalues.put("date_modified", Long.valueOf(System.currentTimeMillis())); } public volatile void writeToContentValues(Object obj, ContentValues contentvalues) { writeToContentValues((DateAccessibleDatabaseRecord)obj, contentvalues); } public DateModifiedRecordFieldSet() { } } public DatabaseRecordMixins() { } public static List allRecordsFromUri(Uri uri, DatabaseRecord.DatabaseRecordFactory databaserecordfactory, ContentResolver contentresolver) { Uri uri1 = null; uri = contentresolver.query(uri, databaserecordfactory.getRecordInstance().columnProjection(), null, null, databaserecordfactory.getRecordInstance().defaultOrderBy()); uri1 = uri; databaserecordfactory = recordsFromCursor(uri, databaserecordfactory); if (uri != null) { uri.close(); } return databaserecordfactory; uri; if (uri1 != null) { uri1.close(); } throw uri; } public static List allRecordsFromUriWithFields(Uri uri, DatabaseRecord.DatabaseRecordFactory databaserecordfactory, Set set, ContentResolver contentresolver) { Uri uri1 = null; uri = contentresolver.query(uri, columnProjectionFromRecordFields(recordFieldsForColumnNames(set, databaserecordfactory.getRecordInstance().recordFields())), null, null, databaserecordfactory.getRecordInstance().defaultOrderBy()); uri1 = uri; databaserecordfactory = recordsFromCursor(uri, databaserecordfactory); if (uri != null) { uri.close(); } return databaserecordfactory; uri; if (uri1 != null) { uri1.close(); } throw uri; } public static Uri baseUriForAnalyticsTable(DatabaseRecord.DatabaseRecordFactory databaserecordfactory) { return baseUriForTable(databaserecordfactory, "content", "com.olio.data.object.analytics.database.Data"); } public static Uri baseUriForTable(DatabaseRecord.DatabaseRecordFactory databaserecordfactory) { return baseUriForTable(databaserecordfactory, "content", "com.olio.olios.model.Data"); } private static Uri baseUriForTable(DatabaseRecord.DatabaseRecordFactory databaserecordfactory, String s, String s1) { return (new android.net.Uri.Builder()).scheme(s).authority(s1).path(databaserecordfactory.getRecordInstance().tableName()).build(); } public static String[] columnProjectionFromRecordFields(List list) { LinkedList linkedlist = new LinkedList(); for (list = list.iterator(); list.hasNext(); linkedlist.add(((DatabaseRecord.RecordField)list.next()).columnName())) { } return (String[])linkedlist.toArray(new String[linkedlist.size()]); } public static DatabaseRecord firstRecordFromUri(Uri uri, DatabaseRecord.DatabaseRecordFactory databaserecordfactory, ContentResolver contentresolver) { uri = allRecordsFromUri(uri, databaserecordfactory, contentresolver); if (uri != null && uri.size() > 0) { return (DatabaseRecord)uri.get(0); } else { return null; } } public static DatabaseRecord firstRecordFromUriWithFields(Uri uri, DatabaseRecord.DatabaseRecordFactory databaserecordfactory, Set set, ContentResolver contentresolver) { Uri uri1 = null; uri = contentresolver.query(uri, columnProjectionFromRecordFields(recordFieldsForColumnNames(set, databaserecordfactory.getRecordInstance().recordFields())), null, null, (new StringBuilder()).append(databaserecordfactory.getRecordInstance().defaultOrderBy()).append(" limit 1").toString()); uri1 = uri; databaserecordfactory = recordsFromCursor(uri, databaserecordfactory); if (uri != null) { uri.close(); } if (databaserecordfactory.size() > 0) { return (DatabaseRecord)databaserecordfactory.get(0); } else { return null; } uri; if (uri1 != null) { uri1.close(); } throw uri; } public static int idFromCursor(Cursor cursor) { return cursor.getInt(cursor.getColumnIndex("_id")); } public static List recordFieldsForColumnNames(Set set, List list) { LinkedList linkedlist = new LinkedList(); list = list.iterator(); do { if (!list.hasNext()) { break; } DatabaseRecord.RecordField recordfield = (DatabaseRecord.RecordField)list.next(); if (set.contains(recordfield.columnName())) { linkedlist.add(recordfield); } } while (true); return linkedlist; } public static List recordsFromCursor(Cursor cursor, DatabaseRecord.DatabaseRecordFactory databaserecordfactory) { List list = databaserecordfactory.getRecordInstance().recordFields(); if (cursor != null) goto _L2; else goto _L1 _L1: Object obj = null; _L4: return ((List) (obj)); _L2: ArrayList arraylist = new ArrayList(cursor.getCount()); _L5: obj = arraylist; if (!cursor.moveToNext()) goto _L4; else goto _L3 _L3: try { obj = databaserecordfactory.getRecordInstance(); for (Iterator iterator = list.iterator(); iterator.hasNext(); ((DatabaseRecord.RecordField)iterator.next()).assignFromCursor(obj, cursor)) { } } // Misplaced declaration of an exception variable catch (Cursor cursor) { ALog.e("Attempting to cast to the wrong object type", cursor, new Object[0]); return null; } arraylist.add(obj); goto _L5 } public static ContentValues valuesForRecord(DatabaseRecord databaserecord) { ContentValues contentvalues = new ContentValues(); for (Iterator iterator = databaserecord.recordFields().iterator(); iterator.hasNext(); ((DatabaseRecord.RecordField)iterator.next()).writeToContentValues(databaserecord, contentvalues)) { } return contentvalues; } public static ContentValues valuesForRecordFromFields(DatabaseRecord databaserecord, List list) { ContentValues contentvalues = new ContentValues(); for (list = list.iterator(); list.hasNext(); ((DatabaseRecord.RecordField)list.next()).writeToContentValues(databaserecord, contentvalues)) { } return contentvalues; } }