[Title] Modified to check comm.protocol version first
authordonghee yang <donghee.yang@samsung.com>
Wed, 26 Dec 2012 10:08:20 +0000 (19:08 +0900)
committerdonghee yang <donghee.yang@samsung.com>
Wed, 26 Dec 2012 10:08:20 +0000 (19:08 +0900)
src/build_server/CommonJob.rb
src/build_server/JobLog.rb
src/build_server/PackageSync.rb
src/build_server/SocketJobRequestListener.rb

index 1b7e4b466b9b85d1675ff2b8985e0a6b8a4d5332..00af6c4ce7c8593036742078c0d104dbb815ea7a 100644 (file)
@@ -105,10 +105,11 @@ class CommonJob
        end
 
 
-       # set logger
+       # create logger
        public
-       def set_logger( logger )
-               @log =  logger
+       def create_logger( second_out, verbose = false )
+               @log = JobLog.new( self, second_out, verbose )
+               return @log
        end
 
 
index 8628a10e1c012fffd4264c26891bdff7cf124159..def805604fbe77dbb2ef33189951755ce0d06d26 100644 (file)
@@ -54,14 +54,6 @@ class JobLog < Log
        end
 
 
-       def init
-               # comm-begin
-               if not @second_out.nil? and not @second_out.closed? then
-                       BuildCommServer.send_begin(@second_out)
-               end
-       end
-
-
        def close
                # close communication
                if not @second_out.nil? then
index c842cddb84f69bfd94242042dd20d009eb3cb10c..a88eb06c9262d65511aff3a5505ce0ce8243094d 100644 (file)
@@ -105,9 +105,7 @@ class PackageSyncAction < Action
                                        next
                                end
                                new_job.priority = CommonJob::AUTO_JOB_PRIORITY
-                               logger = JobLog.new( new_job, nil )
-                               new_job.set_logger(logger)
-                               logger.init
+                               new_job.create_logger( nil ) 
 
                                # add
                                @server.jobmgr.add_job( new_job )
index 66a091c907fd36678b60c57e69b6b7365ea70fa9..cc19ee85031c5e653b8bf79e04d00bad823b8519 100644 (file)
@@ -114,6 +114,9 @@ class SocketJobRequestListener
                req_line = req.gets
                if req_line.nil? then return end
 
+               # accept
+               BuildCommServer.send_begin(req)
+
                # parse request
                cmd = ""
                if req_line.split("|").count > 0 then
@@ -172,7 +175,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_build_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -306,20 +308,21 @@ class SocketJobRequestListener
                if no_reverse then new_job.set_no_reverse end
 
                # create logger and set
-               logger = JobLog.new( new_job, req, verbose )
-               if not async then new_job.set_logger(logger) end
-               logger.init
-
-               # notify that job has been received
-               logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
-               if not @parent_server.job_log_url.empty? then
-                       logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
-               end
-
-               # if asynchronouse, quit connection
                if async then
-                       logger.info( "Above job(s) will be processed asynchronously!", Log::LV_USER)
-                       logger.close
+                       new_job.create_logger( nil, verbose)
+                       BuildCommServer.send(req,"Info: Added new job \"#{new_job.id}\" for #{new_job.os}!")
+                       if not @parent_server.job_log_url.empty? then
+                               BuildCommServer.send(req,"Info:  * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log")
+                       end
+                       BuildCommServer.send(req,"Info: Above job(s) will be processed asynchronously!")
+                       BuildCommServer.send_end(req)
+                       BuildCommServer.disconnect(req)
+               else
+                       logger = new_job.create_logger( req, verbose)
+                       logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
+                       if not @parent_server.job_log_url.empty? then
+                               logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
+                       end
                end
 
                # add to job queue
@@ -352,7 +355,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_resolve_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -422,20 +424,21 @@ class SocketJobRequestListener
                        new_job.set_resolve_flag()
 
                        # create logger and set
