ontomde-core 2.0.0 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
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
  }