001 package railo.runtime.services; 002 003 004 import java.util.Map; 005 006 import railo.runtime.db.DataSource; 007 import railo.runtime.op.Caster; 008 import railo.runtime.type.Struct; 009 import railo.runtime.type.StructImpl; 010 import coldfusion.sql.DataSourceDef; 011 012 public class DatSourceDefImpl implements DataSourceDef { 013 014 private DataSource ds; 015 016 public DatSourceDefImpl(DataSource ds) { 017 this.ds=ds; 018 } 019 020 public Object get(Object arg1) { 021 // TODO Auto-generated method stub 022 return null; 023 } 024 025 public Struct getAllowedSQL() { 026 Struct allow=new StructImpl(); 027 allow.setEL("alter", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_ALTER))); 028 allow.setEL("create", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_CREATE))); 029 allow.setEL("delete", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_DELETE))); 030 allow.setEL("drop", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_DROP))); 031 allow.setEL("grant", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_GRANT))); 032 allow.setEL("insert", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_INSERT))); 033 allow.setEL("revoke", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_REVOKE))); 034 allow.setEL("select", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_SELECT))); 035 allow.setEL("storedproc", Caster.toBoolean(true));// TODO 036 allow.setEL("update", Caster.toBoolean(ds.hasAllow(DataSource.ALLOW_UPDATE))); 037 return allow; 038 } 039 040 /** 041 * @see coldfusion.sql.DataSourceDef#getClassName() 042 */ 043 public String getClassName() { 044 return ds.getClazz().getName(); 045 } 046 047 /** 048 * @see coldfusion.sql.DataSourceDef#getDatabase() 049 */ 050 public String getDatabase() { 051 return ds.getDatabase(); 052 } 053 054 /** 055 * @see coldfusion.sql.DataSourceDef#getDesc() 056 */ 057 public String getDesc() { 058 return ""; 059 } 060 061 public String getDriver() { 062 return ""; 063 } 064 065 public String getDsn() { 066 return ds.getDsnTranslated(); 067 } 068 069 public Struct getExtraData() { 070 Struct rtn=new StructImpl(); 071 Struct connprop=new StructImpl(); 072 String[] names = ds.getCustomNames(); 073 rtn.setEL("connectionprops", connprop); 074 for(int i=0;i<names.length;i++) { 075 connprop.setEL(names[i], ds.getCustomValue(names[i])); 076 } 077 rtn.setEL("maxpooledstatements",new Double(1000) ); 078 rtn.setEL("sid",""); 079 rtn.setEL("timestampasstring", Boolean.FALSE); 080 rtn.setEL("useTrustedConnection", Boolean.FALSE); 081 rtn.setEL("datasource",ds.getName() ); 082 rtn.setEL("_port",new Double(ds.getPort()) ); 083 rtn.setEL("port",new Double(ds.getPort()) ); 084 rtn.setEL("_logintimeout",new Double(30) ); 085 rtn.setEL("args", ""); 086 rtn.setEL("databaseFile", ""); 087 rtn.setEL("defaultpassword","" ); 088 rtn.setEL("defaultusername", ""); 089 rtn.setEL("host",ds.getHost() ); 090 rtn.setEL("maxBufferSize",new Double(0) ); 091 rtn.setEL("pagetimeout",new Double(0) ); 092 rtn.setEL("selectMethod","direct" ); 093 rtn.setEL("sendStringParamterAsUnicode",Boolean.TRUE ); 094 rtn.setEL("systemDatabaseFile", ""); 095 096 097 return rtn; 098 } 099 100 /** 101 * 102 * @see coldfusion.sql.DataSourceDef#getHost() 103 */ 104 public String getHost() { 105 return ds.getHost(); 106 } 107 108 public String getIfxSrv() { 109 return ""; 110 } 111 112 public int getInterval() { 113 return 0; 114 } 115 116 public String getJNDIName() { 117 return ""; 118 } 119 120 /** 121 * @see coldfusion.sql.DataSourceDef#getJndiName() 122 */ 123 public String getJndiName() { 124 return getJNDIName(); 125 } 126 127 public Struct getJndienv() { 128 return new StructImpl(); 129 } 130 131 public int getLoginTimeout() { 132 return ds.getConnectionTimeout(); 133 } 134 135 /** 136 * @see coldfusion.sql.DataSourceDef#getLogintimeout() 137 */ 138 public int getLogintimeout() { 139 return getLoginTimeout(); 140 } 141 142 public int getMaxBlobSize() { 143 return 64000; 144 } 145 146 public int getMaxClobSize() { 147 return 64000; 148 } 149 150 public int getMaxConnections() { 151 return ds.getConnectionLimit(); 152 } 153 154 public int getMaxPooledStatements() { 155 return 0; 156 } 157 158 public int getMaxconnections() { 159 return getMaxConnections(); 160 } 161 162 /** 163 * @see coldfusion.sql.DataSourceDef#getPort() 164 */ 165 public int getPort() { 166 return ds.getPort(); 167 } 168 169 public String getSelectMethod() { 170 return ""; 171 } 172 173 public String getSid() { 174 return ""; 175 } 176 177 public boolean getStrPrmUni() { 178 return false; 179 } 180 181 public int getTimeout() { 182 return ds.getConnectionTimeout(); 183 } 184 185 public int getType() { 186 return 0; 187 } 188 189 /** 190 * @see coldfusion.sql.DataSourceDef#getUrl() 191 */ 192 public String getUrl() { 193 return ds.getDsnTranslated(); 194 } 195 196 /** 197 * 198 * @see coldfusion.sql.DataSourceDef#getUsername() 199 */ 200 public String getUsername() { 201 return ds.getUsername(); 202 } 203 204 /** 205 * 206 * @see coldfusion.sql.DataSourceDef#getVendor() 207 */ 208 public String getVendor() { 209 return ""; 210 } 211 212 /** 213 * 214 * @see coldfusion.sql.DataSourceDef#isBlobEnabled() 215 */ 216 public boolean isBlobEnabled() { 217 return ds.isBlob(); 218 } 219 220 /** 221 * @see coldfusion.sql.DataSourceDef#isClobEnabled() 222 */ 223 public boolean isClobEnabled() { 224 return ds.isClob(); 225 } 226 227 public boolean isConnectionEnabled() { 228 return true; 229 } 230 231 public boolean isDynamic() { 232 return false; 233 } 234 235 public boolean isPooling() { 236 return true; 237 } 238 239 public boolean isRemoveOnPageEnd() { 240 return false; 241 } 242 243 public boolean isSQLRestricted() { 244 return false; 245 } 246 247 public void setAllowedSQL(Struct arg1) { 248 // TODO Auto-generated method stub 249 250 } 251 252 public void setBlobEnabled(boolean arg1) { 253 // TODO Auto-generated method stub 254 255 } 256 257 public void setClassName(String arg1) { 258 // TODO Auto-generated method stub 259 260 } 261 262 public void setClobEnabled(boolean arg1) { 263 // TODO Auto-generated method stub 264 265 } 266 267 public void setConnectionEnabled(boolean arg1) { 268 // TODO Auto-generated method stub 269 270 } 271 272 public void setDatabase(String arg1) { 273 // TODO Auto-generated method stub 274 275 } 276 277 public void setDesc(String arg1) { 278 // TODO Auto-generated method stub 279 280 } 281 282 public void setDriver(String arg1) { 283 // TODO Auto-generated method stub 284 285 } 286 287 public void setDsn(String arg1) { 288 // TODO Auto-generated method stub 289 290 } 291 292 public void setDynamic(boolean arg1) { 293 // TODO Auto-generated method stub 294 295 } 296 297 public void setExtraData(Struct arg1) { 298 // TODO Auto-generated method stub 299 300 } 301 302 public void setHost(String arg1) { 303 // TODO Auto-generated method stub 304 305 } 306 307 public void setIfxSrv(String arg1) { 308 // TODO Auto-generated method stub 309 310 } 311 312 public void setInterval(int arg1) { 313 // TODO Auto-generated method stub 314 315 } 316 317 public void setJNDIName(String arg1) { 318 // TODO Auto-generated method stub 319 320 } 321 322 public void setJndiName(String arg1) { 323 // TODO Auto-generated method stub 324 325 } 326 327 public void setJndienv(Struct arg1) { 328 // TODO Auto-generated method stub 329 330 } 331 332 public void setLoginTimeout(Object arg1) { 333 // TODO Auto-generated method stub 334 335 } 336 337 public void setLogintimeout(int arg1) { 338 // TODO Auto-generated method stub 339 340 } 341 342 public void setMap(Map arg1) { 343 // TODO Auto-generated method stub 344 345 } 346 347 public void setMaxBlobSize(int arg1) { 348 // TODO Auto-generated method stub 349 350 } 351 352 public void setMaxClobSize(int arg1) { 353 // TODO Auto-generated method stub 354 355 } 356 357 public void setMaxConnections(int arg1) { 358 // TODO Auto-generated method stub 359 360 } 361 362 public void setMaxConnections(Object arg1) { 363 // TODO Auto-generated method stub 364 365 } 366 367 public void setMaxPooledStatements(int arg1) { 368 // TODO Auto-generated method stub 369 370 } 371 372 public void setPassword(String arg1) { 373 // TODO Auto-generated method stub 374 375 } 376 377 public void setPooling(boolean arg1) { 378 // TODO Auto-generated method stub 379 380 } 381 382 public void setPort(int arg1) { 383 // TODO Auto-generated method stub 384 385 } 386 387 public void setPort(Object arg1) { 388 // TODO Auto-generated method stub 389 390 } 391 392 public void setRemoveOnPageEnd(boolean arg1) { 393 // TODO Auto-generated method stub 394 395 } 396 397 public void setSelectMethod(String arg1) { 398 // TODO Auto-generated method stub 399 400 } 401 402 public void setSid(String arg1) { 403 // TODO Auto-generated method stub 404 405 } 406 407 public void setStrPrmUni(boolean arg1) { 408 // TODO Auto-generated method stub 409 410 } 411 412 public void setStrPrmUni(String arg1) { 413 // TODO Auto-generated method stub 414 415 } 416 417 public void setTimeout(int arg1) { 418 // TODO Auto-generated method stub 419 420 } 421 422 public void setType(String arg1) { 423 // TODO Auto-generated method stub 424 425 } 426 427 public void setType(int arg1) { 428 // TODO Auto-generated method stub 429 430 } 431 432 public void setUrl(String arg1) { 433 // TODO Auto-generated method stub 434 435 } 436 437 public void setUsername(String arg1) { 438 // TODO Auto-generated method stub 439 440 } 441 442 public void setVendor(String arg1) { 443 // TODO Auto-generated method stub 444 445 } 446 447 }