From 91941f51ab5fce2005288f2e638e67fbc493535b Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Sat, 24 Mar 2018 18:39:38 +0000
Subject: [PATCH] Beschriftungen in Formularen entfernt
---
src/java/de/uhilger/radiozentrale/api/AbspielerApi.java | 72 ++++++++++++++++++++++++++++++++----
1 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java b/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java
index 64d52e0..e5490ee 100644
--- a/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java
+++ b/src/java/de/uhilger/radiozentrale/api/AbspielerApi.java
@@ -20,9 +20,13 @@
import de.uhilger.baselink.PersistenceManager;
import de.uhilger.radiozentrale.daten.Abspieler;
+import de.uhilger.radiozentrale.daten.Sender;
import de.uhilger.radiozentrale.web.Initialiser;
+import java.net.HttpURLConnection;
+import java.net.URL;
import java.sql.Connection;
import java.util.List;
+import java.util.logging.Level;
import java.util.logging.Logger;
/**
@@ -33,14 +37,16 @@
private static final Logger logger = Logger.getLogger(AbspielerApi.class.getName());
public static final String KEY_ABSPIELER_ID = "abs_id";
- public static final String SQL_GET_ABSPIELER = "getAbspieler";
+ public static final String ABSPIELER_SELECTED = "selected";
+ public static final String SQL_GET_ABSPIELER_LIST = "getAbspielerList";
+ public static final String SQL_UNSEL_ABSPIELER = "unselectAbspieler";
/**
- * TODO selected bei anderen Abspielern entfernen, wenn der neue Abspieler
- * selected sein soll
- * @param abspieler
- * @return
+ * Einen neuen Abspieler in der Datenbank speichern
+ *
+ * @param abspieler der neue Abspieler
+ * return der Abspieler nach dem Speichern (mit ID)
*/
public Abspieler neuerAbspieler(Abspieler abspieler) {
Abspieler neuerAbspieler = null;
@@ -49,8 +55,11 @@
db.startTransaction(c);
int nextKey = getNextId(db, KEY_ABSPIELER_ID);
if(nextKey > -1) {
+ if(abspieler.getZustand().equals(ABSPIELER_SELECTED)) {
+ db.execute(getSql(SQL_UNSEL_ABSPIELER), "", ABSPIELER_SELECTED);
+ }
abspieler.setId(nextKey);
- Object o = getDb().insert(abspieler, getMapper(Initialiser.MP_ABSPIELER));
+ Object o = db.insert(abspieler, getMapper(Initialiser.MP_ABSPIELER));
if(o instanceof Abspieler) {
neuerAbspieler = (Abspieler) o;
db.commit(c);
@@ -66,8 +75,55 @@
return neuerAbspieler;
}
- public List abspielerliste() {
- return getDb().select(getSql(SQL_GET_ABSPIELER), getMapper(Initialiser.MP_ABSPIELER));
+ public Abspieler abspielerAendern(Abspieler abspieler) {
+ Abspieler geaendert = null;
+ PersistenceManager db = getDb();
+ Connection c = db.getConnection();
+ db.startTransaction(c);
+ if(abspieler.getZustand().equals(ABSPIELER_SELECTED)) {
+ db.execute(getSql(SQL_UNSEL_ABSPIELER), "", ABSPIELER_SELECTED);
+ }
+ Object o = db.update(abspieler, getMapper(Initialiser.MP_ABSPIELER));
+ if(o instanceof Abspieler) {
+ geaendert = (Abspieler) o;
+ db.commit(c);
+ logger.fine("Abspieler geaendert: " + abspieler.getId() + " " + abspieler.getName());
+ } else {
+ db.rollback(c);
+ }
+ return geaendert;
}
+ public Abspieler abspielerLoeschen(Abspieler abspieler) {
+ Abspieler geloescht = null;
+ Object o = getDb().delete(abspieler, getMapper(Initialiser.MP_ABSPIELER));
+ if(o instanceof Abspieler) {
+ geloescht = (Abspieler) o;
+ logger.fine("Abspieler geloescht: " + abspieler.getId() + " " + abspieler.getName());
+ }
+ return geloescht;
+ }
+
+ public List abspielerliste() {
+ return getDb().select(getSql(SQL_GET_ABSPIELER_LIST), getMapper(Initialiser.MP_ABSPIELER));
+ }
+
+ public String abspielen(int abspielerId, int senderId) {
+ Abspieler a = getAbspieler(abspielerId);
+ Sender s = getSender(senderId);
+ StringBuffer url = new StringBuffer();
+ url.append(a.getUrl());
+ url.append("/sys/rpc?c=de.uhilger.pirc.App&m=abspielenMitParametern&p=");
+ url.append(s.getUrl());
+ url.append("&p=-o%20local&p=");
+ return abspielerKommandoSenden(url.toString());
+ }
+
+ public String abspielenStoppen(int abspielerId) {
+ Abspieler a = getAbspieler(abspielerId);
+ StringBuffer url = new StringBuffer();
+ url.append(a.getUrl());
+ url.append("/sys/rpc?c=de.uhilger.pirc.App&m=kommando&p=q");
+ return abspielerKommandoSenden(url.toString());
+ }
}
--
Gitblit v1.9.3