-                       logger = JobLog.new( new_job, req, verbose )
-                       if not async then new_job.set_logger(logger) end
-                       logger.init
-
-                       # notify that job has been received
-                       logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
-                       if not @parent_server.job_log_url.empty? then
-                               logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
-                       end
-
-                       # if asynchronouse, quit connection
                        if async then
-                               logger.info( "Above job(s) will be processed asynchronously!", Log::LV_USER)
-                               logger.close
+                               new_job.create_logger( nil, verbose)
+                               BuildCommServer.send(req,"Info: Added new job \"#{new_job.id}\" for #{new_job.os}!")
+                               if not @parent_server.job_log_url.empty? then
+                                       BuildCommServer.send(req,"Info:  * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log")
+                               end
+                               BuildCommServer.send(req,"Info: Above job(s) will be processed asynchronously!")
+                               BuildCommServer.send_end(req)
+                               BuildCommServer.disconnect(req)
+                       else
+                               logger = new_job.create_logger( req, verbose)
+                               logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
+                               if not @parent_server.job_log_url.empty? then
+                                       logger.info( " * Log URL : #{@parent_server.job_log_url}/#{new_job.id}/log", Log::LV_USER)
+                               end
                        end
 
                        @parent_server.jobmgr.add_job( new_job )
@@ -450,7 +453,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_query_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -469,7 +471,6 @@ class SocketJobRequestListener
 
                        # QUERY, FTP
                when "FTP"
-                       BuildCommServer.send_begin(req)
                        if not @parent_server.ftp_addr.nil? then
                                BuildCommServer.send(req,"#{@parent_server.ftp_addr},#{@parent_server.ftp_username},#{@parent_server.ftp_passwd}")
                        else
@@ -486,7 +487,6 @@ class SocketJobRequestListener
                        job_list = @parent_server.jobmgr.jobs + @parent_server.jobmgr.internal_jobs + @parent_server.jobmgr.reverse_build_jobs
 
                        # send the status
-                       BuildCommServer.send_begin(req)
                        job_list.each do |job|
                                status = job.status
                                if status == "REMOTE_WORKING" then status = "REMOTE" end
@@ -522,12 +522,10 @@ class SocketJobRequestListener
                when "SYSTEM"
                        #puts "Received QUERY SYSTEM"
 
-                       BuildCommServer.send_begin(req)
                        BuildCommServer.send(req,"#{@parent_server.host_os},#{@parent_server.jobmgr.max_working_jobs}")
                        BuildCommServer.send_end(req)
                        BuildCommServer.disconnect(req)
                when "PROJECT"
-                       BuildCommServer.send_begin(req)
                        # print GIT projects
                        sorted_list = @parent_server.prjmgr.get_all_projects().sort { |x,y| x.name <=> y.name }
                        sorted_list.each do |prj|
@@ -548,7 +546,6 @@ class SocketJobRequestListener
                        BuildCommServer.disconnect(req)
 
                when "OS"
-                       BuildCommServer.send_begin(req)
                        # print GIT projects
                        @parent_server.supported_os_list.each do |os_name|
                                BuildCommServer.send(req,"#{os_name}")
@@ -557,7 +554,6 @@ class SocketJobRequestListener
                        BuildCommServer.disconnect(req)
 
                when "FRIEND"
-                       BuildCommServer.send_begin(req)
                        # print GIT projects
                        @parent_server.remote_servers.each do |server|
                                BuildCommServer.send(req,"#{server.status},#{server.host_os},#{server.waiting_job_count},#{server.working_job_count},#{server.max_working_jobs},#{server.get_file_transfer_cnt}")
@@ -578,7 +574,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_cancel_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -623,7 +618,6 @@ class SocketJobRequestListener
                                                check_project_password( sub.get_project, tok[2], req)
                                        end
 
-                                       BuildCommServer.send_begin(req)
                                        BuildCommServer.send(req, "\"#{cancel_job.id}, #{cancel_job.get_sub_jobs().map{|x| x.id}.join(", ")}\" will be canceled")
                                        cancel_job.cancel_state = "INIT"
                                        BuildCommServer.send_end(req)
