public static SynchronizedView getView(Context ctx, String name, Record record) { String appendedPath = "records/" + record.getId() + "/views/" + name; Uri contentUri = Uri.withAppendedPath(HVContentContract.CONTENT_URI, appendedPath); Cursor cursor = ctx.getContentResolver() .query(contentUri, new String[] {"query", "date_synced"}, null, null, null); SynchronizedView view = null; try { if (cursor.getCount() > 0) { cursor.moveToFirst(); String serializedQuery = cursor.getString(0); long syncDateMillis = cursor.getLong(1); view = new SynchronizedView( ctx, record, name, XmlSerializer.read(ThingRequestGroup2.class, serializedQuery), new Date(syncDateMillis)); } } catch (Exception e) { throw new HVException("Could not get View.", e); } return view; }
public static SynchronizedView makeView( Context ctx, Record record, String name, ThingRequestGroup2 query) { try { String serializedQuery = XmlSerializer.write(query); String appendedPath = "records/" + record.getId() + "/views/" + name; Uri contentUri = Uri.withAppendedPath(HVContentContract.CONTENT_URI, appendedPath); ContentValues values = new ContentValues(); values.put("query", serializedQuery); values.put("date_synced", "0"); ctx.getContentResolver().insert(contentUri, values); return new SynchronizedView(ctx, record, name, query, new Date(0)); } catch (Exception e) { throw new HVException("Could not create SynchronizedView.", e); } }
public AbstractThing getThingById(String thingId) { Cursor cursor = ctx.getContentResolver() .query( Uri.withAppendedPath( HVContentContract.CONTENT_URI, "records/" + record.getId() + "/things/" + thingId), new String[] {"thing_xml"}, null, null, null); AbstractThing data = null; if (cursor.moveToFirst()) { Thing2 thing = XmlSerializer.safeRead(Thing2.class, cursor.getString(0)); data = thing.getData(); } cursor.close(); return data; }
private Uri getContentViewThingsUri() { String appendedPath = "records/" + record.getId() + "/views/" + name + "/things"; return Uri.withAppendedPath(HVContentContract.CONTENT_URI, appendedPath); }
public ThingResponseGroup2 getThings() { return record.getThings(query); }