createJdbcDatasource.py.erb 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. wlsUser = '<%= @wlsUser %>'
  2. password = '<%= @password %>'
  3. machine = '<%= @address %>'
  4. portNumber = '<%= @port %>'
  5. # init, will be overrided
  6. extraProperties = ""
  7. extraPropertiesValues = ""
  8. globalTransactionsProtocol = "xxxx"
  9. #dsName, jdbcDatasourceTargets, dsJNDIName,dsDriverName,dsURL,dsUserName,dsPassword,datasourceTargetType,globalTransactionsProtocol
  10. <% @params.each do |param| -%>
  11. <%= param %>
  12. <% end -%>
  13. useStoreConfig = '<%= @useStoreConfig %>'
  14. if useStoreConfig != "true":
  15. connect(wlsUser,password,'t3://'+machine+':'+portNumber)
  16. else:
  17. connect(userConfigFile='<%= @userConfigFile %>', userKeyFile='<%= @userKeyFile %>', url='t3://'+machine+':'+portNumber)
  18. print "datasource " +dsName
  19. datasourceTargets=String(jdbcDatasourceTargets).split(",")
  20. if extraProperties:
  21. if extraPropertiesValues:
  22. properties=String(extraProperties).split(",")
  23. values=String(extraPropertiesValues).split(",")
  24. i = 0
  25. for property in properties:
  26. print "extra JDBC properties ",property, "=",values[i]
  27. i = i + 1
  28. for datasourceTarget in datasourceTargets:
  29. print "Datasource Target",datasourceTarget
  30. print "dsJNDIName " +dsJNDIName
  31. print "dsDriverName " +dsDriverName
  32. print "dsUserName " +dsUserName
  33. edit()
  34. startEdit()
  35. try:
  36. cd('/')
  37. cmo.createJDBCSystemResource(dsName)
  38. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName)
  39. cmo.setName(dsName)
  40. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
  41. set('JNDINames',jarray.array([String('jdbc/' + dsName )], String))
  42. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName )
  43. cmo.setUrl(dsURL)
  44. cmo.setDriverName( dsDriverName )
  45. cmo.setPassword(dsPassword)
  46. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName )
  47. cmo.setTestTableName('SQL SELECT 1 FROM DUAL')
  48. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
  49. cmo.createProperty('user')
  50. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user')
  51. cmo.setValue(dsUserName)
  52. if extraProperties:
  53. if extraPropertiesValues:
  54. properties=String(extraProperties).split(",")
  55. values=String(extraPropertiesValues).split(",")
  56. i = 0
  57. for property in properties:
  58. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
  59. cmo.createProperty(property)
  60. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/'+property)
  61. cmo.setValue(values[i])
  62. i = i + 1
  63. if globalTransactionsProtocol != "xxxx":
  64. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName)
  65. cmo.setGlobalTransactionsProtocol('None')
  66. cd('/SystemResources/' + dsName )
  67. targetList = []
  68. for datasourceTarget in datasourceTargets:
  69. targetList.append( ObjectName('com.bea:Name=' + datasourceTarget + ',Type='+datasourceTargetType) )
  70. set('Targets',jarray.array(targetList, ObjectName))
  71. save()
  72. activate()
  73. except:
  74. print "Unexpected error:", sys.exc_info()[0]
  75. undo('true','y')
  76. stopEdit('y')