# $SnapHashLicense:
#
# SnapLogic - Open source data services
#
# Copyright (C) 2009, SnapLogic, Inc. All rights reserved.
#
# See http://www.snaplogic.org for more information about
# the SnapLogic project.
#
# This program is free software, distributed under the terms of
# the GNU General Public License Version 2. See the LEGAL file
# at the top of the source tree.
#
# "SnapLogic" is a trademark of SnapLogic, Inc.
#
#
# $
# $Id: ConnectionDB2.py 10330 2009-12-24 22:13:38Z grisha $
from snaplogic.common import version_info
from snaplogic.components.DBConnection import DBConnection
import snaplogic.cc.prop as prop
from snaplogic.snapi_base import keys
class ConnectionDB2(DBConnection):
"""
This class implements the DB2 Connection component.
"""
api_version = '1.0'
component_version = '1.4'
component_description = "This component specifies DB2 connection information."
component_label = "DB Connection - DB2"
component_doc_uri = "https://www.snaplogic.org/trac/wiki/Documentation/%s/ComponentRef/ConnectionDB2" % \
version_info.doc_uri_version
def create_resource_template(self):
self.set_property_def('db_host',
prop.SimpleProp('Host',
"string",
"Hostname of DB2 instance",
None,
True))
self.set_property_def('db_port',
prop.SimpleProp('Port',
"number",
"Port of the DB2 instance",
None,
True))
self.set_property_value('db_port', 50000)
self.set_property_def('db_db',
prop.SimpleProp('Database',
"string",
"DB2 database",
None,
True))
self.set_property_def('db_user',
prop.SimpleProp('DB Username',
"string",
"Username",
None,
True))
self.set_property_def('db_password',
prop.SimpleProp('DB Password',
"string",
"Password",
{keys.CONSTRAINT_OBFUSCATE : 0}))
self._set_cats()
def upgrade_1_0_to_1_1(self):
"""
Upgrade resource from version 1.0 to version 1.1:
remove db_codepage_id property
"""
self.del_property_def('db_codepage_id')
def upgrade_1_1_to_1_2(self):
"""
Upgrade resource from version 1.1 to version 1.2:
password property no longer required
"""
saved_password = self.get_property_value('db_password')
self.set_property_def('db_password',
prop.SimpleProp('DB Password',
"string",
"Password",
{keys.CONSTRAINT_OBFUSCATE : 0}))
self.set_property_value('db_password', saved_password)
def upgrade_1_2_to_1_3(self):
self._set_cats()
def upgrade_1_3_to_1_4(self):
"""
No-op upgrade only to change component doc URI during the upgrade
which will be by cc_info before calling this method.
"""
pass
|