Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1ba3b9f

Browse files
authored
Add files via upload
1 parent 51a46c1 commit 1ba3b9f

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

oracleGenerateDataSource.py

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
#!/usr/bin/python
2+
3+
# Script Name: oracleDataSourceCreate.py
4+
# Author: Ty Lim
5+
# Date: 06/30/2016
6+
# Description: This is a simple script that will allow for a standard creation of an Oracle data source entry in WebSphere Liberty.
7+
8+
"""
9+
Sample Usage and Output:
10+
11+
./oracleGenerateDataSource.py
12+
Application Name: appname
13+
JNDI Name: jdbc/test
14+
DB Server Name: dbserver
15+
DB Port: 1521
16+
DB Name: dbname
17+
User: user
18+
Password: thisismypassw0rd
19+
{xor}Kzc2LDYsMiYvPiwsKG8tOw==
20+
21+
--------- CUT BELOW THIS LINE ---------
22+
23+
<!-- Data source entry for appname-->
24+
<dataSource jndiName="jdbc/test" type="javax.sql.DataSource">
25+
<jdbcDriver libraryRef="oracleLib"/>
26+
<properties.oracle URL="jdbc:oracle:thin:@dbserver:1521:dbname" databaseName="dbname" driverType="thin" password="{xor}Kzc2LDYsMiYvPiwsKG8tOw==" portNumber="1521" serverName="dbserver" user="user"/>
27+
</dataSource>
28+
<!-- End Data source entry for appname-->
29+
30+
--------- CUT ABOVE THIS LINE ---------
31+
32+
33+
"""
34+
35+
import subprocess
36+
37+
38+
39+
def inputOracleParam():
40+
"""Input all the required Oracle Parameters
41+
for the XML stub.
42+
"""
43+
44+
# Input Appication Name
45+
appName=raw_input('Application Name: ')
46+
# Input JNDI
47+
jndi=raw_input('JNDI Name: ')
48+
# Input Server
49+
server = raw_input('DB Server Name: ')
50+
# Input Port
51+
port = raw_input('DB Port: ')
52+
# Input DB Name
53+
db = raw_input('DB Name: ')
54+
# Input user
55+
user = raw_input('User: ')
56+
# Input Password
57+
password = raw_input('Password: ')
58+
59+
return appName, jndi, server, port, db, user, password
60+
61+
def createXML(appName, jndi, server, port, db, user, password):
62+
63+
comment1="<!-- Data source entry for " + appName + "-->\n"
64+
ds1="<dataSource jndiName=\"" + jndi + "\" type=\"javax.sql.DataSource\">\n"
65+
ds2="\t<jdbcDriver libraryRef=\"oracleLib\"/>\n"
66+
ds3="\t<properties.oracle URL=\"jdbc:oracle:thin:@" + server + ":" + port + ":" + db + "\" databaseName=\"" + db + "\" driverType=\"thin\" password=\""+ password +"\" portNumber=\""+ port +"\" serverName=\""+ server +"\" user=\""+ user +"\"/>\n"
67+
ds4="</dataSource>\n"
68+
comment2="<!-- End Data source entry for " + appName + "-->\n"
69+
70+
return comment1+ds1+ds2+ds3+ds4+comment2
71+
72+
def generateOutput(datasource):
73+
74+
print "--------- CUT BELOW THIS LINE ---------\n"
75+
print datasource
76+
print "--------- CUT ABOVE THIS LINE ---------\n"
77+
78+
def encodePassword(password):
79+
80+
# Path to securityUtility
81+
#secUtilityPath="/opt/IBM/WebSphere/Liberty/bin/securityUtility "
82+
secUtilityPath="/Users/neoty/Projects/WAS_Liberty/16.0.0.2/wlp/bin/securityUtility "
83+
secUtilityParam1="encode "
84+
secUtilityParam2=" --notrim"
85+
cmd=secUtilityPath+secUtilityParam1+password+secUtilityParam2
86+
encodedPassword = subprocess.check_output(cmd, shell=True)
87+
print encodedPassword
88+
89+
return encodedPassword.rstrip("\n")
90+
91+
def main():
92+
appName, jndi, server, port, db, user, password = inputOracleParam()
93+
encodedPassword = encodePassword(password)
94+
#datasource = createXML(appName, jndi, server, port, db, user, password)
95+
# Uncomment the following line once you test on a liberty server.
96+
datasource = createXML(appName, jndi, server, port, db, user, encodedPassword)
97+
generateOutput(datasource)
98+
99+
if __name__ == '__main__':
100+
main()
101+
102+
103+
104+
# For Reference Use:
105+
# <dataSource jndiName="" type="javax.sql.DataSource">
106+
# <jdbcDriver libraryRef="oracleLib"/>
107+
# <properties.oracle URL="jdbc:oracle:thin:@<server>:<port>:<dbname>" databaseName="" driverType="thin" password="" portNumber="" serverName="" user=""/>
108+
# </dataSource>
109+

0 commit comments

Comments
 (0)