You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2017/10/27 07:37:26 UTC
[1/3] polygene-java git commit: Unifying the clean up of SQL tests,
as they caused a lot of problems. Removed a "throws Exception" in
AbstractPolygeneBaseTest.tearDown(),
which is effectively breaking test compatibility,
but I think worth it in the long
Repository: polygene-java
Updated Branches:
refs/heads/develop f6a5b3384 -> db90b19ca
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreMixin.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreMixin.java
index f3c4b93..bb6f4a9 100644
--- a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreMixin.java
+++ b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreMixin.java
@@ -22,16 +22,10 @@ import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
-import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
import javax.sql.DataSource;
-import liquibase.Contexts;
-import liquibase.Liquibase;
-import liquibase.database.Database;
-import liquibase.database.ObjectQuotingStrategy;
-import liquibase.exception.LiquibaseException;
import org.apache.polygene.api.configuration.Configuration;
import org.apache.polygene.api.entity.EntityDescriptor;
import org.apache.polygene.api.entity.EntityReference;
@@ -40,25 +34,27 @@ import org.apache.polygene.api.injection.scope.This;
import org.apache.polygene.api.injection.scope.Uses;
import org.apache.polygene.api.service.ServiceActivation;
import org.apache.polygene.api.service.ServiceDescriptor;
-import org.apache.polygene.library.sql.liquibase.LiquibaseService;
import org.apache.polygene.serialization.javaxjson.JavaxJsonFactories;
import org.apache.polygene.spi.entitystore.EntityNotFoundException;
import org.apache.polygene.spi.entitystore.helpers.JSONKeys;
import org.apache.polygene.spi.entitystore.helpers.MapEntityStore;
+import org.jooq.ConnectionProvider;
import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.Query;
import org.jooq.Record;
import org.jooq.SQLDialect;
-import org.jooq.Schema;
import org.jooq.Table;
+import org.jooq.TransactionProvider;
import org.jooq.conf.Settings;
import org.jooq.impl.DSL;
+import org.jooq.impl.DataSourceConnectionProvider;
+import org.jooq.impl.DefaultConfiguration;
+import org.jooq.impl.ThreadLocalTransactionProvider;
public class SQLEntityStoreMixin
implements ServiceActivation, MapEntityStore
{
- private static final String TABLE_NAME_LIQUIBASE_PARAMETER = "es-sql.table";
private static final String IDENTITY_COLUMN_NAME = "ENTITY_IDENTITY";
private static final String VERSION_COLUMN_NAME = "ENTITY_VERSION";
private static final String STATE_COLUMN_NAME = "ENTITY_STATE";
@@ -67,9 +63,6 @@ public class SQLEntityStoreMixin
private DataSource dataSource;
@Service
- private LiquibaseService liquibaseService;
-
- @Service
private JavaxJsonFactories jsonFactories;
@Uses
@@ -78,7 +71,6 @@ public class SQLEntityStoreMixin
@This
private Configuration<SQLEntityStoreConfiguration> configuration;
- private Schema schema;
private Table<Record> table;
private Field<String> identityColumn;
private Field<String> versionColumn;
@@ -86,7 +78,8 @@ public class SQLEntityStoreMixin
private DSLContext dsl;
@Override
- public void activateService() throws Exception
+ public void activateService()
+ throws Exception
{
configuration.refresh();
SQLEntityStoreConfiguration config = configuration.get();
@@ -94,66 +87,36 @@ public class SQLEntityStoreMixin
// Prepare jooq DSL
SQLDialect dialect = descriptor.metaInfo( SQLDialect.class );
Settings settings = descriptor.metaInfo( Settings.class );
- String schemaName = config.schemaName().get();
String tableName = config.entityTableName().get();
- schema = DSL.schema( DSL.name( schemaName ) );
- table = DSL.table(
- dialect.equals( SQLDialect.SQLITE )
- ? DSL.name( tableName )
- : DSL.name( schema.getName(), tableName )
- );
+ ConnectionProvider connectionProvider = new DataSourceConnectionProvider( dataSource );
+ TransactionProvider transactionProvider = new ThreadLocalTransactionProvider( connectionProvider, false );
+ org.jooq.Configuration configuration = new DefaultConfiguration()
+ .set( dialect )
+ .set( connectionProvider )
+ .set( transactionProvider )
+ .set( settings );
+ dsl = DSL.using( configuration );
+ table = DSL.table( DSL.name( tableName ) );
identityColumn = DSL.field( DSL.name( IDENTITY_COLUMN_NAME ), String.class );
versionColumn = DSL.field( DSL.name( VERSION_COLUMN_NAME ), String.class );
stateColumn = DSL.field( DSL.name( STATE_COLUMN_NAME ), String.class );
- dsl = DSL.using( dataSource, dialect, settings );
- // Eventually create schema and apply Liquibase changelog
if( config.createIfMissing().get() )
{
- if( !dialect.equals( SQLDialect.SQLITE )
- && dsl.meta().getSchemas().stream().noneMatch( s -> schema.getName().equalsIgnoreCase( s.getName() ) ) )
- {
- dsl.createSchema( schema ).execute();
- }
-
- applyLiquibaseChangelog( dialect );
- }
- }
-
- private void applyLiquibaseChangelog( SQLDialect dialect ) throws SQLException, LiquibaseException
- {
- Liquibase liquibase = liquibaseService.newConnectedLiquibase();
- Database db = liquibase.getDatabase();
- db.setObjectQuotingStrategy( ObjectQuotingStrategy.QUOTE_ALL_OBJECTS );
- try
- {
- if( !dialect.equals( SQLDialect.SQLITE ) )
- {
- if( db.supportsSchemas() )
- {
- db.setDefaultSchemaName( schema.getName() );
- db.setLiquibaseSchemaName( schema.getName() );
- }
- if( db.supportsCatalogs() )
- {
- db.setDefaultCatalogName( schema.getName() );
- db.setLiquibaseCatalogName( schema.getName() );
- }
- }
- liquibase.getChangeLogParameters().set( TABLE_NAME_LIQUIBASE_PARAMETER, table.getName() );
- liquibase.update( new Contexts() );
- }
- finally
- {
- db.close();
+ dsl.transaction( t -> dsl.createTableIfNotExists( table )
+ .column( identityColumn )
+ .column( versionColumn )
+ .column( stateColumn )
+ .constraint( DSL.primaryKey( identityColumn ) )
+ .execute() );
}
}
@Override
- public void passivateService() throws Exception
+ public void passivateService()
+ throws Exception
{
dsl = null;
- schema = null;
table = null;
identityColumn = null;
versionColumn = null;
@@ -182,7 +145,8 @@ public class SQLEntityStoreMixin
}
@Override
- public void applyChanges( MapChanges changes ) throws Exception
+ public void applyChanges( MapChanges changes )
+ throws Exception
{
List<Query> operations = new ArrayList<>();
changes.visitMap( new MapChanger()
@@ -193,7 +157,8 @@ public class SQLEntityStoreMixin
return new StringWriter( 1000 )
{
@Override
- public void close() throws IOException
+ public void close()
+ throws IOException
{
super.close();
String state = toString();
@@ -204,7 +169,7 @@ public class SQLEntityStoreMixin
dsl.insertInto( table )
.columns( identityColumn, versionColumn, stateColumn )
.values( ref.identity().toString(), version, state )
- );
+ );
}
};
}
@@ -215,7 +180,8 @@ public class SQLEntityStoreMixin
return new StringWriter( 1000 )
{
@Override
- public void close() throws IOException
+ public void close()
+ throws IOException
{
super.close();
String state = toString();
@@ -225,7 +191,7 @@ public class SQLEntityStoreMixin
.set( stateColumn, state )
.where( identityColumn.equal( mapChange.reference().identity().toString() ) )
.and( versionColumn.equal( mapChange.previousVersion() ) )
- );
+ );
}
};
}
@@ -236,9 +202,9 @@ public class SQLEntityStoreMixin
operations.add(
dsl.deleteFrom( table )
.where( identityColumn.equal( ref.identity().toString() ) )
- );
+ );
}
} );
- dsl.batch( operations ).execute();
+ dsl.transaction( t -> dsl.batch( operations ).execute() );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/AbstractSQLEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/AbstractSQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/AbstractSQLEntityStoreAssembler.java
index c2f7eb2..0925d30 100644
--- a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/AbstractSQLEntityStoreAssembler.java
+++ b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/AbstractSQLEntityStoreAssembler.java
@@ -24,8 +24,6 @@ import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sqlkv.SQLEntityStoreConfiguration;
import org.apache.polygene.entitystore.sqlkv.SQLEntityStoreService;
-import org.apache.polygene.library.sql.liquibase.LiquibaseAssembler;
-import org.apache.polygene.library.sql.liquibase.LiquibaseConfiguration;
import org.jooq.SQLDialect;
import org.jooq.conf.RenderNameStyle;
import org.jooq.conf.Settings;
@@ -33,8 +31,7 @@ import org.jooq.conf.Settings;
/**
* Base SQL EntityStore assembly.
*/
-public abstract class AbstractSQLEntityStoreAssembler<AssemblerType>
- extends Assemblers.VisibilityIdentityConfig<AssemblerType>
+public abstract class AbstractSQLEntityStoreAssembler<AssemblerType> extends Assemblers.VisibilityIdentityConfig<AssemblerType>
{
public static final Identity DEFAULT_ENTITYSTORE_IDENTITY = StringIdentity.identityOf( "entitystore-sqlkv" );
private static final String DEFAULT_CHANGELOG_PATH = "org/apache/polygene/entitystore/sql/changelog.xml";
@@ -58,16 +55,6 @@ public abstract class AbstractSQLEntityStoreAssembler<AssemblerType>
String identity = ( hasIdentity() ? identity() : DEFAULT_ENTITYSTORE_IDENTITY ).toString();
- LiquibaseAssembler liquibase = new LiquibaseAssembler().identifiedBy( identity + "-liquibase" );
- if( hasConfig() )
- {
- liquibase.withConfig( configModule(), configVisibility() );
- LiquibaseConfiguration liquibaseconfig = configModule().forMixin( LiquibaseConfiguration.class )
- .declareDefaults();
- liquibaseconfig.changeLog().set( changelogPath );
- }
- liquibase.assemble( module );
-
module.services( SQLEntityStoreService.class )
.identifiedBy( identity )
.visibleIn( visibility() )
@@ -80,12 +67,6 @@ public abstract class AbstractSQLEntityStoreAssembler<AssemblerType>
}
}
- public AssemblerType withLiquibaseChangelog( String changelogPath )
- {
- this.changelogPath = changelogPath;
- return (AssemblerType) this;
- }
-
protected Settings getSettings()
{
return new Settings().withRenderNameStyle( RenderNameStyle.QUOTED );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/DerbySQLEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/DerbySQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/DerbySQLEntityStoreAssembler.java
index 9110b80..96bbbc4 100644
--- a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/DerbySQLEntityStoreAssembler.java
+++ b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/DerbySQLEntityStoreAssembler.java
@@ -24,8 +24,7 @@ import org.jooq.SQLDialect;
/**
* Derby EntityStore assembly.
*/
-public class DerbySQLEntityStoreAssembler
- extends AbstractSQLEntityStoreAssembler<DerbySQLEntityStoreAssembler>
+public class DerbySQLEntityStoreAssembler extends AbstractSQLEntityStoreAssembler<DerbySQLEntityStoreAssembler>
{
@Override
protected SQLDialect getSQLDialect()
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/MariaDbSQLEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/MariaDbSQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/MariaDbSQLEntityStoreAssembler.java
new file mode 100644
index 0000000..6ae59f0
--- /dev/null
+++ b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/assembly/MariaDbSQLEntityStoreAssembler.java
@@ -0,0 +1,35 @@
+/*
+ * 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
+ *
+ * http://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.polygene.entitystore.sqlkv.assembly;
+
+import org.jooq.SQLDialect;
+
+/**
+ * MySQL EntityStore assembly.
+ */
+public class MariaDbSQLEntityStoreAssembler
+ extends AbstractSQLEntityStoreAssembler<MariaDbSQLEntityStoreAssembler>
+{
+ @Override
+ protected SQLDialect getSQLDialect()
+ {
+ return SQLDialect.MARIADB;
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml b/extensions/entitystore-sqlkv/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml
deleted file mode 100644
index 47ef554..0000000
--- a/extensions/entitystore-sqlkv/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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
- ~
- ~ http://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.
- -->
-<databaseChangeLog
- xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd"
- objectQuotingStrategy="QUOTE_ALL_OBJECTS">
- <changeSet id="0" author="paul">
- <createTable tableName="${es-sql.table}">
- <column name="ENTITY_IDENTITY" type="varchar(64)">
- <constraints primaryKey="true" nullable="false"/>
- </column>
- <column name="ENTITY_VERSION" type="varchar(64)">
- <constraints nullable="false"/>
- </column>
- <column name="ENTITY_STATE" type="varchar(10240)">
- <constraints nullable="false"/>
- </column>
- </createTable>
- </changeSet>
-</databaseChangeLog>
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java
index 627699f..161ee07 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTest.java
@@ -19,25 +19,18 @@
*/
package org.apache.polygene.entitystore.sqlkv;
-import java.sql.Connection;
-import java.sql.Statement;
-import javax.sql.DataSource;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.usecase.UsecaseBuilder;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.sqlkv.SQLEntityStoreConfiguration;
import org.apache.polygene.entitystore.sqlkv.assembly.DerbySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
-import static org.apache.polygene.entitystore.sqlkv.assembly.DerbySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
-
-public class DerbySQLEntityStoreTest
- extends AbstractEntityStoreTest
+public class DerbySQLEntityStoreTest extends AbstractEntityStoreTest
{
@Override
// START SNIPPET: assembly
@@ -74,29 +67,9 @@ public class DerbySQLEntityStoreTest
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- UnitOfWork uow = this.unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase(
- "Delete " + getClass().getSimpleName() + " test data" ) );
- try
- {
- SQLEntityStoreConfiguration config = uow.get( SQLEntityStoreConfiguration.class,
- DEFAULT_ENTITYSTORE_IDENTITY );
- Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
- connection.setAutoCommit( false );
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "DELETE FROM %s.%s",
- config.schemaName().get(),
- config.entityTableName().get() ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- super.tearDown();
- }
+ TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java
index b5d3949..cc61b84 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/DerbySQLEntityStoreTestSuite.java
@@ -19,22 +19,16 @@
*/
package org.apache.polygene.entitystore.sqlkv;
-import java.sql.Connection;
-import java.sql.Statement;
-import javax.sql.DataSource;
import org.apache.polygene.api.common.Visibility;
import org.apache.polygene.api.structure.Module;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
-import org.apache.polygene.api.usecase.UsecaseBuilder;
import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.sqlkv.SQLEntityStoreConfiguration;
import org.apache.polygene.entitystore.sqlkv.assembly.DerbySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
-
-import static org.apache.polygene.entitystore.sqlkv.assembly.DerbySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
+import org.jooq.SQLDialect;
+import org.junit.After;
public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite
{
@@ -65,31 +59,9 @@ public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite
}
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( "Infrastructure Layer","Storage Module" );
- UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
- UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase(
- "Delete " + getClass().getSimpleName() + " test data" ) );
- try
- {
- SQLEntityStoreConfiguration config = uow.get( SQLEntityStoreConfiguration.class,
- DEFAULT_ENTITYSTORE_IDENTITY );
- Connection connection = storageModule.serviceFinder().findService( DataSource.class ).get().getConnection();
- connection.setAutoCommit( false );
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "DELETE FROM %s.%s",
- config.schemaName().get(),
- config.entityTableName().get() ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- super.tearDown();
- }
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.DERBY, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java
index 1303106..8575cfb 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTest.java
@@ -27,9 +27,10 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
-public class H2SQLEntityStoreTest
- extends AbstractEntityStoreTest
+public class H2SQLEntityStoreTest extends AbstractEntityStoreTest
{
@Override
// START SNIPPET: assembly
@@ -64,4 +65,11 @@ public class H2SQLEntityStoreTest
.assemble( module );
}
// END SNIPPET: assembly
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( moduleInstance, SQLDialect.H2, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java
index daa3030..b4b736e 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/H2SQLEntityStoreTestSuite.java
@@ -25,6 +25,8 @@ import org.apache.polygene.entitystore.sqlkv.assembly.H2SQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite
{
@@ -53,4 +55,11 @@ public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite
.withConfig( configModule, Visibility.application )
.assemble( module );
}
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.H2, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java
new file mode 100644
index 0000000..fbc12f3
--- /dev/null
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTest.java
@@ -0,0 +1,103 @@
+/*
+ * 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
+ *
+ * http://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.polygene.entitystore.sqlkv;
+
+import java.util.HashMap;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.EntityTestAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+
+@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR")
+public class MariaDbEntityStoreTest extends AbstractEntityStoreTest
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule(
+ "mariadb",
+ new HashMap<String, String>()
+ {{
+ put( "MYSQL_ROOT_PASSWORD", "" );
+ put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" );
+ put( "MYSQL_DATABASE", "jdbc_test_db" );
+ put( "MYSQL_ROOT_HOST", "172.17.0.1" );
+ }},
+ 30000L
+// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule
+ );
+
+ @Override
+ // START SNIPPET: assembly
+ public void assemble( ModuleAssembly module )
+ throws AssemblyException
+ {
+ // END SNIPPET: assembly
+ super.assemble( module );
+ ModuleAssembly config = module.layer().module( "config" );
+ new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
+
+ // START SNIPPET: assembly
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "mysql-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( config, Visibility.layer )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "mysql-datasource-service" )
+ .identifiedBy( "mysql-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new MySQLEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( config, Visibility.layer )
+ .assemble( module );
+ // END SNIPPET: assembly
+ String mysqlHost = DOCKER.getDockerHost();
+ int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" );
+ config.forMixin( DataSourceConfiguration.class ).declareDefaults()
+ .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort
+ + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC"
+ + "&nullCatalogMeansCurrent=true&nullNamePatternMatchesAll=true" );
+ // START SNIPPET: assembly
+ }
+ // END SNIPPET: assembly
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( moduleInstance, SQLDialect.MARIADB, super::tearDown );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java
new file mode 100644
index 0000000..1c4502a
--- /dev/null
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MariaDbEntityStoreTestSuite.java
@@ -0,0 +1,92 @@
+/*
+ * 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
+ *
+ * http://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.polygene.entitystore.sqlkv;
+
+import java.util.HashMap;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+
+@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR")
+public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule(
+ "mariadb",
+ new HashMap<String, String>()
+ {{
+ put( "MYSQL_ROOT_PASSWORD", "" );
+ put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" );
+ put( "MYSQL_DATABASE", "jdbc_test_db" );
+ put( "MYSQL_ROOT_HOST", "172.17.0.1" );
+ }},
+ 30000L
+// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule
+ );
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "mysql-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "mysql-datasource-service" )
+ .identifiedBy( "mysql-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new MySQLEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ String mysqlHost = DOCKER.getDockerHost();
+ int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" );
+ configModule.forMixin( DataSourceConfiguration.class ).declareDefaults()
+ .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort
+ + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC"
+ + "&nullCatalogMeansCurrent=true&nullNamePatternMatchesAll=true" );
+ }
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MARIADB, super::tearDown );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java
index 3c9f689..4e45ec8 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTest.java
@@ -19,16 +19,10 @@
*/
package org.apache.polygene.entitystore.sqlkv;
-import java.sql.Connection;
-import java.sql.Statement;
import java.util.HashMap;
-import javax.sql.DataSource;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.usecase.UsecaseBuilder;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.sqlkv.SQLEntityStoreConfiguration;
import org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
@@ -36,12 +30,13 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
+import org.junit.Ignore;
-import static org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
-
-public class MySQLEntityStoreTest
- extends AbstractEntityStoreTest
+@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR")
+public class MySQLEntityStoreTest extends AbstractEntityStoreTest
{
@ClassRule
public static final DockerRule DOCKER = new DockerRule(
@@ -100,29 +95,9 @@ public class MySQLEntityStoreTest
// END SNIPPET: assembly
@Override
- public void tearDown() throws Exception
+ @After
+ public void tearDown()
{
- UnitOfWork uow = this.unitOfWorkFactory.newUnitOfWork(
- UsecaseBuilder.newUsecase( "Delete " + getClass().getSimpleName() + " test data" )
- );
- try
- {
- Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
- SQLEntityStoreConfiguration configuration = uow.get( SQLEntityStoreConfiguration.class,
- DEFAULT_ENTITYSTORE_IDENTITY );
- connection.setAutoCommit( false );
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "TRUNCATE %s.%s",
- configuration.schemaName().get(),
- configuration.entityTableName().get() ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- super.tearDown();
- }
+ TearDown.dropTables( moduleInstance, SQLDialect.MYSQL, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java
index 65f6b72..349ad3f 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/MySQLEntityStoreTestSuite.java
@@ -19,28 +19,21 @@
*/
package org.apache.polygene.entitystore.sqlkv;
-import java.sql.Connection;
-import java.sql.Statement;
import java.util.HashMap;
-import javax.sql.DataSource;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.service.ServiceFinder;
-import org.apache.polygene.api.structure.Module;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
-import org.apache.polygene.api.usecase.UsecaseBuilder;
import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.sqlkv.SQLEntityStoreConfiguration;
import org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
+import org.junit.Ignore;
-import static org.apache.polygene.entitystore.sqlkv.assembly.MySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
-
+@Ignore( "Waiting response from JOOQ to fix SQL generation. VARCHAR instead of CHAR")
public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite
{
@ClassRule
@@ -91,33 +84,9 @@ public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite
}
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
- UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
- ServiceFinder serviceFinder = storageModule.serviceFinder();
- UnitOfWork uow = uowf.newUnitOfWork(
- UsecaseBuilder.newUsecase( "Delete " + getClass().getSimpleName() + " test data" )
- );
- try
- {
- Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
- SQLEntityStoreConfiguration configuration = uow.get( SQLEntityStoreConfiguration.class,
- DEFAULT_ENTITYSTORE_IDENTITY );
- connection.setAutoCommit( false );
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "TRUNCATE %s.%s",
- configuration.schemaName().get(),
- configuration.entityTableName().get() ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- super.tearDown();
- }
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MYSQL, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
index 2525265..1abfa3f 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
@@ -19,28 +19,21 @@
*/
package org.apache.polygene.entitystore.sqlkv;
-import java.sql.Connection;
-import java.sql.Statement;
-import javax.sql.DataSource;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.usecase.UsecaseBuilder;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sqlkv.assembly.PostgreSQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
-import org.apache.polygene.library.sql.common.SQLConfiguration;
import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
-import static org.apache.polygene.entitystore.sqlkv.assembly.PostgreSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
-
-public class PostgreSQLEntityStoreTest
- extends AbstractEntityStoreTest
+public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest
{
@ClassRule
public static final DockerRule DOCKER = new DockerRule( "postgres",
@@ -88,28 +81,9 @@ public class PostgreSQLEntityStoreTest
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- UnitOfWork uow = unitOfWorkFactory.newUnitOfWork(
- UsecaseBuilder.newUsecase( "Delete " + getClass().getSimpleName() + " test data" )
- );
- try
- {
- SQLConfiguration config = uow.get( SQLConfiguration.class, DEFAULT_ENTITYSTORE_IDENTITY );
- Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
- connection.setAutoCommit( false );
- String schemaName = config.schemaName().get();
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "DROP SCHEMA \"%s\" CASCADE", schemaName ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- super.tearDown();
- }
+ TearDown.dropTables( moduleInstance, SQLDialect.POSTGRES, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
index 93e73e8..5e975b7 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
@@ -19,27 +19,18 @@
*/
package org.apache.polygene.entitystore.sqlkv;
-import java.sql.Connection;
-import java.sql.Statement;
-import javax.sql.DataSource;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.service.ServiceFinder;
-import org.apache.polygene.api.structure.Module;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
-import org.apache.polygene.api.usecase.UsecaseBuilder;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sqlkv.assembly.PostgreSQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
-import org.apache.polygene.library.sql.common.SQLConfiguration;
import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
-import static org.apache.polygene.entitystore.sqlkv.assembly.PostgreSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
-
public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
{
@ClassRule
@@ -81,31 +72,9 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
- UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
- ServiceFinder serviceFinder = storageModule.serviceFinder();
- UnitOfWork uow = uowf.newUnitOfWork(
- UsecaseBuilder.newUsecase( "Delete " + getClass().getSimpleName() + " test data" )
- );
- try
- {
- SQLConfiguration config = uow.get( SQLConfiguration.class, DEFAULT_ENTITYSTORE_IDENTITY );
- Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
- connection.setAutoCommit( false );
- String schemaName = config.schemaName().get();
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "DROP SCHEMA \"%s\" CASCADE", schemaName ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- super.tearDown();
- }
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.POSTGRES, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java
index d554cd6..a74e0c3 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTest.java
@@ -27,6 +27,8 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.BeforeClass;
import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk;
@@ -72,4 +74,11 @@ public class SQLiteEntityStoreTest extends AbstractEntityStoreTest
.assemble( module );
}
// END SNIPPET: assembly
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( moduleInstance, SQLDialect.SQLITE, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java
index 5ae254f..a73040c 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/SQLiteEntityStoreTestSuite.java
@@ -25,6 +25,8 @@ import org.apache.polygene.entitystore.sqlkv.assembly.SQLiteEntityStoreAssembler
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.BeforeClass;
import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk;
@@ -62,4 +64,11 @@ public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite
.withConfig( configModule, Visibility.application )
.assemble( module );
}
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.SQLITE, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/TearDown.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/TearDown.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/TearDown.java
new file mode 100644
index 0000000..6aaa6cb
--- /dev/null
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/TearDown.java
@@ -0,0 +1,81 @@
+package org.apache.polygene.entitystore.sqlkv;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import javax.sql.DataSource;
+import org.apache.polygene.api.service.ServiceFinder;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
+import org.apache.polygene.api.usecase.UsecaseBuilder;
+import org.jooq.SQLDialect;
+
+class TearDown
+{
+ static void dropTables( Module module, SQLDialect dialect, Runnable after )
+ {
+ if( module == null ){
+ System.err.println( "WARNING: 'module' was null. Happens if there was a pre-activation error. Otherwise an InternalError" );
+ }
+ UnitOfWorkFactory unitOfWorkFactory = module.unitOfWorkFactory();
+ ServiceFinder serviceFinder = module.serviceFinder();
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Cleaning up. Drop Tables" ) ) )
+ {
+ try( Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection() )
+ {
+ connection.setAutoCommit( true );
+ try( Statement stmt = connection.createStatement() )
+ {
+ dropTable( dialect, stmt, "POLYGENE_ENTITIES" );
+ }
+ }
+ }
+ catch( SQLException e )
+ {
+ throw new RuntimeException( "Unable to clean up tables.", e );
+ }
+ finally
+ {
+ after.run();
+ }
+ }
+
+ private static void dropTable( SQLDialect dialect, Statement stmt, String tableName )
+ {
+ try
+ {
+ if( dialect == SQLDialect.MYSQL || dialect == SQLDialect.MARIADB )
+ {
+ stmt.execute( String.format( "DROP TABLE `%s`", tableName ) );
+ }
+ else
+ {
+ stmt.execute( String.format( "DROP TABLE \"%s\"", tableName ) );
+ }
+ }
+ catch( SQLException e )
+ {
+ // ignore. Not all tables will be present in all tests.
+ }
+ }
+
+ private static void dropIndex( SQLDialect dialect, Statement stmt, String tableName )
+ {
+ try
+ {
+ if( dialect == SQLDialect.MYSQL || dialect == SQLDialect.MARIADB )
+ {
+ stmt.execute( String.format( "DROP INDEX `IDX_%s`", tableName ) );
+ }
+ else
+ {
+ stmt.execute( String.format( "DROP INDEX \"IDX_%s\"", tableName ) );
+ }
+ }
+ catch( SQLException e )
+ {
+ // ignore. Not all tables will be present in all tests.
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java
index 5bf2ac8..d5b861b 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmHistoryImplTest.java
@@ -73,7 +73,6 @@ public class AlarmHistoryImplTest
@Override
public void tearDown()
- throws Exception
{
if ( unitOfWorkFactory.isUnitOfWorkActive())
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java
index 2281e34..42109fa 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmPointImplTest.java
@@ -71,7 +71,6 @@ public class AlarmPointImplTest extends AbstractPolygeneTest
@Override
public void tearDown()
- throws Exception
{
if( unitOfWorkFactory.isUnitOfWorkActive() )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java
index 43af0b6..0c39afe 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmServiceTest.java
@@ -74,7 +74,6 @@ public class AlarmServiceTest
@Override
public void tearDown()
- throws Exception
{
if ( unitOfWorkFactory.isUnitOfWorkActive())
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java
index 69fb835..56f122a 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/ExtendedAlarmModelTest.java
@@ -75,7 +75,6 @@ public class ExtendedAlarmModelTest
@Override
public void tearDown()
- throws Exception
{
UnitOfWork uow = unitOfWorkFactory.currentUnitOfWork();
if( uow != null )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/SimpleAlarmModelTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/SimpleAlarmModelTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/SimpleAlarmModelTest.java
index a4c402f..1c93d2f 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/SimpleAlarmModelTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/SimpleAlarmModelTest.java
@@ -75,7 +75,6 @@ public class SimpleAlarmModelTest
@Override
public void tearDown()
- throws Exception
{
UnitOfWork uow = unitOfWorkFactory.currentUnitOfWork();
if( uow != null )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/StandardAlarmModelTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/StandardAlarmModelTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/StandardAlarmModelTest.java
index deaa8fe..20f6440 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/StandardAlarmModelTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/StandardAlarmModelTest.java
@@ -77,7 +77,6 @@ public class StandardAlarmModelTest
@Override
public void tearDown()
- throws Exception
{
UnitOfWork uow = unitOfWorkFactory.currentUnitOfWork();
if( uow != null )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/tests/performance/src/perf/java/org/apache/polygene/test/performance/entitystore/sql/DerbySQLEntityStorePerformanceTest.java
----------------------------------------------------------------------
diff --git a/tests/performance/src/perf/java/org/apache/polygene/test/performance/entitystore/sql/DerbySQLEntityStorePerformanceTest.java b/tests/performance/src/perf/java/org/apache/polygene/test/performance/entitystore/sql/DerbySQLEntityStorePerformanceTest.java
index e034c38..291f19f 100644
--- a/tests/performance/src/perf/java/org/apache/polygene/test/performance/entitystore/sql/DerbySQLEntityStorePerformanceTest.java
+++ b/tests/performance/src/perf/java/org/apache/polygene/test/performance/entitystore/sql/DerbySQLEntityStorePerformanceTest.java
@@ -92,8 +92,7 @@ public class DerbySQLEntityStorePerformanceTest
connection.setAutoCommit( false );
try( Statement stmt = connection.createStatement() )
{
- stmt.execute( String.format( "DELETE FROM %s.%s",
- config.schemaName().get(),
+ stmt.execute( String.format( "DELETE FROM \"%s\"",
config.entityTableName().get() ) );
connection.commit();
}
[3/3] polygene-java git commit: More fixing due to the autoCommit OFF
that I think I enabled earlier. OR that we have a new JOOQ version and the
default transaction/connection handler isn't good enough.
Posted by ni...@apache.org.
More fixing due to the autoCommit OFF that I think I enabled earlier. OR that we have a new JOOQ version and the default transaction/connection handler isn't good enough.
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/db90b19c
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/db90b19c
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/db90b19c
Branch: refs/heads/develop
Commit: db90b19ca9d0984fd399175dc9cf04619aed6c12
Parents: 27dc60c
Author: niclas <ni...@hedhman.org>
Authored: Fri Oct 27 15:36:42 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Fri Oct 27 15:36:42 2017 +0800
----------------------------------------------------------------------
.../sql/PostgreSQLEntityStoreTest.java | 15 +++-
.../sql/PostgreSQLEntityStoreTestSuite.java | 3 +-
.../sqlkv/PostgreSQLEntityStoreTest.java | 15 +++-
.../sqlkv/PostgreSQLEntityStoreTestSuite.java | 3 +-
.../sql/liquibase/LiquibaseServiceTest.java | 75 ++++++++++++--------
5 files changed, 78 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/db90b19c/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
index 3813220..f790a69 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
@@ -49,7 +49,7 @@ public class PostgreSQLEntityStoreTest
DOCKER = new DockerRule( "postgres",
environment,
- 3000L,
+ 5000L,
"PostgreSQL init process complete; ready for start up." );
}
@@ -59,6 +59,7 @@ public class PostgreSQLEntityStoreTest
throws AssemblyException
{
// END SNIPPET: assembly
+ delay();
super.assemble( module );
ModuleAssembly config = module.layer().module( "config" );
new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
@@ -97,6 +98,18 @@ public class PostgreSQLEntityStoreTest
// START SNIPPET: assembly
}
+
+ static void delay()
+ {
+ try
+ {
+ Thread.sleep( 5000L );
+ }
+ catch( InterruptedException e )
+ {
+ // ignore.
+ }
+ }
// END SNIPPET: assembly
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/db90b19c/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
index 6c7dcd4..7a10131 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
@@ -46,13 +46,14 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
DOCKER = new DockerRule( "postgres",
environment,
- 3000L,
+ 5000L,
"PostgreSQL init process complete; ready for start up." );
}
@Override
protected void defineStorageModule( ModuleAssembly module )
{
+ PostgreSQLEntityStoreTest.delay();
module.defaultServices();
// DataSourceService
new DBCPDataSourceServiceAssembler()
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/db90b19c/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
index 1abfa3f..b4552de 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTest.java
@@ -37,7 +37,7 @@ public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest
{
@ClassRule
public static final DockerRule DOCKER = new DockerRule( "postgres",
- 3000L,
+ 5000L,
"PostgreSQL init process complete; ready for start up." );
@Override
@@ -46,6 +46,7 @@ public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest
throws AssemblyException
{
// END SNIPPET: assembly
+ delay();
super.assemble( module );
ModuleAssembly config = module.layer().module( "config" );
new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
@@ -78,6 +79,18 @@ public class PostgreSQLEntityStoreTest extends AbstractEntityStoreTest
defaults.url().set( "jdbc:postgresql://" + host + ":" + port + "/jdbc_test_db" );
// START SNIPPET: assembly
}
+
+ static void delay()
+ {
+ try
+ {
+ Thread.sleep( 5000L );
+ }
+ catch( InterruptedException e )
+ {
+ // ignore;
+ }
+ }
// END SNIPPET: assembly
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/db90b19c/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
index 5e975b7..ee45f23 100644
--- a/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sqlkv/PostgreSQLEntityStoreTestSuite.java
@@ -35,12 +35,13 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
{
@ClassRule
public static final DockerRule DOCKER = new DockerRule( "postgres",
- 3000L,
+ 5000L,
"PostgreSQL init process complete; ready for start up." );
@Override
protected void defineStorageModule( ModuleAssembly module )
{
+ PostgreSQLEntityStoreTest.delay();
module.defaultServices();
// DataSourceService
new DBCPDataSourceServiceAssembler()
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/db90b19c/libraries/sql-liquibase/src/test/java/org/apache/polygene/library/sql/liquibase/LiquibaseServiceTest.java
----------------------------------------------------------------------
diff --git a/libraries/sql-liquibase/src/test/java/org/apache/polygene/library/sql/liquibase/LiquibaseServiceTest.java b/libraries/sql-liquibase/src/test/java/org/apache/polygene/library/sql/liquibase/LiquibaseServiceTest.java
index fd39fb3..dd9ff28 100644
--- a/libraries/sql-liquibase/src/test/java/org/apache/polygene/library/sql/liquibase/LiquibaseServiceTest.java
+++ b/libraries/sql-liquibase/src/test/java/org/apache/polygene/library/sql/liquibase/LiquibaseServiceTest.java
@@ -35,13 +35,18 @@ import org.apache.polygene.bootstrap.SingletonAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
+import org.jooq.ConnectionProvider;
import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.InsertValuesStep2;
import org.jooq.Record;
import org.jooq.SQLDialect;
import org.jooq.Table;
+import org.jooq.TransactionProvider;
import org.jooq.impl.DSL;
+import org.jooq.impl.DataSourceConnectionProvider;
+import org.jooq.impl.DefaultConfiguration;
+import org.jooq.impl.ThreadLocalTransactionProvider;
import org.junit.Test;
import static java.util.stream.Collectors.toList;
@@ -58,7 +63,8 @@ import static org.junit.Assert.assertTrue;
public class LiquibaseServiceTest
{
@Test
- public void testLiquibase() throws ActivationException
+ public void testLiquibase()
+ throws ActivationException
{
final SingletonAssembler assembler = new SingletonAssembler()
{
@@ -105,38 +111,49 @@ public class LiquibaseServiceTest
DataSource ds = module.findService( DataSource.class ).get();
// Prepare jOOQ and the schema model
- DSLContext jooq = DSL.using( ds, SQLDialect.DERBY );
+ SQLDialect dialect = SQLDialect.DERBY;
+ ConnectionProvider connectionProvider = new DataSourceConnectionProvider( ds );
+ TransactionProvider transactionProvider = new ThreadLocalTransactionProvider( connectionProvider, false );
+ org.jooq.Configuration configuration = new DefaultConfiguration()
+ .set( dialect )
+ .set( connectionProvider )
+ .set( transactionProvider );
+ DSLContext jooq = DSL.using( configuration );
+
Table<Record> testTable = table( "TEST" );
Field<String> idColumn = field( "ID", String.class );
Field<String> fooColumn = field( "FOO", String.class );
- // Assert that insertion works
- InsertValuesStep2 insert = jooq.insertInto( testTable )
- .columns( idColumn, fooColumn )
- .values( "someid", "bar" );
- assertTrue( insert.execute() == 1 );
-
- List<Record> records = jooq.selectFrom( testTable ).stream().collect( toList() );
- assertThat( records.size(), is( 1 ) );
- assertThat( records.get( 0 ).get( idColumn ), equalTo( "someid" ) );
- assertThat( records.get( 0 ).get( fooColumn ), equalTo( "bar" ) );
-
- Function<Record, SomeValue> toValue = record ->
- {
- ValueBuilder<SomeValue> builder = assembler.module().newValueBuilder( SomeValue.class );
- builder.prototype().id().set( record.get( idColumn ) );
- builder.prototype().foo().set( record.get( fooColumn ) );
- return builder.newInstance();
- };
-
- List<SomeValue> values = jooq.selectFrom( testTable ).stream()
- .map( toValue )
- .peek( System.out::println )
- .collect( toList() );
-
- assertThat( values.size(), is( 1 ) );
- assertThat( values.get( 0 ).id().get(), equalTo( "someid" ) );
- assertThat( values.get( 0 ).foo().get(), equalTo( "bar" ) );
+ jooq.transaction( conf -> {
+ // Assert that insertion works
+ InsertValuesStep2 insert = jooq.insertInto( testTable )
+ .columns( idColumn, fooColumn )
+ .values( "someid", "bar" );
+ assertTrue( insert.execute() == 1 );
+ } );
+ jooq.transaction( conf -> {
+ List<Record> records = jooq.selectFrom( testTable ).stream().collect( toList() );
+ assertThat( records.size(), is( 1 ) );
+ assertThat( records.get( 0 ).get( idColumn ), equalTo( "someid" ) );
+ assertThat( records.get( 0 ).get( fooColumn ), equalTo( "bar" ) );
+
+ Function<Record, SomeValue> toValue = record ->
+ {
+ ValueBuilder<SomeValue> builder = assembler.module().newValueBuilder( SomeValue.class );
+ builder.prototype().id().set( record.get( idColumn ) );
+ builder.prototype().foo().set( record.get( fooColumn ) );
+ return builder.newInstance();
+ };
+
+ List<SomeValue> values = jooq.selectFrom( testTable ).stream()
+ .map( toValue )
+ .peek( System.out::println )
+ .collect( toList() );
+
+ assertThat( values.size(), is( 1 ) );
+ assertThat( values.get( 0 ).id().get(), equalTo( "someid" ) );
+ assertThat( values.get( 0 ).foo().get(), equalTo( "bar" ) );
+ } );
}
interface SomeValue
[2/3] polygene-java git commit: Unifying the clean up of SQL tests,
as they caused a lot of problems. Removed a "throws Exception" in
AbstractPolygeneBaseTest.tearDown(),
which is effectively breaking test compatibility,
but I think worth it in the long
Posted by ni...@apache.org.
Unifying the clean up of SQL tests, as they caused a lot of problems. Removed a "throws Exception" in AbstractPolygeneBaseTest.tearDown(), which is effectively breaking test compatibility, but I think worth it in the long run.
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/27dc60c4
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/27dc60c4
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/27dc60c4
Branch: refs/heads/develop
Commit: 27dc60c49ca888aebdac027c47217d9af012a280
Parents: f6a5b33
Author: niclas <ni...@hedhman.org>
Authored: Fri Oct 27 13:34:40 2017 +0800
Committer: niclas <ni...@hedhman.org>
Committed: Fri Oct 27 13:34:40 2017 +0800
----------------------------------------------------------------------
.../CachingInjectionProviderDecorator.java | 1 -
.../polygene/test/AbstractPolygeneBaseTest.java | 10 +-
.../polygene/test/AbstractPolygeneTest.java | 1 -
.../test/entity/AbstractEntityStoreTest.java | 5 +-
...stractPolygeneMultiLayeredTestWithModel.java | 38 +++++--
.../test/indexing/AbstractAnyQueryTest.java | 1 -
.../cassandra/CassandraEntityStoreTest.java | 1 -
.../CassandraEntityStoreTestSuite.java | 1 -
.../hazelcast/HazelcastEntityStoreTest.java | 1 -
.../HazelcastEntityStoreTestSuite.java | 1 -
.../mongodb/MongoDBEntityStoreTest.java | 1 -
.../mongodb/MongoDBEntityStoreTestSuite.java | 1 -
.../MongoDBEntityStoreWithCacheTest.java | 1 -
.../PreferencesEntityStoreTestSuite.java | 10 +-
.../entitystore/redis/RedisEntityStoreTest.java | 1 -
.../redis/RedisEntityStoreTestSuite.java | 1 -
.../redis/RedisEntityStoreWithCacheTest.java | 1 -
.../entitystore/riak/RiakEntityStoreTest.java | 2 +-
.../riak/RiakEntityStoreTestSuite.java | 1 -
.../riak/RiakEntityStoreWithCacheTest.java | 2 +-
.../polygene/entitystore/riak/RiakFixture.java | 20 ++--
.../entitystore/sql/JooqDslContext.java | 18 +---
.../sql/SqlEntityStoreConfiguration.java | 12 +--
.../entitystore/sql/SqlEntityStoreMixin.java | 1 -
.../polygene/entitystore/sql/SqlTable.java | 13 +--
.../polygene/entitystore/sql/SqlType.java | 1 -
.../polygene/entitystore/sql/TypesTable.java | 1 -
.../sql/DerbySQLEntityStoreTest.java | 34 +-----
.../sql/DerbySQLEntityStoreTestSuite.java | 25 +----
.../entitystore/sql/H2SQLEntityStoreTest.java | 9 +-
.../sql/H2SQLEntityStoreTestSuite.java | 8 +-
.../entitystore/sql/MariaDbEntityStoreTest.java | 15 +--
.../sql/MariaDbEntityStoreTestSuite.java | 11 +-
.../entitystore/sql/MySQLEntityStoreTest.java | 14 +--
.../sql/MySQLEntityStoreTestSuite.java | 9 +-
.../sql/PostgreSQLEntityStoreTest.java | 14 +--
.../sql/PostgreSQLEntityStoreTestSuite.java | 9 +-
.../entitystore/sql/SQLiteEntityStoreTest.java | 8 +-
.../sql/SQLiteEntityStoreTestSuite.java | 9 +-
.../entitystore/sql/SqlEntityStoreTest.java | 9 +-
.../polygene/entitystore/sql/TearDown.java | 100 ++++++++++++++++++
.../polygene/entitystore/sql/TearDownUtil.java | 44 --------
.../test/resources/maridb-datasource.properties | 25 +++++
extensions/entitystore-sqlkv/build.gradle | 2 -
.../entitystore-sqlkv/src/docs/es-sqlkv.txt | 2 -
.../sqlkv/SQLEntityStoreConfiguration.java | 12 +--
.../entitystore/sqlkv/SQLEntityStoreMixin.java | 102 ++++++------------
.../AbstractSQLEntityStoreAssembler.java | 21 +---
.../assembly/DerbySQLEntityStoreAssembler.java | 3 +-
.../MariaDbSQLEntityStoreAssembler.java | 35 +++++++
.../polygene/entitystore/sql/changelog.xml | 37 -------
.../sqlkv/DerbySQLEntityStoreTest.java | 37 +------
.../sqlkv/DerbySQLEntityStoreTestSuite.java | 36 +------
.../entitystore/sqlkv/H2SQLEntityStoreTest.java | 12 ++-
.../sqlkv/H2SQLEntityStoreTestSuite.java | 9 ++
.../sqlkv/MariaDbEntityStoreTest.java | 103 +++++++++++++++++++
.../sqlkv/MariaDbEntityStoreTestSuite.java | 92 +++++++++++++++++
.../entitystore/sqlkv/MySQLEntityStoreTest.java | 41 ++------
.../sqlkv/MySQLEntityStoreTestSuite.java | 43 ++------
.../sqlkv/PostgreSQLEntityStoreTest.java | 36 +------
.../sqlkv/PostgreSQLEntityStoreTestSuite.java | 39 +------
.../sqlkv/SQLiteEntityStoreTest.java | 9 ++
.../sqlkv/SQLiteEntityStoreTestSuite.java | 9 ++
.../polygene/entitystore/sqlkv/TearDown.java | 81 +++++++++++++++
.../library/alarm/AlarmHistoryImplTest.java | 1 -
.../library/alarm/AlarmPointImplTest.java | 1 -
.../library/alarm/AlarmServiceTest.java | 1 -
.../library/alarm/ExtendedAlarmModelTest.java | 1 -
.../library/alarm/SimpleAlarmModelTest.java | 1 -
.../library/alarm/StandardAlarmModelTest.java | 1 -
.../sql/DerbySQLEntityStorePerformanceTest.java | 3 +-
71 files changed, 681 insertions(+), 579 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/core/runtime/src/main/java/org/apache/polygene/runtime/injection/provider/CachingInjectionProviderDecorator.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/polygene/runtime/injection/provider/CachingInjectionProviderDecorator.java b/core/runtime/src/main/java/org/apache/polygene/runtime/injection/provider/CachingInjectionProviderDecorator.java
index 3339a48..c1e82b9 100644
--- a/core/runtime/src/main/java/org/apache/polygene/runtime/injection/provider/CachingInjectionProviderDecorator.java
+++ b/core/runtime/src/main/java/org/apache/polygene/runtime/injection/provider/CachingInjectionProviderDecorator.java
@@ -57,7 +57,6 @@ public final class CachingInjectionProviderDecorator
}
}
}
-
return singletonInstance;
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
index 6d7d6ba..177edb3 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneBaseTest.java
@@ -19,6 +19,7 @@
*/
package org.apache.polygene.test;
+import org.apache.polygene.api.activation.PassivationException;
import org.apache.polygene.test.util.NotYetImplemented;
import org.junit.After;
import org.junit.Before;
@@ -119,11 +120,16 @@ public abstract class AbstractPolygeneBaseTest
@After
public void tearDown()
- throws Exception
{
if( application != null )
{
- application.passivate();
+ try
+ {
+ application.passivate();
+ } catch( Exception e )
+ {
+ throw new RuntimeException( "Unable to shut down test harness cleanly.", e );
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
index 43193be..e1bad60 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/AbstractPolygeneTest.java
@@ -90,7 +90,6 @@ public abstract class AbstractPolygeneTest extends AbstractPolygeneBaseTest
@After
@Override
public void tearDown()
- throws Exception
{
if( unitOfWorkFactory != null && unitOfWorkFactory.isUnitOfWorkActive() )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
index 7e0fd71..5e674e9 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/AbstractEntityStoreTest.java
@@ -55,7 +55,6 @@ import org.apache.polygene.spi.entity.EntityState;
import org.apache.polygene.spi.entitystore.EntityStore;
import org.apache.polygene.test.AbstractPolygeneTest;
import org.junit.After;
-import org.junit.Ignore;
import org.junit.Test;
import static java.time.ZoneOffset.UTC;
@@ -77,7 +76,8 @@ public abstract class AbstractEntityStoreTest
private EntityStore store;
@Structure
- private Module moduleInstance;
+ protected Module moduleInstance;
+
private ZonedDateTime refDate = ZonedDateTime.of( 2020, 3, 4, 13, 24, 35, 0, UTC );
@Override
@@ -91,7 +91,6 @@ public abstract class AbstractEntityStoreTest
@Override
@After
public void tearDown()
- throws Exception
{
super.tearDown();
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
index 0c0500d..aa8abf9 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/entity/model/AbstractPolygeneMultiLayeredTestWithModel.java
@@ -30,6 +30,7 @@ import org.apache.polygene.api.identity.Identity;
import org.apache.polygene.api.injection.scope.Service;
import org.apache.polygene.api.injection.scope.Structure;
import org.apache.polygene.api.object.ObjectFactory;
+import org.apache.polygene.api.service.ServiceFinder;
import org.apache.polygene.api.structure.Application;
import org.apache.polygene.api.structure.ApplicationDescriptor;
import org.apache.polygene.api.structure.Module;
@@ -71,9 +72,24 @@ public abstract class AbstractPolygeneMultiLayeredTestWithModel extends Abstract
private static final String FRIEND = "Friend";
private static final String COLLEAGUE = "Colleague";
+ protected static final String ACCESS_LAYER = "Access Layer";
+ protected static final String DOMAIN_LAYER = "Domain Layer";
+ protected static final String INFRASTRUCTURE_LAYER = "Infrastructure Layer";
+ protected static final String CONFIGURATION_LAYER = "Configuration Layer";
+ protected static final String CONFIGURATION_MODULE = "Configuration Module";
+ protected static final String SERIALIZATION_MODULE = "Serialization Module";
+ protected static final String STORAGE_MODULE = "Storage Module";
+ protected static final String MONETARY_MODULE = "Monetary Module";
+ protected static final String PEOPLE_MODULE = "People Module";
+ protected static final String LEGAL_MODULE = "Legal Module";
+ protected static final String TEST_CASE_MODULE = "TestCase Module";
+
protected ModuleAssembly configModule;
@Structure
+ protected Module configurationModule;
+
+ @Structure
protected ValueBuilderFactory valueBuilderFactory;
@Structure
@@ -89,18 +105,18 @@ public abstract class AbstractPolygeneMultiLayeredTestWithModel extends Abstract
protected void defineApplication( ApplicationAssembly applicationAssembly )
throws AssemblyException
{
- LayerAssembly accessLayer = applicationAssembly.layer( "Access Layer" );
- LayerAssembly domainLayer = applicationAssembly.layer( "Domain Layer" );
- LayerAssembly infrastructureLayer = applicationAssembly.layer( "Infrastructure Layer" );
- LayerAssembly configLayer = applicationAssembly.layer( "Configuration Layer" );
+ LayerAssembly accessLayer = applicationAssembly.layer( ACCESS_LAYER );
+ LayerAssembly domainLayer = applicationAssembly.layer( DOMAIN_LAYER );
+ LayerAssembly infrastructureLayer = applicationAssembly.layer( INFRASTRUCTURE_LAYER );
+ LayerAssembly configLayer = applicationAssembly.layer( CONFIGURATION_LAYER );
accessLayer.uses( domainLayer.uses( infrastructureLayer.uses( configLayer ) ) );
- defineConfigModule( configLayer.module( "Configuration Module" ) );
- defineSerializationModule( configLayer.module( "Serialization Module" ) );
- defineStorageModule( infrastructureLayer.module( "Storage Module" ) );
- defineMonetaryModule( domainLayer.module( "Monetary Module" ) );
- definePeopleModule( domainLayer.module( "People Module" ) );
- defineLegalModule( domainLayer.module( "Legal Module" ) );
- defineTestModule( accessLayer.module( "TestCase Module" ) );
+ defineConfigModule( configLayer.module( CONFIGURATION_MODULE ) );
+ defineSerializationModule( configLayer.module( SERIALIZATION_MODULE ) );
+ defineStorageModule( infrastructureLayer.module( STORAGE_MODULE ) );
+ defineMonetaryModule( domainLayer.module( MONETARY_MODULE ) );
+ definePeopleModule( domainLayer.module( PEOPLE_MODULE ) );
+ defineLegalModule( domainLayer.module( LEGAL_MODULE ) );
+ defineTestModule( accessLayer.module( TEST_CASE_MODULE ) );
}
@Override
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/core/testsupport/src/main/java/org/apache/polygene/test/indexing/AbstractAnyQueryTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/apache/polygene/test/indexing/AbstractAnyQueryTest.java b/core/testsupport/src/main/java/org/apache/polygene/test/indexing/AbstractAnyQueryTest.java
index eb3ffa0..120772b 100644
--- a/core/testsupport/src/main/java/org/apache/polygene/test/indexing/AbstractAnyQueryTest.java
+++ b/core/testsupport/src/main/java/org/apache/polygene/test/indexing/AbstractAnyQueryTest.java
@@ -88,7 +88,6 @@ public class AbstractAnyQueryTest
@Override
public void tearDown()
- throws Exception
{
if( this.unitOfWork != null )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
index 0e0084b..9d7e83d 100644
--- a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
+++ b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTest.java
@@ -76,7 +76,6 @@ public class CassandraEntityStoreTest
@Override
public void tearDown()
- throws Exception
{
CanRemoveAll cleaner = serviceFinder.findService( CanRemoveAll.class ).get();
cleaner.removeAll();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTestSuite.java b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTestSuite.java
index 3908a73..9841d7d 100644
--- a/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTestSuite.java
+++ b/extensions/entitystore-cassandra/src/test/java/org/apache/polygene/entitystore/cassandra/CassandraEntityStoreTestSuite.java
@@ -63,7 +63,6 @@ public class CassandraEntityStoreTestSuite extends EntityStoreTestSuite
@Override
public void tearDown()
- throws Exception
{
Module module = application.findModule( "Infrastructure Layer", "Storage Module" );
ServiceReference<CanRemoveAll> cleaner = module.serviceFinder().findService( CanRemoveAll.class );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
index 37ee7f5..c159995 100644
--- a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
+++ b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTest.java
@@ -58,7 +58,6 @@ public class HazelcastEntityStoreTest
@After
@Override
public void tearDown()
- throws Exception
{
super.tearDown();
// TODO : delete test data
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
index 346f0ea..e1334b1 100644
--- a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
+++ b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
@@ -40,7 +40,6 @@ public class HazelcastEntityStoreTestSuite extends EntityStoreTestSuite
@After
@Override
public void tearDown()
- throws Exception
{
super.tearDown();
// TODO : delete test data
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
index 8a7876a..d4194da 100644
--- a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
+++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTest.java
@@ -77,7 +77,6 @@ public class MongoDBEntityStoreTest extends AbstractEntityStoreTest
@Override
public void tearDown()
- throws Exception
{
mongo.dropDatabase( dbName );
super.tearDown();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
index 109ff43..64852ca 100644
--- a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
+++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
@@ -69,7 +69,6 @@ public class MongoDBEntityStoreTestSuite extends EntityStoreTestSuite
@Override
public void tearDown()
- throws Exception
{
mongo.dropDatabase( dbName );
super.tearDown();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
index 8fab686..b334ead 100644
--- a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
+++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreWithCacheTest.java
@@ -73,7 +73,6 @@ public class MongoDBEntityStoreWithCacheTest
@Override
public void tearDown()
- throws Exception
{
mongo.dropDatabase( dbName );
super.tearDown();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
index 4ca18b4..6aaa6fa 100644
--- a/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
+++ b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
@@ -49,8 +49,14 @@ public class PreferencesEntityStoreTestSuite extends EntityStoreTestSuite
@After
public void tearDown()
- throws BackingStoreException
{
- rootNode.removeNode();
+ try
+ {
+ rootNode.removeNode();
+ }
+ catch( BackingStoreException e )
+ {
+ throw new RuntimeException( e );
+ }
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
index 401f703..f678b72 100644
--- a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
+++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTest.java
@@ -69,7 +69,6 @@ public class RedisEntityStoreTest
@Override
public void tearDown()
- throws Exception
{
try( Jedis jedis = jedisPool.getResource() )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
index 6ae99a1..bcc9249 100644
--- a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
+++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
@@ -63,7 +63,6 @@ public class RedisEntityStoreTestSuite extends EntityStoreTestSuite
@Override
public void tearDown()
- throws Exception
{
try( Jedis jedis = jedisPool.getResource() )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
index c51909c..a229be2 100644
--- a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
+++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreWithCacheTest.java
@@ -63,7 +63,6 @@ public class RedisEntityStoreWithCacheTest
@Override
public void tearDown()
- throws Exception
{
try( Jedis jedis = jedisPool.getResource() )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
index 9a52e30..145f7a8 100644
--- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
+++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTest.java
@@ -43,7 +43,7 @@ public class RiakEntityStoreTest extends AbstractEntityStoreTest
}
@Override
- public void tearDown() throws Exception
+ public void tearDown()
{
riakFixture.deleteTestData();
super.tearDown();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
index 14828ff..0974da7 100644
--- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
+++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
@@ -51,7 +51,6 @@ public class RiakEntityStoreTestSuite extends EntityStoreTestSuite
@Override
public void tearDown()
- throws Exception
{
riakFixture.deleteTestData();
super.tearDown();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
index 13f5b36..7e20235 100644
--- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
+++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreWithCacheTest.java
@@ -46,7 +46,7 @@ public class RiakEntityStoreWithCacheTest extends AbstractEntityStoreWithCacheTe
}
@Override
- public void tearDown() throws Exception
+ public void tearDown()
{
riakFixture.deleteTestData();
super.tearDown();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakFixture.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakFixture.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakFixture.java
index 4e05602..e932fb9 100644
--- a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakFixture.java
+++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakFixture.java
@@ -52,17 +52,25 @@ class RiakFixture
System.out.println( ">> Riak HealthCheck END, took " + java.time.Duration.between( start, Instant.now() ) );
}
- void deleteTestData() throws ExecutionException, InterruptedException
+ void deleteTestData()
{
// Riak doesn't expose bucket deletion in its API so we empty it
if( namespace != null )
{
- ListKeys listKeys = new ListKeys.Builder( namespace ).build();
- ListKeys.Response listKeysResponse = client.execute( listKeys );
- for( Location location : listKeysResponse )
+ try
+ {
+ ListKeys listKeys = new ListKeys.Builder( namespace ).build();
+ ListKeys.Response listKeysResponse = client.execute( listKeys );
+ for( Location location : listKeysResponse )
+ {
+ DeleteValue delete = new DeleteValue.Builder( location ).build();
+ client.execute( delete );
+ }
+ }
+ catch(Exception e )
{
- DeleteValue delete = new DeleteValue.Builder( location ).build();
- client.execute( delete );
+ System.err.println("WARNING: Unable to clean up test data in RiakFixture" );
+ e.printStackTrace();
}
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/JooqDslContext.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/JooqDslContext.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/JooqDslContext.java
index b73978f..47e01ad 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/JooqDslContext.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/JooqDslContext.java
@@ -29,7 +29,6 @@ import org.jooq.DSLContext;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.SQLDialect;
-import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TransactionProvider;
import org.jooq.conf.Settings;
@@ -41,8 +40,6 @@ import org.jooq.impl.ThreadLocalTransactionProvider;
@Mixins( JooqDslContext.Mixin.class )
public interface JooqDslContext extends DSLContext
{
- boolean isSchemaCapable();
-
Name tableNameOf( String tableName );
Table<Record> tableOf( String tableName );
@@ -50,12 +47,10 @@ public interface JooqDslContext extends DSLContext
class Mixin
implements InvocationHandler
{
- private final Schema schema;
private final DSLContext dsl;
- public Mixin( @Service DataSource dataSource, @Uses Settings settings, @Uses SQLDialect dialect, @Uses Schema schema )
+ public Mixin( @Service DataSource dataSource, @Uses Settings settings, @Uses SQLDialect dialect )
{
- this.schema = schema;
ConnectionProvider connectionProvider = new DataSourceConnectionProvider( dataSource );
TransactionProvider transactionProvider = new ThreadLocalTransactionProvider( connectionProvider, false );
Configuration configuration = new DefaultConfiguration()
@@ -79,21 +74,12 @@ public interface JooqDslContext extends DSLContext
return tableNameOf( (String) args[ 0 ] );
}
- if( method.getName().equals( "isSchemaCapable" ) )
- {
- return isSchemaCapable();
- }
return method.invoke( dsl, args ); // delegate all
}
private Name tableNameOf( String name )
{
- return this.isSchemaCapable() ? DSL.name( schema.getName(), name ) : DSL.name( name );
- }
-
- private boolean isSchemaCapable()
- {
- return !dsl.dialect().equals( SQLDialect.SQLITE ) && !dsl.dialect().equals( SQLDialect.MYSQL ) && !dsl.dialect().equals( SQLDialect.DERBY );
+ return DSL.name( name );
}
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreConfiguration.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreConfiguration.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreConfiguration.java
index e93d7a3..6c01231 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreConfiguration.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreConfiguration.java
@@ -22,17 +22,9 @@ import org.apache.polygene.api.property.Property;
import org.apache.polygene.library.sql.common.SQLConfiguration;
// START SNIPPET: config
-public interface SqlEntityStoreConfiguration extends SQLConfiguration
+public interface SqlEntityStoreConfiguration
{
/**
- * Name of the database schema to use.
- * Ignored on SQL databases that don't support schemas.
- */
- @UseDefaults( "POLYGENE" )
- @Override
- Property<String> schemaName();
-
- /**
* Name of the entities table.
* <p>
* This table contains the Identity and other metadata about each entity instance
@@ -54,7 +46,7 @@ public interface SqlEntityStoreConfiguration extends SQLConfiguration
Property<String> typesTableName();
/**
- * Defines whether the database schema and table should be created if not already present.
+ * Defines whether the database table should be created if not already present.
*/
@UseDefaults( "true" )
Property<Boolean> createIfMissing();
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreMixin.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreMixin.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreMixin.java
index b2715ce..c1e7985 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreMixin.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlEntityStoreMixin.java
@@ -17,7 +17,6 @@
*/
package org.apache.polygene.entitystore.sql;
-import java.math.BigInteger;
import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
index 1d8018e..3652ada 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
@@ -37,7 +37,6 @@ import org.apache.polygene.spi.entitystore.EntityStoreUnitOfWork;
import org.apache.polygene.spi.entitystore.helpers.DefaultEntityState;
import org.jooq.Record;
import org.jooq.SQLDialect;
-import org.jooq.Schema;
import org.jooq.SelectQuery;
import org.jooq.conf.Settings;
import org.jooq.impl.DSL;
@@ -197,12 +196,10 @@ public interface SqlTable extends ServiceActivation
Settings settings = serviceDescriptor
.metaInfo( Settings.class );
- String schemaName = config.schemaName().get();
String typesTableName = config.typesTableName().get();
String entitiesTableName = config.entitiesTableName().get();
- Schema schema = DSL.schema( DSL.name( schemaName ) );
- dsl = tbf.newTransient( JooqDslContext.class, settings, dialect, schema );
+ dsl = tbf.newTransient( JooqDslContext.class, settings, dialect );
types = new TypesTable( dsl, dialect, typesTableName );
entitiesTable = new EntitiesTable( dsl, types, application.version(), entitiesTableName, serialization );
@@ -210,14 +207,6 @@ public interface SqlTable extends ServiceActivation
if( config.createIfMissing().get() )
{
dsl.transaction( t -> {
- if( dsl.isSchemaCapable()
- && dsl.meta().getSchemas().stream().noneMatch( s -> schema.getName().equalsIgnoreCase( s.getName() ) ) )
- {
- dsl.createSchema( schemaName ).execute();
- }
- } );
-
- dsl.transaction( t -> {
dsl.createTableIfNotExists( dsl.tableNameOf( typesTableName ) )
.column( identityColumn )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlType.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlType.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlType.java
index 982b3f5..c522d90 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlType.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlType.java
@@ -27,7 +27,6 @@ import java.time.OffsetDateTime;
import java.time.Period;
import java.time.ZonedDateTime;
import org.jooq.DataType;
-import org.jooq.impl.DefaultDataType;
import org.jooq.impl.SQLDataType;
import org.jooq.types.Interval;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
index 9082302..c2546f1 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
@@ -36,7 +36,6 @@ import org.jooq.Result;
import org.jooq.SQLDialect;
import org.jooq.Table;
import org.jooq.impl.DSL;
-import org.jooq.impl.DefaultDataType;
public class TypesTable
implements TableFields
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
index 0cff573..aa3833b 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
@@ -19,14 +19,7 @@
*/
package org.apache.polygene.entitystore.sql;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import org.apache.derby.jdbc.AutoloadedDriver;
-import org.apache.derby.jdbc.Driver42;
-import org.apache.derby.jdbc.EmbeddedDriver;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.DerbySQLEntityStoreAssembler;
@@ -34,13 +27,12 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
public class DerbySQLEntityStoreTest
extends AbstractEntityStoreTest
{
- private String storageModuleName;
- private String storageLayerName;
-
@Override
// START SNIPPET: assembly
public void assemble( ModuleAssembly module )
@@ -48,8 +40,6 @@ public class DerbySQLEntityStoreTest
{
// END SNIPPET: assembly
super.assemble( module );
- storageModuleName = module.name();
- storageLayerName = module.layer().name();
ModuleAssembly config = module.layer().module( "config" );
new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
@@ -78,25 +68,9 @@ public class DerbySQLEntityStoreTest
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- super.tearDown();
- try
- {
- DriverManager.getConnection( "jdbc:derby:memory:testdb;drop=true" );
- }
- catch( SQLException e )
- {
- // ignore, it is EXPECTED to get an exception when the database shuts down. No idea why.
- }
- try
- {
- DriverManager.getConnection( "jdbc:derby:memory:testdb;shutdown=true" );
- }
- catch( SQLException e )
- {
- // ignore, it is EXPECTED to get an exception when the database shuts down. No idea why.
- }
+ TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
index 1af981d..4ac3302 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
@@ -19,15 +19,14 @@
*/
package org.apache.polygene.entitystore.sql;
-import java.sql.DriverManager;
-import java.sql.SQLException;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.DerbySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite
{
@@ -58,25 +57,9 @@ public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite
}
@Override
+ @After
public void tearDown()
- throws Exception
{
- super.tearDown();
- try
- {
- DriverManager.getConnection( "jdbc:derby:memory:testdb;drop=true" );
- }
- catch( SQLException e )
- {
- // ignore, it is EXPECTED to get an exception when the database shuts down. No idea why.
- }
- try
- {
- DriverManager.getConnection( "jdbc:derby:memory:testdb;shutdown=true" );
- }
- catch( SQLException e )
- {
- // ignore, it is EXPECTED to get an exception when the database shuts down. No idea why.
- }
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.DERBY, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
index eea919a..906c7c2 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
@@ -20,7 +20,6 @@
package org.apache.polygene.entitystore.sql;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.H2SQLEntityStoreAssembler;
@@ -28,6 +27,7 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
import org.junit.After;
public class H2SQLEntityStoreTest
@@ -66,4 +66,11 @@ public class H2SQLEntityStoreTest
.assemble( module );
}
// END SNIPPET: assembly
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( moduleInstance, SQLDialect.H2, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
index 9546dad..7c7d3f5 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
@@ -20,12 +20,12 @@
package org.apache.polygene.entitystore.sql;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.H2SQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
import org.junit.After;
public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite
@@ -56,4 +56,10 @@ public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite
.assemble( module );
}
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.H2, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
index d1594e7..7b11e7a 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTest.java
@@ -21,17 +21,17 @@ package org.apache.polygene.entitystore.sql;
import java.util.HashMap;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.MariaDbSQLEntityStoreAssembler;
-import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
import org.junit.Ignore;
@@ -53,9 +53,6 @@ public class MariaDbEntityStoreTest
// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule
);
- private String storageModuleName;
- private String storageLayerName;
-
@Override
// START SNIPPET: assembly
public void assemble( ModuleAssembly module )
@@ -63,8 +60,6 @@ public class MariaDbEntityStoreTest
{
// END SNIPPET: assembly
super.assemble( module );
- storageModuleName = module.name();
- storageLayerName = module.layer().name();
ModuleAssembly config = module.layer().module( "config" );
new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
@@ -101,11 +96,9 @@ public class MariaDbEntityStoreTest
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( storageLayerName, storageModuleName );
- TearDownUtil.dropSchema( storageModule, getClass().getSimpleName() );
- super.tearDown();
+ TearDown.dropTables( moduleInstance, SQLDialect.MARIADB, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java
index e3d9254..e8e1a4d 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MariaDbEntityStoreTestSuite.java
@@ -21,7 +21,6 @@ package org.apache.polygene.entitystore.sql;
import java.util.HashMap;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
@@ -29,6 +28,8 @@ import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
import org.junit.Ignore;
@@ -37,7 +38,7 @@ public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite
{
@ClassRule
public static final DockerRule DOCKER = new DockerRule(
- "mysql",
+ "mariadb",
new HashMap<String, String>()
{{
put( "MYSQL_ROOT_PASSWORD", "" );
@@ -83,11 +84,9 @@ public class MariaDbEntityStoreTestSuite extends EntityStoreTestSuite
}
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
- TearDownUtil.dropSchema( storageModule, getClass().getSimpleName() );
- super.tearDown();
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MARIADB, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
index 159d573..76d3736 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
@@ -21,7 +21,6 @@ package org.apache.polygene.entitystore.sql;
import java.util.HashMap;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler;
@@ -31,6 +30,8 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
import org.junit.Ignore;
@@ -52,9 +53,6 @@ public class MySQLEntityStoreTest
// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule
);
- private String storageModuleName;
- private String storageLayerName;
-
@Override
// START SNIPPET: assembly
public void assemble( ModuleAssembly module )
@@ -62,8 +60,6 @@ public class MySQLEntityStoreTest
{
// END SNIPPET: assembly
super.assemble( module );
- storageModuleName = module.name();
- storageLayerName = module.layer().name();
ModuleAssembly config = module.layer().module( "config" );
new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
@@ -100,11 +96,9 @@ public class MySQLEntityStoreTest
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( storageLayerName, storageModuleName );
- TearDownUtil.dropSchema( storageModule, getClass().getSimpleName() );
- super.tearDown();
+ TearDown.dropTables( moduleInstance, SQLDialect.MYSQL, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
index f84fa9d..18c7370 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
@@ -21,7 +21,6 @@ package org.apache.polygene.entitystore.sql;
import java.util.HashMap;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
@@ -29,6 +28,8 @@ import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
import org.junit.Ignore;
@@ -83,11 +84,9 @@ public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite
}
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
- TearDownUtil.dropSchema( storageModule, getClass().getSimpleName() );
- super.tearDown();
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.MYSQL, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
index a682398..3813220 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
@@ -22,7 +22,6 @@ package org.apache.polygene.entitystore.sql;
import java.util.HashMap;
import java.util.Map;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler;
@@ -32,6 +31,8 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
public class PostgreSQLEntityStoreTest
@@ -52,9 +53,6 @@ public class PostgreSQLEntityStoreTest
"PostgreSQL init process complete; ready for start up." );
}
- private String storageModuleName;
- private String storageLayerName;
-
@Override
// START SNIPPET: assembly
public void assemble( ModuleAssembly module )
@@ -62,8 +60,6 @@ public class PostgreSQLEntityStoreTest
{
// END SNIPPET: assembly
super.assemble( module );
- storageModuleName = module.name();
- storageLayerName = module.layer().name();
ModuleAssembly config = module.layer().module( "config" );
new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
@@ -104,11 +100,9 @@ public class PostgreSQLEntityStoreTest
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( storageLayerName, storageModuleName );
- TearDownUtil.dropSchema( storageModule, getClass().getSimpleName() );
- super.tearDown();
+ TearDown.dropTables( moduleInstance, SQLDialect.POSTGRES, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
index 487ad9f..6c7dcd4 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
@@ -22,7 +22,6 @@ package org.apache.polygene.entitystore.sql;
import java.util.HashMap;
import java.util.Map;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
@@ -30,6 +29,8 @@ import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.docker.DockerRule;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.ClassRule;
public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
@@ -86,11 +87,9 @@ public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
// END SNIPPET: assembly
@Override
+ @After
public void tearDown()
- throws Exception
{
- Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
- TearDownUtil.dropSchema( storageModule, getClass().getSimpleName() );
- super.tearDown();
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.POSTGRES, super::tearDown );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
index ad2ecc1..376f3da 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
@@ -20,7 +20,6 @@
package org.apache.polygene.entitystore.sql;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.SQLiteEntityStoreAssembler;
@@ -28,6 +27,7 @@ import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.jooq.SQLDialect;
import org.junit.After;
import org.junit.BeforeClass;
@@ -75,4 +75,10 @@ public class SQLiteEntityStoreTest extends AbstractEntityStoreTest
}
// END SNIPPET: assembly
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
index 39f2c05..498211e 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
@@ -20,12 +20,12 @@
package org.apache.polygene.entitystore.sql;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.api.structure.Module;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.sql.assembly.SQLiteEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jooq.SQLDialect;
import org.junit.After;
import org.junit.BeforeClass;
@@ -64,4 +64,11 @@ public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite
.withConfig( configModule, Visibility.application )
.assemble( module );
}
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( application.findModule( INFRASTRUCTURE_LAYER, STORAGE_MODULE ), SQLDialect.SQLITE, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
index 2a4ce95..e5e1d41 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SqlEntityStoreTest.java
@@ -22,7 +22,6 @@ package org.apache.polygene.entitystore.sql;
import org.apache.polygene.api.common.Visibility;
import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.sql.assembly.AbstractSQLEntityStoreAssembler;
import org.apache.polygene.entitystore.sql.assembly.H2SQLEntityStoreAssembler;
import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
@@ -30,6 +29,7 @@ import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
import org.apache.polygene.test.EntityTestAssembler;
import org.apache.polygene.test.entity.AbstractEntityStoreTest;
import org.jooq.SQLDialect;
+import org.junit.After;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
@@ -86,4 +86,11 @@ public class SqlEntityStoreTest extends AbstractEntityStoreTest
// START SNIPPET: assembly
}
// END SNIPPET: assembly
+
+ @Override
+ @After
+ public void tearDown()
+ {
+ TearDown.dropTables( moduleInstance, SQLDialect.DERBY, super::tearDown );
+ }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDown.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDown.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDown.java
new file mode 100644
index 0000000..e2371c0
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDown.java
@@ -0,0 +1,100 @@
+package org.apache.polygene.entitystore.sql;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import javax.sql.DataSource;
+import org.apache.polygene.api.service.ServiceFinder;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
+import org.apache.polygene.api.usecase.UsecaseBuilder;
+import org.jooq.SQLDialect;
+
+class TearDown
+{
+ static void dropTables( Module module, SQLDialect dialect, Runnable after )
+ {
+ if( module == null ){
+ System.err.println( "WARNING: 'module' was null. Happens if there was a pre-activation error. Otherwise an InternalError" );
+ }
+ UnitOfWorkFactory unitOfWorkFactory = module.unitOfWorkFactory();
+ ServiceFinder serviceFinder = module.serviceFinder();
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork( UsecaseBuilder.newUsecase( "Cleaning up. Drop Tables" ) ) )
+ {
+ try( Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection() )
+ {
+ connection.setAutoCommit( true );
+ try( Statement stmt = connection.createStatement() )
+ {
+ dropTable( dialect, stmt, "TYPES" );
+ dropTable( dialect, stmt, "ENTITIES" );
+ dropTable( dialect, stmt, "TestEntity" );
+ dropTable( dialect, stmt, "TestEntity_ASSOCS" );
+ dropIndex( dialect, stmt, "TestEntity_ASSOCS" );
+ dropTable( dialect, stmt, "PhoneNumber" );
+ dropTable( dialect, stmt, "PhoneNumber_ASSOCS" );
+ dropIndex( dialect, stmt, "PhoneNumber_ASSOCS" );
+ dropTable( dialect, stmt, "Person" );
+ dropTable( dialect, stmt, "Person_ASSOCS" );
+ dropIndex( dialect, stmt, "Person_ASSOCS" );
+ dropTable( dialect, stmt, "City" );
+ dropTable( dialect, stmt, "City_ASSOCS" );
+ dropIndex( dialect, stmt, "City_ASSOCS" );
+ dropTable( dialect, stmt, "Address" );
+ dropTable( dialect, stmt, "Address_ASSOCS" );
+ dropIndex( dialect, stmt, "Address_ASSOCS" );
+ dropTable( dialect, stmt, "Country" );
+ dropTable( dialect, stmt, "Country_ASSOCS" );
+ dropIndex( dialect, stmt, "Country_ASSOCS" );
+ }
+ }
+ }
+ catch( SQLException e )
+ {
+ throw new RuntimeException( "Unable to clean up tables.", e );
+ }
+ finally
+ {
+ after.run();
+ }
+ }
+
+ private static void dropTable( SQLDialect dialect, Statement stmt, String tableName )
+ {
+ try
+ {
+ if( dialect == SQLDialect.MYSQL || dialect == SQLDialect.MARIADB )
+ {
+ stmt.execute( String.format( "DROP TABLE `%s`", tableName ) );
+ }
+ else
+ {
+ stmt.execute( String.format( "DROP TABLE \"%s\"", tableName ) );
+ }
+ }
+ catch( SQLException e )
+ {
+ // ignore. Not all tables will be present in all tests.
+ }
+ }
+
+ private static void dropIndex( SQLDialect dialect, Statement stmt, String tableName )
+ {
+ try
+ {
+ if( dialect == SQLDialect.MYSQL || dialect == SQLDialect.MARIADB )
+ {
+ stmt.execute( String.format( "DROP INDEX `IDX_%s`", tableName ) );
+ }
+ else
+ {
+ stmt.execute( String.format( "DROP INDEX \"IDX_%s\"", tableName ) );
+ }
+ }
+ catch( SQLException e )
+ {
+ // ignore. Not all tables will be present in all tests.
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDownUtil.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDownUtil.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDownUtil.java
deleted file mode 100644
index 00f1e24..0000000
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/TearDownUtil.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.polygene.entitystore.sql;
-
-import java.sql.Connection;
-import java.sql.Statement;
-import javax.sql.DataSource;
-import org.apache.polygene.api.service.ServiceFinder;
-import org.apache.polygene.api.structure.Application;
-import org.apache.polygene.api.structure.Module;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
-import org.apache.polygene.entitystore.sql.assembly.AbstractSQLEntityStoreAssembler;
-import org.apache.polygene.library.sql.common.SQLConfiguration;
-
-import static org.apache.polygene.api.usecase.UsecaseBuilder.newUsecase;
-
-public class TearDownUtil
-{
-
- public static void dropSchema( Module storageModule, String testName )
- throws Exception
- {
- String usecaseName = "Delete " + testName + " test data";
- UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
- ServiceFinder serviceFinder = storageModule.serviceFinder();
- UnitOfWork uow = uowf.newUnitOfWork( newUsecase( usecaseName ) );
- try
- {
- SQLConfiguration config = uow.get( SQLConfiguration.class, AbstractSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY );
- Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
- connection.setAutoCommit( false );
- String schemaName = config.schemaName().get();
- try( Statement stmt = connection.createStatement() )
- {
- stmt.execute( String.format( "DROP SCHEMA \"%s\" CASCADE", schemaName ) );
- connection.commit();
- }
- }
- finally
- {
- uow.discard();
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sql/src/test/resources/maridb-datasource.properties
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/resources/maridb-datasource.properties b/extensions/entitystore-sql/src/test/resources/maridb-datasource.properties
new file mode 100644
index 0000000..a2f4175
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/resources/maridb-datasource.properties
@@ -0,0 +1,25 @@
+#
+# 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
+#
+# http://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.
+#
+#
+#
+
+enabled=true
+#url=jdbc:mysql://localhost:3306/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC&nullCatalogMeansCurrent=true&nullNamePatternMatchesAll=true
+driver=com.mysql.cj.jdbc.Driver
+username=root
+password=
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/build.gradle b/extensions/entitystore-sqlkv/build.gradle
index b13b95a..f86274c 100644
--- a/extensions/entitystore-sqlkv/build.gradle
+++ b/extensions/entitystore-sqlkv/build.gradle
@@ -29,8 +29,6 @@ dependencies {
api polygene.library( 'sql' )
api libraries.jooq
- implementation polygene.library( 'sql-liquibase' )
-
runtimeOnly polygene.core.runtime
testImplementation polygene.internals.testsupport
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt b/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
index f36e39d..cfaa275 100644
--- a/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
+++ b/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
@@ -30,8 +30,6 @@ EntityStore service backed by a SQL database with a simple schema where entities
This extension fully leverage the <<library-sql>> meaning that you must use it to assemble your DataSource and that you
get <<library-circuitbreaker,Circuit Breaker>> and <<library-jmx, JMX>> integration for free.
-The database schema is managed using <<library-sql-liquibase>>.
-
TIP: See the <<sample-sql-support>> that demonstrate combined use of <<library-sql>>, <<extension-es-sql>> and
<<extension-indexing-sql>>.
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/27dc60c4/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreConfiguration.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreConfiguration.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreConfiguration.java
index e5e3510..c1285cd 100644
--- a/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreConfiguration.java
+++ b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sqlkv/SQLEntityStoreConfiguration.java
@@ -22,24 +22,16 @@ import org.apache.polygene.api.property.Property;
import org.apache.polygene.library.sql.common.SQLConfiguration;
// START SNIPPET: config
-public interface SQLEntityStoreConfiguration extends SQLConfiguration
+public interface SQLEntityStoreConfiguration
{
/**
- * Name of the database schema to use.
- * Ignored on SQL databases that don't support schemas.
- */
- @UseDefaults( "POLYGENE_ES" )
- @Override
- Property<String> schemaName();
-
- /**
* Name of the entities table.
*/
@UseDefaults( "POLYGENE_ENTITIES" )
Property<String> entityTableName();
/**
- * Defines whether the database schema and table should be created if not already present.
+ * Defines whether the database table should be created if not already present.
*/
@UseDefaults( "true" )
Property<Boolean> createIfMissing();