Back to project page digital-ocean-swimmer.
The source code is released under:
MIT License
If you think the Android project digital-ocean-swimmer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.yassirh.digitalocean.data; /*w w w . j a va 2 s . c o m*/ import java.util.Date; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.yassirh.digitalocean.model.Droplet; import com.yassirh.digitalocean.model.Image; import com.yassirh.digitalocean.model.Region; import com.yassirh.digitalocean.model.Size; public class DropletDao extends SqlDao<Droplet> { private DatabaseHelper databaseHelper; public DropletDao(DatabaseHelper databaseHelper) { super(); this.databaseHelper = databaseHelper; } public long createOrUpdate(Droplet droplet) { SQLiteDatabase db = databaseHelper.getWritableDatabase(); boolean update = findById(droplet.getId()) != null; ContentValues values = new ContentValues(); values.put(DropletTable.ID, droplet.getId()); values.put(DropletTable.NAME, droplet.getName()); values.put(DropletTable.MEMORY, droplet.getMemory()); values.put(DropletTable.CPU, droplet.getCpu()); values.put(DropletTable.DISK, droplet.getDisk()); values.put(DropletTable.IMAGE_ID, droplet.getImage().getId()); values.put(DropletTable.REGION_SLUG, droplet.getRegion().getSlug()); values.put(DropletTable.SIZE_SLUG, droplet.getSize().getSlug()); values.put(DropletTable.CREATED_AT, droplet.getCreatedAt().getTime()); values.put(DropletTable.LOCKED, droplet.isLocked()); values.put(DropletTable.BACKUPS_ENABLED, droplet.isBackupsEnabled()); values.put(DropletTable.IPV6_ENABLED, droplet.isIpv6Enabled()); values.put(DropletTable.PRIVATE_NETWORKING_ENABLED, droplet.isPrivateNetworkingEnabled()); values.put(DropletTable.VIRTIO_ENABLED, droplet.isVirtIoEnabled()); values.put(DropletTable.STATUS, droplet.getStatus()); long id = droplet.getId(); if(update){ db.updateWithOnConflict(getTableHelper().TABLE_NAME,values,DropletTable.ID +"= ?",new String[]{droplet.getId()+""},SQLiteDatabase.CONFLICT_REPLACE); }else{ id = db.insertWithOnConflict(getTableHelper().TABLE_NAME, null, values,SQLiteDatabase.CONFLICT_REPLACE); } return id; } public Droplet newInstance(Cursor c) { Image image = new ImageDao(databaseHelper).findById(c.getLong(c.getColumnIndex(DropletTable.IMAGE_ID))); Region region = new RegionDao(databaseHelper).findByProperty(DropletTable.REGION_SLUG, c.getString(c.getColumnIndex(DropletTable.REGION_SLUG))); Size size = new SizeDao(databaseHelper).findByProperty(DropletTable.SIZE_SLUG, c.getString(c.getColumnIndex(DropletTable.SIZE_SLUG))); Droplet droplet = new Droplet(); droplet.setId(c.getLong(c.getColumnIndex(DropletTable.ID))); droplet.setName(c.getString(c.getColumnIndex(DropletTable.NAME))); droplet.setMemory(c.getInt(c.getColumnIndex(DropletTable.MEMORY))); droplet.setCpu(c.getInt(c.getColumnIndex(DropletTable.CPU))); droplet.setDisk(c.getInt(c.getColumnIndex(DropletTable.DISK))); droplet.setImage(image); droplet.setRegion(region); droplet.setSize(size); droplet.setCreatedAt(new Date(c.getLong(c.getColumnIndex(DropletTable.CREATED_AT)))); droplet.setLocked(c.getInt(c.getColumnIndex(DropletTable.LOCKED)) > 0); droplet.setBackupsEnabled(c.getInt(c.getColumnIndex(DropletTable.BACKUPS_ENABLED)) > 0); droplet.setIpv6Enabled(c.getInt(c.getColumnIndex(DropletTable.IPV6_ENABLED)) > 0); droplet.setPrivateNetworkingEnabled(c.getInt(c.getColumnIndex(DropletTable.PRIVATE_NETWORKING_ENABLED)) > 0); droplet.setVirtIoEnabled(c.getInt(c.getColumnIndex(DropletTable.VIRTIO_ENABLED)) > 0); droplet.setStatus(c.getString(c.getColumnIndex(DropletTable.STATUS))); return droplet; } @Override public DatabaseHelper getDatabaseHelper() { return this.databaseHelper; } @Override public TableHelper getTableHelper() { return new DropletTable(); } }