From 18af7c28471d8ea28ad50a061b7d815e710bfd7f Mon Sep 17 00:00:00 2001
From: hilgeru <hilgeru@msgn07482.int.root.msg.ag>
Date: Tue, 27 Feb 2018 14:43:52 +0000
Subject: [PATCH] SenderApi fertig

---
 src/java/de/uhilger/radiozentrale/api/SenderApi.java |   42 +++++++++++++++++++++++++++---------------
 1 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/src/java/de/uhilger/radiozentrale/api/SenderApi.java b/src/java/de/uhilger/radiozentrale/api/SenderApi.java
index ac56940..8937d19 100644
--- a/src/java/de/uhilger/radiozentrale/api/SenderApi.java
+++ b/src/java/de/uhilger/radiozentrale/api/SenderApi.java
@@ -18,24 +18,18 @@
 
 package de.uhilger.radiozentrale.api;
 
-import de.uhilger.baselink.GenericRecord;
 import de.uhilger.baselink.PersistenceManager;
 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 +39,40 @@
     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 Sender senderLoeschen(Sender sender) {
+    Sender geloescht = null;
+    Object o = getDb().delete(sender, getMapper(Initialiser.MP_SENDER));
+    if(o instanceof Sender) {
+      geloescht = (Sender) o;
+    }
+    return geloescht;
+  }
+  
+  public List senderliste() {
+    return getDb().select(getSql(SQL_GET_SENDER), getMapper(Initialiser.MP_SENDER));
+  }
+  
 }

--
Gitblit v1.9.3