cleanup, and consolidation
This commit is contained in:
parent
21730d6942
commit
348bf9d377
9 changed files with 235 additions and 151 deletions
88
tools/handy.rb
Executable file
88
tools/handy.rb
Executable file
|
@ -0,0 +1,88 @@
|
|||
#!/usr/bin/env jruby
|
||||
|
||||
BASE_DIR = File.expand_path(File.dirname(__FILE__) + "/..")
|
||||
require 'java'
|
||||
Dir[File.join(BASE_DIR,'lib/*jar')].each {|j| require j }
|
||||
Dir[File.join(BASE_DIR,'target/*jar')].each {|j| require j }
|
||||
|
||||
require 'stringio'
|
||||
require 'optparse'
|
||||
|
||||
module Trie
|
||||
include_package 'com.redhat.trie'
|
||||
end
|
||||
|
||||
def pt(path = './src/test/resources/contents.list')
|
||||
content_sets = File.open(path).read.split("\n")
|
||||
Trie::PathTree.new(content_sets)
|
||||
end
|
||||
|
||||
def print_dot(root)
|
||||
sio = StringIO.new
|
||||
sio.write("digraph pathnode_tree {\n")
|
||||
|
||||
write_children(sio, root)
|
||||
|
||||
sio.write("\n}\n")
|
||||
|
||||
sio.seek(0)
|
||||
sio
|
||||
end
|
||||
|
||||
def write_children(io, node)
|
||||
return unless (node.getChildren().length > 0)
|
||||
node.getChildren.each do |child|
|
||||
id = (child.getConnection().getId().to_s + child.getName()).hash
|
||||
children_ids = child.getConnection().getChildren().map {|c|
|
||||
(c.getConnection().getId().to_s + c.getName()).hash
|
||||
}
|
||||
|
||||
io.write(" %d [label=\"%s\"];\n" % [id, child.getName()])
|
||||
io.write(" %d -> { %s };\n" % [id, children_ids.join(" ")]) if children_ids.length > 0
|
||||
|
||||
write_children(io, child.getConnection())
|
||||
end
|
||||
end
|
||||
|
||||
def get_end(node)
|
||||
return node if node.getChildren().length == 0
|
||||
node.getChildren.each do |child|
|
||||
return get_end(child.getConnection())
|
||||
end
|
||||
end
|
||||
def parse_args(args)
|
||||
options = {
|
||||
:content_list => './src/test/resources/contents.list',
|
||||
:dot => false,
|
||||
:test_url => '/content/beta/rhel/server/5/5server/x86_64/sap/os/repomd.xml',
|
||||
}
|
||||
opts = OptionParser.new do |opts|
|
||||
opts.on('--dot',"output the dot digraph of content listing (defaults to #{options[:content_list]}") do |o|
|
||||
options[:dot] = o
|
||||
end
|
||||
opts.on('--contents FILE', "use FILE instead of #{options[:content_list]}") do |o|
|
||||
options[:content_list] = o
|
||||
end
|
||||
opts.on('--test PATH', "validate PATH, instead of [#{options[:test_url]}]") do |o|
|
||||
options[:test_url] = o
|
||||
end
|
||||
end
|
||||
|
||||
opts.parse!(args)
|
||||
|
||||
return options
|
||||
end
|
||||
|
||||
def main(args)
|
||||
options = parse_args(args)
|
||||
|
||||
STDERR.puts("[%s] %s" % [options[:test_url], pt.validate(options[:test_url])])
|
||||
|
||||
puts print_dot(pt(options[:content_list]).getRootPathNode()).read() if options[:dot]
|
||||
|
||||
#pn = pt.getRootPathNode
|
||||
#Trie::Util.printTree(pn, 0)
|
||||
end
|
||||
|
||||
main(ARGV) if $0 == __FILE__
|
||||
|
9
tools/run.sh
Executable file
9
tools/run.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
base_dir=$(readlink -f $(dirname $0)/..)
|
||||
|
||||
java \
|
||||
-cp $(find ${base_dir}/lib/ -type f -printf "%h/%f:")$(ls -rt ${base_dir}/target/*jar | tail -1) \
|
||||
com.hashbangbash.trie.App \
|
||||
${base_dir}/src/test/resources/test-certv3.pem
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue