Class: MergeParameters

Inherits:
Merge
  • Object
show all
Defined in:
lib/xmimerge/merge_parameters.rb

Instance Method Summary collapse

Methods inherited from Merge

#check, #check_change_propertie, #merge

Constructor Details

#initialize(name, from_tag, to_tag) ⇒ MergeParameters

Returns a new instance of MergeParameters.



5
6
7
8
9
10
# File 'lib/xmimerge/merge_parameters.rb', line 5

def initialize(name, from_tag, to_tag)
	super()
	@name = name
	@from_tag = from_tag
	@to_tag = to_tag
end

Instance Method Details

#check_changes(from_parameter) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/xmimerge/merge_parameters.rb', line 22

def check_changes(from_parameter)

	@log.debug("Checking #{@name}Parameter #{from_parameter.full_name}...")

	to_parameter = @to_tag.parameter_by_name(from_parameter.name)

	if to_parameter.nil?
		new_obj from_parameter
	else
		check_existing(from_parameter, to_parameter)
	end	
end

#check_existing(from_parameter, to_parameter) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/xmimerge/merge_parameters.rb', line 50

def check_existing(from_parameter, to_parameter)

	# TODO

	# kind

	# UML:Parameter.type

	# Stereotypes		
	merge = MergeStereotypes.new("#{@name}Parameter", from_parameter, to_parameter)
	@only_check ? merge.check : merge.merge		

	# TaggedValues
	merge = MergeTaggedValues.new("#{@name}Parameter", from_parameter, to_parameter)
	@only_check ? merge.check : merge.merge		
end

#check_removedObject



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/xmimerge/merge_parameters.rb', line 67

def check_removed
	to_parameters = @to_tag.parameters.each do |to_parameter|
		ok = false
		@from_tag.parameters.each do |from_parameter|
			if to_parameter.name == from_parameter.name
				ok = true
				break
			end
		end
		if !ok		
			command = "- #{@name}Parameter #{@from_tag.full_name} {'#{to_parameter.name}'}"
			@commands.add_command_to_buffer(command)
			unless @only_check 
				if @commands.has_command?(command)
					@log.info "[OK] #{command}"
				else
					#@log.info "[NOT] #{command}"
				end
			end
		end
	end		
end

#new_obj(from_parameter) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/xmimerge/merge_parameters.rb', line 35

def new_obj(from_parameter)

	@log.debug("New Parameter #{from_parameter.name}...")

	command = "+ #{@name}Parameter #{@from_tag.full_name} {'#{from_parameter.name}'}"
	@commands.add_command_to_buffer(command)
	unless @only_check 
		if @commands.has_command?(command)
			@log.info "[OK] #{command}"
		else
			#@log.info "[NOT] #{command}"
		end
	end	
end

#verifyObject



12
13
14
15
16
17
18
19
20
# File 'lib/xmimerge/merge_parameters.rb', line 12

def verify

	@from_tag.parameters.each do |from_parameter|
		check_changes(from_parameter)
	end

	check_removed

end