ontomde-core 2.0.0 → 2.0.4

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.
Files changed (27) hide show
  1. data/Manifest.txt +6 -7
  2. data/lib/ontomde-core/completion.rb +4 -4
  3. data/lib/ontomde-core/converter-ea/{XMI2RDFS.xslt → 7_1_829/XMI2RDFS.xslt} +39 -34
  4. data/lib/ontomde-core/converter-ea/7_1_829/XMI2RDFS_step2.xslt +24 -0
  5. data/lib/ontomde-core/converter-ea/7_1_833/XMI2RDFS.xslt +817 -0
  6. data/lib/ontomde-core/converter-ea/7_1_833/XMI2RDFS_step2.xslt +24 -0
  7. data/lib/ontomde-core/converter-ea/7_5_843/XMI2RDFS.xslt +817 -0
  8. data/lib/ontomde-core/converter-ea/7_5_843/XMI2RDFS_step2.xslt +24 -0
  9. data/lib/ontomde-core/customERB.rb +1 -1
  10. data/lib/ontomde-core/custom_method_missing.rb +6 -6
  11. data/lib/ontomde-core/fileLoader.rb +49 -34
  12. data/lib/ontomde-core/fileTypes.rb +10 -10
  13. data/lib/ontomde-core/helper.rb +46 -21
  14. data/lib/ontomde-core/inspector.rb +2 -2
  15. data/lib/ontomde-core/log.rb +1 -1
  16. data/lib/ontomde-core/meta.rb +15 -15
  17. data/lib/ontomde-core/resource.rb +12 -10
  18. data/lib/ontomde-core/resourceSet.rb +3 -1
  19. data/lib/ontomde-core/triplet.rb +2 -0
  20. data/lib/ontomde-core/version.rb +1 -1
  21. metadata +8 -9
  22. data/lib/ontomde-core/inspector/rails/vendor/plugins/auto_complete/README +0 -23
  23. data/lib/ontomde-core/inspector/rails/vendor/plugins/auto_complete/Rakefile +0 -22
  24. data/lib/ontomde-core/inspector/rails/vendor/plugins/auto_complete/init.rb +0 -2
  25. data/lib/ontomde-core/inspector/rails/vendor/plugins/auto_complete/lib/auto_complete.rb +0 -47
  26. data/lib/ontomde-core/inspector/rails/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb +0 -143
  27. data/lib/ontomde-core/inspector/rails/vendor/plugins/auto_complete/test/auto_complete_test.rb +0 -67
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:uml="http://schema.omg.org/spec/UML/2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://uml/2#">
3
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
4
+
5
+
6
+ <xsl:template match="*|@*">
7
+ <xsl:copy>
8
+ <xsl:apply-templates select="@*"/>
9
+ <xsl:apply-templates select="node()"/>
10
+ </xsl:copy>
11
+ </xsl:template>
12
+ <xsl:template match="@rdf:about[starts-with(.,'EA')]">
13
+ <xsl:attribute name="rdf:about">
14
+ <xsl:value-of select="concat('http://EA#',.)"/>
15
+ </xsl:attribute>
16
+ </xsl:template>
17
+ <xsl:template match="@rdf:resource[starts-with(.,'EA')]">
18
+ <xsl:attribute name="rdf:resource">
19
+ <xsl:value-of select="concat('http://EA#',.)"/>
20
+ </xsl:attribute>
21
+ </xsl:template>
22
+
23
+
24
+ </xsl:stylesheet>
@@ -1,7 +1,7 @@
1
1
 
2
2
  class Crdf_Ressource
3
3
  def loadTPL(name)
