Code

* gosa-si-server-nobus
[gosa.git] / gosa-si / server / events / databases.pm
index a8916fdb952a2770bb86ffc66cdbebb9cec28b9c..9e057c8f1f80ab0215da1f294c6a7c2cfc5906be 100644 (file)
@@ -4,12 +4,16 @@ use Exporter;
 my @events = (
     "get_events", 
     "query_jobdb",
-    "query_packages_list",
     "count_jobdb",
-    "count_packages_list",
     "delete_jobdb_entry",
     "clear_jobdb",
     "update_status_jobdb_entry",
+    "query_packages_list",
+    "count_packages_list",
+    "query_fai_server",
+    "count_fai_server",
+    "query_fai_release",
+    "count_fai_release",
     );
 @EXPORT = @events;
 
@@ -17,7 +21,6 @@ use strict;
 use warnings;
 use GOSA::GosaSupportDaemon;
 use Data::Dumper;
-use utf8;
 
 BEGIN {}
 
@@ -31,7 +34,8 @@ sub get_events {
     return \@events;
 }
 
-
+sub query_fai_release{ return &query_db( @_ ); }
+sub query_fai_server{ return &query_db( @_ ) ; }
 sub query_packages_list { return &query_db( @_ ) ; }
 sub query_jobdb { return &query_db( @_ ) ; }
 sub query_db {
@@ -47,7 +51,14 @@ sub query_db {
     } elsif( $header =~ /query_packages_list/ ) {
         $table = $main::packages_list_tn;
         $db = $main::packages_list_db;
+    } elsif( $header =~ /query_fai_server/ ) {
+        $table = $main::fai_server_tn;
+        $db = $main::fai_server_db;
+    } elsif( $header =~ /query_fai_release/ ) {
+        $table = $main::fai_release_tn;
+        $db = $main::fai_release_db;
     }
+
    
     # prepare sql statement and execute query
     my $select= &get_select_statement($msg, $msg_hash);
@@ -58,11 +69,13 @@ sub query_db {
     my $res_hash = $db->select_dbentry($sql_statement);
     
     my $out_xml = &db_res2si_msg($res_hash, $header, $target, $source);
+    $out_xml =~ s/<\/xml>/<session_id>$session_id<\/session_id><\/xml>/;
     my @out_msg_l = ( $out_xml );
     return @out_msg_l;
 }
     
-
+sub count_fai_releas{ return &count_db( @_ ); }    
+sub count_fai_server{ return &count_db( @_ ); }
 sub count_packages_list{ return &count_db( @_ ); }
 sub count_jobdb{ return &count_db( @_ ); }
 sub count_db {
@@ -72,19 +85,27 @@ sub count_db {
     my $source = @{$msg_hash->{'source'}}[0];
     my $table;
     my $db;
+
     if( $header =~ /count_jobdb/ ) {
         $table = $main::job_queue_tn;
         $db = $main::job_db;
     } elsif( $header =~ /count_packages_list/ ) {
         $table = $main::packages_list_tn;
         $db = $main::packages_list_db;
+    } elsif( $header =~ /count_fai_server/ ) {
+        $table = $main::fai_server_tn;
+        $db = $main::fai_server_db;
+    } elsif( $header =~ /count_fai_release/ ) {
+        $table = $main::fai_release_tn;
+        $db = $main::fai_server_db;
     }
 
+
     # prepare sql statement and execute query
     my $res_hash = $db->select_dbentry("SELECT * FROM $table");
 
     my $count = keys(%{$res_hash});
-    my $out_xml= "<xml><header>answer</header><source>$target</source><target>$source</target><count>$count</count></xml>";
+    my $out_xml= "<xml><header>answer</header><source>$target</source><target>$source</target><count>$count</count><session_id>$session_id</session_id></xml>";
     my @out_msg_l = ( $out_xml );
     return @out_msg_l;
 }
@@ -98,7 +119,7 @@ sub delete_jobdb_entry {
     my $table= $main::job_queue_tn;
     my $where= &get_where_statement($msg, $msg_hash);
     my $sql_statement = "DELETE FROM $table $where";
-    
+       &main::daemon_log("$session_id DEBUG: $sql_statement",7);
     # execute db query
     my $db_res = $main::job_db->del_dbentry($sql_statement);
 
@@ -110,7 +131,7 @@ sub delete_jobdb_entry {
     }
 
     # prepare xml answer
-    my $out_xml = "<xml><header>answer</header><source>$target</source><target>$source</target><answer1>$res</answer1></xml>";
+    my $out_xml = "<xml><header>answer</header><source>$target</source><target>$source</target><answer1>$res</answer1><session_id>$session_id</session_id></xml>";
     my @out_msg_l = ( $out_xml );
     return @out_msg_l;
 
@@ -132,7 +153,7 @@ sub clear_jobdb {
     if( not $db_res > 0 ) { $error++; };
     
     if( $error == 0 ) {
-        $out_xml = "<xml><header>answer</header><source>$target</source><target>$source</target><answer1>0</answer1></xml>";
+        $out_xml = "<xml><header>answer</header><source>$target</source><target>$source</target><answer1>0</answer1><session_id>$session_id</session_id></xml>";
     }
     my @out_msg_l = ( $out_xml );
     return @out_msg_l;
@@ -145,7 +166,7 @@ sub update_status_jobdb_entry {
     my $source = @{$msg_hash->{'source'}}[0];
 
     my $error= 0;
-    my $out_xml= "<xml><header>answer</header><source>$target</source><target>$source</target><answer1>1</answer1></xml>";
+    my $out_xml= "<xml><header>answer</header><source>$target</source><target>$source</target><answer1>1</answer1><session_id>$session_id</session_id></xml>";
 
     my @len_hash = keys %{$msg_hash};
     if( 0 == @len_hash) {  $error++; };
@@ -179,7 +200,7 @@ sub update_status_jobdb_entry {
         $out_xml = "<answer1>0</answer1>";
     }
     
-    my $out_msg = sprintf("<xml><header>answer</header><source>%s</source><target>%s</target>%s</xml>", $target, $source, $out_xml);
+    my $out_msg = sprintf("<xml><header>answer</header><source>%s</source><target>%s</target>%s<session_id>$session_id</session_id></xml>", $target, $source, $out_xml);
     my @out_msg_l = ( $out_msg );
     return @out_msg_l;
 }