ontomde-core 1.0.2

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.
@@ -0,0 +1,29 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <!DOCTYPE rdf:RDF [
3
+ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
4
+ <!ENTITY kb 'http://protege.stanford.edu/kb#'>
5
+ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
6
+ ]>
7
+ <rdf:RDF xmlns:rdf="&rdf;"
8
+ xmlns:kb="&kb;"
9
+ xmlns:rdfs="&rdfs;">
10
+ <kb:ClientFidelise rdf:about="&kb;SampleModel_Instance_3"
11
+ kb:civilite="Monsieur"
12
+ kb:nom="Dupont"
13
+ kb:nombrePointDeFidelite="500"
14
+ kb:prenom="Jean"
15
+ rdfs:label="Jean Dupont"/>
16
+ <kb:ClientFidelise rdf:about="&kb;SampleModel_Instance_4"
17
+ kb:civilite="Madame"
18
+ kb:nom="Durand"
19
+ kb:nombrePointDeFidelite="300"
20
+ kb:prenom="Jeanne"
21
+ rdfs:label="Jeanne Durand"/>
22
+ <kb:ClientNonFidelise rdf:about="&kb;SampleModel_Instance_6"
23
+ kb:civilite="Monsieur"
24
+ kb:nom="Lafleur"
25
+ kb:prenom="Fernand"
26
+ rdfs:label="Fernand Lafleur"/>
27
+ <kb:Contrat rdf:about="&kb;etatCivil_Instance_1"
28
+ rdfs:label="etatCivil_Instance_1"/>
29
+ </rdf:RDF>
@@ -0,0 +1,71 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <!DOCTYPE rdf:RDF [
3
+ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
4
+ <!ENTITY a 'http://protege.stanford.edu/system#'>
5
+ <!ENTITY kb 'http://protege.stanford.edu/kb#'>
6
+ <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
7
+ ]>
8
+ <rdf:RDF xmlns:rdf="&rdf;"
9
+ xmlns:a="&a;"
10
+ xmlns:kb="&kb;"
11
+ xmlns:rdfs="&rdfs;">
12
+ <rdfs:Class rdf:about="&kb;Client"
13
+ a:role="abstract"
14
+ rdfs:label="Client">
15
+ <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
16
+ </rdfs:Class>
17
+ <rdfs:Class rdf:about="&kb;ClientFidelise"
18
+ rdfs:label="ClientFidelise">
19
+ <rdfs:subClassOf rdf:resource="&kb;Client"/>
20
+ <rdfs:subClassOf rdf:resource="&kb;Fidelisation"/>
21
+ </rdfs:Class>
22
+ <rdfs:Class rdf:about="&kb;ClientNonFidelise"
23
+ rdfs:label="ClientNonFidelise">
24
+ <rdfs:subClassOf rdf:resource="&kb;Client"/>
25
+ </rdfs:Class>
26
+ <rdfs:Class rdf:about="&kb;Contrat"
27
+ rdfs:label="Contrat">
28
+ <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
29
+ </rdfs:Class>
30
+ <rdfs:Class rdf:about="&kb;Fidelisation"
31
+ a:role="abstract"
32
+ rdfs:label="Fidelisation">
33
+ <rdfs:subClassOf rdf:resource="&rdfs;Resource"/>
34
+ </rdfs:Class>
35
+ <rdf:Property rdf:about="&kb;SampleModel_Slot_9"
36
+ a:maxCardinality="1"
37
+ rdfs:label="SampleModel_Slot_9">
38
+ <rdfs:range rdf:resource="&rdfs;Literal"/>
39
+ </rdf:Property>
40
+ <rdf:Property rdf:about="&kb;civilite"
41
+ a:defaultValues="Monsieur"
42
+ a:maxCardinality="1"
43
+ a:range="symbol"
44
+ rdfs:label="civilite">
45
+ <rdfs:domain rdf:resource="&kb;Client"/>
46
+ <rdfs:range rdf:resource="&rdfs;Literal"/>
47
+ <a:allowedValues>Madame</a:allowedValues>
48
+ <a:allowedValues>Monsieur</a:allowedValues>
49
+ </rdf:Property>
50
+ <rdf:Property rdf:about="&kb;nom"
51
+ a:maxCardinality="1"
52
+ rdfs:label="nom">
53
+ <rdfs:domain rdf:resource="&kb;Client"/>
54
+ <rdfs:range rdf:resource="&rdfs;Literal"/>
55
+ </rdf:Property>
56
+ <rdf:Property rdf:about="&kb;nombrePointDeFidelite"
57
+ a:defaultValues="0"
58
+ a:maxCardinality="1"
59
+ a:range="integer"
60
+ rdfs:label="nombrePointDeFidelite">
61
+ <rdfs:domain rdf:resource="&kb;Fidelisation"/>
62
+ <rdfs:range rdf:resource="&rdfs;Literal"/>
63
+ </rdf:Property>
64
+ <rdf:Property rdf:about="&kb;prenom"
65
+ a:maxCardinality="1"
66
+ rdfs:comment="mm"
67
+ rdfs:label="prenom">
68
+ <rdfs:domain rdf:resource="&kb;Client"/>
69
+ <rdfs:range rdf:resource="&rdfs;Literal"/>
70
+ </rdf:Property>
71
+ </rdf:RDF>
@@ -0,0 +1,46 @@
1
+ require "ontomde-core"
2
+
3
+ #module Mmtk_Profil::FT2006_GesCli
4
+ module Mrdf_Resource
5
+ def disp
6
+ return ""
7
+ end
8
+ end
9
+ module Mkb_Client
10
+ def disp
11
+ return <<FIN
12
+ ***************************************************
13
+ ** Bonjour civ:#{kb_civilite}
14
+ ** nom:#{kb_nom}
15
+ ** prenom:#{kb_prenom}
16
+ FIN
17
+ end
18
+ end
19
+ module Mkb_ClientFidelise
20
+ def disp
21
+ super+<<FIN
22
+ ** Vous avez:#{kb_nombrePointDeFidelite} points !
23
+ FIN
24
+ end
25
+ end
26
+ module Mkb_ClientNonFidelise
27
+ def disp
28
+ super+<<FIN
29
+ ** Vous ne beneficiez pas ENCORE de notre programme de fidelisation.
30
+ FIN
31
+ end
32
+ end
33
+ #end
34
+
35
+ DATADIR=File.dirname(__FILE__)
36
+
37
+ @@model=Crdf_Model.new
38
+ @@model.loadMetaModelFromFile("#{DATADIR}/etatCivil.rdfs",true)
39
+ @@model.loadModelFromFile("#{DATADIR}/etatCivil.rdf",true)
40
+
41
+ puts "+++++++++++++++++++++++++++++++++"
42
+ @@model.each { |k,c|
43
+ print c.disp
44
+ }
45
+ puts "++++++++++++++++++++"
46
+
@@ -0,0 +1,88 @@
1
+ require 'test/unit'
2
+ require 'ontomde-core'
3
+
4
+
5
+ class TC_context_tc1 < Test::Unit::TestCase
6
+ def setup
7
+ @@model=Crdf_Model.new
8
+ end
9
+
10
+ def test_context_sur_resource
11
+ res=@@model['rdf_Resource']
12
+ assert(res.context.get(:build).nil?)
13
+ res.mtk_context( :build=>"c:/tmp") {
14
+ #log.debug "build=#{res.context[:build]}"
15
+ assert(res.context[:build]=='c:/tmp')
16
+ }
17
+ assert(res.context.get(:build).nil?)
18
+ assert(res.context.get(:anything).nil?)
19
+ end
20
+
21
+ def test_ajout_retrait_context_vide
22
+ assert(@@model.context.get(:build).nil?)
23
+ @@model.mtk_context( :build=>"c:/tmp") {
24
+ #log.debug "build=#{@@model.context[:build]}"
25
+ assert(@@model.context[:build]=='c:/tmp')
26
+ }
27
+ assert(@@model.context.get(:build).nil?)
28
+ assert(@@model.context.get(:anything).nil?)
29
+ end
30
+
31
+ def test_redefinition
32
+ assert(@@model.context.get(:build).nil?)
33
+ test_done=false
34
+ @@model.mtk_context( :build=>"c:/tmp") {
35
+ #log.debug "build=#{@@model.context[:build]}"
36
+ assert(!@@model.context.get(:build).nil?)
37
+ assert(@@model.context[:build]=='c:/tmp')
38
+ @@model.mtk_context( :build=>"h:/Z") {
39
+ assert(@@model.context[:build]=='h:/Z')
40
+ test_done=true
41
+ }
42
+ assert(@@model.context[:build]=='c:/tmp')
43
+ }
44
+ assert(@@model.context.get(:build).nil?)
45
+ assert(test_done,"Test non execute")
46
+ end
47
+
48
+ def test_multiple_context
49
+ assert(@@model.context.get(:build).nil?)
50
+ assert(@@model.context.get(:lang).nil?)
51
+ test_done=false
52
+ @@model.mtk_context(:build=>"d:/tmp",:lang=>"fr",:opt=>1) {
53
+ assert(!@@model.context.get(:build).nil?)
54
+ assert(@@model.context.get(:build)==="d:/tmp")
55
+ assert(@@model.context.get(:lang)=="fr")
56
+ assert(@@model.context.get(:opt)==1)
57
+ @@model.mtk_context(:lang=>"en") {
58
+ assert(@@model.context[:build]=="d:/tmp")
59
+ assert(@@model.context[:lang]=="en")
60
+ assert(@@model.context[:opt]==1)
61
+ @@model.mtk_context(:lang=>"us",:ww2=>1939) {
62
+ assert(@@model.context[:build]=="d:/tmp")
63
+ assert(@@model.context[:lang]=="us")
64
+ assert(@@model.context[:opt]==1)
65
+ assert(@@model.context[:ww2]==1939)
66
+ test_done=true
67
+ }
68
+ assert(@@model.context[:build]=="d:/tmp")
69
+ assert(@@model.context[:lang]=="en")
70
+ assert(@@model.context[:opt]==1)
71
+ }
72
+ }
73
+
74
+ assert(@@model.context.get(:build).nil?)
75
+ assert(@@model.context.get(:lang).nil?)
76
+ assert(test_done,"Test non execute")
77
+ end
78
+
79
+
80
+
81
+ def test_load_simple
82
+ end
83
+
84
+
85
+ end
86
+
87
+ require 'test/unit/ui/console/testrunner'
88
+ Test::Unit::UI::Console::TestRunner.run(TC_context_tc1)
@@ -0,0 +1,9 @@
1
+
2
+ require 'ontomde-core'
3
+
4
+ puts "begin test logs"
5
+ log.error("test log error")
6
+ log.warn("test log warn")
7
+ log.info("test log info")
8
+ log.debug("test log debug")
9
+ puts "end test logs"
@@ -0,0 +1,352 @@
1
+ require 'test/unit'
2
+ require 'ontomde-core'
3
+ require 'logger'
4
+
5
+ SRCDIR=File.dirname(__FILE__)
6
+ TargetFileType=FileTypeJava.instance
7
+
8
+ @@log=Logger.new("log")
9
+
10
+ @@log.level=Logger::Severity::DEBUG
11
+
12
+ Test_string_protected1="file tmp1.java\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
13
+ Test_string_protected2="file tmp2.java\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
14
+ Test_string_protected3="file tmp3.java\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
15
+ Test_string_protected40="file tmp4.java\n zone aaaaa zone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
16
+ Test_string_protected41="file tmp4.java\n zone bbbbb zone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
17
+ Test_string_protected5A="file tmp5A\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
18
+ Test_string_protected5B="file tmp5B\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
19
+ Test_string_protected5C="file tmp5C\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
20
+ Test_string_protected5D="file tmp5D\nzone protege a reprendre a la main (ligne 1)\nzone protege a reprendre a la main (ligne 2)"
21
+
22
+ module Mrdf_Resource
23
+ def test1
24
+ mtk_writeSession("build/tmp1.java"){#,REVERSE) {
25
+ write("Hello!\n")
26
+ write("Hello!\n")
27
+ write("Hello!\n")
28
+ write("Hello!\n")
29
+ mtk_protected(true) {
30
+ write Test_string_protected1
31
+ }
32
+ write("Bye!\n")
33
+ write("Bye!\n")
34
+ write("Bye!\n")
35
+ write("Bye!\n")
36
+ }
37
+ end
38
+ def test2
39
+ mtk_writeSession("build/tmp2.java"){#,REVERSE) {
40
+ write("Hello!")
41
+ mtk_protected(true) {
42
+ write Test_string_protected2
43
+ }
44
+ write("Bye!")
45
+ }
46
+ end
47
+ def test3
48
+ mtk_writeSession("build/tmp3.java"){#,REVERSE) {
49
+ write("Hello!")
50
+ mtk_protected(false) {
51
+ write Test_string_protected3
52
+ }
53
+ }
54
+ end
55
+ def test4
56
+ mtk_writeSession("build/tmp4.java"){#,REVERSE) {
57
+ write("Hello!")
58
+ mtk_protected(true,'zone40') {
59
+ write Test_string_protected40
60
+ }
61
+ mtk_protected(true,'zone41') {
62
+ write Test_string_protected41
63
+ }
64
+ }
65
+ end
66
+ def test5a
67
+ mtk_writeSession("build/tmp5.java"){}#,REVERSE) {}
68
+ File.delete("build/tmp5.java")
69
+ mtk_writeSession("build/tmp5.java"){#,REVERSE) {
70
+ write("Hello! : phase 1")
71
+ mtk_protected(false,"A") {
72
+ write "KO KO KO * phase 2- zone A"
73
+ }
74
+ mtk_protected(true,"B") {
75
+ write Test_string_protected5B
76
+ }
77
+ mtk_protected(false,"C") {
78
+ write "KO KO KO * phase 2- zone C"
79
+ }
80
+ mtk_protected(true,"D") {
81
+ write Test_string_protected5D
82
+ }
83
+ }
84
+ end
85
+ def test5b
86
+ mtk_writeSession("build/tmp5.java"){#,REVERSE) {
87
+ write("Hello! : phase 2")
88
+ mtk_protected(false,"A") {
89
+ write Test_string_protected5A
90
+ }
91
+ mtk_protected(true,"B") {
92
+ #on remplace
93
+ #normalement non appel�
94
+ write "KO KO KO * phase 2- zone B"
95
+ }
96
+ mtk_protected(true,"C") {
97
+ write Test_string_protected5C
98
+ }
99
+ mtk_protected(false,"D") {
100
+ #on ne remplace pas.
101
+ #normalement non appel�
102
+ write "phase 2 - zoneD"
103
+ write "KO KO KO * phase 2- zone D"
104
+ }
105
+ }
106
+ end
107
+
108
+ end
109
+
110
+
111
+ class TC_protected_tc1 < Test::Unit::TestCase
112
+ def setup
113
+ @@model=Crdf_Model.new
114
+ end
115
+
116
+ def test_write_protected
117
+ @@model.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
118
+ @@model['rdf_Resource'].test1
119
+ @@model['rdf_Resource'].test2
120
+
121
+ @@model.mtk_retrieveProtected("build/tmp1.java",TargetFileType)
122
+ @@model.mtk_retrieveProtected("build/tmp2.java",TargetFileType)
123
+
124
+ s1=@@model['rdf_Resource__0__build/tmp1.java']
125
+ s2=@@model['rdf_Resource__0__build/tmp2.java']
126
+ assert(!s1.nil?,"1 non revers�")
127
+ assert(!s2.nil?,"2 non revers�")
128
+ assert(s1==Test_string_protected1,"Contenu s1 different valeur injecte");
129
+ assert(s2==Test_string_protected2,"Contenu s2 different valeur injecte");
130
+ }
131
+ end
132
+ def test_no_reverse
133
+ @@model['rdf_Resource'].test3
134
+ s3=@@model['rdf_Resource__0__build/tmp3.java']
135
+ assert( s3.nil?,"3 n'aurai pas du �tre recupere")
136
+ #assert(s3==Test_string_protected3);
137
+ @@model.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
138
+ @@model.mtk_retrieveProtected("build/tmp3.java",TargetFileType)
139
+ }
140
+ end
141
+ def test_avec_zone
142
+ @@model['rdf_Resource'].test4
143
+ @@model.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
144
+ @@model.mtk_retrieveProtected("build/tmp4.java",TargetFileType)
145
+ }
146
+ s40=@@model['rdf_Resource__zone40__build/tmp4.java']
147
+ s41=@@model['rdf_Resource__zone41__build/tmp4.java']
148
+
149
+ assert(!s40.nil?,"40 non revers�")
150
+ assert(!s41.nil?,"41 non revers�")
151
+
152
+ # On verifie que le texte de chaque zone se retrouve au bon endroit.
153
+ assert(s40==Test_string_protected40,"Contenu s40 different valeur injecte");
154
+ assert(s41==Test_string_protected41,"Contenu s41 different valeur injecte");
155
+ end
156
+
157
+ def test_multi_write
158
+ @@model['rdf_Resource'].test5a
159
+
160
+ m=Crdf_Model.new
161
+ m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
162
+ m.mtk_retrieveProtected("build/tmp5.java",TargetFileType)
163
+ }
164
+ #m.each{ |k,val| puts "5a k=#{k} " }
165
+ s5a=m['rdf_Resource__A__build/tmp5.java']
166
+ s5b=m['rdf_Resource__B__build/tmp5.java']
167
+ s5c=m['rdf_Resource__C__build/tmp5.java']
168
+ s5d=m['rdf_Resource__D__build/tmp5.java']
169
+
170
+ assert(s5a.nil? ,"5a ne devrait pas etre remonte")
171
+ assert(!s5b.nil?,"5b non revers�")
172
+ assert(s5c.nil? ,"5c revers�")
173
+ assert(!s5d.nil?,"5d non revers�")
174
+
175
+ @@model['rdf_Resource'].test5b
176
+ m=Crdf_Model.new
177
+ m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
178
+ m.mtk_retrieveProtected("build/tmp5.java",TargetFileType)
179
+ }
180
+ #m.each{ |k,val| puts "5b k=#{k} " }
181
+ s5a=m['rdf_Resource__A__build/tmp5.java']
182
+ s5b=m['rdf_Resource__B__build/tmp5.java']
183
+ s5c=m['rdf_Resource__C__build/tmp5.java']
184
+ s5d=m['rdf_Resource__D__build/tmp5.java']
185
+
186
+ assert(s5a.nil?,"5a ne devrait pas etre remonte")
187
+ assert(!s5b.nil?,"5b non revers�")
188
+ assert(!s5c.nil?,"5c non revers�")
189
+ assert(!s5d.nil?,"5d non revers�")
190
+
191
+ #assert(s5a==Test_string_protected5A,"Contenu 5A different valeur injecte");
192
+ assert(s5b==Test_string_protected5B,"Contenu 5B different valeur injecte");
193
+ assert(s5c==Test_string_protected5C,"Contenu 5C different valeur injecte");
194
+ assert(s5d==Test_string_protected5D,"Contenu 5D different valeur injecte");
195
+
196
+ #verification du fichier sur disque
197
+ #pour les donn�es non remont�es (et les autres tant qu'on y est)
198
+ a=b=c=d=false
199
+ File.open("build/tmp5.java") { |f| f.each_line { |line|
200
+ a=true if line.include? "file tmp5A"
201
+ b=true if line.include? "file tmp5B"
202
+ c=true if line.include? "file tmp5C"
203
+ d=true if line.include? "file tmp5D"
204
+ }}
205
+
206
+ assert(a,"tmp5A absent du fichier")
207
+ assert(b,"tmp5B absent du fichier")
208
+ assert(c,"tmp5C absent du fichier")
209
+ assert(d,"tmp5D absent du fichier")
210
+ end
211
+
212
+ def test_compatibilite_ascendante
213
+ m=Crdf_Model.new
214
+ f="#{SRCDIR}/unit_test_protected_sample"
215
+ #f="#{SRCDIR}/unit_test_protected_sample"
216
+ processed=nil
217
+ m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
218
+ processed=m.mtk_retrieveProtected(f,TargetFileType)
219
+ }
220
+
221
+ assert(processed,"fichier probablement non trouve:#{f}")
222
+ #m.each{|k,res| puts "#{k}=>#{res}##########" }
223
+
224
+ s5a=m["rdf_Resource__A__#{SRCDIR}/unit_test_protected_sample"]
225
+ s5b=m["rdf_Resource__B__#{SRCDIR}/unit_test_protected_sample"]
226
+ s5c=m["rdf_Resource__C__#{SRCDIR}/unit_test_protected_sample"]
227
+ s5d=m["rdf_Resource__D__#{SRCDIR}/unit_test_protected_sample"]
228
+
229
+ assert(s5a.nil?,"5a ne devrait pas etre remonte")
230
+ assert(!s5b.nil?,"5b non revers�")
231
+ assert(!s5c.nil?,"5c non revers�")
232
+ assert(!s5d.nil?,"5d non revers�")
233
+
234
+
235
+ #assert(s5a==Test_string_protected5A,"Contenu 5A different valeur injecte");
236
+ assert(s5b==Test_string_protected5B,"Contenu 5B different valeur injecte");
237
+ assert(s5c==Test_string_protected5C,"Contenu 5C different valeur injecte");
238
+ assert(s5d==Test_string_protected5D,"Contenu 5D different valeur injecte");
239
+ end
240
+
241
+
242
+ def test_OK_si_fichier_existe_pas
243
+ m=Crdf_Model.new
244
+ x=nil
245
+ m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
246
+ x=m.mtk_retrieveProtected("nom fichier qui n'existe pas mjdfljqs mljfdkq fqdj qf",TargetFileType)
247
+ }
248
+ assert(!x,"retrieveProtected doit renvoyer false si le fichier n'est pas trouv�")
249
+ end
250
+ def test_END_with_bad_uri
251
+ m=Crdf_Model.new
252
+ begin
253
+ m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
254
+ m.mtk_retrieveProtected("#{SRCDIR}/unit_test_protected_wrongEnd",TargetFileType)
255
+ }
256
+ assert(false,"une erreur ne s'est pas d�clench�e")
257
+ rescue WarningReverseBadOrMissingEnd => w
258
+ end
259
+ end
260
+
261
+ def test_atomic_write
262
+ end
263
+
264
+ def test_unknown_extension_without_protected
265
+ m=Crdf_Model.new
266
+ m.mtk_writeSession("build/tmp6.fjqmjfmkqs1"){
267
+ m.write("foo")
268
+ }
269
+ end
270
+ def test_unknown_extension_with_protected
271
+ m=Crdf_Model.new
272
+ r=m['rdf_Resource']
273
+ m.mtk_writeSession("build/tmp6.fjqmjfmkqs2"){
274
+ begin
275
+ r.mtk_protected(false) {
276
+ m.write("xyz")
277
+ }
278
+ assert(false,"exception expected")
279
+ rescue WarningUnknownFileType => e
280
+ end
281
+ }
282
+ end
283
+
284
+
285
+ def test_writeXML
286
+ f=FileTypeXML.instance
287
+
288
+ #m=f.re_begin
289
+ #s=f.beginMarker("1234",true)
290
+ ##s=%{<!-- XMDA BEGIN reverse="yes" uri="1234" -->}
291
+ #s=%{<!-- XMDA BEGIN reverse="yes" uri="rdf_Resource__0" -->}
292
+ #puts "m=#{m}"
293
+ #puts "s=#{s}"
294
+ #puts "match=#{m.match(s)}\n"
295
+ #puts "uri=#{m.match(s)[2]}\n"
296
+ #puts "rev=#{m.match(s)[1]}\n"
297
+ #
298
+ #s=%{<!-- XMDA BEGIN uri="1234" -->}
299
+
300
+ #m=f.re_end
301
+ ##s=f.beginMarker("1234",true)
302
+ ##s=%{<!-- XMDA BEGIN reverse="yes" uri="1234" -->}
303
+ #s=%{<!-- XMDA END uri="rdf_Resource__0" -->}
304
+ #puts "m=#{m}"
305
+ #puts "s=#{s}"
306
+ #puts "match=#{m.match(s)}\n"
307
+ #puts "uri=#{m.match(s)[1]}\n"
308
+ File.delete("build/tmp7.xml") if File.exists?("build/tmp7.xml")
309
+ m=Crdf_Model.new
310
+ r=m['rdf_Resource']
311
+ r.mtk_writeSession("build/tmp7.xml"){
312
+ r.write("<home>\n")
313
+ r.mtk_protected(true) {
314
+ r.write("xyz")
315
+ }
316
+ r.mtk_protected(false,"a") {
317
+ r.write("efg")
318
+ }
319
+ r.write("</home>\n")
320
+ #writeComment("hello!")
321
+ }
322
+ r.mtk_writeSession("build/tmp7.xml"){
323
+ r.write("<home>\n")
324
+ r.mtk_protected(true) {
325
+ r.write("<room name=\"kitchen\"/>\n")
326
+ r.write("<room name=\"living room\"/>")
327
+ }
328
+ r.mtk_protected(true,"a") {
329
+ r.write("123")
330
+ }
331
+ r.write("</home>\n")
332
+ #writeComment("hello!")
333
+ }
334
+ #puts "m.length=#{m.length}"
335
+ m.mtk_context(:mtk_fileType=>FileTypeJava.instance) {
336
+ z=m.mtk_retrieveProtected("build/tmp7.xml",FileTypeXML.instance)
337
+ }
338
+ #puts "m.length=#{m.length}"
339
+ s7=m['rdf_Resource__0__build/tmp7.xml']
340
+ #puts "s7=#{s7}"
341
+ assert(s7=="xyz")
342
+
343
+ zoneA=m['rdf_Resource__a__build/tmp7.xml']
344
+ #puts "zoneA=#{zoneA}"
345
+ assert(zoneA=="123")
346
+ end
347
+
348
+
349
+ end
350
+
351
+ require 'test/unit/ui/console/testrunner'
352
+ Test::Unit::UI::Console::TestRunner.run(TC_protected_tc1)