001    package org.kuali.common.jdbc.show;
002    
003    import javax.sql.DataSource;
004    
005    import org.kuali.common.jdbc.model.Credentials;
006    import org.kuali.common.jdbc.model.context.ConnectionContext;
007    import org.kuali.common.jdbc.model.context.DatabaseProcessContext;
008    import org.kuali.common.jdbc.model.meta.Driver;
009    import org.kuali.common.jdbc.model.meta.JdbcMetaData;
010    import org.kuali.common.jdbc.model.meta.Product;
011    import org.kuali.common.jdbc.service.JdbcService;
012    import org.kuali.common.util.log.LoggerUtils;
013    import org.slf4j.Logger;
014    
015    public class ShowUtils {
016    
017            public static void showOpen(Logger logger, DatabaseProcessContext context) {
018                    Credentials auth = context.getConnections().getNormal().getCredentials();
019                    String url = context.getConnections().getNormal().getUrl();
020                    logger.info("------------------------------------------------------------------------");
021                    logger.info("JDBC Configuration");
022                    logger.info("------------------------------------------------------------------------");
023                    logger.info("Vendor - {}", context.getVendor());
024                    logger.info("URL - {}", url);
025                    logger.info("Schema - {}", context.getSchema());
026                    logger.info("User - {}", LoggerUtils.getUsername(auth.getUsername()));
027                    logger.info("Password - {}", LoggerUtils.getPassword(auth.getUsername(), auth.getPassword()));
028            }
029    
030            public static void showDba(Logger logger, ConnectionContext dba) {
031                    Credentials auth = dba.getCredentials();
032                    logger.info("DBA URL - {}", dba.getUrl());
033                    logger.info("DBA User - {}", LoggerUtils.getUsername(auth.getUsername()));
034                    logger.info("DBA Password - {}", LoggerUtils.getPassword(auth.getUsername(), auth.getPassword()));
035            }
036    
037            public static void showClose(Logger logger, DatabaseProcessContext context, JdbcService service, DataSource dataSource) {
038                    logger.info("Driver - {}", context.getConnections().getDriver().getName());
039                    logger.info("SQL Encoding - {}", context.getEncoding());
040                    // Establish a connection to the db to extract more detailed info
041                    JdbcMetaData metadata = service.getJdbcMetaData(dataSource);
042                    Product product = metadata.getProduct();
043                    Driver driver = metadata.getDriver();
044                    logger.info("Product Name - {}", product.getName());
045                    logger.info("Product Version - {}", product.getVersion());
046                    logger.info("Driver Name - {}", driver.getName());
047                    logger.info("Driver Version - {}", driver.getVersion());
048                    logger.info("------------------------------------------------------------------------");
049    
050            }
051    
052    }