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/04/11 12:11:03 UTC
[2/5] polygene-java git commit: POLYGENE-222 : Re-instate some
requirement for "extends ValueComposite" which is required to do the right
thing in indexing-sql. For some reason that is not needed in indexing-rdf and
indexing-elasticsearch, so it should p
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a6fb0cd6/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/AbstractSQLStartup.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/AbstractSQLStartup.java b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/AbstractSQLStartup.java
index b41c41a..1df5642 100644
--- a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/AbstractSQLStartup.java
+++ b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/AbstractSQLStartup.java
@@ -48,6 +48,7 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
+import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import org.apache.polygene.api.common.Optional;
import org.apache.polygene.api.common.QualifiedName;
@@ -230,45 +231,45 @@ public abstract class AbstractSQLStartup
for( Map.Entry<QualifiedName, QNameInfo> entry : _state.qNameInfos().get().entrySet() )
{
report.append( tab ).append( entry.getKey() ).append( colonspace )
- .append( entry.getValue() ).append( newline );
+ .append( entry.getValue() ).append( newline );
}
report.append( "entityUsedQNames:" ).append( newline );
for( Map.Entry<EntityDescriptor, Set<QualifiedName>> entry : _state.entityUsedQNames()
- .get()
- .entrySet() )
+ .get()
+ .entrySet() )
{
report.append( tab ).append( entry.getKey() ).append( colonspace )
- .append( entry.getValue() ).append( newline );
+ .append( entry.getValue() ).append( newline );
}
report.append( "usedClassesPKs:" ).append( newline );
for( Map.Entry<CompositeDescriptor, Integer> entry : _state.usedClassesPKs().get()
- .entrySet() )
+ .entrySet() )
{
report.append( tab ).append( entry.getKey() ).append( colonspace )
- .append( entry.getValue() ).append( newline );
+ .append( entry.getValue() ).append( newline );
}
report.append( "javaTypes2SQLTypes:" ).append( newline );
for( Map.Entry<Class<?>, Integer> entry : _state.javaTypes2SQLTypes().get().entrySet() )
{
report.append( tab ).append( entry.getKey() ).append( colonspace )
- .append( entry.getValue() ).append( newline );
+ .append( entry.getValue() ).append( newline );
}
report.append( "entityTypePKs:" ).append( newline );
for( Map.Entry<String, Integer> entry : _state.entityTypePKs().get().entrySet() )
{
report.append( tab ).append( entry.getKey() ).append( colonspace )
- .append( entry.getValue() ).append( newline );
+ .append( entry.getValue() ).append( newline );
}
report.append( "enumPKs:" ).append( newline );
for( Map.Entry<String, Integer> entry : _state.enumPKs().get().entrySet() )
{
report.append( tab ).append( entry.getKey() ).append( colonspace )
- .append( entry.getValue() ).append( newline );
+ .append( entry.getValue() ).append( newline );
}
LOGGER.debug( "SQLDBState after initConnection:\n{}", report.toString() );
@@ -312,8 +313,8 @@ public abstract class AbstractSQLStartup
jdbcTypes.put( LocalTime.class, Types.TIME );
jdbcTypes.put( ZonedDateTime.class, Types.TIMESTAMP_WITH_TIMEZONE );
jdbcTypes.put( OffsetDateTime.class, Types.TIMESTAMP_WITH_TIMEZONE );
- jdbcTypes.put( Duration.class, Types.VARCHAR);
- jdbcTypes.put( Period.class, Types.VARCHAR);
+ jdbcTypes.put( Duration.class, Types.VARCHAR );
+ jdbcTypes.put( Period.class, Types.VARCHAR );
jdbcTypes.put( Character.class, Types.INTEGER );
jdbcTypes.put( String.class, Types.VARCHAR );
jdbcTypes.put( BigInteger.class, Types.NUMERIC );
@@ -324,15 +325,15 @@ public abstract class AbstractSQLStartup
this._customizableTypes.put(
String.class,
( propertyType, sqlTypeInfo ) -> _vendor.getDataTypeFactory().sqlVarChar( sqlTypeInfo.maxLength() )
- );
+ );
this._customizableTypes.put(
BigInteger.class,
( propertyType, sqlTypeInfo ) -> _vendor.getDataTypeFactory().decimal( sqlTypeInfo.maxLength() )
- );
+ );
this._customizableTypes.put(
BigDecimal.class,
( propertyType, sqlTypeInfo ) -> _vendor.getDataTypeFactory().decimal( sqlTypeInfo.maxLength() )
- );
+ );
}
protected void checkSchemaName( String schemaName )
@@ -352,7 +353,6 @@ public abstract class AbstractSQLStartup
private final Set<CompositeDescriptorInfo> usedValueComposites = new HashSet<>();
private final Set<String> enumValues = new HashSet<>();
-
}
private static class CompositeDescriptorInfo
@@ -374,7 +374,7 @@ public abstract class AbstractSQLStartup
{
return this == obj
|| ( obj instanceof CompositeDescriptorInfo && this.composite
- .equals( ( (CompositeDescriptorInfo) obj ).composite ) );
+ .equals( ( (CompositeDescriptorInfo) obj ).composite ) );
}
@Override
@@ -463,11 +463,11 @@ public abstract class AbstractSQLStartup
stmt.execute(
vendor.toString(
d
- .createSchemaDefinitionBuilder()
- .setSchemaName( schemaName )
- .createExpression()
- )
- );
+ .createSchemaDefinitionBuilder()
+ .setSchemaName( schemaName )
+ .createExpression()
+ )
+ );
LOGGER.debug( "Database schema created" );
}
@@ -477,236 +477,236 @@ public abstract class AbstractSQLStartup
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, USED_CLASSES_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( USED_CLASSES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( Integer.class ), false ) )
- .addTableElement( d.createColumnDefinition( USED_CLASSES_TABLE_CLASS_NAME_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( USED_CLASSES_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.UNIQUE )
- .addColumns( USED_CLASSES_TABLE_CLASS_NAME_COLUMN_NAME )
- .createExpression()
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, USED_CLASSES_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( USED_CLASSES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( Integer.class ), false ) )
+ .addTableElement( d.createColumnDefinition( USED_CLASSES_TABLE_CLASS_NAME_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( USED_CLASSES_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.UNIQUE )
+ .addColumns( USED_CLASSES_TABLE_CLASS_NAME_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
tablePKs.put( USED_CLASSES_TABLE_NAME, 0L );
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_TYPE_PK_TYPE ), false ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.UNIQUE )
- .addColumns( ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME )
- .createExpression()
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( ENTITY_TYPE_PK_TYPE ), false ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.UNIQUE )
+ .addColumns( ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
tablePKs.put( ENTITY_TYPES_TABLE_NAME, 0L );
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_PK_TYPE ), false, AutoGenerationPolicy.BY_DEFAULT ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_IDENTITY_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_MODIFIED_COLUMN_NAME, this._primitiveTypes
- .get( Instant.class ), false ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_VERSION_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_APPLICATION_VERSION_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ENTITY_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.UNIQUE )
- .addColumns( ENTITY_TABLE_IDENTITY_COLUMN_NAME )
- .createExpression()
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( ENTITY_PK_TYPE ), false, AutoGenerationPolicy.BY_DEFAULT ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_IDENTITY_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_MODIFIED_COLUMN_NAME, this._primitiveTypes
+ .get( Instant.class ), false ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_VERSION_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_APPLICATION_VERSION_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ENTITY_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.UNIQUE )
+ .addColumns( ENTITY_TABLE_IDENTITY_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
tablePKs.put( ENTITY_TABLE_NAME, 0L );
stmt.execute(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, ENTITY_TYPES_JOIN_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_PK_TYPE ), false ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_TYPE_PK_TYPE ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ENTITY_TABLE_PK_COLUMN_NAME, ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .addTableElement( d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
- .addSourceColumns( ENTITY_TABLE_PK_COLUMN_NAME )
- .setTargetTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
- .addTargetColumns( ENTITY_TABLE_PK_COLUMN_NAME )
- .setOnDelete( ReferentialAction.CASCADE )
- .setOnUpdate( ReferentialAction.CASCADE )
- .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
- ) )
- .addTableElement( d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
- .addSourceColumns( ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
- .setTargetTableName( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
- .addTargetColumns( ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
- .setOnDelete( ReferentialAction.RESTRICT )
- .setOnDelete( ReferentialAction.CASCADE )
- .createExpression(), ConstraintCharacteristics.NOT_DEFERRABLE ) )
- .createExpression()
- ).createExpression()
- .toString()
- );
+ .setTableName( t.tableName( schemaName, ENTITY_TYPES_JOIN_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( ENTITY_PK_TYPE ), false ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( ENTITY_TYPE_PK_TYPE ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ENTITY_TABLE_PK_COLUMN_NAME, ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
+ .addSourceColumns( ENTITY_TABLE_PK_COLUMN_NAME )
+ .setTargetTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
+ .addTargetColumns( ENTITY_TABLE_PK_COLUMN_NAME )
+ .setOnDelete( ReferentialAction.CASCADE )
+ .setOnUpdate( ReferentialAction.CASCADE )
+ .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
+ ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
+ .addSourceColumns( ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
+ .setTargetTableName( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
+ .addTargetColumns( ENTITY_TYPES_TABLE_PK_COLUMN_NAME )
+ .setOnDelete( ReferentialAction.RESTRICT )
+ .setOnDelete( ReferentialAction.CASCADE )
+ .createExpression(), ConstraintCharacteristics.NOT_DEFERRABLE ) )
+ .createExpression()
+ ).createExpression()
+ .toString()
+ );
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, ENUM_LOOKUP_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( ENUM_LOOKUP_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( Integer.class ), false ) )
- .addTableElement( d.createColumnDefinition( ENUM_LOOKUP_TABLE_ENUM_VALUE_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ENUM_LOOKUP_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, ENUM_LOOKUP_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( ENUM_LOOKUP_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( Integer.class ), false ) )
+ .addTableElement( d.createColumnDefinition( ENUM_LOOKUP_TABLE_ENUM_VALUE_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ENUM_LOOKUP_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
tablePKs.put( ENUM_LOOKUP_TABLE_NAME, 0L );
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, USED_QNAMES_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( USED_QNAMES_TABLE_QNAME_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createColumnDefinition( USED_QNAMES_TABLE_TABLE_NAME_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( USED_QNAMES_TABLE_QNAME_COLUMN_NAME, USED_QNAMES_TABLE_TABLE_NAME_COLUMN_NAME )
- .createExpression()
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, USED_QNAMES_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( USED_QNAMES_TABLE_QNAME_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createColumnDefinition( USED_QNAMES_TABLE_TABLE_NAME_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( USED_QNAMES_TABLE_QNAME_COLUMN_NAME, USED_QNAMES_TABLE_TABLE_NAME_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, ALL_QNAMES_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( ALL_QNAMES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( Integer.class ), false ) )
- .addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_PK_TYPE ), false ) )
- .addTableElement( d.createTableConstraintDefinition(
- d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .addTableElement( d.createTableConstraintDefinition(
- d.createForeignKeyConstraintBuilder()
- .addSourceColumns( ENTITY_TABLE_PK_COLUMN_NAME )
- .setTargetTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
- .addTargetColumns( ENTITY_TABLE_PK_COLUMN_NAME )
- .setOnUpdate( ReferentialAction.CASCADE )
- .setOnDelete( ReferentialAction.CASCADE )
- .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, ALL_QNAMES_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( ALL_QNAMES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( Integer.class ), false ) )
+ .addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
+ .get( ENTITY_PK_TYPE ), false ) )
+ .addTableElement( d.createTableConstraintDefinition(
+ d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .addTableElement( d.createTableConstraintDefinition(
+ d.createForeignKeyConstraintBuilder()
+ .addSourceColumns( ENTITY_TABLE_PK_COLUMN_NAME )
+ .setTargetTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
+ .addTargetColumns( ENTITY_TABLE_PK_COLUMN_NAME )
+ .setOnUpdate( ReferentialAction.CASCADE )
+ .setOnDelete( ReferentialAction.CASCADE )
+ .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
tablePKs.put( ALL_QNAMES_TABLE_NAME, 0L );
stmt.execute(
vendor.toString(
d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, APP_VERSION_TABLE_NAME ) )
- .setTableContentsSource(
- d.createTableElementListBuilder()
- .addTableElement( d.createColumnDefinition( APP_VERSION_PK_COLUMN_NAME, this._primitiveTypes
- .get( String.class ), false ) )
- .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( APP_VERSION_PK_COLUMN_NAME )
- .createExpression()
- ) )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, APP_VERSION_TABLE_NAME ) )
+ .setTableContentsSource(
+ d.createTableElementListBuilder()
+ .addTableElement( d.createColumnDefinition( APP_VERSION_PK_COLUMN_NAME, this._primitiveTypes
+ .get( String.class ), false ) )
+ .addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( APP_VERSION_PK_COLUMN_NAME )
+ .createExpression()
+ ) )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
ModificationFactory m = vendor.getModificationFactory();
PreparedStatement ps = connection.prepareStatement(
vendor.toString(
m.insert()
- .setTableName( t.tableName( schemaName, APP_VERSION_TABLE_NAME ) )
- .setColumnSource(
- m.columnSourceByValues()
- .addValues( vendor.getLiteralFactory().param() )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, APP_VERSION_TABLE_NAME ) )
+ .setColumnSource(
+ m.columnSourceByValues()
+ .addValues( vendor.getLiteralFactory().param() )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
ps.setString( 1, this._app.version() );
ps.execute();
@@ -728,14 +728,14 @@ public abstract class AbstractSQLStartup
// @formatter:off
// First delete all entity data
DeleteBySearch clearEntityData = this._vendor.getModificationFactory().deleteBySearch()
- .setTargetTable(
- this._vendor.getModificationFactory().createTargetTable(
- this._vendor.getTableReferenceFactory().tableName(
- this._state.schemaName().get(),
- ENTITY_TABLE_NAME
- )
- )
- ).createExpression();
+ .setTargetTable(
+ this._vendor.getModificationFactory().createTargetTable(
+ this._vendor.getTableReferenceFactory().tableName(
+ this._state.schemaName().get(),
+ ENTITY_TABLE_NAME
+ )
+ )
+ ).createExpression();
connection.prepareStatement( this._vendor.toString( clearEntityData ) ).execute();
// @formatter:on
@@ -768,18 +768,18 @@ public abstract class AbstractSQLStartup
// @formatter:off
q.simpleQueryBuilder()
- .select( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME )
- .from( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
- .createExpression();
+ .select( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME )
+ .from( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
+ .createExpression();
ResultSet rs = stmt.executeQuery(
vendor.toString(
q.simpleQueryBuilder()
- .select( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME )
- .from( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
- .createExpression()
- )
- );
+ .select( ENTITY_TYPES_TABLE_PK_COLUMN_NAME, ENTITY_TYPES_TABLE_TYPE_NAME_COLUMN_NAME )
+ .from( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
+ .createExpression()
+ )
+ );
long pk;
try
@@ -800,11 +800,11 @@ public abstract class AbstractSQLStartup
rs = stmt.executeQuery(
vendor.toString(
q.simpleQueryBuilder()
- .select( USED_CLASSES_TABLE_PK_COLUMN_NAME, USED_CLASSES_TABLE_CLASS_NAME_COLUMN_NAME )
- .from( t.tableName( schemaName, USED_CLASSES_TABLE_NAME ) )
- .createExpression()
- )
- );
+ .select( USED_CLASSES_TABLE_PK_COLUMN_NAME, USED_CLASSES_TABLE_CLASS_NAME_COLUMN_NAME )
+ .from( t.tableName( schemaName, USED_CLASSES_TABLE_NAME ) )
+ .createExpression()
+ )
+ );
try
{
@@ -827,11 +827,11 @@ public abstract class AbstractSQLStartup
rs = stmt.executeQuery(
vendor.toString(
q.simpleQueryBuilder()
- .select( ENUM_LOOKUP_TABLE_PK_COLUMN_NAME, ENUM_LOOKUP_TABLE_ENUM_VALUE_NAME )
- .from( t.tableName( schemaName, ENUM_LOOKUP_TABLE_NAME ) )
- .createExpression()
- )
- );
+ .select( ENUM_LOOKUP_TABLE_PK_COLUMN_NAME, ENUM_LOOKUP_TABLE_ENUM_VALUE_NAME )
+ .from( t.tableName( schemaName, ENUM_LOOKUP_TABLE_NAME ) )
+ .createExpression()
+ )
+ );
try
{
@@ -849,11 +849,11 @@ public abstract class AbstractSQLStartup
rs = stmt.executeQuery(
q.simpleQueryBuilder()
- .select( USED_QNAMES_TABLE_QNAME_COLUMN_NAME, USED_QNAMES_TABLE_TABLE_NAME_COLUMN_NAME )
- .from( t.tableName( schemaName, USED_QNAMES_TABLE_NAME ) )
- .createExpression()
- .toString()
- );
+ .select( USED_QNAMES_TABLE_QNAME_COLUMN_NAME, USED_QNAMES_TABLE_TABLE_NAME_COLUMN_NAME )
+ .from( t.tableName( schemaName, USED_QNAMES_TABLE_NAME ) )
+ .createExpression()
+ .toString()
+ );
try
{
while( rs.next() )
@@ -891,14 +891,14 @@ public abstract class AbstractSQLStartup
final PreparedStatement st = connection.prepareStatement(
vendor.toString(
m.insert()
- .setTableName( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
- .setColumnSource( m.columnSourceByValues()
- .addValues( l.param(), l.param() )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, ENTITY_TYPES_TABLE_NAME ) )
+ .setColumnSource( m.columnSourceByValues()
+ .addValues( l.param(), l.param() )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
try
{
@@ -906,28 +906,28 @@ public abstract class AbstractSQLStartup
for( EntityDescriptor descriptor : appInfo.entityDescriptors.values() )
{
descriptor.types().forEach( entityType ->
- {
- String entityTypeName = entityType.getName();
- if( !insertedTypeNames.contains( entityTypeName ) )
- {
- long pk = tablePKs.get( ENTITY_TYPES_TABLE_NAME );
- try
- {
- st.setInt( 1, (int) pk );
- st.setString( 2, entityTypeName );
- st.executeUpdate();
- }
- catch( SQLException e )
- {
- throw new EntityStoreException( "Underlying exception when setting " + pk,
- SQLUtil.withAllSQLExceptions( e ) );
- }
- this._state.entityTypePKs().get().put( entityTypeName, (int) pk );
+ {
+ String entityTypeName = entityType.getName();
+ if( !insertedTypeNames.contains( entityTypeName ) )
+ {
+ long pk = tablePKs.get( ENTITY_TYPES_TABLE_NAME );
+ try
+ {
+ st.setInt( 1, (int) pk );
+ st.setString( 2, entityTypeName );
+ st.executeUpdate();
+ }
+ catch( SQLException e )
+ {
+ throw new EntityStoreException( "Underlying exception when setting " + pk,
+ SQLUtil.withAllSQLExceptions( e ) );
+ }
+ this._state.entityTypePKs().get().put( entityTypeName, (int) pk );
// this._state.entityTypeInfos().get().put( entityTypeName, new EntityTypeInfo( descriptor, (int) pk ) );
- tablePKs.put( ENTITY_TYPES_TABLE_NAME, pk + 1 );
- insertedTypeNames.add( entityTypeName );
- }
- } );
+ tablePKs.put( ENTITY_TYPES_TABLE_NAME, pk + 1 );
+ insertedTypeNames.add( entityTypeName );
+ }
+ } );
}
}
finally
@@ -938,15 +938,15 @@ public abstract class AbstractSQLStartup
PreparedStatement ps = connection.prepareStatement(
vendor.toString(
m.insert()
- .setTableName( t.tableName( schemaName, USED_CLASSES_TABLE_NAME ) )
- .setColumnSource(
- m.columnSourceByValues()
- .addValues( l.param(), l.param() )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, USED_CLASSES_TABLE_NAME ) )
+ .setColumnSource(
+ m.columnSourceByValues()
+ .addValues( l.param(), l.param() )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
try
{
@@ -969,14 +969,14 @@ public abstract class AbstractSQLStartup
ps = connection.prepareStatement(
vendor.toString(
m.insert()
- .setTableName( t.tableName( schemaName, ENUM_LOOKUP_TABLE_NAME ) )
- .setColumnSource( m.columnSourceByValues()
- .addValues( l.param(), l.param() )
- .createExpression()
- )
- .createExpression()
- )
- );
+ .setTableName( t.tableName( schemaName, ENUM_LOOKUP_TABLE_NAME ) )
+ .setColumnSource( m.columnSourceByValues()
+ .addValues( l.param(), l.param() )
+ .createExpression()
+ )
+ .createExpression()
+ )
+ );
try
{
@@ -998,7 +998,7 @@ public abstract class AbstractSQLStartup
Statement stmt = connection.createStatement();
ps = connection.prepareStatement(
this.createInsertStatementForQNameInfo( schemaName, vendor ).toString()
- );
+ );
try
{
@@ -1011,9 +1011,9 @@ public abstract class AbstractSQLStartup
TableElementListBuilder builder = d.createTableElementListBuilder();
builder
.addTableElement( d.createColumnDefinition( ALL_QNAMES_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( Integer.class ), false ) )
+ .get( Integer.class ), false ) )
.addTableElement( d.createColumnDefinition( ENTITY_TABLE_PK_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_PK_TYPE ), false ) );
+ .get( ENTITY_PK_TYPE ), false ) );
if( type.equals( QNameType.PROPERTY ) )
{
@@ -1029,13 +1029,13 @@ public abstract class AbstractSQLStartup
this.appendColumnDefinitionsForProperty( builder, qNameInfo );
builder.addTableElement( d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
- .addSourceColumns( QNAME_TABLE_PARENT_QNAME_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .setTargetTableName( t.tableName( schemaName, ALL_QNAMES_TABLE_NAME ) )
- .addTargetColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .setOnUpdate( ReferentialAction.CASCADE )
- .setOnDelete( ReferentialAction.CASCADE )
- .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
- ) );
+ .addSourceColumns( QNAME_TABLE_PARENT_QNAME_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .setTargetTableName( t.tableName( schemaName, ALL_QNAMES_TABLE_NAME ) )
+ .addTargetColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .setOnUpdate( ReferentialAction.CASCADE )
+ .setOnDelete( ReferentialAction.CASCADE )
+ .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
+ ) );
}
else
{
@@ -1043,25 +1043,25 @@ public abstract class AbstractSQLStartup
{
builder
.addTableElement( d.createColumnDefinition( QNAME_TABLE_VALUE_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_PK_TYPE ), false ) )
+ .get( ENTITY_PK_TYPE ), false ) )
.addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) );
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) );
}
else if( type.equals( QNameType.MANY_ASSOCIATION ) )
{
builder
.addTableElement( d.createColumnDefinition( QNAME_TABLE_ASSOCIATION_INDEX_COLUMN_NAME, this._primitiveTypes
- .get( Integer.class ), false ) )
+ .get( Integer.class ), false ) )
.addTableElement( d.createColumnDefinition( QNAME_TABLE_VALUE_COLUMN_NAME, this._primitiveTypes
- .get( ENTITY_PK_TYPE ), false ) )
+ .get( ENTITY_PK_TYPE ), false ) )
.addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) );
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) );
}
else
{
@@ -1070,14 +1070,14 @@ public abstract class AbstractSQLStartup
builder
.addTableElement( d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
- .addSourceColumns( QNAME_TABLE_VALUE_COLUMN_NAME )
- .setTargetTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
- .addTargetColumns( ENTITY_TABLE_PK_COLUMN_NAME )
- .setOnUpdate( ReferentialAction.CASCADE )
- .setOnDelete( ReferentialAction.CASCADE )
- .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
- )
- );
+ .addSourceColumns( QNAME_TABLE_VALUE_COLUMN_NAME )
+ .setTargetTableName( t.tableName( schemaName, ENTITY_TABLE_NAME ) )
+ .addTargetColumns( ENTITY_TABLE_PK_COLUMN_NAME )
+ .setOnUpdate( ReferentialAction.CASCADE )
+ .setOnDelete( ReferentialAction.CASCADE )
+ .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
+ )
+ );
tablePKs.put( qNameInfo.getTableName(), 0L );
}
@@ -1085,20 +1085,20 @@ public abstract class AbstractSQLStartup
builder
.addTableElement(
d.createTableConstraintDefinition( d.createForeignKeyConstraintBuilder()
- .addSourceColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .setTargetTableName( t.tableName( schemaName, ALL_QNAMES_TABLE_NAME ) )
- .addTargetColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .setOnUpdate( ReferentialAction.CASCADE )
- .setOnDelete( ReferentialAction.CASCADE )
- .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
- )
- );
+ .addSourceColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .setTargetTableName( t.tableName( schemaName, ALL_QNAMES_TABLE_NAME ) )
+ .addTargetColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .setOnUpdate( ReferentialAction.CASCADE )
+ .setOnDelete( ReferentialAction.CASCADE )
+ .createExpression(), ConstraintCharacteristics.INITIALLY_DEFERRED_DEFERRABLE
+ )
+ );
stmt.execute( this._vendor.toString( d.createTableDefinitionBuilder()
- .setTableName( t.tableName( schemaName, qNameInfo.getTableName() ) )
- .setTableContentsSource( builder.createExpression() )
- .createExpression()
- ) );
+ .setTableName( t.tableName( schemaName, qNameInfo.getTableName() ) )
+ .setTableContentsSource( builder.createExpression() )
+ .createExpression()
+ ) );
// stmt.execute( "COMMENT ON TABLE " + schemaName + "." + qNameInfo.getTableName() + " IS '"
// + qNameInfo.getQName() + "'" );
@@ -1123,11 +1123,11 @@ public abstract class AbstractSQLStartup
LiteralFactory l = vendor.getLiteralFactory();
return m.insert()
- .setTableName( t.tableName( schemaName, USED_QNAMES_TABLE_NAME ) )
- .setColumnSource( m.columnSourceByValues()
- .addValues( l.param(), l.param() )
- .createExpression()
- ).createExpression();
+ .setTableName( t.tableName( schemaName, USED_QNAMES_TABLE_NAME ) )
+ .setColumnSource( m.columnSourceByValues()
+ .addValues( l.param(), l.param() )
+ .createExpression()
+ ).createExpression();
}
private void appendColumnDefinitionsForProperty( TableElementListBuilder builder,
@@ -1147,12 +1147,12 @@ public abstract class AbstractSQLStartup
if( this._customizableTypes.keySet().contains( finalClass )
&& qNameInfo.getPropertyDescriptor().accessor()
- .isAnnotationPresent( SQLTypeInfo.class ) )
+ .isAnnotationPresent( SQLTypeInfo.class ) )
{
sqlType = this._customizableTypes.get( finalClass ).customizeType( finalClass,
qNameInfo.getPropertyDescriptor()
- .accessor()
- .getAnnotation( SQLTypeInfo.class ) );
+ .accessor()
+ .getAnnotation( SQLTypeInfo.class ) );
}
else if( Enum.class.isAssignableFrom( finalClass ) )
{
@@ -1189,25 +1189,25 @@ public abstract class AbstractSQLStartup
d.createColumnDefinition( QNAME_TABLE_VALUE_COLUMN_NAME, sqlType,
qNameInfo.getCollectionDepth() > 0 ) )
.addTableElement( d.createTableConstraintDefinition( d.createUniqueConstraintBuilder()
- .setUniqueness( UniqueSpecification.PRIMARY_KEY )
- .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
- .createExpression()
- ) );
+ .setUniqueness( UniqueSpecification.PRIMARY_KEY )
+ .addColumns( ALL_QNAMES_TABLE_PK_COLUMN_NAME, ENTITY_TABLE_PK_COLUMN_NAME )
+ .createExpression()
+ ) );
if( valueRefTableName != null /* && valueRefTablePKColumnName != null is always true if valueRefTableName!=null */ )
{
builder
.addTableElement( d.createTableConstraintDefinition( d
- .createForeignKeyConstraintBuilder()
- .addSourceColumns( QNAME_TABLE_VALUE_COLUMN_NAME )
- .setTargetTableName( t.tableName( this._state
- .schemaName()
- .get(), valueRefTableName ) )
- .addTargetColumns( valueRefTablePKColumnName )
- .setOnUpdate( ReferentialAction.CASCADE )
- .setOnDelete( ReferentialAction.RESTRICT )
- .createExpression(), ConstraintCharacteristics.NOT_DEFERRABLE
- ) );
+ .createForeignKeyConstraintBuilder()
+ .addSourceColumns( QNAME_TABLE_VALUE_COLUMN_NAME )
+ .setTargetTableName( t.tableName( this._state
+ .schemaName()
+ .get(), valueRefTableName ) )
+ .addTargetColumns( valueRefTablePKColumnName )
+ .setOnUpdate( ReferentialAction.CASCADE )
+ .setOnDelete( ReferentialAction.RESTRICT )
+ .createExpression(), ConstraintCharacteristics.NOT_DEFERRABLE
+ ) );
}
}
@@ -1312,7 +1312,7 @@ public abstract class AbstractSQLStartup
try
{
QueryExpression getAppVersionQuery
- = this._vendor
+ = this._vendor
.getQueryFactory()
.simpleQueryBuilder()
.select( APP_VERSION_PK_COLUMN_NAME )
@@ -1347,7 +1347,7 @@ public abstract class AbstractSQLStartup
return result;
}
-// private static void clearSchema( Connection connection, String schemaName, SQLVendor vendor )
+ // private static void clearSchema( Connection connection, String schemaName, SQLVendor vendor )
// throws SQLException
// {
// ModificationFactory m = vendor.getModificationFactory();
@@ -1406,7 +1406,7 @@ public abstract class AbstractSQLStartup
{
@Override
public boolean visitEnter( Object visited )
- throws RuntimeException
+ throws RuntimeException
{
if( visited instanceof LayerDescriptor || visited instanceof ModuleDescriptor )
{
@@ -1474,27 +1474,22 @@ public abstract class AbstractSQLStartup
List<CompositeDescriptorInfo> vDescriptors,
Set<String> enumValues,
Boolean setQNameTableNameToNull
- )
+ )
{
QualifiedName qName = pType.qualifiedName();
if( !newQNames.contains( qName ) && !qName.name().equals( HasIdentity.class.getName() ) )
{
newQNames.add( qName );
- QNameInfo info = qNameInfos.get( qName );
- if( info == null )
+ QNameInfo info = qNameInfos.computeIfAbsent( qName, n ->
{
- info
- = QNameInfo.fromProperty(
- //
- qName, //
- setQNameTableNameToNull ? null : ( QNAME_TABLE_NAME_PREFIX + qNameInfos
- .size() ), //
- pType//
- );
- qNameInfos.put( qName, info );
- }
+ String tableName = null;
+ if( !setQNameTableNameToNull )
+ {
+ tableName = QNAME_TABLE_NAME_PREFIX + qNameInfos.size();
+ }
+ return QNameInfo.fromProperty( n, tableName, pType );
+ } );
Type vType = info.getFinalType();
-
while( vType instanceof ParameterizedType )
{
vType = ( (ParameterizedType) vType ).getRawType();
@@ -1511,20 +1506,20 @@ public abstract class AbstractSQLStartup
{
ValueDescriptor vDesc = (ValueDescriptor) desc;
// TODO this doesn't understand, say, Map<String, String>, or indeed,
- // any
- // other Serializable
+ // any other Serializable
if( vDesc.types().anyMatch( vTypeClass::isAssignableFrom ) )
{
- vDesc.state().properties().forEach( subPDesc -> {
- this.processPropertyTypeForQNames( //
- subPDesc, //
- qNameInfos, //
- newQNames, //
- vDescriptors, //
- enumValues, //
- setQNameTableNameToNull //
- );
- } );
+ vDesc.state().properties().forEach( subPDesc ->
+ {
+ this.processPropertyTypeForQNames(
+ subPDesc,
+ qNameInfos,
+ newQNames,
+ vDescriptors,
+ enumValues,
+ setQNameTableNameToNull
+ );
+ } );
}
}
}
@@ -1534,7 +1529,7 @@ public abstract class AbstractSQLStartup
for( Object value : ( (Class<?>) vType ).getEnumConstants() )
{
enumValues.add( QualifiedName
- .fromClass( (Class<?>) vType, value.toString() ).toString() );
+ .fromClass( (Class<?>) vType, value.toString() ).toString() );
}
}
}
@@ -1547,77 +1542,77 @@ public abstract class AbstractSQLStartup
List<CompositeDescriptorInfo> vDescriptors,
Set<String> enumValues,
Boolean setQNameTableNameToNull
- )
+ )
{
entityDesc.state().properties().forEach( pDesc ->
- {
- if( SQLSkeletonUtil.isQueryable( pDesc.accessor() ) )
- {
- this.processPropertyTypeForQNames( //
- pDesc, //
- qNameInfos, //
- newQNames, //
- vDescriptors, //
- enumValues, //
- setQNameTableNameToNull //
- );
- }
- });
+ {
+ if( SQLSkeletonUtil.isQueryable( pDesc.accessor() ) )
+ {
+ this.processPropertyTypeForQNames(
+ pDesc,
+ qNameInfos,
+ newQNames,
+ vDescriptors,
+ enumValues,
+ setQNameTableNameToNull //
+ );
+ }
+ } );
}
private void extractAssociationQNames( EntityDescriptor entityDesc,
Map<QualifiedName, QNameInfo> extractedQNames,
Set<QualifiedName> newQNames, Boolean setQNameTableNameToNull
- )
+ )
{
entityDesc.state().associations().forEach( assoDesc ->
- {
- if( SQLSkeletonUtil.isQueryable( assoDesc.accessor() ) )
- {
- QualifiedName qName = assoDesc.qualifiedName();
- if( !extractedQNames.containsKey( qName ) )
- {
- extractedQNames.put( qName,//
- QNameInfo.fromAssociation( //
- qName, //
- setQNameTableNameToNull ? null
- : ( QNAME_TABLE_NAME_PREFIX + extractedQNames
- .size() ), //
- assoDesc //
- ) //
- );
- newQNames.add( qName );
- }
- }
- });
+ {
+ if( SQLSkeletonUtil.isQueryable( assoDesc.accessor() ) )
+ {
+ QualifiedName qName = assoDesc.qualifiedName();
+ if( !extractedQNames.containsKey( qName ) )
+ {
+ extractedQNames.put( qName,//
+ QNameInfo.fromAssociation( //
+ qName, //
+ setQNameTableNameToNull ? null
+ : ( QNAME_TABLE_NAME_PREFIX + extractedQNames
+ .size() ), //
+ assoDesc //
+ ) //
+ );
+ newQNames.add( qName );
+ }
+ }
+ } );
}
private void extractManyAssociationQNames( EntityDescriptor entityDesc,
Map<QualifiedName, QNameInfo> extractedQNames,
Set<QualifiedName> newQNames,
Boolean setQNameTableNameToNull
- )
+ )
{
entityDesc.state().manyAssociations().forEach( mAssoDesc ->
- {
- QualifiedName qName = mAssoDesc.qualifiedName();
- if( SQLSkeletonUtil.isQueryable( mAssoDesc.accessor() ) )
- {
- if( !extractedQNames.containsKey( qName ) )
- {
- extractedQNames.put( //
- qName, //
- QNameInfo.fromManyAssociation( //
- qName, //
- setQNameTableNameToNull ? null
- : ( QNAME_TABLE_NAME_PREFIX + extractedQNames.size() ), //
- mAssoDesc //
- ) //
- );
- newQNames.add( qName );
- }
- }
- });
+ {
+ QualifiedName qName = mAssoDesc.qualifiedName();
+ if( SQLSkeletonUtil.isQueryable( mAssoDesc.accessor() ) )
+ {
+ if( !extractedQNames.containsKey( qName ) )
+ {
+ extractedQNames.put( //
+ qName, //
+ QNameInfo.fromManyAssociation( //
+ qName, //
+ setQNameTableNameToNull ? null
+ : ( QNAME_TABLE_NAME_PREFIX + extractedQNames.size() ), //
+ mAssoDesc //
+ ) //
+ );
+ newQNames.add( qName );
+ }
+ }
+ } );
}
protected abstract void testRequiredCapabilities( Connection connection )
@@ -1627,19 +1622,19 @@ public abstract class AbstractSQLStartup
String schemaName,
String tableName,
Statement stmt
- )
+ )
throws SQLException
{
boolean result = false;
try
{
stmt.execute( this._vendor.toString( this._vendor.getManipulationFactory()
- .createDropTableOrViewStatement(
- this._vendor
- .getTableReferenceFactory()
- .tableName( schemaName, tableName ), ObjectType.TABLE,
- DropBehaviour.CASCADE
- ) ) );
+ .createDropTableOrViewStatement(
+ this._vendor
+ .getTableReferenceFactory()
+ .tableName( schemaName, tableName ), ObjectType.TABLE,
+ DropBehaviour.CASCADE
+ ) ) );
result = true;
}
catch( SQLException sqle )
@@ -1676,8 +1671,8 @@ public abstract class AbstractSQLStartup
}
protected static <TCompositeDescriptor extends CompositeDescriptor> TCompositeDescriptor
- stringToCompositeDescriptor( final Class<TCompositeDescriptor> descriptorClass,
- ApplicationDescriptor appDesc, String str )
+ stringToCompositeDescriptor( final Class<TCompositeDescriptor> descriptorClass,
+ ApplicationDescriptor appDesc, String str )
{
Matcher matcher = DESCRIPTOR_TEXTUAL_REGEXP.matcher( str );
if( !matcher.matches() )
@@ -1716,7 +1711,7 @@ public abstract class AbstractSQLStartup
Set<String> names = desc.types().map( Class::getName ).collect( Collectors.toSet() );
if( classNames.equals( names ) )
{
- result[0] = desc;
+ result[ 0 ] = desc;
thisResult = false;
}
}
@@ -1726,17 +1721,17 @@ public abstract class AbstractSQLStartup
@Override
public boolean visitLeave( Object visited )
{
- return result[0] == null;
+ return result[ 0 ] == null;
}
} );
//noinspection unchecked
- return (TCompositeDescriptor) result[0];
+ return (TCompositeDescriptor) result[ 0 ];
}
protected abstract void modifyPrimitiveTypes( Map<Class<?>, SQLDataType> primitiveTypes,
Map<Class<?>, Integer> jdbcTypes
- );
+ );
protected abstract SQLDataType getCollectionPathDataType();
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a6fb0cd6/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
index ed1bc47..2584600 100644
--- a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
+++ b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/support/skeletons/SQLCompatEntityStateWrapper.java
@@ -35,6 +35,7 @@ import org.apache.polygene.api.structure.ModuleDescriptor;
import org.apache.polygene.api.type.CollectionType;
import org.apache.polygene.api.type.ValueCompositeType;
import org.apache.polygene.api.type.ValueType;
+import org.apache.polygene.api.value.ValueComposite;
import org.apache.polygene.spi.entity.EntityState;
import org.apache.polygene.spi.entity.EntityStatus;
import org.apache.polygene.spi.entity.ManyAssociationState;
@@ -88,7 +89,7 @@ class SQLCompatEntityStateWrapper
// || DateTime.class.isAssignableFrom( primaryType )
// || LocalDateTime.class.isAssignableFrom( primaryType )
// || LocalDate.class.isAssignableFrom( primaryType )
- || valueType instanceof ValueCompositeType;
+ || valueType.hasType( ValueComposite.class );
}
};
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a6fb0cd6/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java
index ab8b923..2d4dde5 100644
--- a/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java
+++ b/extensions/indexing-sql/src/test/java/org/apache/polygene/index/sql/postgresql/PostgreSQLQueryTest.java
@@ -36,7 +36,9 @@ public class PostgreSQLQueryTest
extends AbstractQueryTest
{
@ClassRule
- public static final DockerRule DOCKER = new DockerRule( "postgres", 3000L, "PostgreSQL init process complete; ready for start up." );
+ public static final DockerRule DOCKER = new DockerRule( "postgres",
+ 10000L,
+ "PostgreSQL init process complete; ready for start up." );
@Override
public void assemble( ModuleAssembly mainModule )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a6fb0cd6/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/SimpleSpeaker.groovy
----------------------------------------------------------------------
diff --git a/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/SimpleSpeaker.groovy b/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/SimpleSpeaker.groovy
new file mode 100644
index 0000000..69e5cfe
--- /dev/null
+++ b/libraries/scripting/src/test/groovy/org/apache/polygene/library/scripting/SimpleSpeaker.groovy
@@ -0,0 +1,26 @@
+/*
+ * 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.library.scripting
+
+// START SNIPPET: script
+def sayHello() {
+ "Hello, Groovy"
+}
+// END SNIPPET: script