def createJDBCProvider()

in content/artifacts/daytrader_singleServer.py [0:0]


def createJDBCProvider (provider, XA, scopeId, path, nativePath):
	
	XA = XA.lower()
	
	name = "Derby JDBC Provider"
	if (XA == "true"):
		name = "Derby JDBC Provider Only (XA)"
	#endIf

	print " "
	print "Creating JDBC Provider " + name + "..."

	# Check if the JDBC provider already exists	

	scopeName = getName(scopeId)
	stIndex = (scopeId.find("|") + 1)
	endIndex = (scopeId.find(".") - 1)
	scope = scopeId[stIndex:endIndex+1]

	providerId = ""
	if (scope == "cell"):
		providerId = AdminConfig.getid("/Cell:"+scopeName+"/JDBCProvider:\""+name+"\"/" )
	elif (scope == "node"):
		providerId = AdminConfig.getid("/Node:"+scopeName+"/JDBCProvider:\""+name+"\"/" )
	elif (scope == "server"):
		providerId = AdminConfig.getid("/Server:"+scopeName+"/JDBCProvider:\""+name+"\"/" )
	#endIf

	if (providerId == ""):
		print "  Provider Name:        " + name
		print "  Classpath:            " + path
		print "  Native path:          " + nativePath
		print "  XA enabled:           " + XA

		template = AdminConfig.listTemplates("JDBCProvider", name+"(")
		providerId = AdminConfig.createUsingTemplate("JDBCProvider", scopeId, [["name", name], ["classpath", path], ["nativepath", nativePath]], template)

		# Template creates a datasource with the same name as the provider
		# Delete this datasource
		dsId = ""
		dsList = AdminConfig.list("DataSource")
		if (len(dsList) > 0):
			for item in dsList.split("\n"):
				item = item.rstrip()
				provider = AdminConfig.showAttribute(item, "provider" )
				if (providerId == provider):
					dsId = item
					print "Found DS"
				#endIf
			#endFor
		#endIf
		if (dsId != ""):
			AdminConfig.remove(dsId)
		#endIf

		print name + " provider created successfully!"
	else:
		print name + " provider already exists!"
	#endElse

	return providerId