From ceb15c426f081e89608c31d625d71759aff5e072 Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Mon, 26 Feb 2018 22:37:12 +0000
Subject: [PATCH] Sender aendern und DbApi

---
 src/java/de/uhilger/radiozentrale/api/SenderApi.java |   32 ++++++++++++++++++--------------
 1 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/src/java/de/uhilger/radiozentrale/api/SenderApi.java b/src/java/de/uhilger/radiozentrale/api/SenderApi.java
index ac56940..3b8616a 100644
--- a/src/java/de/uhilger/radiozentrale/api/SenderApi.java
+++ b/src/java/de/uhilger/radiozentrale/api/SenderApi.java
@@ -23,19 +23,14 @@
 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";
   
@@ -45,22 +40,31 @@
     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));
+  }
+  
 }

--
Gitblit v1.9.3