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