createJdbcDatasource.py.erb 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. if dsJNDIName:
  42. set('JNDINames', jarray.array([String(dsJNDIName)], String))
  43. else:
  44. #default to 'jdbc/' + dsName
  45. set('JNDINames',jarray.array([String('jdbc/' + dsName )], String))
  46. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName )
  47. cmo.setUrl(dsURL)
  48. cmo.setDriverName( dsDriverName )
  49. cmo.setPassword(dsPassword)
  50. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName )
  51. cmo.setTestTableName('SQL SELECT 1 FROM DUAL')
  52. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
  53. cmo.createProperty('user')
  54. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user')
  55. cmo.setValue(dsUserName)
  56. if extraProperties:
  57. if extraPropertiesValues:
  58. properties=String(extraProperties).split(",")
  59. values=String(extraPropertiesValues).split(",")
  60. i = 0
  61. for property in properties:
  62. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
  63. cmo.createProperty(property)
  64. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/'+property)
  65. cmo.setValue(values[i])
  66. i = i + 1
  67. if globalTransactionsProtocol != "xxxx":
  68. cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName)
  69. cmo.setGlobalTransactionsProtocol('None')
  70. cd('/SystemResources/' + dsName )
  71. targetList = []
  72. for datasourceTarget in datasourceTargets:
  73. targetList.append( ObjectName('com.bea:Name=' + datasourceTarget + ',Type='+datasourceTargetType) )
  74. set('Targets',jarray.array(targetList, ObjectName))
  75. save()
  76. activate()
  77. except:
  78. print "Unexpected error:", sys.exc_info()[0]
  79. undo('true','y')
  80. stopEdit('y')
  81. raise