wirispluginengine 3.62.0.1322 → 7.14.0.1422
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.
- checksums.yaml +4 -4
- data/Rakefile +34 -34
- data/app/assets/javascripts/wirispluginengine/WIRISplugins.js +1040 -64
- data/app/controllers/wirispluginengine/application_controller.rb +84 -75
- data/app/helpers/wirispluginengine/application_helper.rb +4 -4
- data/config/routes.rb +4 -4
- data/lib/com/wiris/common/WInteger.rb +52 -51
- data/lib/com/wiris/plugin/api/Cas.rb +5 -5
- data/lib/com/wiris/plugin/api/CleanCache.rb +5 -5
- data/lib/com/wiris/plugin/api/Configuration.rb +5 -5
- data/lib/com/wiris/plugin/api/ConfigurationKeys.rb +94 -91
- data/lib/com/wiris/plugin/api/Editor.rb +5 -5
- data/lib/com/wiris/plugin/api/Filter.rb +5 -5
- data/lib/com/wiris/plugin/api/ImageFormatController.rb +5 -5
- data/lib/com/wiris/plugin/api/ParamsProvider.rb +5 -5
- data/lib/com/wiris/plugin/api/PluginBuilder.rb +88 -74
- data/lib/com/wiris/plugin/api/Render.rb +5 -5
- data/lib/com/wiris/plugin/api/ServiceResourceLoader.rb +5 -5
- data/lib/com/wiris/plugin/api/Test.rb +5 -5
- data/lib/com/wiris/plugin/api/TextService.rb +5 -5
- data/lib/com/wiris/plugin/configuration/ConfigurationUpdater.rb +5 -5
- data/lib/com/wiris/plugin/impl/CacheFormulaImpl.rb +15 -0
- data/lib/com/wiris/plugin/impl/CacheImpl.rb +124 -0
- data/lib/com/wiris/plugin/impl/CasImpl.rb +140 -138
- data/lib/com/wiris/plugin/impl/CleanCacheImpl.rb +103 -101
- data/lib/com/wiris/plugin/impl/ConfigurationImpl.rb +165 -166
- data/lib/com/wiris/plugin/impl/CustomConfigurationUpdater.rb +32 -30
- data/lib/com/wiris/plugin/impl/DefaultConfigurationUpdater.rb +24 -22
- data/lib/com/wiris/plugin/impl/EditorImpl.rb +80 -78
- data/lib/com/wiris/plugin/impl/FileConfigurationUpdater.rb +29 -27
- data/lib/com/wiris/plugin/impl/FileStorageAndCache.rb +55 -53
- data/lib/com/wiris/plugin/impl/FolderTreeStorageAndCache.rb +65 -134
- data/lib/com/wiris/plugin/impl/GenericParamsProviderImpl.rb +50 -48
- data/lib/com/wiris/plugin/impl/HttpImpl.rb +49 -48
- data/lib/com/wiris/plugin/impl/HttpListener.rb +5 -5
- data/lib/com/wiris/plugin/impl/ImageFormatControllerPng.rb +71 -63
- data/lib/com/wiris/plugin/impl/ImageFormatControllerSvg.rb +37 -28
- data/lib/com/wiris/plugin/impl/PluginBuilderImpl.rb +280 -248
- data/lib/com/wiris/plugin/impl/RenderImpl.rb +303 -257
- data/lib/com/wiris/plugin/impl/ServiceResourceLoaderImpl.rb +41 -39
- data/lib/com/wiris/plugin/impl/TestImpl.rb +177 -157
- data/lib/com/wiris/plugin/impl/TextFilter.rb +210 -194
- data/lib/com/wiris/plugin/impl/TextFilterTags.rb +57 -50
- data/lib/com/wiris/plugin/impl/TextServiceImpl.rb +158 -107
- data/lib/com/wiris/plugin/storage/StorageAndCache.rb +5 -5
- data/lib/com/wiris/util/json/JSon.rb +505 -493
- data/lib/com/wiris/util/json/JSonIntegerFormat.rb +17 -16
- data/lib/com/wiris/util/json/JsonAPIResponse.rb +70 -0
- data/lib/com/wiris/util/json/StringParser.rb +57 -56
- data/lib/com/wiris/util/sys/AccessProvider.rb +8 -0
- data/lib/com/wiris/util/sys/Cache.rb +8 -0
- data/lib/com/wiris/util/sys/HttpConnection.rb +14 -13
- data/lib/com/wiris/util/sys/HttpConnectionListener.rb +5 -5
- data/lib/com/wiris/util/sys/HttpSync.rb +28 -0
- data/lib/com/wiris/util/sys/IniFile.rb +132 -131
- data/lib/com/wiris/util/sys/Lock.rb +8 -0
- data/lib/com/wiris/util/sys/LockProvider.rb +8 -0
- data/lib/com/wiris/util/sys/Store.rb +126 -101
- data/lib/com/wiris/util/sys/StoreCache.rb +63 -0
- data/lib/com/wiris/util/sys/TimerProxy.rb +21 -0
- data/lib/com/wiris/util/sys/TimerTask.rb +8 -0
- data/lib/com/wiris/util/type/Arrays.rb +275 -0
- data/lib/com/wiris/util/type/ByteBuffer.rb +69 -0
- data/lib/com/wiris/util/type/Comparator.rb +8 -0
- data/lib/com/wiris/util/type/DataUtils.rb +24 -0
- data/lib/com/wiris/util/type/DoubleTools.rb +14 -0
- data/lib/com/wiris/util/type/HashCache.rb +43 -0
- data/lib/com/wiris/util/type/IntegerTools.rb +32 -0
- data/lib/com/wiris/util/type/Queue.rb +31 -0
- data/lib/com/wiris/util/type/SortArrayByStringLength.rb +26 -0
- data/lib/com/wiris/util/type/SortStringByLength.rb +26 -0
- data/lib/com/wiris/util/type/SortedHash.rb +45 -0
- data/lib/com/wiris/util/type/Stack.rb +31 -0
- data/lib/com/wiris/util/type/StringUtils.rb +56 -0
- data/lib/com/wiris/util/type/Tokenizer.rb +40 -0
- data/lib/com/wiris/util/type/UrlUtils.rb +78 -0
- data/lib/com/wiris/util/xml/ContentHandler.rb +8 -0
- data/lib/com/wiris/util/xml/DefaultHandler.rb +25 -0
- data/lib/com/wiris/util/xml/EntityResolver.rb +8 -0
- data/lib/com/wiris/util/xml/MathMLEntityResolver.rb +19 -0
- data/lib/com/wiris/util/xml/SAXParser.rb +470 -0
- data/lib/com/wiris/util/xml/SerializableImpl.rb +16 -15
- data/lib/com/wiris/util/xml/WCharacterBase.rb +968 -627
- data/lib/com/wiris/util/xml/WEntities.rb +11 -9
- data/lib/com/wiris/util/xml/WXmlUtils.rb +660 -490
- data/lib/com/wiris/util/xml/XmlSerializer.rb +517 -471
- data/lib/com/wiris/util/xml/XmlWriter.rb +260 -262
- data/lib/loader.rb +15 -12
- data/lib/src-generic/Array.rb +22 -22
- data/lib/src-generic/ArrayInt.rb +31 -31
- data/lib/src-generic/Base64.rb +14 -14
- data/lib/src-generic/BaseCode.rb +93 -93
- data/lib/src-generic/Boolean.rb +27 -0
- data/lib/src-generic/Bytes.rb +50 -50
- data/lib/src-generic/BytesInput.rb +37 -37
- data/lib/src-generic/EReg.rb +55 -55
- data/lib/src-generic/File.rb +35 -35
- data/lib/src-generic/FileLock.rb +26 -26
- data/lib/src-generic/FileSystem.rb +37 -37
- data/lib/src-generic/Hash.rb +42 -42
- data/lib/src-generic/Http.rb +111 -107
- data/lib/src-generic/HttpRequest.rb +25 -25
- data/lib/src-generic/HttpResponse.rb +70 -70
- data/lib/src-generic/Iterator.rb +20 -19
- data/lib/src-generic/Math.rb +14 -14
- data/lib/src-generic/Md5.rb +8 -8
- data/lib/src-generic/Md5Tools.rb +11 -11
- data/lib/src-generic/PropertiesTools.rb +32 -32
- data/lib/src-generic/Reflect.rb +16 -16
- data/lib/src-generic/RubyConfigurationUpdater.rb +49 -45
- data/lib/src-generic/Serializer.rb +84 -84
- data/lib/src-generic/Std.rb +74 -74
- data/lib/src-generic/Storage.rb +152 -152
- data/lib/src-generic/StringBuf.rb +40 -40
- data/lib/src-generic/StringTools.rb +44 -46
- data/lib/src-generic/Timer.rb +6 -6
- data/lib/src-generic/Type.rb +18 -18
- data/lib/src-generic/TypeTools.rb +31 -31
- data/lib/src-generic/Unserializer.rb +72 -72
- data/lib/src-generic/Utf8.rb +26 -26
- data/lib/src-generic/Xml.rb +199 -198
- data/lib/src-generic/extended/Integer.rb +5 -5
- data/lib/src-generic/extended/Math.rb +6 -6
- data/lib/src-generic/extended/Properties.rb +11 -11
- data/lib/src-generic/extended/String.rb +38 -38
- data/lib/src-generic/settings/PlatformSettings.rb +18 -18
- data/lib/src-generic/system/HttpProxy.rb +23 -0
- data/lib/src-generic/system/HttpProxyAuth.rb +10 -0
- data/lib/wirispluginengine.rb +5 -5
- data/lib/wirispluginengine/engine.rb +5 -5
- data/lib/wirispluginengine/integration/cleancache.rb +8 -8
- data/lib/wirispluginengine/integration/configurationjs.rb +8 -15
- data/lib/wirispluginengine/integration/configurationjson.rb +6 -6
- data/lib/wirispluginengine/integration/createimage.rb +7 -7
- data/lib/wirispluginengine/integration/getmathml.rb +18 -18
- data/lib/wirispluginengine/integration/resource.rb +8 -8
- data/lib/wirispluginengine/integration/service.rb +5 -5
- data/lib/wirispluginengine/integration/showimage.rb +28 -21
- data/lib/wirispluginengine/integration/test.rb +5 -5
- data/lib/wirispluginengine/integration/testfilter.rb +10 -0
- data/lib/wirispluginengine/version.rb +2 -2
- data/resources/VERSION +1 -1
- data/resources/WEB-INF/web.xml +25 -0
- data/resources/WIRISplugins.js +3809 -0
- data/resources/default-configuration.ini +47 -45
- data/resources/tech.txt +1 -1
- data/resources/wirisplugin.css +43 -42
- metadata +40 -4
- data/configuration.ini.dist +0 -104
data/lib/src-generic/Storage.rb
CHANGED
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
module Wiris
|
|
2
|
-
class Storage
|
|
3
|
-
TYPE_FILE = 0;
|
|
4
|
-
TYPE_RESOURCE = 1;
|
|
5
|
-
TYPE_URL =2;
|
|
6
|
-
@cls = nil
|
|
7
|
-
@@resourcesDir = nil
|
|
8
|
-
|
|
9
|
-
def type=(type)
|
|
10
|
-
@type = type
|
|
11
|
-
end
|
|
12
|
-
def type
|
|
13
|
-
@type
|
|
14
|
-
end
|
|
15
|
-
def file=(file)
|
|
16
|
-
@file = file
|
|
17
|
-
end
|
|
18
|
-
def file
|
|
19
|
-
@file
|
|
20
|
-
end
|
|
21
|
-
def resourceName
|
|
22
|
-
@resourceName
|
|
23
|
-
end
|
|
24
|
-
def resourceName=(resourceName)
|
|
25
|
-
@resourceName = resourceName
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def location
|
|
29
|
-
@location
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def location=(location)
|
|
33
|
-
@location = location
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def self.resourcesDir=(resourcesDir)
|
|
37
|
-
@@resourcesDir = resourcesDir
|
|
38
|
-
end
|
|
39
|
-
def self.resourcesDir
|
|
40
|
-
@@resourcesDir
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def initialize(location=nil)
|
|
44
|
-
if location != nil
|
|
45
|
-
@location = location
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def self.newStorage(name)
|
|
50
|
-
s = Storage.new(name)
|
|
51
|
-
s.type = TYPE_FILE
|
|
52
|
-
return s
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def self.newStorageWithParent(parent, name)
|
|
56
|
-
s = Storage.new(parent.location)
|
|
57
|
-
s.type = parent.type;
|
|
58
|
-
if (parent.type == TYPE_FILE)
|
|
59
|
-
# @file = File.new(File.join(parent.location, name), "w+")
|
|
60
|
-
# @file.close
|
|
61
|
-
s.location = File.join(parent.location, name)
|
|
62
|
-
elsif (parent.type == TYPE_RESOURCE)
|
|
63
|
-
s.resourceName = parent.resourceName;
|
|
64
|
-
if (s.resourceName.length() > 0 && !s.resourceName.endsWith("/"))
|
|
65
|
-
s.resourceName += "/"
|
|
66
|
-
end
|
|
67
|
-
s.resourceName += name
|
|
68
|
-
elsif (parent.type == TYPE_URL)
|
|
69
|
-
url = Url.new(Url.new(parent.url),name).toExternalForm()
|
|
70
|
-
end
|
|
71
|
-
return s
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def self.newResourceStorage(name)
|
|
75
|
-
s = Storage.new(File.join(getResourcesDir,name))
|
|
76
|
-
s.type = TYPE_RESOURCE
|
|
77
|
-
return s;
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def read()
|
|
81
|
-
return File.read(location)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
def readBinary()
|
|
85
|
-
s = File.binread(location)
|
|
86
|
-
return s.bytes.to_a
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def write(str)
|
|
90
|
-
writeOrAppend(str, false)
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def writeBinary(bs)
|
|
94
|
-
File.open(location, 'wb' ) do |output|
|
|
95
|
-
output.write bs.pack("C*")
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
def writeOrAppend(str, append)
|
|
100
|
-
if (@type == TYPE_RESOURCE)
|
|
101
|
-
notImplemented()
|
|
102
|
-
end
|
|
103
|
-
if (@type == TYPE_URL)
|
|
104
|
-
notImplemented()
|
|
105
|
-
end
|
|
106
|
-
@file = File.new(@location, "w")
|
|
107
|
-
@file.write(str)
|
|
108
|
-
@file.close
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def exists()
|
|
112
|
-
return File.exists?(location)
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
def mkdirs()
|
|
116
|
-
if (@type == TYPE_RESOURCE)
|
|
117
|
-
notImplemented()
|
|
118
|
-
end
|
|
119
|
-
if (@type == TYPE_URL)
|
|
120
|
-
notImplemented()
|
|
121
|
-
end
|
|
122
|
-
Dir.mkdir(@location)
|
|
123
|
-
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def self.getResourcesDir()
|
|
127
|
-
if @@resourcesDir.nil?
|
|
128
|
-
setResourcesDir()
|
|
129
|
-
end
|
|
130
|
-
return @@resourcesDir
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def self.setResourcesDir()
|
|
134
|
-
@@resourcesDir = File.dirname(__FILE__)
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
def notImplemented()
|
|
138
|
-
raise Exception,'Error: Operation not available on this Storage'
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
def toString()
|
|
142
|
-
if type == TYPE_FILE
|
|
143
|
-
return location.to_s
|
|
144
|
-
elsif type == TYPE_RESOURCE
|
|
145
|
-
return resourceName
|
|
146
|
-
elsif type == TYPE_URL
|
|
147
|
-
return url
|
|
148
|
-
else
|
|
149
|
-
return nil
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
end
|
|
1
|
+
module Wiris
|
|
2
|
+
class Storage
|
|
3
|
+
TYPE_FILE = 0;
|
|
4
|
+
TYPE_RESOURCE = 1;
|
|
5
|
+
TYPE_URL =2;
|
|
6
|
+
@cls = nil
|
|
7
|
+
@@resourcesDir = nil
|
|
8
|
+
|
|
9
|
+
def type=(type)
|
|
10
|
+
@type = type
|
|
11
|
+
end
|
|
12
|
+
def type
|
|
13
|
+
@type
|
|
14
|
+
end
|
|
15
|
+
def file=(file)
|
|
16
|
+
@file = file
|
|
17
|
+
end
|
|
18
|
+
def file
|
|
19
|
+
@file
|
|
20
|
+
end
|
|
21
|
+
def resourceName
|
|
22
|
+
@resourceName
|
|
23
|
+
end
|
|
24
|
+
def resourceName=(resourceName)
|
|
25
|
+
@resourceName = resourceName
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def location
|
|
29
|
+
@location
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def location=(location)
|
|
33
|
+
@location = location
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def self.resourcesDir=(resourcesDir)
|
|
37
|
+
@@resourcesDir = resourcesDir
|
|
38
|
+
end
|
|
39
|
+
def self.resourcesDir
|
|
40
|
+
@@resourcesDir
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def initialize(location=nil)
|
|
44
|
+
if location != nil
|
|
45
|
+
@location = location
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def self.newStorage(name)
|
|
50
|
+
s = Storage.new(name)
|
|
51
|
+
s.type = TYPE_FILE
|
|
52
|
+
return s
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def self.newStorageWithParent(parent, name)
|
|
56
|
+
s = Storage.new(parent.location)
|
|
57
|
+
s.type = parent.type;
|
|
58
|
+
if (parent.type == TYPE_FILE)
|
|
59
|
+
# @file = File.new(File.join(parent.location, name), "w+")
|
|
60
|
+
# @file.close
|
|
61
|
+
s.location = File.join(parent.location, name)
|
|
62
|
+
elsif (parent.type == TYPE_RESOURCE)
|
|
63
|
+
s.resourceName = parent.resourceName;
|
|
64
|
+
if (s.resourceName.length() > 0 && !s.resourceName.endsWith("/"))
|
|
65
|
+
s.resourceName += "/"
|
|
66
|
+
end
|
|
67
|
+
s.resourceName += name
|
|
68
|
+
elsif (parent.type == TYPE_URL)
|
|
69
|
+
url = Url.new(Url.new(parent.url),name).toExternalForm()
|
|
70
|
+
end
|
|
71
|
+
return s
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def self.newResourceStorage(name)
|
|
75
|
+
s = Storage.new(File.join(getResourcesDir,name))
|
|
76
|
+
s.type = TYPE_RESOURCE
|
|
77
|
+
return s;
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def read()
|
|
81
|
+
return File.read(location)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def readBinary()
|
|
85
|
+
s = File.binread(location)
|
|
86
|
+
return s.bytes.to_a
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def write(str)
|
|
90
|
+
writeOrAppend(str, false)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def writeBinary(bs)
|
|
94
|
+
File.open(location, 'wb' ) do |output|
|
|
95
|
+
output.write bs.pack("C*")
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def writeOrAppend(str, append)
|
|
100
|
+
if (@type == TYPE_RESOURCE)
|
|
101
|
+
notImplemented()
|
|
102
|
+
end
|
|
103
|
+
if (@type == TYPE_URL)
|
|
104
|
+
notImplemented()
|
|
105
|
+
end
|
|
106
|
+
@file = File.new(@location, "w")
|
|
107
|
+
@file.write(str)
|
|
108
|
+
@file.close
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def exists()
|
|
112
|
+
return File.exists?(location)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def mkdirs()
|
|
116
|
+
if (@type == TYPE_RESOURCE)
|
|
117
|
+
notImplemented()
|
|
118
|
+
end
|
|
119
|
+
if (@type == TYPE_URL)
|
|
120
|
+
notImplemented()
|
|
121
|
+
end
|
|
122
|
+
Dir.mkdir(@location)
|
|
123
|
+
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def self.getResourcesDir()
|
|
127
|
+
if @@resourcesDir.nil?
|
|
128
|
+
setResourcesDir()
|
|
129
|
+
end
|
|
130
|
+
return @@resourcesDir
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def self.setResourcesDir()
|
|
134
|
+
@@resourcesDir = File.dirname(__FILE__)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def notImplemented()
|
|
138
|
+
raise Exception,'Error: Operation not available on this Storage'
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def toString()
|
|
142
|
+
if type == TYPE_FILE
|
|
143
|
+
return location.to_s
|
|
144
|
+
elsif type == TYPE_RESOURCE
|
|
145
|
+
return resourceName
|
|
146
|
+
elsif type == TYPE_URL
|
|
147
|
+
return url
|
|
148
|
+
else
|
|
149
|
+
return nil
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
153
|
end
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
require 'stringio'
|
|
2
|
-
|
|
3
|
-
module Wiris
|
|
4
|
-
class StringBuf
|
|
5
|
-
@sb
|
|
6
|
-
|
|
7
|
-
def sb
|
|
8
|
-
@sb
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def initialize()
|
|
12
|
-
@sb = StringIO.new('',"a+") # Append mode
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def add(o)
|
|
16
|
-
@sb << o
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def addChar(c)
|
|
20
|
-
@sb << c.chr
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# public void addSub(String s, int pos, int len){
|
|
24
|
-
# sb.append(s, pos, len+pos);
|
|
25
|
-
# }
|
|
26
|
-
|
|
27
|
-
def toString()
|
|
28
|
-
return @sb.string
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def to_s()
|
|
32
|
-
return @sb.string
|
|
33
|
-
end
|
|
34
|
-
# /**
|
|
35
|
-
# * Not for haxe! Only for C#
|
|
36
|
-
# * **/
|
|
37
|
-
# public int length(){
|
|
38
|
-
# return sb.length();
|
|
39
|
-
# }
|
|
40
|
-
end
|
|
1
|
+
require 'stringio'
|
|
2
|
+
|
|
3
|
+
module Wiris
|
|
4
|
+
class StringBuf
|
|
5
|
+
@sb
|
|
6
|
+
|
|
7
|
+
def sb
|
|
8
|
+
@sb
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def initialize()
|
|
12
|
+
@sb = StringIO.new('',"a+") # Append mode
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def add(o)
|
|
16
|
+
@sb << o
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def addChar(c)
|
|
20
|
+
@sb << c.chr
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# public void addSub(String s, int pos, int len){
|
|
24
|
+
# sb.append(s, pos, len+pos);
|
|
25
|
+
# }
|
|
26
|
+
|
|
27
|
+
def toString()
|
|
28
|
+
return @sb.string
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def to_s()
|
|
32
|
+
return @sb.string
|
|
33
|
+
end
|
|
34
|
+
# /**
|
|
35
|
+
# * Not for haxe! Only for C#
|
|
36
|
+
# * **/
|
|
37
|
+
# public int length(){
|
|
38
|
+
# return sb.length();
|
|
39
|
+
# }
|
|
40
|
+
end
|
|
41
41
|
end
|
|
@@ -1,46 +1,44 @@
|
|
|
1
|
-
require '
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
end
|
|
46
|
-
end
|
|
1
|
+
require 'erb'
|
|
2
|
+
require 'uri'
|
|
3
|
+
module Wiris
|
|
4
|
+
class StringTools
|
|
5
|
+
def self.replace(text, target, replacement)
|
|
6
|
+
# Block syntax is used due to if we put 'replacement' as a
|
|
7
|
+
# normal parameter, Ruby interpretes escape characters.
|
|
8
|
+
text = text.gsub(target) { replacement }
|
|
9
|
+
return text
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.startsWith(s, start)
|
|
13
|
+
return s.start_with?(start)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def self.endsWith(s, ends)
|
|
17
|
+
return s.end_with?(ends)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.urlEncode(s)
|
|
21
|
+
return ERB::Util::url_encode(s);
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.urlDecode(s)
|
|
25
|
+
return URI.unescape(s)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.trim(s)
|
|
29
|
+
return s.strip
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.hex(n, digits)
|
|
33
|
+
hex = n.to_s(16).upcase
|
|
34
|
+
while hex.length() < digits
|
|
35
|
+
hex = "0" + hex
|
|
36
|
+
end
|
|
37
|
+
return hex.upcase
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def self.compare(s1,s2)
|
|
41
|
+
return s1<=>s2
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|