From 98e5c644ded2497b030fab8e29f3a8b64c22441d Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Tue, 06 Mar 2018 07:02:45 +0000 Subject: [PATCH] Abspieler speichern gebaut --- src/java/de/uhilger/radiozentrale/api/AbspielerApi.java | 66 +++++++++++++++++++++++++++++++++ web/app.js | 27 +++++++++---- 2 files changed, 84 insertions(+), 9 deletions(-) diff --git a/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java b/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java new file mode 100644 index 0000000..79effad --- /dev/null +++ b/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java @@ -0,0 +1,66 @@ +/* + * Radiozentrale - Webradio App + * Copyright (C) 2018 Ulrich Hilger, http://uhilger.de + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/ + */ + +package de.uhilger.radiozentrale.api; + +import de.uhilger.baselink.PersistenceManager; +import de.uhilger.radiozentrale.daten.Abspieler; +import de.uhilger.radiozentrale.web.Initialiser; +import java.sql.Connection; +import java.util.logging.Logger; + +/** + * + */ +public class AbspielerApi extends DbApi { + + private static final Logger logger = Logger.getLogger(AbspielerApi.class.getName()); + + public static final String KEY_ABSPIELER_ID = "abs_id"; + + /** + * TODO selected bei anderen Abspielern entfernen, wenn der neue Abspieler + * selected sein soll + * @param abspieler + * @return + */ + public Abspieler neuerAbspieler(Abspieler abspieler) { + Abspieler neuerAbspieler = null; + PersistenceManager db = getDb(); + Connection c = db.getConnection(); + db.startTransaction(c); + int nextKey = getNextId(db, KEY_ABSPIELER_ID); + if(nextKey > -1) { + abspieler.setId(nextKey); + Object o = getDb().insert(abspieler, getMapper(Initialiser.MP_ABSPIELER)); + if(o instanceof Abspieler) { + neuerAbspieler = (Abspieler) o; + db.commit(c); + logger.fine("Abspieler erstellt: " + abspieler.getId() + " " + abspieler.getName()); + } else { + db.rollback(c); + logger.info("Abspieler konnte nicht erstellt werden: " + abspieler.getName()); + } + } else { + db.rollback(c); + logger.info("Abspieler konnte nicht erstellt werden, nextKey ist -1"); + } + return neuerAbspieler; + + } +} diff --git a/web/app.js b/web/app.js index b474eb6..107ecc2 100644 --- a/web/app.js +++ b/web/app.js @@ -153,6 +153,7 @@ } function app_abspieler_neu(abspieler) { + app_neuen_abspieler_speichern(abspieler); var html = Mustache.render(templateCache[TPL_ABSPIELER_EINTRAG], abspieler); if(abspieler.zustand === 'selected') { $.each($(".abspieler-auswahl option:selected"), function() { @@ -466,28 +467,36 @@ }); } +function app_crud_api(api, methode, o) { + var obj = serialisieren(o); + var url = api + methode; + $.post( url, 'p=' + obj, function( result ) { + console.log( result ); + }, "json"); +} + /* SenderApi */ var URL_SENDER_API = "api?c=de.uhilger.radiozentrale.api.SenderApi&m="; function app_neuen_sender_speichern(sender) { - app_sender_api('neuerSender', sender); + app_crud_api(URL_SENDER_API, 'neuerSender', sender); } function app_sender_aendern(sender) { - app_sender_api('senderAendern', sender); + app_crud_api(URL_SENDER_API, 'senderAendern', sender); } function app_sender_entfernen(sender) { - app_sender_api('senderLoeschen', sender); + app_crud_api(URL_SENDER_API, 'senderLoeschen', sender); } -function app_sender_api(methode, sender) { - var obj = serialisieren(sender); - var url = URL_SENDER_API + methode; - $.post( url, 'p=' + obj, function( result ) { - console.log( result ); - }, "json"); +/* AbspielerApi */ + +var URL_ABSPIELER_API = "api?c=de.uhilger.radiozentrale.api.AbspielerApi&m="; + +function app_neuen_abspieler_speichern(abspieler) { + app_crud_api(URL_ABSPIELER_API, 'neuerAbspieler', abspieler); } /* Hilfsfunktionen */ -- Gitblit v1.9.3