singleton-client-test 0.7.0.24 → 0.7.0.28

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01244376c6cbad522481b0e2af9886c50d4d8bed128fc02e4879d69a3c70dc10
4
- data.tar.gz: '0638caa9a2d175cf377973b9c08c21f68a2055e52ee59f8fbe77c68fcb540ad1'
3
+ metadata.gz: d56e992042fd4e5633b41c3de989fd805a44978c696dd7b9692da4191e22b4d4
4
+ data.tar.gz: 99bcb2f0d4e6e502f88c90a5ae27a12349e2af35ff8a2356d781e97e57b8af74
5
5
  SHA512:
6
- metadata.gz: 60a8bf5bf936a85807aeb7ba13548109d701da685c0256d3121f742ef896e62b8f6b581c2d9630f74a50dbd556b3d09d26d61cbf05db146196e960c3ab7a3fc8
7
- data.tar.gz: 460895911c399b548a787120b6912ea83dd2937d0f675e386412c5d181337d333adcdab165c30e598104e4af280b1c29cf4f558a3a24fbb1ebe9df5e8b2f0186
6
+ metadata.gz: 8f84668bb050779955dbafbb37dd5e2e41a4d793c18552f3c1a51725e906db03e7a13f098329d36596f71adebedf90159d5cc0a85344f8f0bd3c1bd46ca555c9
7
+ data.tar.gz: 4e5f2b2a430b96ca92bd67c9381bfd043f8808a800da6950e5f2e855f860560e96e43ea6f80ef0f9651138026cda0cf7f6ae1f1b84a77b4ea1d0d5de05c0215d
@@ -7,7 +7,7 @@ module SgtnClient
7
7
 
8
8
  def self.getSource(component, key, locale)
9
9
  cache_key = SgtnClient::CacheUtil.get_cachekey(component, locale)
10
- items = SgtnClient::CacheUtil.get_cache(cache_key)
10
+ expired, items = SgtnClient::CacheUtil.get_cache(cache_key)
11
11
  if items.nil?
12
12
  items = getBundle(component, locale)
13
13
  SgtnClient.logger.debug "Putting sources items into cache with key: " + cache_key
@@ -15,7 +15,7 @@ module SgtnClient
15
15
  else
16
16
  SgtnClient.logger.debug "Getting sources from cache with key: " + cache_key
17
17
  end
18
- s = items[locale][key]
18
+ s = items.nil?? nil : items[locale][key]
19
19
  if items.nil? || s.nil?
20
20
  SgtnClient.logger.debug "Source not found, return key: " + key
21
21
  #return key
@@ -27,8 +27,8 @@ module SgtnClient
27
27
 
28
28
  def self.getSources(component, locale)
29
29
  cache_key = SgtnClient::CacheUtil.get_cachekey(component, locale)
30
- items = SgtnClient::CacheUtil.get_cache(cache_key)
31
- if items.nil?
30
+ expired, items = SgtnClient::CacheUtil.get_cache(cache_key)
31
+ if items.nil? || expired
32
32
  items = getBundle(component, locale)
33
33
  SgtnClient.logger.debug "Putting sources items into cache with key: " + cache_key
34
34
  SgtnClient::CacheUtil.write_cache(cache_key, items)
@@ -15,6 +15,9 @@ module SgtnClient
15
15
  str = getTranslation(component, key, locale)
16
16
  if str.nil?
17
17
  str = SgtnClient::Source.getSource(component, key, SgtnClient::Config.configurations.default)
18
+ if str.nil?
19
+ SgtnClient.logger.error "Can't find the key " + key + " in source path!"
20
+ end
18
21
  end
19
22
  str
20
23
  end
@@ -23,6 +26,10 @@ module SgtnClient
23
26
  str = getTranslation(component, key, locale)
24
27
  if str.nil?
25
28
  str = SgtnClient::Source.getSource(component, key, SgtnClient::Config.configurations.default)
