001    package org.kuali.common.jdbc.vendor.service;
002    
003    import java.util.ArrayList;
004    import java.util.Collections;
005    import java.util.List;
006    
007    import org.kuali.common.jdbc.model.context.ConnectionContext;
008    import org.kuali.common.jdbc.vendor.model.VendorDefault;
009    import org.kuali.common.jdbc.vendor.model.keys.Admin;
010    import org.kuali.common.jdbc.vendor.model.keys.Liquibase;
011    import org.kuali.common.util.spring.env.EnvironmentService;
012    import org.kuali.common.util.spring.env.model.EnvironmentKeySuffix;
013    import org.slf4j.Logger;
014    import org.slf4j.LoggerFactory;
015    
016    public class MySqlDatabaseVendorService extends DefaultDatabaseVendorService {
017    
018            private static final Logger logger = LoggerFactory.getLogger(MySqlDatabaseVendorService.class);
019    
020            private static final String USERNAME_KEY = "jdbc.username";
021    
022            public MySqlDatabaseVendorService(EnvironmentService env, VendorDefault vendor) {
023                    super(env, vendor);
024            }
025    
026            @Override
027            protected String getUrl(ConnectionContext dba) {
028                    String url = super.getUrl(dba) + "/" + getEnv().getString(USERNAME_KEY);
029                    logger.debug("mysql url: {}", url);
030                    return url;
031            }
032    
033            @Override
034            protected List<EnvironmentKeySuffix> getSqlKeySuffixes() {
035                    List<EnvironmentKeySuffix> keys = new ArrayList<EnvironmentKeySuffix>();
036                    keys.addAll(Admin.asList());
037                    keys.addAll(Liquibase.asList());
038                    return Collections.unmodifiableList(keys);
039            }
040    
041    }