tla-sbuilder 0.3.7 → 0.3.8

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
  SHA1:
3
- metadata.gz: da5bfdebad06728053bd1d9be7b5fb8bc6bf4d5f
4
- data.tar.gz: 1ac862f608a98cb6ae42e973ad9f9ca22e7c0cb2
3
+ metadata.gz: 5eccbde389b960d6daa3a03284489dde2c9d2b4a
4
+ data.tar.gz: 06d5c9ab8e969b954d6acd77e4fd5607d3b9c6e1
5
5
  SHA512:
6
- metadata.gz: f511f243f72f46b30cd191ad984ef858f6a62317c81fe98f05d8c97784481c707b72e1f1f06539b56e8a19784f5e75bc88641cdf63bfd44a052aba623c852011
7
- data.tar.gz: c2844d67ae0c95aa6668abf2e52bd45f84a5edbad182faef7b5493461257d6c95fa944c80b8c53e77d5ab76174ba1023c09cde671ca59df6e407b973f9973f7c
6
+ metadata.gz: 5b7c60c28c829383ae57e2fc9ca12deeb7d5a5052fc047dde372c032843187281ddba4ddb97514fe4e70a0d22444dcd63a932a758d45fe88a860ecac84489f75
7
+ data.tar.gz: 5bccdd522ab2c5b245621c9f1feeb6a95d830bb14fdf45218017fb5174563e07584e6fc43d1c0d9944981587fecbac90fec0a3d8242b7ec7107a0c26c88c7ea9
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <link href="../site.css" rel="stylesheet"></link>
2
2
  [Readme](README.md) [Releases](RELEASES.md)
3
3
 
4
- # Sbuilder - A Specification Builder for TLA+ Tools - $Release:0.3.7$
4
+ # Sbuilder - A Specification Builder for TLA+ Tools - $Release:0.3.8$
5
5
 
6
6
  A tool to generate runnable formal models in
7
7
  [TLA+ language](http://research.microsoft.com/en-us/um/people/lamport/tla/book.html)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.7
1
+ 0.3.8
@@ -595,8 +595,9 @@ module Sbuilder
595
595
  next unless input['symbols']
596
596
 
597
597
 
598
- # access model data, data array in
599
- modelData = templateData( input['modelData'] )
598
+ # access model data, symbol table not yet built
599
+ symbol_lookup=false
600
+ modelData = templateData( input['modelData'], symbol_lookup )
600
601
  d = modelData[input['modelData']]
601
602
  @logger.debug "#{__method__} input['modelData']=#{input['modelData']}--> #{d}"
602
603
  next unless d && d.any?
@@ -198,7 +198,7 @@ generate:
198
198
  inputs:
199
199
  - desc: Model interfaces
200
200
  template: interfaces/interface_mapper.mustache
201
- modelData: interfaces
201
+ modelData: allInterfaces
202
202
 
203
203
 
204
204
  # ----------------------------------------
@@ -320,6 +320,11 @@ module Sbuilder
320
320
 
321
321
  # @param [String] domainName in data model
322
322
  #
323
+ # @param symbol_lookup [Boolean] true for normal operation, false
324
+ # for init, when no symbol table lookup can be made
325
+ #
326
+ #
327
+ #
323
328
  # @return [Hash] dataModelElement for mustache for 'templateName' in 'interfaces', 'domains', 'variables' etc
324
329
  #
325
330
  # @option dataModelElement [String] dump to output data array
@@ -330,18 +335,18 @@ module Sbuilder
330
335
  # @option dataModelElement [String] 'domainName' data array for
331
336
  # element in model for domainName
332
337
 
333
- def templateData( domainName )
338
+ def templateData( domainName, symbol_lookup=true )
334
339
 
340
+ @logger.info( "#{__method__} domainName=#{domainName}")
335
341
  case domainName
342
+ when 'allInterfaces'
343
+ # both interfaces and infrastructureServices
344
+ templateDataInterfaces( domainName, nil, symbol_lookup )
336
345
  when 'interfaces'
337
346
  # see domainName 'interfaces'
338
- templateDataInterfaces( domainName, false )
339
- # when 'interface_types'
340
- # # see domainName 'interfaces', interface_types are not
341
- # # filtered i.e. generated model defines data types for all interfaces
342
- # templateDataInterfaces( 'interfaces', false )
347
+ templateDataInterfaces( domainName, false, symbol_lookup )
343
348
  when 'infrastructureServices'
344
- templateDataInterfaces( domainName, true )
349
+ templateDataInterfaces( domainName, true, symbol_lookup )
345
350
  when 'possibility'
346
351
  hash = {
347
352
  "dump" => lambda { hash['possibility'].to_yaml },
@@ -454,24 +459,39 @@ module Sbuilder
454
459
 
455
460
  # Extract data model for interfaces
456
461
  #
457
- # @param [Boolean] choose false --> interterfaces with 'interfaceService', true => 'infrastructureService'
462
+ # @param infrastructureServices [Boolean, nil] false --> interterfaces with 'interfaceService', true => 'infrastructureService'
463
+ # nil => both interfaceService && infrastructureService
464
+ #
465
+ # @param symbol_lookup [Boolean] true for normal operation, false
466
+ # for init, when no symbol table lookup can be made
458
467
  #
459
468
  # @return [Hash] for template rendering composed of interfaces, 'false' if configs
460
469
  #
461
- private def templateDataInterfaces( domainName, choose )
470
+ private def templateDataInterfaces( domainName, infrastructureServices, symbol_lookup )
471
+ @logger.debug "#{__method__}, domainName=#{domainName}, infrastructureServices=#{infrastructureServices}, symbol_lookup=#{symbol_lookup}" if @logger.debug?
472
+
473
+ # Looking for interface type
474
+ infrastructureServiceMeta = FacadeConstants::META_MODEL_INFRA_SERVICES
462
475
  hash = {
463
476
  "dump" => lambda { hash[domainName].to_yaml },
464
477
 
465
478
  domainName => interfaces.values.select { |iface|
479
+
480
+ # both infrastructureServices && interfaceService or either
481
+ infrastructureServices.nil? ||
466
482
 
467
- !choose && iface.interfaceService ||
468
- choose && iface.infrastructureService
483
+ (!infrastructureServices && iface.interfaceService ||
484
+ infrastructureServices && iface.infrastructureService
485
+ )
469
486
 
470
487
  }.map { |iface |
471
488
  {
472
489
  :interface_name => iface.getName, # e.g._pet_post_
490
+ :response_key => symbol_lookup && iface.infrastructureService ? getSymbolTable.lookupSymbol(iface.getId, infrastructureServiceMeta ) : false,
473
491
  :interface_operation => iface.getId, # e.g /pet(post)
474
492
  :implementation => getImplementationExtension( iface ),
493
+ :interfaceService => iface.interfaceService,
494
+ :infrastructureService => iface.infrastructureService,
475
495
  :source => {
476
496
  :sourceModule => iface.sourceModule,
477
497
  :sourceLine => iface.sourceLine,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tla-sbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - jarjuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-17 00:00:00.000000000 Z
11
+ date: 2017-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mustache