ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/tomcat/dbcp/dbcp2/DriverManagerConnectionFactory.java

Path
ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/tomcat/dbcp/dbcp2/DriverManagerConnectionFactory.java
Status
scanned
Type
file
Name
DriverManagerConnectionFactory.java
Extension
.java
Programming language
Java
Mime type
text/plain
File type
ASCII text, with CRLF line terminators
Tag

      
    
Rootfs path

      
    
Size
5273 (5.1 KB)
MD5
3a91d70e8e79079070313368d1582bab
SHA1
c2925bc2475c54614d5dbebcf63c63f997256279
SHA256
ec4803b371eff123bbc5b8a721ee1feab2c4cbfbfaf4cebca415a0d0817553b2
SHA512

      
    
SHA1_git
848aed3af537b4342e0e73c02dc65a9205274393
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
DriverManagerConnectionFactory.java | 5.1 KB |

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.tomcat.dbcp.dbcp2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** * A {@link DriverManager}-based implementation of {@link ConnectionFactory}. * * @since 2.0 */ public class DriverManagerConnectionFactory implements ConnectionFactory { static { // Related to DBCP-272 // Driver manager does not sync loading of drivers that use the service // provider interface. This will cause issues is multi-threaded // environments. This hack makes sure the drivers are loaded before // DBCP tries to use them. DriverManager.getDrivers(); // NOPMD } private final String connectionUri; private final String userName; private final char[] userPassword; private final Properties properties; /** * Constructor for DriverManagerConnectionFactory. * * @param connectionUri * a database connection string of the form {@code jdbc:<em>subprotocol</em>:<em>subname</em>} * @since 2.2 */ public DriverManagerConnectionFactory(final String connectionUri) { this.connectionUri = connectionUri; this.properties = new Properties(); this.userName = null; this.userPassword = null; } /** * Constructor for DriverManagerConnectionFactory. * * @param connectionUri * a database connection string of the form {@code jdbc:<em>subprotocol</em>:<em>subname</em>} * @param properties * a list of arbitrary string tag/value pairs as connection arguments; normally at least a "user" and * "password" property should be included. */ public DriverManagerConnectionFactory(final String connectionUri, final Properties properties) { this.connectionUri = connectionUri; this.properties = properties; this.userName = null; this.userPassword = null; } /** * Constructor for DriverManagerConnectionFactory. * * @param connectionUri * a database connection string of the form {@code jdbc:<em>subprotocol</em>:<em>subname</em>} * @param userName * the database user * @param userPassword * the user's password */ public DriverManagerConnectionFactory(final String connectionUri, final String userName, final char[] userPassword) { this.connectionUri = connectionUri; this.userName = userName; this.userPassword = Utils.clone(userPassword); this.properties = null; } /** * Constructor for DriverManagerConnectionFactory. * * @param connectionUri * a database connection string of the form {@code jdbc:<em>subprotocol</em>:<em>subname</em>} * @param userName * the database user * @param userPassword * the user's password */ public DriverManagerConnectionFactory(final String connectionUri, final String userName, final String userPassword) { this.connectionUri = connectionUri; this.userName = userName; this.userPassword = Utils.toCharArray(userPassword); this.properties = null; } @Override public Connection createConnection() throws SQLException { if (null == properties) { if (userName == null && userPassword == null) { return DriverManager.getConnection(connectionUri); } return DriverManager.getConnection(connectionUri, userName, Utils.toString(userPassword)); } return DriverManager.getConnection(connectionUri, properties); } /** * Gets the connection URI. * * @return The connection URI. * @since 2.6.0 */ public String getConnectionUri() { return connectionUri; } /** * Gets the Properties, may be null. * * @return The Properties, may be null. * @since 2.6.0 */ public Properties getProperties() { return properties; } /** * Gets the user name, may be null. * * @return The user name, may be null. * @since 2.6.0 */ public String getUserName() { return userName; } }
Detected license expression
apache-2.0
Detected license expression (SPDX)
Apache-2.0
Percentage of license text
23.71
Copyrights

      
    
Holders

      
    
Authors

      
    
License detections License expression License expression SPDX
apache_2_0-eb6b5ae0-4f88-4e9b-d67c-c6c8e733b1cd apache-2.0 Apache-2.0
URL Start line End line
https://www.apache.org/licenses/LICENSE-2.0 9 9