ulrich
2018-03-07 b6585c6d94faf2da7b332b58dff20606a0823708
commit | author | age
98e5c6 1 /*
U 2  *  Radiozentrale - Webradio App
3  *  Copyright (C) 2018 Ulrich Hilger, http://uhilger.de
4  *
5  *  This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation, either version 3 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program.  If not, see http://www.gnu.org/licenses/
17  */
18
19 package de.uhilger.radiozentrale.api;
20
21 import de.uhilger.baselink.PersistenceManager;
22 import de.uhilger.radiozentrale.daten.Abspieler;
23 import de.uhilger.radiozentrale.web.Initialiser;
24 import java.sql.Connection;
b6585c 25 import java.util.List;
98e5c6 26 import java.util.logging.Logger;
U 27
28 /**
29  *
30  */
31 public class AbspielerApi extends DbApi {
32
33   private static final Logger logger = Logger.getLogger(AbspielerApi.class.getName());
34
35   public static final String KEY_ABSPIELER_ID = "abs_id";
b6585c 36   public static final String SQL_GET_ABSPIELER = "getAbspieler";
U 37
98e5c6 38   
U 39   /**
40    * TODO selected bei anderen Abspielern entfernen, wenn der neue Abspieler 
41    * selected sein soll
42    * @param abspieler
43    * @return 
44    */
45   public Abspieler neuerAbspieler(Abspieler abspieler) {
46     Abspieler neuerAbspieler = null;
47     PersistenceManager db = getDb();
48     Connection c = db.getConnection();
49     db.startTransaction(c);
50     int nextKey = getNextId(db, KEY_ABSPIELER_ID);
51     if(nextKey > -1) {
52       abspieler.setId(nextKey);
53       Object o = getDb().insert(abspieler, getMapper(Initialiser.MP_ABSPIELER));
54       if(o instanceof Abspieler) {
55         neuerAbspieler = (Abspieler) o;
56         db.commit(c);
57         logger.fine("Abspieler erstellt: " + abspieler.getId() + " " + abspieler.getName());
58       } else {
59         db.rollback(c);
60         logger.info("Abspieler konnte nicht erstellt werden: " + abspieler.getName());
61       } 
62     } else {
63       db.rollback(c);
64       logger.info("Abspieler konnte nicht erstellt werden, nextKey ist -1");
65     }
b6585c 66     return neuerAbspieler;   
98e5c6 67   }
b6585c 68   
U 69   public List abspielerliste() {
70     return getDb().select(getSql(SQL_GET_ABSPIELER), getMapper(Initialiser.MP_ABSPIELER));
71   }
72   
98e5c6 73 }