29
+ if str.nil?
30
+ SgtnClient.logger.error "Can't find the key " + key + " in source path!"
31
+ return nil
32
+ end
26
33
  str.to_plural_s(:en, plural_args)
27
34
  else
28
35
  str.to_plural_s(locale, plural_args)
@@ -31,6 +38,9 @@ module SgtnClient
31
38
 
32
39
  def self.getString_f(component, key, args, locale, *optionals)
33
40
  s = getString(component, key, locale, *optionals)
41
+ if s.nil?
42
+ return nil
43
+ end
34
44
  if args.is_a?(Hash)
35
45
  args.each do |source, arg|
36
46
  s.gsub! "{#{source}}", arg
@@ -42,24 +52,19 @@ module SgtnClient
42
52
  end
43
53
 
44
54
  def self.getStrings(component, locale)
45
- flocale = SgtnClient::LocaleUtil.fallback(locale)
46
- cache_key = SgtnClient::CacheUtil.get_cachekey(component, flocale)
47
- items = SgtnClient::CacheUtil.get_cache(cache_key)
48
- if items.nil?
49
- items = getTranslations(component, flocale)
50
- SgtnClient::CacheUtil.write_cache(cache_key, items)
51
- else
52
- SgtnClient.logger.debug "Getting translations from cache with key: " + cache_key
53
- end
54
-
55
+ items = get_cs(component, locale)
55
56
  default = SgtnClient::Config.configurations.default
56
57
  if items.nil? || items["messages"] == nil
57
58
  items = {}
58
59
  s = SgtnClient::Source.getSources(component, default)
59
- default_component, value = s.first
60
- items["component"] = component
61
- items["messages"] = value
62
- items["locale"] = 'source'
60
+ if s.nil?
61
+ SgtnClient.logger.error "Can't find the component " + component + " in source path!"
62
+ else
63
+ default_component, value = s.first
64
+ items["component"] = component
65
+ items["messages"] = value
66
+ items["locale"] = 'source'
67
+ end
63
68
  end
64
69
  return items
65
70
  end
@@ -68,33 +73,44 @@ module SgtnClient
68
73
  private
69
74
 
70
75
  def self.getTranslation(component, key, locale)
71
- flocale = SgtnClient::LocaleUtil.fallback(locale)
72
- cache_key = SgtnClient::CacheUtil.get_cachekey(component, flocale)
73
- items = SgtnClient::CacheUtil.get_cache(cache_key)
74
- if items.nil?
75
- items = getTranslations(component, flocale)
76
- SgtnClient::CacheUtil.write_cache(cache_key, items)
77
- else
78
- SgtnClient.logger.debug "Getting translations from cache with key: " + cache_key
79
- end
76
+ items = get_cs(component, locale)
80
77
  if items.nil? || items["messages"] == nil
81
78
  nil
82
79
  else
83
80
  items["messages"][key]
84
81
  end
85
82
  end
86
-
87
- def self.getTranslations(component, locale)
83
+
84
+ def self.get_cs(component, locale)
85
+ flocale = SgtnClient::LocaleUtil.fallback(locale)
86
+ cache_key = SgtnClient::CacheUtil.get_cachekey(component, flocale)
87
+ expired, items = SgtnClient::CacheUtil.get_cache(cache_key)
88
+ if items.nil? || expired
89
+ items = load(component, flocale)
90
+ if items.nil?
91
+ items = SgtnClient::Source.getSources(component, SgtnClient::Config.configurations.default)
92
+ SgtnClient::Core::Cache.put(cache_key, items, 60)
93
+ else
94
+ SgtnClient::CacheUtil.write_cache(cache_key, items)
95
+ end
96
+ else
97
+ SgtnClient.logger.debug "Getting translations from cache with key: " + cache_key
98
+ end
99
+
100
+ return items
101
+ end
102
+
103
+ def self.load(component, locale)
88
104
  env = SgtnClient::Config.default_environment
