package it.angelic.soulissclient.model.db; import android.content.ContentValues; import android.database.Cursor; import java.io.Serializable; /** * Classe per la persistenza sulla tabella dei log * * @author Ale */ public class SoulissTriggerDTO implements Serializable { private static final long serialVersionUID = -7375342156362543740L; private long triggerId; private String op; private short inputNodeId;//INPUT NODE private short inputSlotlot = -1;//INPUT SLOT private int activated; private long commandId; private float threshVal; public SoulissTriggerDTO(Cursor cursor) { setTriggerId(cursor.getLong(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_ID))); setCommandId(cursor.getLong(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_COMMAND_ID))); setInputNodeId(cursor.getShort(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_NODE_ID))); setInputSlot(cursor.getShort(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_SLOT))); setOp(cursor.getString(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_OP))); setThreshVal(cursor.getFloat(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_THRESHVAL))); setActive(cursor.getInt(cursor.getColumnIndex(SoulissDB.COLUMN_TRIGGER_ACTIVE))); } private void setActive(int int1) { activated = int1; } private int getActive() { return activated; } public void setActive(boolean int1) { if (int1) activated = 1; else activated = 0; } public boolean isActivated() { return activated == 1; } public SoulissTriggerDTO() { // everything@null } public long getTriggerId() { return triggerId; } public void setTriggerId(long triggerId) { this.triggerId = triggerId; } public String getOp() { return op; } public void setOp(String op) { this.op = op; } public short getInputNodeId() { return inputNodeId; } public void setInputNodeId(short inputNodeId) { this.inputNodeId = inputNodeId; } public short getInputSlot() { return inputSlotlot; } public void setInputSlot(short inputSlotlot) { this.inputSlotlot = inputSlotlot; } public long getCommandId() { return commandId; } public void setCommandId(long commandId) { this.commandId = commandId; } public float getThreshVal() { return threshVal; } public void setThreshVal(float threshVal) { this.threshVal = threshVal; } public static long getSerialversionuid() { return serialVersionUID; } /** * FIXME: usare SoulissDBHelper.getDatabase().insert * * @param database * @return */ public SoulissTriggerDTO persist(SoulissDBHelper database) { ContentValues values = new ContentValues(); //assertTrue(getSlot() != -1); values.put(SoulissDB.COLUMN_TRIGGER_COMMAND_ID, getCommandId()); values.put(SoulissDB.COLUMN_TRIGGER_SLOT, getInputSlot()); values.put(SoulissDB.COLUMN_TRIGGER_NODE_ID, getInputNodeId()); values.put(SoulissDB.COLUMN_TRIGGER_OP, getOp()); values.put(SoulissDB.COLUMN_TRIGGER_THRESHVAL, getThreshVal()); values.put(SoulissDB.COLUMN_TRIGGER_ACTIVE, getActive()); int upd = SoulissDBHelper.getDatabase().update(SoulissDB.TABLE_TRIGGERS, values, SoulissDB.COLUMN_TRIGGER_ID + " = " + getTriggerId(), null); if (upd == 0) { long insertId = SoulissDBHelper.getDatabase().insert(SoulissDB.TABLE_TRIGGERS, null, values); return database.getSoulissTrigger(insertId); } //ce gia return database.getSoulissTrigger(getTriggerId()); } }