@@ -633,7 +627,6 @@ class SocketJobRequestListener
                                        if not prj.nil? then
                                                check_project_password( prj, tok[2], req)
 
-                                               BuildCommServer.send_begin(req)
                                                BuildCommServer.send(req, "\"#{cancel_job.id}\" will be canceled")
                                                cancel_job.cancel_state = "INIT"
                                                BuildCommServer.send_end(req)
@@ -656,7 +649,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_stop_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -676,7 +668,6 @@ class SocketJobRequestListener
                if tok[1] != @parent_server.password then
                        raise BuildServerException.new("ERR015"), ""
                else
-                       BuildCommServer.send_begin(req)
                        BuildCommServer.send(req,"Server will be down!")
                        BuildCommServer.send_end(req)
                        BuildCommServer.disconnect(req)
@@ -694,7 +685,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_upgrade_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -714,7 +704,6 @@ class SocketJobRequestListener
                if tok[1] != @parent_server.password then
                        raise BuildServerException.new("ERR015"), ""
                else
-                       BuildCommServer.send_begin(req)
                        BuildCommServer.send(req,"Server will be upgraded!")
                        BuildCommServer.send_end(req)
                        BuildCommServer.disconnect(req)
@@ -733,7 +722,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_fullbuild_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -768,9 +756,7 @@ class SocketJobRequestListener
                new_job = @parent_server.prjmgr.create_new_full_build_job(dist_name)
 
                # set logger
-               logger = JobLog.new( new_job, req)
-               new_job.set_logger(logger)
-               logger.init
+               new_job.create_logger( req ) 
 
                # add to job
                @parent_server.jobmgr.add_job( new_job )
@@ -784,7 +770,6 @@ class SocketJobRequestListener
                begin
                        handle_cmd_register_internal( line, req )
                rescue BuildServerException => e
-                       BuildCommServer.send_begin(req)
                        @log.error(e.message)
                        BuildCommServer.send(req, e.err_message())
                        BuildCommServer.send_end(req)
@@ -817,9 +802,7 @@ class SocketJobRequestListener
                        check_distribution(dist_name, req)
 
                        new_job = @parent_server.jobmgr.create_new_register_job( file_path, dist_name )
-                       logger = JobLog.new( new_job, req )
-                       new_job.set_logger(logger)
-                       logger.init
+                       new_job.create_logger( req ) 
 
                        # add
                        @parent_server.jobmgr.add_job( new_job )
@@ -870,9 +853,7 @@ class SocketJobRequestListener
                        if no_reverse then new_job.set_no_reverse end
 
                        # create logger and set
-                       logger = JobLog.new( new_job, req )
-                       new_job.set_logger(logger)
-                       logger.init
+                       logger = new_job.create_logger(req)
 
                        # notify that job has been received
                        logger.info( "Added new job \"#{new_job.id}\" for #{new_job.os}!", Log::LV_USER)
@@ -896,7 +877,6 @@ class SocketJobRequestListener
                tok = line.split("|").map { |x| x.strip }
                dock_num = (tok[1].nil? or tok[1].empty?) ? "0" : tok[1].strip
 
-               BuildCommServer.send_begin(req)
                incoming_dir = "#{@parent_server.transport_path}/#{dock_num}"
                if not File.exist? incoming_dir then FileUtils.mkdir_p incoming_dir end
                @comm_server.receive_file( req, incoming_dir )
@@ -915,7 +895,6 @@ class SocketJobRequestListener
 
                @log.info "Received a request for download file : #{file_name}"
                outgoing_dir = "#{@parent_server.transport_path}/#{dock_num}"
-               BuildCommServer.send_begin(req)
                @log.info "Sending requested file...: #{file_name}"
                @comm_server.send_file(req, "#{outgoing_dir}/#{file_name}")
                # remove file if "dock" defined