89
105
  mode = SgtnClient::Config.configurations[env]["bundle_mode"]
90
106
  if mode == 'offline'
91
- return get_offbundle(component, locale)
107
+ return load_o(component, locale)
92
108
  else
93
- return get_server(component, locale)
109
+ return load_s(component, locale)
94
110
  end
95
111
  end
96
112
 
97
- def self.get_offbundle(component, locale)
113
+ def self.load_o(component, locale)
98
114
  env = SgtnClient::Config.default_environment
99
115
  product_name = SgtnClient::Config.configurations[env]["product_name"]
100
116
  version = SgtnClient::Config.configurations[env]["version"].to_s
@@ -104,7 +120,7 @@ module SgtnClient
104
120
  SgtnClient::FileUtil.read_json(bundlepath)
105
121
  end
106
122
 
107
- def self.get_server(component, locale)
123
+ def self.load_s(component, locale)
108
124
  env = SgtnClient::Config.default_environment
109
125
  product_name = SgtnClient::Config.configurations[env]["product_name"]
110
126
  vip_server = SgtnClient::Config.configurations[env]["vip_server"]
@@ -5,86 +5,95 @@ module SgtnClient::Core
5
5
  Entry = Struct.new(:expiry, :value)
6
6
 
7
7
  def self.initialize(disabled=false, opts={})
8
- $opts = opts
8
+ @@opts = opts
9
9
  @mutex = Mutex.new
10
10
  SgtnClient.logger.debug "Initialize cache......"
11
11
  if disabled == false
12
- $data = Hash.new
12
+ @@data = Hash.new
13
13
  SgtnClient.logger.debug "Cache is enabled!"
14
14
  else
15
+ @@data = nil
15
16
  SgtnClient.logger.debug "Cache is disabled!"
16
17
  end
17
18
  end
18
19
 
19
20
  def self.keys
20
- if $data == nil
21
+ if @@data == nil
21
22
  return nil
22
23
  end
23
24
  SgtnClient.logger.debug "Get cache keys"
24
- $data.keys
25
+ @@data.keys
25
26
  end
26
27
 
27
28
  def self.get(key)
28
- if $data == nil
29
- return nil
29
+ if @@data == nil
30
+ return nil, nil
30
31
  end
31
32
  SgtnClient.logger.debug "Get cache for key: " + key
32
- invalidate
33
- $data[key][:value] if has(key)
33
+ invalidate(key)
34
34
  end
35
35
 
36
36
  def self.has(key)
37
- if $data == nil
37
+ if @@data == nil
38
38
  return nil
39
39
  end
40
40
  SgtnClient.logger.debug "Has cache for key: " + key
41
- $data.has_key? key
41
+ @@data.has_key? key
42
42
  end
43
43
 
44
44
  def self.put(key, value, ttl=nil)
45
45
  @mutex.synchronize do
46
- if $data == nil
46
+ if @@data == nil
47
47
  return nil
48
48
  end
49
- ttl ||= @opts[:ttl]
49
+ ttl ||= @@opts[:ttl]
50
50
  # hours from new
51
51
  SgtnClient.logger.debug "Put cache for key '" + key + "' with expired time at'" + (Time.now + ttl*60).to_s
52
- $data[key] = Entry.new(Time.now + ttl*60, value)
52
+ @@data[key] = Entry.new(Time.now + ttl*60, value)
53
53
  end
54
54
  end
55
55
 
56
56
  def self.delete(key)
57
57
  @mutex.synchronize do
58
- if $data == nil
58
+ if @@data == nil
59
59
  return nil
60
60
  end
61
61
  SgtnClient.logger.debug "Delete cache for key: " + key
62
- $data.delete key
62
+ @@data.delete key
63
63
  end
64
64
  end
65
65
 
66
66
  def self.clear
67
67
  @mutex.synchronize do
68
- if $data == nil
68
+ if @@data == nil
69
69
  return nil
