ontomde-uml2 1.0.6 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +38 -22
- data/README.txt +21 -2
- data/Rakefile +1 -1
- data/bin/ontomde-umlToProtege +4 -0
- data/lib/ontomde-uml2.rb +19 -17
- data/lib/ontomde-uml2/UMLdatatypeMapping.rb +441 -0
- data/lib/ontomde-uml2/autoImplement.rb +170 -166
- data/lib/ontomde-uml2/check.rb +1 -1
- data/lib/ontomde-uml2/component.rb +45 -0
- data/lib/ontomde-uml2/createAndAdd.rb +32 -20
- data/lib/ontomde-uml2/dotDiagram.rb +1 -1
- data/lib/ontomde-uml2/kb.rb +4 -0
- data/lib/ontomde-uml2/kb/MYMODEL_kb.pprj +2377 -0
- data/lib/ontomde-uml2/kb/MYMODEL_kb.rdf +2 -0
- data/lib/ontomde-uml2/kb/MYMODEL_kb.rdfs +441 -0
- data/lib/ontomde-uml2/kb/MYMODEL_meta.pprj +874 -0
- data/lib/ontomde-uml2/kb/command.rb +143 -0
- data/lib/ontomde-uml2/kb/datatypeMapping.rb +99 -0
- data/lib/ontomde-uml2/kb/protege.rb +687 -0
- data/lib/ontomde-uml2/multipleInheritance.rb +1 -1
- data/lib/ontomde-uml2/salvageErrors.rb +1 -1
- data/lib/ontomde-uml2/select.rb +83 -5
- data/lib/ontomde-uml2/shortcut.rb +23 -8
- data/lib/ontomde-uml2/uml2.pprj +943 -0
- data/lib/ontomde-uml2/uml2.rb +62 -29
- data/lib/ontomde-uml2/uml2.rdf +768 -0
- data/lib/ontomde-uml2/uml2.rdfs +3233 -0
- data/lib/ontomde-uml2/umlx.rb +31 -9
- data/lib/ontomde-uml2/version.rb +1 -1
- data/lib/ontomde-uml2/versionSignature.rb +1 -1
- data/lib/ontomde-uml2/xsd.pprj +1063 -0
- data/lib/ontomde-uml2/xsd.rdf +2 -0
- data/lib/ontomde-uml2/xsd.rdfs +17 -0
- data/test/_test_dot.rb +1 -1
- data/test/_test_perf.rb +1 -1
- data/test/test_base.rb +1 -1
- data/test/test_clone.rb +5 -5
- data/test/test_misc.rb +3 -3
- metadata +47 -29
@@ -3,193 +3,197 @@
|
|
3
3
|
# If a class implements an interface
|
4
4
|
#
|
5
5
|
|
6
|
-
module
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
module Mrdf_Repository
|
7
|
+
def umlx_autoImplementProperty!
|
8
|
+
uml_Class_all.each {|c|
|
9
|
+
next unless c.kind_of?(Muml_Class)
|
10
|
+
c.umlx_autoImplementProperty!
|
11
|
+
}
|
12
|
+
end
|
13
13
|
end
|
14
14
|
module Muml_Class
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
15
|
+
rdf_safe_attr_reader_many :umlx_autoImplementComplete
|
16
|
+
def umlx_autoImplementProperty!
|
17
|
+
return if umlx_autoImplementComplete?
|
18
|
+
umlx_autoImplementComplete=RDF_TRUE
|
19
|
+
|
20
|
+
#Recurse begining at top of inheritance
|
21
|
+
uml_generalization.each { |gen|
|
22
|
+
gen.uml_general_one.umlx_autoImplementProperty!
|
23
|
+
}
|
24
|
+
|
25
|
+
#OK my ancesters have been processed
|
26
|
+
#Now if I don't implement an attribute, it is my duty.
|
27
|
+
impAttNames=umlx_ImplementedAttributesNames
|
28
|
+
umlx_ImplementedAttributes.each { |ia|
|
29
|
+
#log.debug { "umlx_autoImplementProperty #{ia} for #{self} #{ia.umlx_isAssociation?}" }
|
30
|
+
next if impAttNames.include?(ia.uml_name.to_s)
|
31
|
+
if(ia.umlx_isAttribute?)
|
32
|
+
att=self.umlx_createAndAddProperty(ia.uml_name.to_s)
|
33
|
+
att.uml_name=ia.uml_name
|
34
|
+
att.uml_type=ia.uml_type
|
35
|
+
else
|
36
|
+
#puts "create and add ..."
|
37
|
+
ms=ia.uml_association_one
|
38
|
+
ms1=ia
|
39
|
+
ms2=ia.umlx_otherEnd;
|
40
|
+
#puts "ms=#{ms}"
|
41
|
+
#puts "ms1=#{ms1} #{ms1.uml_type}"
|
42
|
+
#puts "ms2=#{ms2} #{ms2.uml_type}"
|
43
|
+
m,m1,m2=self.umlx_createAndAddAssociation(self.rdf_uri+ia.uml_name.to_s,ia.uml_type)
|
44
|
+
m1.uml_aggregation=ms1.uml_aggregation
|
45
|
+
m2.uml_aggregation=ms2.uml_aggregation
|
46
|
+
m1.uml_name=ms1.uml_name
|
47
|
+
m2.uml_name=ms2.uml_name
|
48
|
+
|
49
|
+
ms1.umlx_copyToAttributeProperty(m1)
|
50
|
+
ms2.umlx_copyToAttributeProperty(m2)
|
51
|
+
|
52
|
+
#puts "m=#{m}"
|
53
|
+
#puts "m1=#{m1} #{m1.uml_type}"
|
54
|
+
#puts "m2=#{m2} #{m2.uml_type}"
|
55
|
+
end
|
56
|
+
}
|
57
|
+
end
|
58
|
+
def umlx_ImplementedAttributesNames(ret=Set.new())
|
59
|
+
uml_generalization.each { |gen|
|
60
|
+
gen.uml_general_one.umlx_ImplementedAttributesNames(ret)
|
61
|
+
}
|
62
|
+
uml_ownedAttribute.each { |oa|
|
63
|
+
ret << oa.uml_name.to_s
|
64
|
+
}
|
65
|
+
return ret
|
66
|
+
end
|
67
|
+
def umlx_ImplementedAttributes(ret=Set.new())
|
68
|
+
uml_implementation.each { |g|
|
69
|
+
g.uml_supplier_one.umlx_ImplementedAttributes(ret)
|
70
|
+
}
|
71
|
+
return ret
|
72
|
+
end
|
73
73
|
|
74
74
|
end
|
75
75
|
module Muml_Interface
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
76
|
+
def umlx_ImplementedAttributes(ret)
|
77
|
+
uml_generalization.each{|gen|
|
78
|
+
gen.uml_general_one.umlx_ImplementedAttributes(ret)
|
79
|
+
}
|
80
|
+
uml_ownedAttribute.each { |oa|
|
81
|
+
ret << oa
|
82
|
+
}
|
83
|
+
return ret
|
84
|
+
end
|
85
85
|
end
|
86
86
|
|
87
87
|
|
88
88
|
#----------------
|
89
89
|
#
|
90
|
-
module
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
90
|
+
module Mrdf_Repository
|
91
|
+
def umlx_autoImplementOperation!
|
92
|
+
uml_Class_all.each { |c|
|
93
|
+
next unless c.kind_of?(Muml_Class)
|
94
|
+
c.umlx_autoImplementOperation!
|
95
|
+
}
|
96
|
+
uml_Component_all.each { |c|
|
97
|
+
#next unless c.kind_of?(Muml_Class)
|
98
|
+
c.umlx_autoImplementOperation!
|
99
|
+
}
|
100
|
+
end
|
97
101
|
end
|
98
102
|
module Muml_Class
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
103
|
+
rdf_safe_attr_reader_many :umlx_autoImplementCompleteOperation
|
104
|
+
def umlx_autoImplementOperation!
|
105
|
+
return if umlx_autoImplementCompleteOperation?
|
106
|
+
return if uml_isAbstract?
|
107
|
+
umlx_autoImplementCompleteOperation=RDF_TRUE
|
108
|
+
|
109
|
+
#Recurse begining at top of inheritance
|
110
|
+
uml_generalization.each { |gen|
|
111
|
+
gen.uml_general_one.umlx_autoImplementOperation!
|
112
|
+
}
|
113
|
+
|
114
|
+
#OK my ancesters have been processed
|
115
|
+
#Now if I don't implement an operation, it is my duty.
|
116
|
+
impOper=umlx_ImplementedOperations
|
117
|
+
umlx_operationIShouldImplement.each { |sig,ia|
|
118
|
+
next if impOper.keys.include?(ia.umlx_signature)
|
119
|
+
|
120
|
+
c=umlx_createAndAddOperation(ia.rdf_uri+"_implem",ia.uml_name);
|
121
|
+
(ia.uml_ownedParameter+ia.uml_returnResult).each { |p|
|
122
|
+
cp=c.umlx_createAndAddParameter(p.rdf_uri+"_implem",p.uml_name_one)
|
123
|
+
p.umlx_copyToAttributeProperty(cp)
|
124
|
+
cp.uml_direction=p.uml_direction
|
125
|
+
}
|
126
|
+
# the new method is considered business Method if the original method is one
|
127
|
+
#NOTE: umlx_businessMethod? changed to umlx_businessMethod
|
128
|
+
c.umlx_businessMethod=ia.umlx_businessMethod
|
129
|
+
c.umlx_redefinesMethod=ia
|
130
|
+
}
|
131
|
+
end
|
132
|
+
|
133
|
+
def umlx_ImplementedOperations(ret=Hash.new())
|
134
|
+
uml_generalization.each { |gen|
|
135
|
+
gen.uml_general_one.umlx_ImplementedOperations(ret)
|
136
|
+
}
|
137
|
+
uml_ownedOperation.each { |oa|
|
138
|
+
next if oa.uml_isAbstract?
|
139
|
+
ret[oa.umlx_signature]=oa
|
140
|
+
}
|
141
|
+
return ret
|
142
|
+
end
|
143
|
+
|
144
|
+
def umlx_operationIShouldImplement(ret=Hash.new())
|
145
|
+
|
146
|
+
#SR16252
|
147
|
+
umlx_classifier_generalization_indirect.each { |i|
|
148
|
+
i.uml_ownedOperation.each { |oo|
|
149
|
+
next unless oo.uml_isAbstract?
|
150
|
+
ret[oo.umlx_signature]=oo
|
151
|
+
}
|
152
|
+
}
|
153
|
+
uml_implementation.each { |g|
|
154
|
+
g.uml_supplier_one.uml_ownedOperation.each { |oo|
|
155
|
+
ret[oo.umlx_signature]=oo
|
156
|
+
}
|
157
|
+
#interface implemented via an interface inheritance
|
158
|
+
g.uml_supplier_one.umlx_classifier_generalization_indirect.each { |i|
|
159
|
+
i.uml_ownedOperation.each { |oo|
|
160
|
+
ret[oo.umlx_signature]=oo
|
161
|
+
}}
|
162
|
+
}
|
163
|
+
return ret
|
164
|
+
end
|
161
165
|
|
162
166
|
end
|
163
167
|
module Muml_Interface
|
164
|
-
|
165
|
-
|
166
|
-
|
168
|
+
def umlx_ImplementedOperation(ret=Hash.new())
|
169
|
+
return ret
|
170
|
+
end
|
167
171
|
end
|
168
172
|
|
169
173
|
module Muml_Operation
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
174
|
+
#operation this operation redefines.
|
175
|
+
rdf_safe_attr_reader_many :umlx_redefinesMethod
|
176
|
+
|
177
|
+
def umlx_signature
|
178
|
+
#todo: take parameter into account
|
179
|
+
r="#{uml_name}("
|
180
|
+
sep=""
|
181
|
+
uml_ownedParameter.each { |p|
|
182
|
+
next if Cuml_ParameterDirectionKind::Return==p.uml_direction_one
|
183
|
+
r="#{r}#{sep}#{p.umlx_signature}"
|
184
|
+
sep=","
|
185
|
+
}
|
186
|
+
r="#{r})"
|
187
|
+
return r
|
188
|
+
end
|
185
189
|
end
|
186
190
|
|
187
191
|
module Muml_Parameter
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
192
|
+
# Returns parameter signature
|
193
|
+
# Examples: String[], int, ...
|
194
|
+
def umlx_signature
|
195
|
+
return self.uml_type
|
196
|
+
end
|
193
197
|
end
|
194
198
|
|
195
199
|
|
data/lib/ontomde-uml2/check.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
|
3
|
+
module Mrdf_Repository
|
4
|
+
# generate implicit components from
|
5
|
+
# methods defined on domain class.
|
6
|
+
def umlx_autoCreateImplicitComponent!
|
7
|
+
uml_Class_all.each {|clazz|
|
8
|
+
next unless clazz.kind_of?(Cuml_Class)
|
9
|
+
clazz.umlx_autoCreateImplicitComponent!
|
10
|
+
}
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module Muml_Component
|
15
|
+
# class this component was generated from (nil if none)
|
16
|
+
rdf_safe_attr_reader_many :umlx_implicitClass
|
17
|
+
end
|
18
|
+
|
19
|
+
module Muml_Class
|
20
|
+
def umlx_autoCreateImplicitComponent!
|
21
|
+
# next if uml_isAbstract?
|
22
|
+
|
23
|
+
p=umlx_owner_one
|
24
|
+
p=p.umlx_getOrCreatePackage(context[:componentPackage,"component"],p)
|
25
|
+
co=p.umlx_createAndAddComponent(rdf_uri+"_component","#{uml_name} Component")
|
26
|
+
co.umlx_implicitClass=self
|
27
|
+
|
28
|
+
uml_ownedOperation.each { |op|
|
29
|
+
#log.debug { "Copy operation #{op} to interface #{i}" }
|
30
|
+
nop=co.umlx_createAndAddOperation("#{op.rdf_uri}_interface",op.uml_name.to_s)
|
31
|
+
#copy parameter
|
32
|
+
op.uml_ownedParameter.each { |pa|
|
33
|
+
np=nop.umlx_createAndAddParameter("#{pa.rdf_uri}_interface",pa.uml_name.to_s)
|
34
|
+
pa.umlx_copyToAttributeProperty(np)
|
35
|
+
}
|
36
|
+
#copy return parameter
|
37
|
+
op.uml_returnResult.each { |pa|
|
38
|
+
np=nop.umlx_createAndAddReturnParameter("#{pa.rdf_uri}_interface",pa.uml_name.to_s)
|
39
|
+
pa.umlx_copyToAttributeProperty(np)
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
module Muml_Operation
|
6
6
|
def umlx_createAndAddParameter(new_uri,new_name=nil)
|
7
|
-
p=Cuml_Parameter.new(
|
7
|
+
p=Cuml_Parameter.new(rdf_Repository,new_uri)
|
8
8
|
uml_ownedParameter_add(p)
|
9
9
|
p.uml_name=new_name unless new_name.nil?
|
10
10
|
p.uml_isUnique=RDF_TRUE
|
@@ -16,7 +16,7 @@ module Muml_Operation
|
|
16
16
|
#Create and add a return parameter.
|
17
17
|
#
|
18
18
|
def umlx_createAndAddReturnParameter(new_uri,new_name="return")
|
19
|
-
p=Cuml_Parameter.new(
|
19
|
+
p=Cuml_Parameter.new(rdf_Repository,new_uri)
|
20
20
|
uml_ownedParameter_add(p)
|
21
21
|
p.uml_name=new_name
|
22
22
|
p.uml_isUnique=RDF_TRUE
|
@@ -28,7 +28,7 @@ module Muml_Operation
|
|
28
28
|
end
|
29
29
|
module Muml_Interface
|
30
30
|
def umlx_createAndAddGeneralization(gen)
|
31
|
-
g=Cuml_Generalization.new(
|
31
|
+
g=Cuml_Generalization.new(rdf_Repository,nil)
|
32
32
|
g.uml_general=gen
|
33
33
|
g.uml_specific=self
|
34
34
|
self.uml_generalization_add(g)
|
@@ -40,7 +40,7 @@ module Muml_Class
|
|
40
40
|
#Return the newly created element.
|
41
41
|
#new_uri should be globaly unique.
|
42
42
|
def umlx_createAndAddClass(new_uri,new_name=nil)
|
43
|
-
c=Cuml_Class.new(
|
43
|
+
c=Cuml_Class.new(rdf_Repository,new_uri)
|
44
44
|
#uml_ownedMember_add(c)
|
45
45
|
uml_nestedClassifier_add(c)
|
46
46
|
c.umlx_owner=self
|
@@ -50,7 +50,7 @@ module Muml_Class
|
|
50
50
|
return c
|
51
51
|
end
|
52
52
|
def umlx_createAndAddGeneralization(gen)
|
53
|
-
g=Cuml_Generalization.new(
|
53
|
+
g=Cuml_Generalization.new(rdf_Repository,nil)
|
54
54
|
g.uml_general=gen
|
55
55
|
g.uml_specific=self
|
56
56
|
self.uml_generalization_add(g)
|
@@ -58,7 +58,7 @@ module Muml_Class
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def umlx_createAndAddImplementation(gen)
|
61
|
-
g=Cuml_Implementation.new(
|
61
|
+
g=Cuml_Implementation.new(rdf_Repository,nil)
|
62
62
|
g.uml_supplier=gen
|
63
63
|
g.uml_implementingClassifier=self
|
64
64
|
self.uml_implementation_add(g)
|
@@ -68,13 +68,13 @@ end
|
|
68
68
|
module Muml_Enumeration
|
69
69
|
def umlx_createAndAddLiteral(lit)
|
70
70
|
lit=lit.to_s
|
71
|
-
o=Cuml_EnumerationLiteral.new(
|
71
|
+
o=Cuml_EnumerationLiteral.new(rdf_Repository,"#{rdf_uri}_#{lit}")
|
72
72
|
o.uml_name=lit
|
73
73
|
self.uml_ownedLiteral_add(o)
|
74
74
|
return o
|
75
75
|
end
|
76
76
|
def umlx_createAndAddImplementation(gen)
|
77
|
-
g=Cuml_Implementation.new(
|
77
|
+
g=Cuml_Implementation.new(rdf_Repository,nil)
|
78
78
|
g.uml_supplier=gen
|
79
79
|
g.uml_implementingClassifier=self
|
80
80
|
self.uml_implementation_add(g)
|
@@ -86,7 +86,7 @@ module Muml_Package
|
|
86
86
|
#Return the newly created element.
|
87
87
|
#new_uri should be globaly unique.
|
88
88
|
def umlx_createAndAddEnumeration(new_uri,new_name=nil)
|
89
|
-
c=Cuml_Enumeration.new(
|
89
|
+
c=Cuml_Enumeration.new(rdf_Repository,new_uri)
|
90
90
|
uml_ownedMember_add(c)
|
91
91
|
c.umlx_owner=self
|
92
92
|
c.uml_name=new_name unless new_name.nil?
|
@@ -98,7 +98,7 @@ module Muml_Package
|
|
98
98
|
#Return the newly created element.
|
99
99
|
#new_uri should be globaly unique.
|
100
100
|
def umlx_createAndAddInterface(new_uri,new_name=nil)
|
101
|
-
c=Cuml_Interface.new(
|
101
|
+
c=Cuml_Interface.new(rdf_Repository,new_uri)
|
102
102
|
uml_ownedMember_add(c)
|
103
103
|
c.umlx_owner=self
|
104
104
|
c.uml_name=new_name unless new_name.nil?
|
@@ -110,7 +110,19 @@ module Muml_Package
|
|
110
110
|
#Return the newly created element.
|
111
111
|
#new_uri should be globaly unique.
|
112
112
|
def umlx_createAndAddClass(new_uri,new_name=nil)
|
113
|
-
c=Cuml_Class.new(
|
113
|
+
c=Cuml_Class.new(rdf_Repository,new_uri)
|
114
|
+
uml_ownedMember_add(c)
|
115
|
+
c.umlx_owner=self
|
116
|
+
c.uml_name=new_name unless new_name.nil?
|
117
|
+
c.uml_visibility=::Cuml_VisibilityKind::Public
|
118
|
+
#puts "création classe #{new_name} in #{self.java_qualifiedName}"
|
119
|
+
return c
|
120
|
+
end
|
121
|
+
#Creates and add a new UML Class.
|
122
|
+
#Return the newly created element.
|
123
|
+
#new_uri should be globaly unique.
|
124
|
+
def umlx_createAndAddComponent(new_uri,new_name=nil)
|
125
|
+
c=Cuml_Component.new(rdf_Repository,new_uri)
|
114
126
|
uml_ownedMember_add(c)
|
115
127
|
c.umlx_owner=self
|
116
128
|
c.uml_name=new_name unless new_name.nil?
|
@@ -122,7 +134,7 @@ module Muml_Package
|
|
122
134
|
#Return the newly created element.
|
123
135
|
#new_uri should be globaly unique.
|
124
136
|
def umlx_createAndAddDataType(new_uri,new_name=nil)
|
125
|
-
c=Cuml_DataType.new(
|
137
|
+
c=Cuml_DataType.new(rdf_Repository,new_uri)
|
126
138
|
uml_ownedMember_add(c)
|
127
139
|
c.umlx_owner=self
|
128
140
|
c.uml_name=new_name unless new_name.nil?
|
@@ -134,7 +146,7 @@ module Muml_Package
|
|
134
146
|
#Return the newly created element.
|
135
147
|
#new_uri should be globaly unique.
|
136
148
|
def umlx_createAndAddStereotype(new_uri,new_name=nil)
|
137
|
-
c=Cuml_Stereotype.new(
|
149
|
+
c=Cuml_Stereotype.new(rdf_Repository,new_uri)
|
138
150
|
uml_ownedMember_add(c)
|
139
151
|
c.umlx_owner=self
|
140
152
|
c.uml_name=new_name unless new_name.nil?
|
@@ -145,7 +157,7 @@ module Muml_Package
|
|
145
157
|
#Return the newly created element.
|
146
158
|
#new_uri should be globaly unique.
|
147
159
|
def umlx_createAndAddPackage(new_uri,new_name=nil)
|
148
|
-
c=Cuml_Package.new(
|
160
|
+
c=Cuml_Package.new(rdf_Repository,new_uri)
|
149
161
|
uml_ownedMember_add(c)
|
150
162
|
c.umlx_owner=self
|
151
163
|
c.uml_name=new_name unless new_name.nil?
|
@@ -159,7 +171,7 @@ module Muml_Classifier
|
|
159
171
|
#Return the newly created element.
|
160
172
|
#new_uri should be globaly unique.
|
161
173
|
def umlx_createAndAddOperation(new_uri,new_name=nil)
|
162
|
-
m=Cuml_Operation.new(
|
174
|
+
m=Cuml_Operation.new(rdf_Repository,new_uri)
|
163
175
|
self.uml_ownedOperation_add(m)
|
164
176
|
m.uml_name=new_name unless new_name.nil?
|
165
177
|
m.uml_visibility=::Cuml_VisibilityKind::Public
|
@@ -171,7 +183,7 @@ module Muml_Classifier
|
|
171
183
|
#new_uri should be globaly unique.
|
172
184
|
def umlx_createAndAddProperty(new_uri,new_name=nil)
|
173
185
|
#log.debug { %{umlx_createAndAddProperty : name="#{new_name}" uri="#{uri}" owner="#{self}" owner_uri="#{self.rdf_uri}"} }
|
174
|
-
m=Cuml_Property.new(
|
186
|
+
m=Cuml_Property.new(rdf_Repository,new_uri)
|
175
187
|
self.uml_ownedAttribute_add(m)
|
176
188
|
m.uml_name=new_name unless new_name.nil?
|
177
189
|
m.uml_isUnique=RDF_TRUE
|
@@ -186,14 +198,14 @@ module Muml_Classifier
|
|
186
198
|
#new_uri should be globaly unique.
|
187
199
|
def umlx_createAndAddAssociation(new_uri,otherEnd)
|
188
200
|
c1=self; c2=otherEnd
|
189
|
-
a=Cuml_Association.new(
|
201
|
+
a=Cuml_Association.new(rdf_Repository,new_uri)
|
190
202
|
|
191
|
-
m1=Cuml_Property.new(
|
203
|
+
m1=Cuml_Property.new(rdf_Repository,"#{new_uri}_e1")
|
192
204
|
m1.uml_type=c2
|
193
205
|
#m1.uml_class=c1
|
194
206
|
c1.uml_ownedAttribute_add(m1)
|
195
207
|
|
196
|
-
m2=Cuml_Property.new(
|
208
|
+
m2=Cuml_Property.new(rdf_Repository,"#{new_uri}_e2")
|
197
209
|
m2.uml_type=c1
|
198
210
|
#m2.uml_class=c1
|
199
211
|
#c2.uml_ownedAttribute_add(m2)
|
@@ -215,7 +227,7 @@ end
|
|
215
227
|
module Muml_Element
|
216
228
|
#Create a uml_Comment and append it to uml_ownedComment
|
217
229
|
def umlx_createAndAddComment(uri,txtComment)
|
218
|
-
c=Cuml_Comment.new(
|
230
|
+
c=Cuml_Comment.new(rdf_Repository,uri);
|
219
231
|
uml_ownedComment_add(c)
|
220
232
|
c.uml_body=txtComment
|
221
233
|
end
|