Index by: file name |
procedure name |
procedure call |
annotation
installJDBCDriver_proc.tcl
(annotations | original source)
####################################################################
# proc createJDBCDriver.
####################################################################
proc installJDBCDriver { propertiesFile } {
global AdminConfig
# display procedure arguments.
set procName [ lindex [ info level 0 ] 0 ]
putsLog "## proc - $procName"
foreach i [ info args $procName ] {
upvar 0 $i ilocal
set propertiesArray($i) $ilocal
}
putsLog "procedure arguments are................."
foreach { a b } [ array get propertiesArray ] {
putsLog [ format "%-35s %s" "$a" "$b" ]
}
putsLog "JDBC Driver properties are: ............"
if { [ catch { hashMapList $propertiesFile } r ] == 0 } {
set propertiesList $r
foreach a $propertiesList {
putsLog [ format "%-5s %-20s %-s" " " [ lindex $a 0 ] [ lindex $a 1 ] ]
}
} else {
return -code error $r
}
# call the hashMap proc which returns a Property object populated with property file values.
if { [ catch { hashMap $propertiesFile } r ] == 0 } {
set PropertyI $r
} else {
return -code error $r
}
# list the current JDBC drivers
set j [ $AdminConfig list JDBCProvider ]
putsLog "Installed JDBC drivers are................"
showList $j
putsLog [ string repeat . [ string length "Installed JDBC drivers are................" ] ]
#get attribute name of each JDBC driver and add to a list.
foreach i $j { lappend nameList [ $AdminConfig showAttribute $i name ] }
set providerName [ $PropertyI getProperty jdbcProvider.name ]
catch { lsearch $nameList $providerName } r
## delete the driver if it exists.
if { $r != -1 } {
putsLog "JDBC driver already exists. Deleting driver ..............."
if { [ catch { deleteJDBCDriver $providerName } r ] == 0 } {
putsLog $r
} else {
putsLog $r
return -code error $r
}
}
# create the jdbc driver at the cell level. This is the most common config.
set cellId [ lindex [ $AdminConfig list Cell ] 0 ]
# create the JDBC driver.
putsLog "Creating JDBC driver"
set classpath [ list classpath [ $PropertyI getProperty jdbcProvider.classpath ] ]
set implementationClassName [ list implementationClassName [ $PropertyI getProperty jdbcProvider.implementationClassName ] ]
set description [ list description [ $PropertyI getProperty jdbcProvider.description ] ]
set name [ list name $providerName ]
set xa [ list xa true ]
set attrList [ list $classpath $implementationClassName $name $xa $description ]
# get the template id for the JDBC provider.
set template [ $PropertyI getProperty jdbcProvider.template ]
if { [ catch { $AdminConfig listTemplates JDBCProvider $template } r ] == 0 } {
if { $r == {} } {
putsLog "ERROR: $template template does not exist"
putsLog " Checking existing templates using \"$AdminConfig listTemplates JDBCProvider\" from the command line"
return -code error
} else {
set templateId $r
}
}
if { [ catch { $AdminConfig createUsingTemplate JDBCProvider $cellId $attrList $templateId } r ] == 0 } {
putsLog "$providerName JDBC driver created successfully."
} else {
putsLog "ERROR: failed to create $providerName JDBC driver "
return -code error "$r"
}
}
Index by: file name |
procedure name |
procedure call |
annotation
File generated 2007-08-07 at 13:42.