70
70
  end
71
71
  SgtnClient.logger.debug "Clear cache!"
72
- $data = Hash.new
72
+ @@data = Hash.new
73
73
  end
74
74
  end
75
75
 
76
- def self.invalidate
76
+ def self.invalidate(key)
77
77
  @mutex.synchronize do
78
- if $data == nil
79
- return nil
78
+ if @@data == nil
79
+ return nil, nil
80
80
  end
81
81
  SgtnClient.logger.debug "Invalidating expired cache......"
82
82
  now = Time.now
83
- $data.each {
84
- |k, v|
85
- SgtnClient.logger.debug "Checking cache: key=#{k}, expiredtime=#{v[:expiry]}, now=#{now}, expired=#{(v[:expiry] < now)}"
86
- }
87
- $data.delete_if {|k, v| v[:expiry] < now}
83
+ if has(key)
84
+ v = @@data[key]
85
+ expired = false
86
+ SgtnClient.logger.debug "Checking cache: key=#{key}, expiredtime=#{v[:expiry]}, now=#{now}, expired=#{(v[:expiry] < now)}"
87
+ if v[:expiry] < now
88
+ SgtnClient.logger.debug "Before deleting the cache: data=#{@@data}"
89
+ @@data.delete(key)
90
+ SgtnClient.logger.debug "After deleting the cache: data=#{@@data}"
91
+ expired = true
92
+ end
93
+ return expired, v[:value]
94
+ else
95
+ return nil, nil
96
+ end
88
97
  end
89
98
  end
90
99
  end
@@ -40,7 +40,7 @@ module SgtnClient
40
40
  :rest_endpoint, :rest_token_endpoint, :client_id, :client_secret,
41
41
  :openid_endpoint, :openid_redirect_uri, :openid_client_id, :openid_client_secret,
42
42
  :verbose_logging, :product_name, :version, :vip_server, :bundle_mode,
43
- :translation_bundle, :source_bundle, :cache_expiry_period, :disable_cache
43
+ :translation_bundle, :source_bundle, :cache_expiry_period, :disable_cache, :default_language
44
44
 
45
45
 
46
46
  # Create Config object
@@ -4,7 +4,11 @@ require 'multi_json'
4
4
  module SgtnClient::Core
5
5
  class Request
6
6
  def self.get(url)
7
- res = RestClient.get(url)
7
+ #res = RestClient.get(url)
8
+ res = RestClient::Resource.new(
9
+ url,
10
+ :verify_ssl => false
11
+ ).get
8
12
  begin
9
13
  obj = MultiJson.load(res)
10
14
  rescue MultiJson::ParseError => exception
@@ -10,8 +10,8 @@ module SgtnClient
10
10
  class CacheUtil
11
11
 
12
12
  def self.get_cache(cache_key)
13
- items = SgtnClient::Core::Cache.get(cache_key)
14
- return items
13
+ expired, items = SgtnClient::Core::Cache.get(cache_key)
14
+ return expired, items
15
15
  end
16
16
 
17
17
  def self.clear_cache()
@@ -32,7 +32,12 @@ module SgtnClient
32
32
  env = SgtnClient::Config.default_environment
33
33
  product_name = SgtnClient::Config.configurations[env]["product_name"]
34
34
  version = SgtnClient::Config.configurations[env]["version"].to_s
35
- return product_name + "_" + version + "_" + component + "_" + locale
35
+ default_l = SgtnClient::Config.configurations[env]["default_language"]
36
+ if default_l == nil
37
+ default_l = 'en'
38
+ end
39
+ lc = locale == default_l ? SgtnClient::Config.configurations.default: locale
40
+ return product_name + "_" + version + "_" + component + "_" + lc
36
41
  end
37
42
  end
38
43
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: singleton-client-test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.24
4
+ version: 0.7.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - VMware G11n Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-17 00:00:00.000000000 Z
11
+ date: 2022-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client