199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
# File 'lib/gooddata/models/project.rb', line 199
def transfer_output_stage(from_project, to_project, options)
from_prj_output_stage = from_project.add.output_stage
output_stage_prefix = options[:ads_output_stage_prefix] || from_prj_output_stage.output_stage_prefix
output_stage_uri = options[:ads_output_stage_uri] || from_prj_output_stage.schema
if from_project.processes.any? { |p| p.type == :dataload }
if to_project.processes.any? { |p| p.type == :dataload }
to_project.add.output_stage.schema = output_stage_uri
to_project.add.output_stage.output_stage_prefix = output_stage_prefix
to_project.add.output_stage.save
else
from_server = from_project.client.connection.server.url
to_server = to_project.client.connection.server.url
if from_server != to_server && options[:ads_output_stage_uri].nil?
raise "Cannot transfer output stage from #{from_server} to #{to_server}. " \
'It is not possible to transfer output stages between ' \
'different domains. Please specify an address of an output ' \
'stage that is in the same domain as the target project ' \
'using the "ads_output_stage_uri" parameter.'
end
to_project.add.output_stage = GoodData::AdsOutputStage.create(
client: to_project.client,
ads: output_stage_uri,
client_id: from_prj_output_stage.client_id,
output_stage_prefix: output_stage_prefix,
project: to_project
)
end
end
end
|