| | |
| | | import de.uhilger.radiozentrale.daten.Sender; |
| | | import de.uhilger.radiozentrale.web.Initialiser; |
| | | import java.sql.Connection; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | public class SenderApi extends Api { |
| | | public class SenderApi extends DbApi { |
| | | |
| | | public static final String SQL_GET_SENDER = "getSender"; |
| | | public static final String SQL_GET_NEXT_KEY = "getNextKey"; |
| | | public static final String SQL_INCREMENT_KEY = "incrementKey"; |
| | | |
| | | public static final String KEY_SENDER_ID = "sender_id"; |
| | | |
| | |
| | | PersistenceManager db = getDb(); |
| | | Connection c = db.getConnection(); |
| | | db.startTransaction(c); |
| | | List<List<String>> list = db.select(getSql(SQL_GET_NEXT_KEY), GenericRecord.WITHOUT_BLOBS, KEY_SENDER_ID); |
| | | if(list != null && list.size() > 0) { |
| | | int nextKey = Integer.parseInt(list.get(1).get(0)); |
| | | db.execute(getSql(SQL_INCREMENT_KEY), nextKey+1, KEY_SENDER_ID, nextKey); |
| | | int nextKey = getNextId(db, KEY_SENDER_ID); |
| | | if(nextKey > -1) { |
| | | sender.setId(nextKey); |
| | | Object o = getDb().insert(sender, getMapper(Initialiser.MP_SENDER)); |
| | | if(o instanceof Sender) { |
| | | neuerSender = (Sender) o; |
| | | db.commit(c); |
| | | } else { |
| | | db.rollback(c); |
| | | } |
| | | } |
| | | db.commit(c); |
| | | return neuerSender; |
| | | } |
| | | |
| | | public List senderliste() { |
| | | String sql = getSql(SQL_GET_SENDER); |
| | | return getDb().select(sql, getMapper(Initialiser.MP_SENDER)); |
| | | public Sender senderAendern(Sender sender) { |
| | | Sender geaendert = null; |
| | | Object o = getDb().update(sender, getMapper(Initialiser.MP_SENDER)); |
| | | if(o instanceof Sender) { |
| | | geaendert = (Sender) o; |
| | | } |
| | | return geaendert; |
| | | } |
| | | |
| | | public List senderliste() { |
| | | return getDb().select(getSql(SQL_GET_SENDER), getMapper(Initialiser.MP_SENDER)); |
| | | } |
| | | |
| | | } |