Package org.apache.ddlutils.model

Examples of org.apache.ddlutils.model.Database


    /**
     * Tests the Torque/Turbine extensions BOOLEANINT & BOOLEANCHAR.
     */
    public void testTurbineExtension() throws Exception
    {
        Database model = readModel(
            "<database name='test'>\n" +
            "  <table name='SomeTable'>\n" +
            "    <column name='intField'\n" +
            "            type='BOOLEANINT'/>\n" +
            "    <column name='charField'\n" +
            "            type='BOOLEANCHAR'/>\n" +
            "  </table>\n" +
            "</database>");

        assertEquals("test",
                     model.getName());
        assertEquals(1,
                     model.getTableCount());
       
        Table table = model.getTable(0);

        assertEquals("SomeTable",
                     table.getName());
        assertNull(table.getDescription());
        assertEquals(0, table.getAutoIncrementColumns().length);
View Full Code Here


     */
    protected Database getAdjustedModel()
    {
        try
        {
            Database model = (Database)getModel().clone();

            for (int tableIdx = 0; tableIdx < model.getTableCount(); tableIdx++)
            {
                Table table = model.getTable(tableIdx);

                for (int columnIdx = 0; columnIdx < table.getColumnCount(); columnIdx++)
                {
                    Column column     = table.getColumn(columnIdx);
                    int    origType   = column.getTypeCode();
View Full Code Here

      return;
    if (filesToProcess.length > 1)
      file = mergeFiles(filesToProcess);

    System.out.println("Importing " + file);
    Database db = ddlUtil.createDatabaseSchemaFromXML(file);
    try
    {
      if (overwrite)
        ddlUtil.createDatabase(db); // overwrite existing
      // database
View Full Code Here

      return;
    if (filesToProcess.length > 1)
      file = mergeFiles(filesToProcess);

    System.out.println("Importing " + file);
    Database db = ddlUtil.createDatabaseSchemaFromXML(file);
    try
    {
      if (overwrite)
        ddlUtil.createDatabase(db); // overwrite existing
      // database
View Full Code Here

     * {@inheritDoc}
     */
    protected Database readModel()
    {
        DatabaseIO reader = new DatabaseIO();
        Database   model  = null;

        reader.setUseInternalDtd(_useInternalDtd);
        if ((_singleSchemaFile != null) && !_fileSets.isEmpty())
        {
            throw new BuildException("Please use either the schemafile attribute or the sub fileset element, but not both");
        }
        if (_singleSchemaFile != null)
        {
            model = readSingleSchemaFile(reader, _singleSchemaFile);
        }
        else
        {
            for (Iterator it = _fileSets.iterator(); it.hasNext();)
            {
                FileSet          fileSet    = (FileSet)it.next();
                File             fileSetDir = fileSet.getDir(getProject());
                DirectoryScanner scanner    = fileSet.getDirectoryScanner(getProject());
                String[]         files      = scanner.getIncludedFiles();
   
                for (int idx = 0; (files != null) && (idx < files.length); idx++)
                {
                    Database curModel = readSingleSchemaFile(reader, new File(fileSetDir, files[idx]));
   
                    if (model == null)
                    {
                        model = curModel;
                    }
View Full Code Here

     * @param schemaFile The schema file
     * @return The model
     */
    private Database readSingleSchemaFile(DatabaseIO reader, File schemaFile)
    {
        Database model = null;

        if (!schemaFile.isFile())
        {
            log("Path "+schemaFile.getAbsolutePath()+" does not denote a schema file", Project.MSG_ERR);
        }
View Full Code Here

        Thread.currentThread().setContextClassLoader(newClassLoader);
       
        try
        {
            MetadataManager      manager  = initOJB();
            Database             dbModel  = readModel();
            DescriptorRepository objModel = manager.getGlobalRepository();

            if (dbModel == null)
            {
                throw new BuildException("No database model specified");
View Full Code Here

       
        // Get the database schema XML file
        InputStream schemaIS = getClass().getClassLoader().getResourceAsStream( "photovault_schema.xml" );
        DatabaseIO dbio = new DatabaseIO();
        dbio.setValidateXml( false );
        Database dbModel = dbio.read( new InputStreamReader( schemaIS ) );
       
        // Create the datasource for accessing this database
       
        String driverName = "com.mysql.jdbc.Driver";
        String dbUrl = "jdbc:mysql://" + getHost() + "/" + getDbName();
       
        DataSource ds = null;
        if ( instanceType == TYPE_EMBEDDED ) {
            if ( !embeddedDirectory.exists() ) {
                embeddedDirectory.mkdirs();
            }
            File derbyDir = new File( embeddedDirectory, "derby" );
            File photoDir = new File( embeddedDirectory, "photos");
            Volume vol = new Volume( "photos", photoDir.getAbsolutePath() );
            try {
                addVolume( vol );
            } catch (PhotovaultException ex) {
                // This should not happen since this is the first volume, there cannot be
                // name conflict!!!
            }
            System.setProperty( "derby.system.home", derbyDir.getAbsolutePath() );
            driverName = "org.apache.derby.jdbc.EmbeddedDriver";
            dbUrl = "jdbc:derby:photovault;create=true";
            EmbeddedDataSource derbyDs = new EmbeddedDataSource();
            derbyDs.setDatabaseName( "photovault" );
            derbyDs.setCreateDatabase( "create" );
            ds = derbyDs;
        } else {
       
            MysqlDataSource mysqlDs = new MysqlDataSource();
            mysqlDs.setURL( dbUrl );
            mysqlDs.setUser( user );
            mysqlDs.setPassword( passwd );
            ds = mysqlDs;
        }
       
        Platform platform = PlatformFactory.createNewPlatformInstance( ds );
       
        /*
         * Do not use delimiters for the database object names in SQL statements.
         * This is to avoid case sensitivity problems with SQL92 compliant
         * databases like Derby - non-delimited identifiers are interpreted as case
         *  insensitive.
         *
         * I am not sure if this is the correct way to solve the issue, however,
         * I am not willing to make a big change of schema definitions either.
         */
        platform.getPlatformInfo().setDelimiterToken( "" );
        platform.setUsername( user );
        platform.setPassword( passwd );
        platform.createTables( dbModel, true, true );
       
        // Insert the seed data to database
        DataToDatabaseSink sink = new DataToDatabaseSink( platform, dbModel );
        DataReader reader = new DataReader();
        reader.setModel( dbModel );
        reader.setSink( sink );
       

        InputStream seedDataStream = this.getClass().getClassLoader().getResourceAsStream( "photovault_seed_data.xml" );
        try {
            reader.parse( seedDataStream );
        } catch (SAXException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
       
        if ( seedDataResource != null ) {
            seedDataStream = this.getClass().getClassLoader().getResourceAsStream( seedDataResource );
            try {
                reader.parse( seedDataStream );
            } catch (SAXException ex) {
                ex.printStackTrace();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
       
        // Create the database
       
        // TODO: Since the seed has only 48 significant bits this id is not really an
        // 128-bit random number!!!
        Random rnd = new Random();
        String idStr = "";
        StringBuffer idBuf = new StringBuffer();
        for ( int n=0; n < 4; n++ ) {
            int r = rnd.nextInt();
            idBuf.append( Integer.toHexString( r ) );
        }
        idStr = idBuf.toString();
        DynaBean dbInfo = dbModel.createDynaBeanFor( "database_info", false );
        dbInfo.set( "database_id", idStr );
        dbInfo.set( "schema_version", new Integer( CURRENT_SCHEMA_VERSION ) );
        dbInfo.set( "create_time", new Timestamp( System.currentTimeMillis() ) );
        platform.insert( dbModel, dbInfo );
    }       
View Full Code Here

       
        // Get the database schema XML file
        InputStream schemaIS = getClass().getClassLoader().getResourceAsStream( "photovault_schema.xml" );
        DatabaseIO dbio = new DatabaseIO();
        dbio.setValidateXml( false );
        Database dbModel = dbio.read( new InputStreamReader( schemaIS ) );
       
        // Alter tables to match corrent schema
        PersistenceBroker broker = PersistenceBrokerFactory.createPersistenceBroker( connKey );
        broker.beginTransaction();
        try {
View Full Code Here

                pRepository.getDataSource()
        );
        if ( pIncludeExistingTables ) {
            mDatabase = mPlatform.readModelFromDatabase(pRepository.getAbsoluteName());
        } else {
            mDatabase = new Database();
            mDatabase.setName(pRepository.getAbsoluteName());
            mDatabase.setVersion("1.0");
        }
        String[] names = pRepository.getItemDescriptorNames();
        for ( String name : names ) {
View Full Code Here

TOP

Related Classes of org.apache.ddlutils.model.Database

Copyright © 2018 www.massapicom. 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.