rspec-openhab-scripting 0.0.9-java → 0.0.10-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec85830015f39fcbcf027f869f5af4b215717b1c027deb47959428a8f156b652
4
- data.tar.gz: 22050257da398fa958a657e69c773f27e215e2d478bacb9d9e1400f84b0c6191
3
+ metadata.gz: ec06e2cfb8832f84f5bd953e22904dbf99ec22a97e5ba0b900ee0e09a163a566
4
+ data.tar.gz: 959d078c55a2147e8b1899a8efabc6e8d8065fa9c869cda1c1d5ff057784de3c
5
5
  SHA512:
6
- metadata.gz: d29f9f59280c73b33cb7caef1bbde2baf7b1931bbf9c8fdd8ccb51c3ec8ec13bf9efe51d6e13a410fadd9a53bf78928f22cdc25917ee37d64dc66906fc47bcfc
7
- data.tar.gz: b0132dec180bf8e9bf6fca0e8223c67e6fda04529f376f74a9b2405c0defd01bf1661fed63534a15ccf4392440a4faefe8936f4a42428af8de1be5c6778755d8
6
+ metadata.gz: d806b85fd33ce2c42b09f5442bd7dc752327a21c1aae8df5fa57b615dd4935a96c62274ffab8d5dcad9bc94fe034c3073d0af20221cd59e647e00568ae7acc64
7
+ data.tar.gz: a2565829aa4ddd62cdd1e3ac34e23f55ec9794dcbdeac806bb7175c546f2dcca483cddd72116b1f7726d249c983b7407939de8906e0ec442320d2f2b7b515947
@@ -157,6 +157,8 @@ module OpenHAB
157
157
  OpenHAB::Core::OSGI.register_service("org.openhab.core.items.MetadataRegistry", mr)
158
158
  mr.managed_provider = mmp = org.openhab.core.internal.items.ManagedMetadataProviderImpl.new(ss)
159
159
  mr.add_provider(mmp)
160
+ gmp = org.openhab.core.model.item.internal.GenericMetadataProvider.new
161
+ mr.add_provider(gmp)
160
162
  ir = org.openhab.core.internal.items.ItemRegistryImpl.new(mr)
161
163
  ir.managed_provider = mip = org.openhab.core.items.ManagedItemProvider.new(ss, nil)
162
164
  ir.add_provider(mip)
@@ -171,6 +173,22 @@ module OpenHAB
171
173
  rr.managed_provider = mrp = org.openhab.core.automation.ManagedRuleProvider.new(ss)
172
174
  rr.add_provider(mrp)
173
175
  iclr = org.openhab.core.thing.link.ItemChannelLinkRegistry.new(tr, ir)
176
+ ctr = org.openhab.core.thing.type.ChannelTypeRegistry.new
177
+ ttr = org.openhab.core.thing.type.ThingTypeRegistry.new(ctr)
178
+
179
+ safe_emf = org.openhab.core.model.core.internal.SafeEMFImpl.new
180
+ model_repository = org.openhab.core.model.core.internal.ModelRepositoryImpl.new(safe_emf)
181
+
182
+ # set up state descriptions
183
+ sds = org.openhab.core.internal.service.StateDescriptionServiceImpl.new
184
+ gip = org.openhab.core.model.item.internal.GenericItemProvider.new(model_repository, gmp, {})
185
+ sds.add_state_description_fragment_provider(gip)
186
+ msdfp = org.openhab.core.internal.items.MetadataStateDescriptionFragmentProvider.new(mr, {})
187
+ sds.add_state_description_fragment_provider(msdfp)
188
+ csdp = org.openhab.core.thing.internal.ChannelStateDescriptionProvider.new(iclr, ttr, tr)
189
+ csdp.activate(org.osgi.framework.Constants::SERVICE_RANKING => java.lang.Integer.new(-1))
190
+ sds.add_state_description_fragment_provider(csdp)
191
+ ir.state_description_service = sds
174
192
 
175
193
  # set up stuff accessed from rules
176
194
  preset = org.openhab.core.automation.module.script.internal.defaultscope
@@ -8,25 +8,24 @@ module RSpec
8
8
  all_items = api.items
9
9
 
10
10
  gfh = org.openhab.core.internal.items.GroupFunctionHelper.new
11
+ item_factory = org.openhab.core.library.CoreItemFactory.new
11
12
 
12
13
  all_items.each do |item_json|
13
- type, _dimension = item_json["type"].split(":")
14
+ full_type = item_json["type"]
15
+ name = item_json["name"]
16
+
17
+ type, _dimension = full_type.split(":")
14
18
  if type == "Group"
15
- if item_json["groupType"]
16
- type, _dimension = item_json["groupType"].split(":")
17
- klass = ::OpenHAB::DSL::Items.const_get(:"#{type}Item")
18
- base_item = klass.new(item_json["name"])
19
- end
19
+ base_item = item_factory.create_item(item_json["groupType"], name) if item_json["groupType"]
20
20
  if item_json["function"]
21
21
  dto = org.openhab.core.items.dto.GroupFunctionDTO.new
22
22
  dto.name = item_json.dig("function", "name")
23
23
  dto.params = item_json.dig("function", "params")
24
24
  function = gfh.create_group_function(dto, base_item)
25
25
  end
26
- item = GroupItem.new(item_json["name"], base_item, function)
26
+ item = GroupItem.new(name, base_item, function)
27
27
  else
28
- klass = ::OpenHAB::DSL::Items.const_get(:"#{type}Item")
29
- item = klass.new(item_json["name"])
28
+ item = item_factory.create_item(full_type, name)
30
29
  end
31
30
 
32
31
  item.label = item_json["label"]
@@ -36,6 +35,8 @@ module RSpec
36
35
  item_json["metadata"]&.each do |key, config|
37
36
  item.meta[key] = config["value"], config["config"]
38
37
  end
38
+ item.meta["stateDescription"] = item_json["stateDescription"] if item_json["stateDescription"]
39
+ item.category = item_json["category"] if item_json["category"]
39
40
 
40
41
  $ir.add(item)
41
42
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module OpenHAB
5
- VERSION = "0.0.9"
5
+ VERSION = "0.0.10"
6
6
  end
7
7
  end
@@ -40,6 +40,7 @@ maven_require do
40
40
  require "jar org.openhab.core.bundles, org.openhab.core.config.core, #{openhab_version}"
41
41
  require "jar org.openhab.core.bundles, org.openhab.core.io.monitor, #{openhab_version}"
42
42
  require "jar org.openhab.core.bundles, org.openhab.core.model.core, #{openhab_version}"
43
+ require "jar org.openhab.core.bundles, org.openhab.core.model.item, #{openhab_version}"
43
44
  require "jar org.openhab.core.bundles, org.openhab.core.model.script, #{openhab_version}"
44
45
  require "jar org.openhab.core.bundles, org.openhab.core.semantics, #{openhab_version}"
45
46
  require "jar org.openhab.core.bundles, org.openhab.core.thing, #{openhab_version}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: java
6
6
  authors:
7
7
  - Cody Cutrer