Package siena.base.test

Source Code of siena.base.test.JdbcTestNoAutoInc_4_SPECIALS

package siena.base.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.List;
import java.util.Properties;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.ddlutils.Platform;
import org.apache.ddlutils.PlatformFactory;
import org.apache.ddlutils.model.Database;
import org.apache.ddlutils.platform.CreationParameters;

import siena.PersistenceManager;
import siena.base.test.model.EnumTest;
import siena.base.test.model.PersonStringID;
import siena.jdbc.JdbcPersistenceManager;
import siena.jdbc.ddl.DdlGenerator;

public class JdbcTestNoAutoInc_4_SPECIALS extends BaseTestNoAutoInc_4_SPECIALS {
  private static JdbcPersistenceManager pm;
 
  @Override
  public PersistenceManager createPersistenceManager(List<Class<?>> classes) throws Exception {
    if(pm == null){
      Properties p = new Properties();
     
      String driver   = "com.mysql.jdbc.Driver";
      String username = "siena";
      String password = "siena";
      String url      = "jdbc:mysql://localhost/siena";
     
      p.setProperty("driver",   driver);
      p.setProperty("user",     username);
      p.setProperty("password", password);
      p.setProperty("url",      url);
 
      Class.forName(driver);
      BasicDataSource dataSource = new BasicDataSource();
      dataSource = new BasicDataSource();
      dataSource.setUrl(url);
      dataSource.setUsername(username);
      dataSource.setPassword(password);
      dataSource.setMaxWait(2000); // 2 seconds max for wait a connection.
     
      DdlGenerator generator = new DdlGenerator();
      for (Class<?> clazz : classes) {
        generator.addTable(clazz);
      }
 
      // get the Database model
      Database database = generator.getDatabase();
 
      Platform platform = PlatformFactory.createNewPlatformInstance("mysql");
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      Connection connection = DriverManager.getConnection(url, username, password);
     
      System.out.println(platform.getAlterTablesSql(connection, database));
     
      // this will perform the database changes
      CreationParameters cp = new CreationParameters();
      // to search, it requires MyISAM
      cp.addParameter(database.findTable("discoveries_search"), "ENGINE", "MyISAM");
      cp.addParameter(database.findTable("discoveries_search2"), "ENGINE", "MyISAM");

      platform.alterTables(connection, database, cp, true);
       
      connection.close();
     
      pm = new JdbcPersistenceManager();
      pm.init(p);
    }
   
    return pm;
  }

  @Override
  public void init() {
    // TODO Auto-generated method stub
   
  }

 
  @Override
  public boolean supportsAutoincrement() {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public boolean supportsMultipleKeys() {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public boolean supportsDeleteException() {
    // TODO Auto-generated method stub
    return false;
  }
 
  @Override
  public boolean supportsSearchStart() {
    // TODO Auto-generated method stub
    return true;
  }

  @Override
  public boolean supportsSearchEnd() {
    // TODO Auto-generated method stub
    return true;
  }

  @Override
  public boolean supportsTransaction() {
    // TODO Auto-generated method stub
    return true;
  }

  @Override
  public boolean supportsListStore() {
    // TODO Auto-generated method stub
    return false;
  }

  @Override
  public void testEnum() {
    // TODO Auto-generated method stub
    super.testEnum();
  }
  
   
}
TOP

Related Classes of siena.base.test.JdbcTestNoAutoInc_4_SPECIALS

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.