Loading TASMAN-core/pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-core</artifactId> <version>1.3.0</version> <version>1.3.1</version> <packaging>jar</packaging> <name>tasman-core</name> <properties> Loading TASMAN-core/src/main/java/it/inaf/ia2/tsm/Table.java +18 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,23 @@ public class Table extends ChildEntity<Schema> implements EntitiesContainer<Colu return null; } /** * Special behavior for retro-compatibility with oldest TAP_SCHEMA versions * in which the indexed column was represented using 1 and 0 instead boolean * values. */ private void fixIndexedMetadataValues() { boolean useIntForBool = tapSchema.getTapSchemaModel() .getTable(TapSchema.COLUMNS_TABLE) .get(Column.INDEXED_KEY).getJavaType() == Integer.class; if (useIntForBool) { for (Map<String, Object> cm : columnsMetadata.values()) { boolean indexed = (boolean) cm.get(Column.INDEXED_KEY); cm.put(Column.INDEXED_KEY, indexed ? 1 : 0); } } } protected Table(TapSchema tapSchema, Schema schema, String tableSimpleName) throws SQLException { super(tapSchema, tapSchema.getTableModel(TapSchema.TABLES_TABLE), schema.getTableMetadata(tableSimpleName)); Loading @@ -82,6 +99,7 @@ public class Table extends ChildEntity<Schema> implements EntitiesContainer<Colu DBBroker broker = tapSchema.getDBBroker(schema.getName()); tableTableModel = getTableTableModel(); columnsMetadata = broker.getAllColumnsMetadata(schema.getName(), tableSimpleName, tableTableModel, tapSchema.getDataTypeMode()); fixIndexedMetadataValues(); for (Map.Entry<String, Map<String, Object>> entry : columnsMetadata.entrySet()) { // Adding table names to columns metadata Loading TASMAN-core/src/main/java/it/inaf/ia2/tsm/TapSchemaLoader.java +17 −6 Original line number Diff line number Diff line Loading @@ -162,12 +162,23 @@ public class TapSchemaLoader { Schema parentSchema = column.getParent().getParent(); if (parentSchema.getName().equals(tapSchema.getName())) { return equalsOneOf(key, Column.STD_KEY, Column.PRINCIPAL_KEY); } else if (parentSchema.getName().equals(tapSchema.getIvoaSchemaModel().getName())) { } else { SchemaModel ivoaSchemaModel = tapSchema.getIvoaSchemaModel(); if (ivoaSchemaModel != null && parentSchema.getName().equals(ivoaSchemaModel.getName())) { return equalsOneOf(key, Column.STD_KEY, Column.PRINCIPAL_KEY, Column.UCD_KEY, Column.UNIT_KEY, Column.UTYPE_KEY, Column.DATATYPE_KEY); } return false; } } private Object getCompatibleIntOrBoolValue(String key, boolean value) { if (tapSchema.getTapSchemaModel().getTable(COLUMNS_TABLE).get(key).getJavaType() == Integer.class) { return value ? 1 : 0; } return value; } private Object getCorrectValue(Column column, String key) { Loading @@ -187,9 +198,9 @@ public class TapSchemaLoader { ColumnModel columnModel = schemaModel.getTable(column.getParent().getName()).get(column.getName()); switch (key) { case Column.STD_KEY: return columnModel.isStandard(); return getCompatibleIntOrBoolValue(Column.STD_KEY, columnModel.isStandard()); case Column.PRINCIPAL_KEY: return columnModel.isPrincipal(); return getCompatibleIntOrBoolValue(Column.PRINCIPAL_KEY, columnModel.isPrincipal()); case Column.UCD_KEY: return columnModel.getUcd(); case Column.UNIT_KEY: Loading TASMAN-webapp/pom.xml +3 −3 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-webapp</artifactId> <version>1.3.0</version> <version>1.3.1</version> <packaging>war</packaging> <name>tasman-webapp</name> Loading Loading @@ -107,7 +107,7 @@ <dependency> <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-core</artifactId> <version>1.2.0</version> <version>1.3.1</version> <exclusions> <!-- exclusion due to tomcat-jdbc dependency conflicting with Jetty --> <exclusion> Loading @@ -124,7 +124,7 @@ <dependency> <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-core</artifactId> <version>1.2.0</version> <version>1.3.1</version> </dependency> <dependency> <groupId>ari.ucidy</groupId> Loading Loading
TASMAN-core/pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-core</artifactId> <version>1.3.0</version> <version>1.3.1</version> <packaging>jar</packaging> <name>tasman-core</name> <properties> Loading
TASMAN-core/src/main/java/it/inaf/ia2/tsm/Table.java +18 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,23 @@ public class Table extends ChildEntity<Schema> implements EntitiesContainer<Colu return null; } /** * Special behavior for retro-compatibility with oldest TAP_SCHEMA versions * in which the indexed column was represented using 1 and 0 instead boolean * values. */ private void fixIndexedMetadataValues() { boolean useIntForBool = tapSchema.getTapSchemaModel() .getTable(TapSchema.COLUMNS_TABLE) .get(Column.INDEXED_KEY).getJavaType() == Integer.class; if (useIntForBool) { for (Map<String, Object> cm : columnsMetadata.values()) { boolean indexed = (boolean) cm.get(Column.INDEXED_KEY); cm.put(Column.INDEXED_KEY, indexed ? 1 : 0); } } } protected Table(TapSchema tapSchema, Schema schema, String tableSimpleName) throws SQLException { super(tapSchema, tapSchema.getTableModel(TapSchema.TABLES_TABLE), schema.getTableMetadata(tableSimpleName)); Loading @@ -82,6 +99,7 @@ public class Table extends ChildEntity<Schema> implements EntitiesContainer<Colu DBBroker broker = tapSchema.getDBBroker(schema.getName()); tableTableModel = getTableTableModel(); columnsMetadata = broker.getAllColumnsMetadata(schema.getName(), tableSimpleName, tableTableModel, tapSchema.getDataTypeMode()); fixIndexedMetadataValues(); for (Map.Entry<String, Map<String, Object>> entry : columnsMetadata.entrySet()) { // Adding table names to columns metadata Loading
TASMAN-core/src/main/java/it/inaf/ia2/tsm/TapSchemaLoader.java +17 −6 Original line number Diff line number Diff line Loading @@ -162,12 +162,23 @@ public class TapSchemaLoader { Schema parentSchema = column.getParent().getParent(); if (parentSchema.getName().equals(tapSchema.getName())) { return equalsOneOf(key, Column.STD_KEY, Column.PRINCIPAL_KEY); } else if (parentSchema.getName().equals(tapSchema.getIvoaSchemaModel().getName())) { } else { SchemaModel ivoaSchemaModel = tapSchema.getIvoaSchemaModel(); if (ivoaSchemaModel != null && parentSchema.getName().equals(ivoaSchemaModel.getName())) { return equalsOneOf(key, Column.STD_KEY, Column.PRINCIPAL_KEY, Column.UCD_KEY, Column.UNIT_KEY, Column.UTYPE_KEY, Column.DATATYPE_KEY); } return false; } } private Object getCompatibleIntOrBoolValue(String key, boolean value) { if (tapSchema.getTapSchemaModel().getTable(COLUMNS_TABLE).get(key).getJavaType() == Integer.class) { return value ? 1 : 0; } return value; } private Object getCorrectValue(Column column, String key) { Loading @@ -187,9 +198,9 @@ public class TapSchemaLoader { ColumnModel columnModel = schemaModel.getTable(column.getParent().getName()).get(column.getName()); switch (key) { case Column.STD_KEY: return columnModel.isStandard(); return getCompatibleIntOrBoolValue(Column.STD_KEY, columnModel.isStandard()); case Column.PRINCIPAL_KEY: return columnModel.isPrincipal(); return getCompatibleIntOrBoolValue(Column.PRINCIPAL_KEY, columnModel.isPrincipal()); case Column.UCD_KEY: return columnModel.getUcd(); case Column.UNIT_KEY: Loading
TASMAN-webapp/pom.xml +3 −3 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-webapp</artifactId> <version>1.3.0</version> <version>1.3.1</version> <packaging>war</packaging> <name>tasman-webapp</name> Loading Loading @@ -107,7 +107,7 @@ <dependency> <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-core</artifactId> <version>1.2.0</version> <version>1.3.1</version> <exclusions> <!-- exclusion due to tomcat-jdbc dependency conflicting with Jetty --> <exclusion> Loading @@ -124,7 +124,7 @@ <dependency> <groupId>it.inaf.ia2.tap</groupId> <artifactId>tasman-core</artifactId> <version>1.2.0</version> <version>1.3.1</version> </dependency> <dependency> <groupId>ari.ucidy</groupId> Loading