ontomde-uml2 1.0.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|