package sugar.free.sightremote.database; import android.util.Log; import com.j256.ormlite.field.DataType; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; import java.sql.SQLException; import java.util.List; import lombok.Getter; import lombok.Setter; import sugar.free.sightparser.applayer.descriptors.HistoryType; @DatabaseTable(tableName = "offsets") @Getter @Setter public class Offset { @DatabaseField(generatedId = true) private long id; @DatabaseField private String pump; @DatabaseField(dataType = DataType.ENUM_STRING) private HistoryType historyType; @DatabaseField private long offset; public static long getOffset(DatabaseHelper helper, String pump, HistoryType historyType) { try { List<Offset> result = helper.getOffsetDao().queryBuilder() .where().eq("historyType", historyType) .and().eq("pump", pump).query(); if (result.size() > 0) return result.get(0).getOffset(); } catch (SQLException e) { e.printStackTrace(); } return -1; }; public static void setOffset(DatabaseHelper helper, String pump, HistoryType historyType, long offset) { try { List<Offset> result = helper.getOffsetDao().queryBuilder() .where().eq("historyType", historyType) .and().eq("pump", pump).query(); if (result.size() > 0) { Offset updateOffset = result.get(0); updateOffset.setOffset(offset); helper.getOffsetDao().update(updateOffset); } else { Offset createOffset = new Offset(); createOffset.setOffset(offset); createOffset.setPump(pump); createOffset.setHistoryType(historyType); helper.getOffsetDao().create(createOffset); } } catch (SQLException e) { e.printStackTrace(); } } }