class Bezebe::CVS::CVSClient
Attributes
connection[RW]
last_error[RW]
Public Class Methods
new()
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 15 def initialize ::Bezebe::CVS.loadJar end
Public Instance Methods
checkout(path, filenames = nil)
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 88 def checkout (path, filenames = nil) if @connection.nil? puts "a connection is needed first" return false end begin client = get_cvs_client client.setLocalPath path checkoutcommand_class = Rjb::import('org.netbeans.lib.cvsclient.command.checkout.CheckoutCommand') checkoutcommand = checkoutcommand_class.new checkoutcommand.setModule "#{filenames}" unless filenames.nil? or filenames.is_a? Array filenames.each { |m| checkoutcommand.setModule "#{m}" } unless filenames.nil? or !filenames.is_a? Array a_class = Rjb::import('org.netbeans.lib.cvsclient.command.GlobalOptions') a = a_class.new event_manager = client.getEventManager cvslistener = ::Bezebe::CVS::CvsListener.new cvslistener = Rjb::bind(cvslistener, 'org.netbeans.lib.cvsclient.event.CVSListener') cvslistener.client = client event_manager.addCVSListener cvslistener client.executeCommand(checkoutcommand, a) rescue => e p e rescue CommandAbortedException => e p e.printStackTrace rescue CommandException => e p e.printStackTrace rescue AuthenticationException => e p e.getMessage p e.printStackTrace end end
connect(*connection_details)
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 19 def connect(*connection_details) @connection = Rjb::import('org.netbeans.lib.cvsclient.connection.PServerConnection').new scrambler = Rjb::import('org.netbeans.lib.cvsclient.connection.StandardScrambler').getInstance if connection_details.size == 1 then connection_details = connection_details[0] @connection.setUserName connection_details[:username] @connection.setEncodedPassword(scrambler.scramble(connection_details[:password])) @connection.setHostName connection_details[:host] @connection.setRepository connection_details[:repository] unless connection_details[:repository].nil? @connection.setPort connection_details[:port] unless connection_details[:port].nil? elsif connection_details.size >= 4 then @connection.setUserName connection_details[0] @connection.setEncodedPassword(scrambler.scramble(connection_details[1])) @connection.setHostName connection_details[2] @connection.setRepository connection_details[3] unless connection_details[3].nil? @connection.setPort connection_details[4] unless connection_details[4].nil? end begin @connection.open return true rescue AuthenticationException => e #p e #p e.getMessage #p e.printStackTrace case e.getMessage when "AuthenticationFailed" @last_error = "AUTHENTICATION ERROR" when "IOException" @last_error = "CONFIGURATION ERROR" end return false end end
get_cvs_client()
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 61 def get_cvs_client standardadminhandler_class = Rjb::import('org.netbeans.lib.cvsclient.admin.StandardAdminHandler') client_class = Rjb::import('org.netbeans.lib.cvsclient.Client') client = client_class.new(@connection, standardadminhandler_class.new) return client end
is_open?()
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 57 def is_open? return @connection.isOpen end
log(path, filenames = nil)
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 166 def log (path, filenames = nil) if @connection.nil? puts "a connection is needed first" return false end begin client = get_cvs_client client.setLocalPath path logcommand_class = Rjb::import('org.netbeans.lib.cvsclient.command.log.LogCommand') logcommand = logcommand_class.new file_class = Rjb::import('java.io.File') files = [] files << ( file_class.new filenames ) unless filenames.nil? or filenames.is_a? Array filenames.each { |m| files << ( file_class.new m) } unless filenames.nil? or !filenames.is_a? Array logcommand.setFiles files a_class = Rjb::import('org.netbeans.lib.cvsclient.command.GlobalOptions') a = a_class.new event_manager = client.getEventManager cvslistener = ::Bezebe::CVS::CvsListener.new cvslistener = Rjb::bind(cvslistener, 'org.netbeans.lib.cvsclient.event.CVSListener') event_manager.addCVSListener cvslistener client.executeCommand(logcommand, a) return cvslistener rescue Exception => e p e rescue CommandException => e p e.printStackTrace rescue AuthenticationException => e p e.getMessage p e.printStackTrace end end
rlog(filenames = nil)
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 205 def rlog (filenames = nil) if @connection.nil? puts "a connection is needed first" return false end begin client = get_cvs_client logcommand_class = Rjb::import('org.netbeans.lib.cvsclient.command.log.RlogCommand') logcommand = logcommand_class.new logcommand.setModule "#{filenames}" unless filenames.nil? or filenames.is_a? Array filenames.each { |m| logcommand.setModule "#{m}" } unless filenames.nil? or !filenames.is_a? Array a_class = Rjb::import('org.netbeans.lib.cvsclient.command.GlobalOptions') event_manager = client.getEventManager cvslistener = ::Bezebe::CVS::CvsListener.new cvslistener = Rjb::bind(cvslistener, 'org.netbeans.lib.cvsclient.event.CVSListener') event_manager.addCVSListener cvslistener client.executeCommand(logcommand, a_class.new) return cvslistener rescue Exception => e p e rescue AuthenticationException => e p e.getMessage p e.printStackTrace end end
status(path, filenames = nil)
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 126 def status (path, filenames = nil) if @connection.nil? puts "a connection is needed first" return false end begin client = get_cvs_client client.setLocalPath path statuscommand_class = Rjb::import('org.netbeans.lib.cvsclient.command.status.StatusCommand') statuscommand = statuscommand_class.new file_class = Rjb::import('java.io.File') files = [] files << ( file_class.new filenames ) unless filenames.nil? or filenames.is_a? Array filenames.each { |m| files << ( file_class.new m) } unless filenames.nil? or !filenames.is_a? Array statuscommand.setFiles files a_class = Rjb::import('org.netbeans.lib.cvsclient.command.GlobalOptions') a = a_class.new #a.setTraceExecution true event_manager = client.getEventManager cvslistener = ::Bezebe::CVS::CvsListener.new cvslistener = Rjb::bind(cvslistener, 'org.netbeans.lib.cvsclient.event.CVSListener') event_manager.addCVSListener cvslistener client.executeCommand(statuscommand, a) return cvslistener rescue Exception => e p e rescue CommandException => e p e.printStackTrace rescue AuthenticationException => e p e.getMessage p e.printStackTrace end end
update()
click to toggle source
# File lib/bezebe-cvs/cvs_client.rb, line 69 def update if @connection.nil? puts "a connection is needed first" return false end begin client = get_cvs_client client.setLocalPath "/tmp/w3c/test/" rescue Exception => e p e rescue CommandException => e p e.printStackTrace rescue AuthenticationException => e p e.getMessage p e.printStackTrace end end