2
Copyright (C) 2002-2004 MySQL AB
2
Copyright (C) 2002-2006 MySQL AB
4
4
This program is free software; you can redistribute it and/or modify
5
5
it under the terms of version 2 of the GNU General Public License as
29
29
import javax.naming.Context;
30
30
import javax.naming.Name;
31
import javax.naming.RefAddr;
31
32
import javax.naming.Reference;
32
33
import javax.naming.spi.ObjectFactory;
85
86
int portNumber = 3306;
87
String portNumberAsString = (String) ref.get("port").getContent();
88
String portNumberAsString = nullSafeRefAddrStringGet("port", ref);
89
90
if (portNumberAsString != null) {
90
91
portNumber = Integer.parseInt(portNumberAsString);
93
94
dataSource.setPort(portNumber);
95
String user = (String) ref.get(
96
NonRegisteringDriver.USER_PROPERTY_KEY).getContent();
96
String user = nullSafeRefAddrStringGet(NonRegisteringDriver.USER_PROPERTY_KEY, ref);
98
98
if (user != null) {
99
99
dataSource.setUser(user);
102
String password = (String) ref.get(
103
NonRegisteringDriver.PASSWORD_PROPERTY_KEY).getContent();
102
String password = nullSafeRefAddrStringGet(NonRegisteringDriver.PASSWORD_PROPERTY_KEY, ref);
105
104
if (password != null) {
106
105
dataSource.setPassword(password);
109
String serverName = (String) ref.get("serverName").getContent();
108
String serverName = nullSafeRefAddrStringGet("serverName", ref);
111
110
if (serverName != null) {
112
111
dataSource.setServerName(serverName);
115
String databaseName = (String) ref.get("databaseName").getContent();
114
String databaseName = nullSafeRefAddrStringGet("databaseName", ref);
117
116
if (databaseName != null) {
118
117
dataSource.setDatabaseName(databaseName);
121
String explicitUrlAsString = (String) ref.get("explicitUrl")
120
String explicitUrlAsString = nullSafeRefAddrStringGet("explicitUrl", ref);
124
122
if (explicitUrlAsString != null) {
125
123
if (Boolean.valueOf(explicitUrlAsString).booleanValue()) {
126
dataSource.setUrl((String) ref.get("url").getContent());
124
dataSource.setUrl(nullSafeRefAddrStringGet("url", ref));
135
133
// We can't create an instance of the reference
137
private String nullSafeRefAddrStringGet(String referenceName, Reference ref) {
138
RefAddr refAddr = ref.get(referenceName);
140
String asString = refAddr != null ? (String)refAddr.getContent() : null;