class CPEE::ModelManagement::RenameItem
Public Instance Methods
response()
click to toggle source
# File lib/cpee-model-management/implementation.rb, line 264 def response where = @a[0] == :main ? '' : Riddl::Protocols::Utils::unescape(@r[-2]) conns = @a[1] models = @a[2] name = File.basename(@r.last,'.xml') nname = @p[0].value fname = File.join(models,where,name + '.xml') fnname = File.join(models,where,nname + '.xml') counter = 0 stage = 'draft' while File.exists?(fnname) counter += 1 fnname = File.join(models,where,nname + counter.to_s + '.xml') end dn = CPEE::ModelManagement::get_dn @h['DN'] author = dn['GN'] + ' ' + dn['SN'] attrs = {} XML::Smart::modify(fname) do |doc| doc.register_namespace 'p', 'http://cpee.org/ns/properties/2.0' doc.find('/p:testset/p:attributes/p:info').each do |ele| ele.text = File.basename(fnname,'.xml') end doc.find('/p:testset/p:attributes/p:author').each do |ele| ele.text = author end attrs = doc.find('/p:testset/p:attributes/*').map do |e| [e.qname.name,e.text] end.to_h end File.write(fname + '.attrs',JSON::pretty_generate(attrs)) CPEE::ModelManagement::op author, 'mv', models, File.join('.', where, nname + '.xml'), File.join('.', where, name + '.xml') CPEE::ModelManagement::notify conns, 'rename', models, fnname, fname nil end