gooddata 2.1.14-java → 2.1.15-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,7 +5,6 @@
5
5
  # LICENSE file in the root directory of this source tree.
6
6
 
7
7
  require 'cgi'
8
- require 'active_support/core_ext/hash/compact'
9
8
 
10
9
  require_relative 'profile'
11
10
  require_relative '../extensions/enumerable'
@@ -13,7 +13,6 @@ require 'zip'
13
13
  require 'net/smtp'
14
14
 
15
15
  require 'active_support/core_ext/hash/except'
16
- require 'active_support/core_ext/hash/compact'
17
16
  require 'active_support/core_ext/hash/slice'
18
17
 
19
18
  require_relative '../exceptions/no_project_error'
@@ -336,7 +335,7 @@ module GoodData
336
335
 
337
336
  def get_data_source_alias(data_source_id, client, aliases)
338
337
  unless aliases[data_source_id]
339
- data_source = GoodData::Helpers.get_data_source_by_id(data_source_id, client)
338
+ data_source = GoodData::DataSource.from_id(data_source_id, client: client)
340
339
  if data_source&.dig('dataSource', 'alias')
341
340
  aliases[data_source_id] = {
342
341
  :type => get_data_source_type(data_source),
@@ -355,7 +354,7 @@ module GoodData
355
354
  component = process_data.dig(:process, :component)
356
355
  if component&.dig(:configLocation, :dataSourceConfig)
357
356
  the_alias = aliases[component[:configLocation][:dataSourceConfig][:id]]
358
- process_data[:process][:component][:configLocation][:dataSourceConfig][:id] = GoodData::Helpers.verify_data_source_alias(the_alias, client)
357
+ process_data[:process][:component][:configLocation][:dataSourceConfig][:id] = verify_data_source_alias(the_alias, client)
359
358
  end
360
359
  process_data[:process][:dataSources] = replace_data_source_ids(process_data[:process][:dataSources], client, aliases)
361
360
  process_data
@@ -365,13 +364,35 @@ module GoodData
365
364
  array_data_sources = []
366
365
  if data_sources && !data_sources.empty?
367
366
  data_sources.map do |data_source|
368
- new_id = GoodData::Helpers.verify_data_source_alias(aliases[data_source[:id]], client)
367
+ new_id = verify_data_source_alias(aliases[data_source[:id]], client)
369
368
  array_data_sources.push(:id => new_id)
370
369
  end
371
370
  end
372
371
  array_data_sources
373
372
  end
374
373
 
374
+ # Verify whether the data source exists in the domain using its alias
375
+ #
376
+ # @param [String] ds_alias The data source's alias
377
+ # @param [Object] client The Rest Client object
378
+ # @return [String] Id of the data source or failed with the reason
379
+ def verify_data_source_alias(ds_alias, client)
380
+ domain = client.connection.server.url
381
+ fail "The data source alias is empty, check your data source configuration." unless ds_alias
382
+
383
+ uri = "/gdc/dataload/dataSources/internal/availableAlias?alias=#{ds_alias[:alias]}"
384
+ res = client.get(uri)
385
+ fail "Unable to get information about the Data Source '#{ds_alias[:alias]}' in the domain '#{domain}'" unless res
386
+ fail "Unable to find the #{ds_alias[:type]} Data Source '#{ds_alias[:alias]}' in the domain '#{domain}'" if res['availableAlias']['available']
387
+
388
+ ds_type = res['availableAlias']['existingDataSource']['type']
389
+ if ds_type && ds_type != ds_alias[:type]
390
+ fail "Wrong Data Source type - the '#{ds_type}' type is expected but the Data Source '#{ds_alias[:alias]}' in the domain '#{domain}' has the '#{ds_alias[:type]}' type"
391
+ else
392
+ res['availableAlias']['existingDataSource']['id']
393
+ end
394
+ end
395
+
375
396
  def transfer_user_groups(from_project, to_project)
376
397
  from_project.user_groups.map do |ug|
377
398
  # migrate groups
@@ -7,7 +7,6 @@
7
7
  require_relative '../project_log_formatter'
8
8
 
9
9
  require 'active_support/core_ext/hash/indifferent_access'
10
- require 'active_support/core_ext/hash/compact'
11
10
 
12
11
  require 'gooddata/extensions/true'
13
12
  require 'gooddata/extensions/false'
@@ -13,7 +13,6 @@ require_relative '../mixins/rest_resource'
13
13
  require_relative '../mixins/uri_getter'
14
14
 
15
15
  require 'active_support/core_ext/hash/except'
16
- require 'active_support/core_ext/hash/compact'
17
16
 
18
17
  module GoodData
19
18
  # Representation of User Group
@@ -1,51 +1,51 @@
1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- ThwecnPgnwOkLYojRdm+LGOwncRLBmllos59CrU0nY3dlDj0NFvMixhof5aF
11
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- uv1OYNSYpelfZuLAEiZjZonL2IvMYiRExG/QUq0UZLuzxQX1am+LN6NsXzv9
19
- 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
- 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
- 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
- bumk1mjCJyTtzwm5yjaiXU8PPC7fi13m+eJ2KoOwca/rCjIEy6ZPNg4ry7Eo
23
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 6F/nyaYOkwsbM5Pvx6X2+BZtxBKP9ufXANLdRKl3y+F4YoZhIMMpPPWvRxUV
48
- 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
- 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
- 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
- 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
@@ -1,109 +1,109 @@
1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 2hpk5JJHUm9I9rTJHmngP1lGdvr6qCE6dckfvEKnQ5uW5hUUxEpdv58TCRPE
13
- /cuPtT7Of4IBGAbYos0wnRIzXTTUjlhVsl4g+MpGEnKOmAkejoG6cqDiDzMX
14
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- CJT9gNdoaBZQUvZtPS3XLk0vZa7AtXjhnQ+2xfq5ijcMAKiphR+FfVUXQctQ
40
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- RrIdpQUxSFhHNS/AZaNRQuI98KlsI09l2VPZdPtdt9cksbOpEsRWNo2C0CnC
53
- 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
- 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
- RRaB1NpSKSHt3bJykNV+dGEAWa2menpN60DYcoUHgCwVP1zMujDafmVUVuzz
56
- 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
- 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
- 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
- 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
- r6/HGE03SwjY6WsMCm9BNNa3PJfTgg12b0bIrEDHW5142iqJrO7u1/dSH89F
61
- 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
- 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
- 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
- 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
- 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
- eFTd2QMF2awo89No8qcv9sFONmbuL5AdjJ8MwlLO3s+C9I1NVHCAOwK1SeHP
67
- roZJbgyaX/Thjxotxp+FxzltUqGSW/aG4J8OaFSQywSBHKCmNGfYaAlHRpot
68
- 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
- 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
- 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
- bAgvac3HhQ3ccuDe153Lq8oYLhuMa04UE2rbYBpUDZJeUAH9EVtnJms8SWJL
72
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- u9cOWqxbewmR4JTH2VRSf0NBOqiSACy6TrsjnKVjeT2wKkD37uMQ8Czz9Pb+
90
- 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
- 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
- rjkgfKycPoYoc/p9VSEz+wG5mmm3fFcToCNt4iMDg4kLy31AjGotkBxriXgs
93
- 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
- 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
- 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
- kFA7/bbIUmiZcFCUtvYAO6t/umatEUM+SB00xnxb6hTZyEqX9vvFbnFJTij6
97
- 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
- JSXCgl/5zL3rIXHq9kAIKNRpjbWYhFJq/K0X+KFo7rqU7WZAMjqSjKR5ft4A
99
- Nf9aqX7+/yDwqCl4b4rhBjqg0OBpGqDvFq7nmUEOuZfOftdcFVulvfOddUMj
100
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- G+WK9s5CW/QFNZuyz8XIrv7s29r414jlpk2+vJNjWM95c0gHsCJ8BlSzNdXD
109
- 3pSK3Q==
1
+ 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
109
+ 5UICsw==
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gooddata
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.14
4
+ version: 2.1.15
5
5
  platform: java
6
6
  authors:
7
7
  - Pavel Kolesnikov
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-11-11 00:00:00.000000000 Z
17
+ date: 2021-02-02 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  requirement: !ruby/object:Gem::Requirement
@@ -687,7 +687,6 @@ files:
687
687
  - lib/gooddata/helpers/crypto_helper.rb
688
688
  - lib/gooddata/helpers/csv_helper.rb
689
689
  - lib/gooddata/helpers/data_helper.rb
690
- - lib/gooddata/helpers/data_source_helpers.rb
691
690
  - lib/gooddata/helpers/erb_helper.rb
692
691
  - lib/gooddata/helpers/global_helpers.rb
693
692
  - lib/gooddata/helpers/global_helpers_params.rb
@@ -852,6 +851,7 @@ files:
852
851
  - lib/gooddata/models/client_synchronization_result.rb
853
852
  - lib/gooddata/models/client_synchronization_result_details.rb
854
853
  - lib/gooddata/models/data_product.rb
854
+ - lib/gooddata/models/data_source.rb
855
855
  - lib/gooddata/models/datawarehouse.rb
856
856
  - lib/gooddata/models/domain.rb
857
857
  - lib/gooddata/models/execution.rb
@@ -1,47 +0,0 @@
1
- # encoding: UTF-8
2
- # frozen_string_literal: true
3
- #
4
- # Copyright (c) 2010-2020 GoodData Corporation. All rights reserved.
5
- # This source code is licensed under the BSD-style license found in the
6
- # LICENSE file in the root directory of this source tree.
7
- # frozen_string_literal: false
8
-
9
- module GoodData
10
- module Helpers
11
- class << self
12
- # Get a data source information from server by id
13
- #
14
- # @param [String] data_source_id The data source ID
15
- # @param [Object] client The Rest Client object
16
- # @return [Hash] Returns Data source
17
- def get_data_source_by_id(data_source_id, client)
18
- unless data_source_id.blank?
19
- uri = "/gdc/dataload/dataSources/#{data_source_id}"
20
- client.get(uri)
21
- end
22
- end
23
-
24
- # Verify to see if the data source exists in the domain using its alias
25
- #
26
- # @param [String] ds_alias The data source's alias
27
- # @param [Object] client The Rest Client object
28
- # @return [String] Id of the data source or failed with the reason
29
- def verify_data_source_alias(ds_alias, client)
30
- domain = client.connection.server.url
31
- fail "The data source alias is empty, check your data source configuration." unless ds_alias
32
-
33
- uri = "/gdc/dataload/dataSources/internal/availableAlias?alias=#{ds_alias[:alias]}"
34
- res = client.get(uri)
35
- fail "Unable to get information about the Data Source '#{ds_alias[:alias]}' in the domain '#{domain}'" unless res
36
- fail "Unable to find the #{ds_alias[:type]} Data Source '#{ds_alias[:alias]}' in the domain '#{domain}'" if res['availableAlias']['available']
37
-
38
- ds_type = res['availableAlias']['existingDataSource']['type']
39
- if ds_type && ds_type != ds_alias[:type]
40
- fail "Wrong Data Source type - the '#{ds_type}' type is expected but the Data Source '#{ds_alias[:alias]}' in the domain '#{domain}' has the '#{ds_alias[:type]}' type"
41
- else
42
- res['availableAlias']['existingDataSource']['id']
43
- end
44
- end
45
- end
46
- end
47
- end