1
# Copyright (c) 2013 Mirantis Inc.
3
# Licensed under the Apache License, Version 2.0 (the "License");
4
# you may not use this file except in compliance with the License.
5
# You may obtain a copy of the License at
7
# http://www.apache.org/licenses/LICENSE-2.0
9
# Unless required by applicable law or agreed to in writing, software
10
# distributed under the License is distributed on an "AS IS" BASIS,
11
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13
# See the License for the specific language governing permissions and
14
# limitations under the License.
16
from sahara.service.edp.oozie.workflow_creator import base_workflow
17
from sahara.utils import xmlutils as x
20
class PigWorkflowCreator(base_workflow.OozieWorkflowCreator):
23
super(PigWorkflowCreator, self).__init__('pig')
25
def build_workflow_xml(self, script_name, prepare={},
26
job_xml=None, configuration=None, params={},
27
arguments=[], files=[], archives=[]):
29
for k in sorted(prepare):
30
self._add_to_prepare_element(k, prepare[k])
32
self._add_job_xml_element(job_xml)
33
self._add_configuration_elements(configuration)
35
x.add_text_element_to_tag(self.doc, self.tag_name,
36
'script', script_name)
38
x.add_equal_separated_dict(self.doc, self.tag_name, 'param', params)
41
x.add_text_element_to_tag(self.doc, self.tag_name, 'argument', arg)
43
self._add_files_and_archives(files, archives)