4
- tpl=""
4
+ tpl=''
5
5
  File.open(name) { |f|
6
6
  f.each { |l|
7
7
  tpl=tpl+l
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  def method_missing(methId,args=nil)
9
- objinfo="-"
9
+ objinfo='-'
10
10
  if self.kind_of?(Mrdf_Resource)
11
11
  objinfo= <<END
12
12
  **** For ressource of type #{self.class.name}
@@ -17,12 +17,12 @@ def method_missing(methId,args=nil)
17
17
  END
18
18
  end
19
19
 
20
- msg=respond_to?(:rdf_uri) ? "#{rdf_uri}" : "nil"
20
+ msg=respond_to?(:rdf_uri) ? "#{rdf_uri}" : 'nil'
21
21
  log.error { "method #{methId} not available for object of class #{self.class.name}, (uri=#{msg})(to_s=#{self}) #{objinfo}" }
22
22
 
23
23
 
24
24
 
25
- if msg=="ukb_null"
25
+ if msg=='ukb_null'
26
26
  log.error { <<END
27
27
  ********** INVALID MODEL DETECTED **********
28
28
  ********** INVALID MODEL DETECTED **********
@@ -46,7 +46,7 @@ END
46
46
  end
47
47
 
48
48
  log.debug {
49
- msg=""
49
+ msg=''
50
50
  self.methods.sort{|a,b| a<=>b}.each {|m|
51
51
  msg="#{msg}, #{m}"
52
52
  }
@@ -58,10 +58,10 @@ END
58
58
  #self.included_modules.each { |m|
59
59
  # #puts "include #{m}"
60
60
  # }
61
- puts "end of custom method_missing"
61
+ puts 'end of custom method_missing'
62
62
  #TODO: l'appel au stock method_missing genere des temps de traitements infinis. (cpu a 100%, conso memoire enorme)
63
63
  #super
64
- puts "exiting"
64
+ puts 'exiting'
65
65
  throw NoMethodError.new("method missing '#{methId}' for object '#{self.class.name}'",methId,args)
66
66
  #exit
67
67
  end
@@ -13,7 +13,7 @@ class NTripleFile < NTriple
13
13
  def line=(_line)
14
14
  @line=_line
15
15
  @about_uri=@predicat_uri=@value_uri=@value_litteral=nil
16
- @split=@line.split(" ",3)
16
+ @split=@line.split(' ',3)
17
17
  end
18
18
 
19
19
  def about_uri
@@ -38,7 +38,7 @@ class NTripleFile < NTriple
38
38
  #(A File should not mix CR/LF lines with CR lines)
39
39
  def lineOffset
40
40
  return @litOffset unless @litOffset.nil?
41
- i=@split[2].rindex(".")
41
+ i=@split[2].rindex('.')
42
42
  l=@split[2].length
43
43
  @litOffset=l-i+3
44
44
  return @litOffset
@@ -48,7 +48,7 @@ class NTripleFile < NTriple
48
48
  case @split[2][0]
49
49
  when 60 then return true
50
50
  when 34 then return false
51
- else raise Warning.new,"Bad ntriple detected"
51
+ else raise Warning.new,'Bad ntriple detected'
52
52
  end
53
53
  end
54
54
 
@@ -64,20 +64,20 @@ class NTripleFile < NTriple
64
64
  end
65
65
 
66
66
  module Mrdf_Repository
67
- def loadMetaModelFromFile(fileName,ignoreHeader=true)
67
+ def loadMetaModelFromFile(fileName,ignoreHeader=true,failOnWarn=false)
68
68
  @updateCount=@updateCount+1
69
- raise Exception.new("nil fileName passed to loadMetaModelFromFile") if fileName.nil?
70
- m=fileName+".rb"
69
+ raise Exception.new('nil fileName passed to loadMetaModelFromFile') if fileName.nil?
70
+ m=fileName+'.rb'
71
71
  #log.debug "m=#{m}"
72
72
  #TODO: cacheMetaModelFile forced to false
73
73
  # because range handling broke it
74
74
  if( context[:cacheMetaModelFile,false] && File.exists?(m) && File.mtime(m) > File.mtime(fileName) )
75
75
  log.debug "Using cache in #{m}"
76
76
  require(m)
77
- loadModelFromFile(fileName,ignoreHeader)
77
+ loadModelFromFile(fileName,ignoreHeader,failOnWarn)
78
78
  else
79
79
  log.debug "Generating cache in #{m}"
80
- loadModelFromFile(fileName,ignoreHeader)
80
+ loadModelFromFile(fileName,ignoreHeader,failOnWarn)
81
81
  self.generateClassesFromMetamodel(m)
82
82
  end
83
83
  end
@@ -93,15 +93,15 @@ module Mrdf_Repository
93
93
  # loadModelFromFile("MyUmlModelFile.nt")
94
94
  # loadModelFromFile("MyDslModelFile.nt")
95
95
  # loadModelFromFile("MyDslModelFile.xml")
96
- def loadModelFromFile (srcFileName,ignoreHeader=true)
96
+ def loadModelFromFile (srcFileName,ignoreHeader=true,failOnWarn=false)
97
97
  #Converts from RDF/XML to RDF/NT when needed.
98
98
  fileName=translateToNt(srcFileName)
99
99
 
100
100
  @updateCount=@updateCount+1
101
101
  [MODE_parseModelStream_CREATE_INSTANCES,MODE_parseModelStream_POPULATE_FIELDS].each { |modeData|
102
102
  begin
103
- File.open(fileName,"r") { |aFile|
104
- parseModelStream(aFile,modeData,ignoreHeader)
103
+ File.open(fileName,'r') { |aFile|
104
+ parseModelStream(aFile,modeData,ignoreHeader,failOnWarn)
105
105
  }
106
106
  rescue Exception => e
107
107
  raise Exception.new(e.message+"ERROR *** current file is: \"#{fileName}\"\nERROR ***\n")
@@ -119,7 +119,7 @@ module Mrdf_Repository
119
119
  MODE_parseModelStream_POPULATE_FIELDS=!MODE_parseModelStream_CREATE_INSTANCES
120
120
 
121
121
  #Populate model objects and fields from RDF stream.
122
- def parseModelStream(stream,modeData,ignoreHeader=false)
122
+ def parseModelStream(stream,modeData,ignoreHeader=false,failOnWarn=false)
123
123
  aFile=stream
124
124
  i=0
125
125
  nt=NTripleFile.new()
@@ -150,6 +150,7 @@ module Mrdf_Repository
150
150
  Crdf_Resource.new(self,z.uri)
151
151
  #parse(nt.line,modeData)
152
152
  i=i-1
153
+ raise z if failOnWarn
153
154
  retry
154
155
  rescue Warning => w
155
156
  log.error "WARNING ["+(modeData ? "data":"res")+" :line "+i.to_s+", "+w.to_s+"]:"+nt.line
@@ -158,21 +159,21 @@ module Mrdf_Repository
158
159
  }
159
160
  end
160
161
 
161
- PLATFORM_IS_JAVA=!(RUBY_PLATFORM.index("java").nil?)
162
- OS_IS_WINDOWS=!(ENV['OS'].nil? ? true : ENV['OS'].index("Windows").nil?)
162
+ PLATFORM_IS_JAVA=!(RUBY_PLATFORM.index('java').nil?)
163
+ OS_IS_WINDOWS=!(ENV['OS'].nil? ? true : ENV['OS'].index('Windows').nil?)
163
164
 
164
- puts(%{O/S detected: #{OS_IS_WINDOWS ? "WINDOWS" : "*nix"}})
165
- puts(%{Ruby platform detected: #{PLATFORM_IS_JAVA ? "Java" : "C"}})
165
+ puts(%{O/S detected: #{OS_IS_WINDOWS ? 'WINDOWS' : '*nix'}})
166
+ puts(%{Ruby platform detected: #{PLATFORM_IS_JAVA ? 'Java' : 'C'}})
166
167
 
167
168
  def rapperRun(param)
168
169
  if ! OS_IS_WINDOWS
169
170
  #we are not under windows
170
171
  #built in rapper cannot be used (it is for windows)
171
172
  #we use rapper available in path.
172
- cmd="rapper "+param
173
+ cmd='rapper '+param
173
174
  elsif PLATFORM_IS_JAVA
174
175
  #We are under windows but under jruby
175
- cmd=::Mrdf_Model::WIN_PATH_RAPPER+" "+param
176
+ cmd=::Mrdf_Model::WIN_PATH_RAPPER+' '+param
176
177
  else
177
178
  #We are under windows but under Matz Ruby Implementation (MRI)
178
179
  cmd='"'+::Mrdf_Model::WIN_PATH_RAPPER+'"'+param
@@ -180,50 +181,64 @@ module Mrdf_Repository
180
181
  return if system(cmd)
181
182
  msg=<<END
182
183
  ***
183
- *** Error running rapper #{"external " if OS_IS_WINDOWS }binary executable.
184
+ *** Error running rapper #{'external ' if OS_IS_WINDOWS }binary executable.
184
185
  *** #{cmd}
185
- *** #{"UBUNTU user should install raptor-utils package." if !OS_IS_WINDOWS}
186
+ *** #{'UBUNTU user should install raptor-utils package.' if !OS_IS_WINDOWS}
186
187
  ***
187
188
  END
188
189
  raise Exception.new(msg)
189
190
  end
190
191
 
191
192
 
192
- def translateEAXMI_to_NT(eaxmifile)
193
+ def translateEAXMI_to_NT(eaxmifile,ea_version)
193
194
  translatedfile="#{eaxmifile}_tmp.nt"
194
- param="#{eaxmifile} -o #{translatedfile} #{File.dirname(__FILE__)}\\converter-ea\\XMI2RDFS.xslt"
195
+ param1="#{eaxmifile} -o #{translatedfile}_prestep2 #{File.dirname(__FILE__)}\\converter-ea\\#{ea_version}\\XMI2RDFS.xslt"
196
+ #step2 is for getting rid of file://xxx
197
+ param2="#{translatedfile}_prestep2 -o #{translatedfile} #{File.dirname(__FILE__)}\\converter-ea\\#{ea_version}\\XMI2RDFS_step2.xslt"
198
+
195
199
  if ! OS_IS_WINDOWS
196
200
  #we are not under windows
197
201
  #built in rapper cannot be used (it is for windows)
198
202
  #we use rapper available in path.
199
- raise Exception.new("TODO: use xslt under linux")
203
+ raise Exception.new('TODO: use xslt under linux')
200
204
  elsif PLATFORM_IS_JAVA
201
205
  #We are under windows but under jruby
202
- cmd="#{File.dirname(__FILE__)}\\converter-ea\\msxsl.exe "+param.tr('/','\\\\')
206
+ cmd1="#{File.dirname(__FILE__)}\\converter-ea\\msxsl.exe "+param1.tr('/','\\\\')
207
+ cmd2="#{File.dirname(__FILE__)}\\converter-ea\\msxsl.exe "+param2.tr('/','\\\\')
203
208
  else
204
209
  #We are under windows but under Matz Ruby Implementation (MRI)
205
- cmd="#{File.dirname(__FILE__)}\\converter-ea\\msxsl.exe "+param.tr('/','\\\\')
210
+ cmd1="#{File.dirname(__FILE__)}\\converter-ea\\msxsl.exe "+param1.tr('/','\\\\')
211
+ cmd2="#{File.dirname(__FILE__)}\\converter-ea\\msxsl.exe "+param2.tr('/','\\\\')
206
212
  end
207
- return translateXMLRDF_to_NT(translatedfile) if system(cmd)
208
- raise Exception.new("\n***\n***Error running command\n***\n***#{cmd}\n***\n")
213
+ puts " :starting Enterprise Architect XMI conversion using msxml"
214
+ [cmd1,cmd2].each { |cmd|
215
+ ret=system(cmd)
216
+ raise Exception.new("\n***\n***Error running command\n***\n***#{cmd}\n***Please check that no msxml process is running in background\n***\n") unless ret
217
+ }
218
+ puts " :done with Enterprise Architect file conversion"
219
+ return translateXMLRDF_to_NT(translatedfile)
209
220
  end
210
221
 
211
222
  #returns a filename containing a ntriple version of file in srcfilename.
212
223
  def translateToNt(srcFileName)
213
224
  return translateXMLRDF_to_NT(srcFileName) if (srcFileName=~/\.rdfs*$/ )
214
- return translateEAXMI_to_NT(srcFileName) if (srcFileName=~/\.ea\.xmi*$/ )
225
+ return translateEAXMI_to_NT(srcFileName,'7_5_843') if (srcFileName=~/\.ea7_5_843\.xm[il]*$/)
226
+ return translateEAXMI_to_NT(srcFileName,'7_1_833') if (srcFileName=~/\.ea7_1_833\.xm[il]*$/)
227
+ return translateEAXMI_to_NT(srcFileName,'7_1_829') if (srcFileName=~/\.ea7_1_829\.xm[il]*$/)
215
228
 
216
229
  #no conversion necessary
217
230
  return srcFileName
218
231
  end
219
232
 
220
233
  def translateXMLRDF_to_NT(srcFileName)
221
- fileName="#{srcFileName}.cache.deleteMe.nt"
222
- mtk_addTempFileToDelete(fileName)
223
- if( context[:useTranslateToNtCache,false] && File.exists?(fileName) && File.mtime(fileName) > File.mtime(srcFileName) )
224
- #log.debug "INFO:Using cache in #{fileName}"
234
+ # added version number to avoid cache reuse when upgrading
235
+ fileName="#{srcFileName}.#{Ontomde::Core::VERSION}.cache.deleteMe.nt"
236
+ useCache=context[:useTranslateToNtCache,true]
237
+ mtk_addTempFileToDelete(fileName) unless useCache
238
+ if( useCache && File.exists?(fileName) && File.mtime(fileName) > File.mtime(srcFileName) )
239
+ puts "INFO:Using cache in #{fileName}"
225
240
  else
226
- raise "white space in rdf file names not supported under windows" if fileName.include?(" ")
241
+ raise 'white space in rdf file names not supported under windows' if fileName.include?(' ')
227
242
  if !OS_IS_WINDOWS
228
243
  param=' -q -o ntriples -i rdfxml '+srcFileName+' > '+fileName
229
244
  else
@@ -235,7 +250,7 @@ END
235
250
  end
236
251
 
237
252
  def translateToXML(srcFileName,fileName)
238
- raise "Blanc dans nom de fichier non supportes sous windows" if fileName.include?(" ") || srcFileName.include?(" ")
253
+ raise 'Blanc dans nom de fichier non supportes sous windows' if fileName.include?(' ') || srcFileName.include?(' ')
239
254
  if !OS_IS_WINDOWS
240
255
  param=' -q -i ntriples -o rdfxml '+srcFileName+' > '+fileName+''
241
256
  else
@@ -10,10 +10,10 @@ class FileType
10
10
  @@types[type]=self
11
11
  end
12
12
  def writeComment(str,writer)
13
- raise Warning.new(), "Internal error. Undefined method"
13
+ raise Warning.new(), 'Internal error. Undefined method'
14
14
  end
15
15
  def beginMarker(str,id)
16
- raise Warning.new(), "Internal error. Undefined method"
16
+ raise Warning.new(), 'Internal error. Undefined method'
17
17
  end
18
18
 
19
19
  #marker placeholder
@@ -22,7 +22,7 @@ class FileType
22
22
  return "\n"
23
23
  end
24
24
  def endMarker(str)
25
- raise Warning.new(), "Internal error. Undefined method"
25
+ raise Warning.new(), 'Internal error. Undefined method'
26
26
  end
27
27
 
28
28
  #marker placeholder
@@ -50,7 +50,7 @@ end
50
50
 
51
51
  class FileTypeJava < FileType
52
52
  include Singleton
53
- def initialize(ext=".java")
53
+ def initialize(ext='.java')
54
54
  super(ext)
55
55
  @re_begin=Regexp.new(/^[ \t]*\/\*[ _]*XMDA[ _]BEGIN[ _]+reverse="(.*)"[ _]uri="(.*)"[ _]*\*\//)
56
56
  @re_end=Regexp.new(/^[ \t]*\/\*[ _]*XMDA[ _]END[ _]+uri="(.*)"[ _]*\*\//)
@@ -61,7 +61,7 @@ class FileTypeJava < FileType
61
61
  def thinLineComment
62
62
  #return context[:thinLineComment,true] ? ('_'*60) : ''
63
63
  #return "_____________________________________________________________________________________________________________________________________________"
64
- return ""
64
+ return ''
65
65
  end
66
66
  def beginMarker(uri,reverse)
67
67
  return %{\n/*XMDA_BEGIN_reverse="#{reverse ? 'yes':'no'}"_#{thinLineComment}uri="#{uri}"_*/\n}
@@ -76,7 +76,7 @@ FileTypeJava.instance # register
76
76
  class FileTypeXML < FileType
77
77
  # a character that can not exist in a URI
78
78
  URI_ESCAPE_CHAR_ONE='°'
79
- def initialize(ext=".xml")
79
+ def initialize(ext='.xml')
80
80
  super(ext)
81
81
  @re_begin=/^[ \t]*<\!-- *XMDA BEGIN +reverse="([^"]*)" uri="([^"]*)" *-->/
82
82
  @re_end=/^[ \t]*<\!-- *XMDA END +uri="([^"]*)" *-->/
@@ -100,14 +100,14 @@ end
100
100
  FileTypeXML.instance # register
101
101
 
102
102
  class FileTypeXSD < FileTypeXML
103
- def initialize(ext=".xsd")
103
+ def initialize(ext='.xsd')
104
104
  super
105
105
  end
106
106
  end
107
107
  FileTypeXSD.instance # register
108
108
 
109
109
  class FileTypeJavaProperties < FileType
110
- def initialize(ext=".properties")
110
+ def initialize(ext='.properties')
111
111
  super(ext)
112
112
  @re_begin=/^[ \t]*#[_ ]*XMDA_BEGIN_reverse="([^"]*)"_uri="([^"]*)"[ _]*$/
113
113
  @re_end=/^[ \t]*#[ _]*XMDA_END_uri="([^"]*)"[ _]*$/
@@ -129,7 +129,7 @@ FileTypeJavaProperties.instance # register
129
129
 
130
130
  class FileTypeJSP < FileType
131
131
  include Singleton
132
- def initialize(ext=".jsp")
132
+ def initialize(ext='.jsp')
133
133
  super(ext)
134
134
  @re_begin=Regexp.new(/^[ \t]*<%--*[ _]*XMDA[ _]BEGIN[ _]*reverse="(.*)"[ _]uri="(.*)"[ _]*--%>/)
135
135
  @re_end=Regexp.new(/^[ \t]*<%--[ _]*XMDA[ _]END[ _]*uri="(.*)"[ _]*--%>/)
@@ -140,7 +140,7 @@ class FileTypeJSP < FileType
140
140
  def thinLineComment
141
141
  #return context[:thinLineComment,true] ? ('_'*60) : ''
142
142
  #return "_____________________________________________________________________________________________________________________________________________"
143
- return ""
143
+ return ''
144
144
  end
145
145
  def beginMarker(uri,reverse)
146
146
  return %{\n<%--_XMDA_BEGIN_reverse="#{reverse ? 'yes':'no'}"_#{thinLineComment}uri="#{uri}"_--%>\n}
@@ -89,7 +89,7 @@ module Mmtk_helper
89
89
  end
90
90
 
91
91
  #mtk_writeSession temporary file suffix.
92
- TEMP_FILE_SUFFIX=".xmda_toolkit_temporary"
92
+ TEMP_FILE_SUFFIX='.xmda_toolkit_temporary'
93
93
 
94
94
  @@max_file_logged=30
95
95
 
@@ -123,7 +123,7 @@ module Mmtk_helper
123
123
 
124
124
  #if a file exist named fileName.mda, then write to this
125
125
  #file instead of fileName
126
- divert=fileName+".mda"
126
+ divert=fileName+'.mda'
127
127
  if (File.exists?(divert))
128
128
  fileType=FileType.getFileType(fileName) if fileType.nil?
129
129
  fileName=divert
@@ -160,8 +160,8 @@ module Mmtk_helper
160
160
  unusedData=protectedReverse.unusedData
161
161
  if(!unusedData.nil?)
162
162
  log.info { "warning: saved code appended to #{fileName}.mtk_save" }
163
- msg=""
164
- File.open(fileName+".mtk_save",File::CREAT|File::APPEND|File::RDWR, 0644) { |file|
163
+ msg=''
164
+ File.open(fileName+'.mtk_save',File::CREAT|File::APPEND|File::RDWR, 0644) { |file|
165
165
  unusedData.each {|k|
166
166
  msg=msg+%{\n ** uri="#{k}"}
167
167
  file.write <<END
@@ -198,7 +198,7 @@ You must take the appropriate actions before re-running generator.
198
198
  ***************************************************************
199
199
  }}
200
200
  #exit(1)
201
- raise Exception.new("potential code loss detected")
201
+ raise Exception.new('potential code loss detected')
202
202
  end
203
203
 
204
204
  end
@@ -216,7 +216,7 @@ You must take the appropriate actions before re-running generator.
216
216
  # We just wait a few seconds and try again.
217
217
  #raise IOException.new(),"KO" if retryCount<2
218
218
  File.rename(fileName+TEMP_FILE_SUFFIX,fileName)
219
- puts "Retry succeeded." if retryCount>0
219
+ puts 'Retry succeeded.' if retryCount>0
220
220
  break # exit while
221
221
  rescue => e
222
222
  retryCount=retryCount+1
@@ -286,10 +286,20 @@ You must take the appropriate actions before re-running generator.
286
286
  #
287
287
  #EXAMPLE.
288
288
  # encloseWrite("<title>","</title>") { write "Today news" }
289
- def encloseWrite(beforeStr,afterStr,&middleBlock)
290
- write(beforeStr.to_s)
291
- yield
292
- write(afterStr.to_s)
289
+ def encloseWrite(beforeStr,afterStr,stealth=false,&middleBlock)
290
+ if(stealth)
291
+ s=mtk_stss { yield }
292
+ return false if s.nil? || s.empty?
293
+ write(beforeStr.to_s)
294
+ write(s)
295
+ write(afterStr.to_s)
296
+ return true
297
+ else
298
+ write(beforeStr.to_s)
299
+ yield
300
+ write(afterStr.to_s)
301
+ return nil
302
+ end
293
303
  end
294
304
 
295
305
  # Write string to the current file opened by mtk_writeSession.
@@ -339,7 +349,16 @@ END
339
349
  if context[:hasGlobalReverse,false]
340
350
  if context[:globalReverseFile]!=fileName
341
351
  return true if context[:reversedFiles].include?(File.basename(fileName))
342
- raise Warning.new,"#{fileName} hasn't been reverse although this file exist !" if mtk_shouldAlreadyBeenReversed(fileName)
352
+ if mtk_shouldAlreadyBeenReversed(fileName)
353
+ msg=<<END
354
+
355
+ FILENAME="#{fileName}" File.exists?=#{File.exists?(fileName)}
356
+ $FILENAME should have been reversed by batch reverse process and it has not.
357
+ This may be caused by an internal error or a platform limitation.
358
+ You should know that there is a length limit for paths and your fileName is #{fileName.length} character long. You may consider reducing packages depths and shortening names for reducing global fileName length.
359
+ END
360
+ raise Warning.new,msg
361
+ end
343
362
  else
344
363
  globalFile=true
345
364
  endFilesName=false
@@ -360,13 +379,13 @@ END
360
379
 
361
380
  if globalFile && !endFilesExtension
362
381
  if !endFilesName
363
- if line.include?("End_Files_Name")
382
+ if line.include?('End_Files_Name')
364
383
  endFilesName=true
365
384
  else
366
385
  context[:reversedFiles].concat(line[0,line.size-1].split(','))
367
386
  end
368
387
  else
369
- if line.include?("End_Files_Extension")
388
+ if line.include?('End_Files_Extension')
370
389
  endFilesExtension=true
371
390
  else
372
391
  context[:requireReverseExtensions].concat(line[0,line.size-1].split(','))
@@ -422,7 +441,7 @@ ENDERRORMSG
422
441
  qualified_block_uri=block_uri
423
442
  context[:reverseGlobalMap][qualified_block_uri]=buffer
424
443
  end
425
- open("reverse.log","a") {|r|
444
+ open('reverse.log','a') {|r|
426
445
  r.write("\n### reverse #{qualified_block_uri}\n")
427
446
  r.write( "#{buffer} #{buffer.length}")
428
447
  } #unless context[:logFileReverse].nil?
@@ -494,15 +513,17 @@ module Mmtk_helper #_Resource
494
513
  # }
495
514
  def mtk_protected(initialReverseMode=false,zoneId='0',noMarker=false, &block)
496
515
  #mbu=mtk_block_uri
497
- raise Exception.new("Bad parameter") if initialReverseMode!=false && initialReverseMode!=true
516
+ raise Exception.new('Bad parameter') if initialReverseMode!=false && initialReverseMode!=true
498
517
  mbu="#{rdf_uri}__#{zoneId}"
499
518
  qualified_uri=rdf_Repository.mtk_qualifyBlockURI(mbu)
500
519
 
501
520
  fileType=context[:protectedReverse].fileType
502
521
 
503
- str=context[:protectedReverse][qualified_uri]
522
+ str=nil
504
523
  if context[:hasGlobalReverse,false]
505
524
  str=context[:reverseGlobalMap][qualified_uri]
525
+ else
526
+ str=context[:protectedReverse][qualified_uri]
506
527
  end
507
528
 
508
529
  reverse= (!str.nil?) || initialReverseMode
@@ -557,7 +578,7 @@ module Mmtk_helper #_Resource
557
578
 
558
579
  def mtk_annotation(initialReverseMode=false,zonesId=['annotations'],noMarker=false)
559
580
  #mbu=mtk_block_uri
560
- raise Exception.new("Bad parameter") if initialReverseMode!=false && initialReverseMode!=true
581
+ raise Exception.new('Bad parameter') if initialReverseMode!=false && initialReverseMode!=true
561
582
 
562
583
  if !noMarker
563
584
  revAnno=''
@@ -580,14 +601,18 @@ module Mmtk_helper #_Resource
580
601
  if reverse
581
602
  nothingReverse = false
582
603
  revAnno+=del
583
- del=','
604
+ del=', '
584
605
  if zone=='0'
585
606
  revAnno+='code'
586
607
  else
587
608
  if zone=='annoparam0'
588
609
  revAnno+='anno_param'
589
610
  else
590
- revAnno+=zone
611
+ if zone=='custom_code'
612
+ revAnno+='custom'
613
+ else
614
+ revAnno+=zone
615
+ end
591
616
  end
592
617
  end
593
618
  end
@@ -596,8 +621,8 @@ module Mmtk_helper #_Resource
596
621
  if nothingReverse then
597
622
  revAnno = 'nothing'
598
623
  end
599
-
600
- write("@OntoMDE(reverse={#{revAnno}},uri=\"#{rdf_uri}\")\n")
624
+ write("\t") # good for methods and attributes
625
+ write("@OntoMDE(reverse = { #{revAnno} }, uri = \"#{rdf_uri}\")\n")
601
626
  end
602
627
  end
603
628
 
@@ -14,8 +14,8 @@ module Mrdf_Repository
14
14
 
15
15
  set_model_for_inspector(self)
16
16
  Dir.chdir(File.dirname(__FILE__))
17
- Dir.chdir("inspector/rails")
18
- load("script/server")
17
+ Dir.chdir('inspector/rails')
18
+ load('script/server')
19
19
  end
20
20
  end
21
21
 
@@ -13,7 +13,7 @@ class Object
13
13
  #@@log.level = Logger::DEBUG
14
14
  @@log.level = Logger::INFO
15
15
  #@@log.datetime_format="%H:%M:%S"
16
- @@log.datetime_format=""
16
+ @@log.datetime_format=''
17
17
 
18
18
  def log
19
19
  @@log
@@ -1,15 +1,15 @@
1
1
 
2
2
  #require "ontomde-core/exceptions.rb"
3
- require "singleton"
3
+ require 'singleton'
4
4
 
5
5
  # Helper methods to handle rdf ressources as object.
6
6
  module IteratorOrSingleElement
7
7
  def to_s
8
- r=""
9
- sep=""
8
+ r=''
9
+ sep=''
10
10
  self.each{ |elt|
11
11
  r=r+sep+(elt.to_s)
12
- sep=" "
12
+ sep=' '
13
13
  }
14
14
  return r
15
15
  end
@@ -21,7 +21,7 @@ module IteratorOrSingleElement
21
21
  return super(array)
22
22
  end
23
23
 
24
- STRING_TO_BOOLEAN_HASH={ "false" => false, "true" => true}
24
+ STRING_TO_BOOLEAN_HASH={ 'false' => false, 'true' => true}
25
25
  def other_implem_isTrue?
26
26
  return false if length==0
27
27
  raise Warning.new,"bad data for isTrue?(length=#{length}>1)" if length>1
@@ -33,8 +33,8 @@ module IteratorOrSingleElement
33
33
  #return false if length==0
34
34
  return false if empty?
35
35
  raise Warning.new,"bad data for isTrue?(length=#{length}>1)" if length>1
36
- return false if self[0]=="false"
37
- return true if self[0]=="true"
36
+ return false if self[0]=='false'
37
+ return true if self[0]=='true'
38
38
  raise Warning.new,"bad data for isTrue?(#{self[0]})" if length>1
39
39
 
40
40
  end
@@ -89,7 +89,7 @@ class ArrayOrSingleElementEmpty #< ArrayOrSingleElement
89
89
 
90
90
  # returns ""
91
91
  def to_s
92
- return ""
92
+ return ''
93
93
  end
94
94
 
95
95
  #return true
@@ -273,12 +273,12 @@ END
273
273
  }
274
274
 
275
275
 
276
- range_array="["; sep=""
276
+ range_array='['; sep=''
277
277
  range.each { |r|
278
278
  range_array+=sep+r.name #.getRubyModuleName
279
- sep=","
279
+ sep=','
280
280
  }
281
- range_array+="]"
281
+ range_array+=']'
282
282
 
283
283
  if (true)
284
284
  ret << %{def #{sym_short}_typeOk?(val)
@@ -307,7 +307,7 @@ END
307
307
  return rdf_getter_one(@#{sym},false,:#{sym_short})
308
308
  end}
309
309
 
310
- inv=(sym_short.to_s=="ext_isReferencedBy") ? "" : "item.ext_isReferencedBy_add(self) if item.respond_to?(:ext_isReferencedBy_add) "
310
+ inv=(sym_short.to_s=='ext_isReferencedBy') ? '' : 'item.ext_isReferencedBy_add(self) if item.respond_to?(:ext_isReferencedBy_add) '
311
311
 
312
312
  ret << %{def #{sym_short}=(v)
313
313
  if v.nil?
@@ -348,10 +348,10 @@ end
348
348
 
349
349
  module Mrdf_Repository
350
350
  def mtk_object_message
351
- return ""
351
+ return ''
352
352
  end
353
353
  def mtk_related_message
354
- return ""
354
+ return ''
355
355
  end
356
356
  end
357
357
 
@@ -368,7 +368,7 @@ END
368
368
  #return a string describing object related to this object
369
369
  #(used for error log messages)
370
370
  def mtk_related_message
371
- related=""
371
+ related=''
372
372
  ext_isReferencedBy.each { |g|
373
373
  related=related+"** (#{g.class.name}) #{g}\n"
374
374
  }