Commit 8c18e736 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Big refactoring in order to allow multiple TAP versions (2)

parent d3484c88
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
    <modelVersion>4.0.0</modelVersion>
    <groupId>it.inaf.ia2.tap</groupId>
    <artifactId>tasman-core</artifactId>
    <version>1.1.0</version>
    <version>1.2.0</version>
    <packaging>jar</packaging>
    <name>tasman-core</name>
    <properties>
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
 */
package it.inaf.ia2.tsm;

import it.inaf.ia2.tsm.xmlmodel.TableModel;
import it.inaf.ia2.tsm.model.TableModel;
import java.util.Map;

/**
+18 −3
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ public class Column extends ChildEntity<Table> {
    private static final Logger LOG = LoggerFactory.getLogger(Column.class);

    private boolean foreignKeySearched;
    private KeyMetadata foreignKey;
    private Key foreignKey;

    private Table parentTable;

@@ -58,9 +58,24 @@ public class Column extends ChildEntity<Table> {
        setStatus(Status.LOADED);
    }

    public KeyMetadata getForeignKey() {
    public Key getForeignKey() {
        if (!foreignKeySearched) { // lazy loading (but the foreignKey value can be null, so we use this boolean)
            foreignKey = tapSchema.searchKeyMetadata(parentTable.getParent().getName(), parentTable.getName(), getName());

            String fromSchemaName = parentTable.getParent().getName();
            String fromTableName = parentTable.getName();
            String fromColumnName = getName();

            ext:
            for (Key key : tapSchema.getAllKeys()) {
                if (key.getFromSchemaName().equals(fromSchemaName) && key.getFromTableSimpleName().equals(fromTableName)) {
                    for (KeyColumn keyColumn : key.getKeyColumns()) {
                        if (keyColumn.getFromColumn().equals(fromColumnName)) {
                            foreignKey = key;
                            break ext;
                        }
                    }
                }
            }
        }

        return foreignKey;
+9 −9
Original line number Diff line number Diff line
@@ -74,18 +74,18 @@ public class ConsistencyChecks implements Serializable {
    }

    private final List<InconsistentValue> inconsistencies;
    private final List<String> unexisingSchemas;
    private final List<String> unexisingTables;
    private final Set<String> unexisingSchemas;
    private final Set<String> unexisingTables;
    private final Map<String, String> unexisingColumns;
    private final List<String> unexistingKeys;
    private final Set<String> unexistingKeys;
    private final List<UnexistingKeyColumn> unexistingKeyColumns;

    public ConsistencyChecks() {
        inconsistencies = new ArrayList<>();
        unexisingSchemas = new ArrayList<>();
        unexisingTables = new ArrayList<>();
        unexisingSchemas = new HashSet<>();
        unexisingTables = new HashSet<>();
        unexisingColumns = new HashMap<>();
        unexistingKeys = new ArrayList<>();
        unexistingKeys = new HashSet<>();
        unexistingKeyColumns = new ArrayList<>();
    }

@@ -97,7 +97,7 @@ public class ConsistencyChecks implements Serializable {
        return inconsistencies;
    }

    public List<String> getUnexisingSchemas() {
    public Set<String> getUnexisingSchemas() {
        return unexisingSchemas;
    }

@@ -105,7 +105,7 @@ public class ConsistencyChecks implements Serializable {
        unexisingSchemas.add(schemaName);
    }

    public List<String> getUnexisingTables() {
    public Set<String> getUnexisingTables() {
        return unexisingTables;
    }

@@ -128,7 +128,7 @@ public class ConsistencyChecks implements Serializable {
        unexistingKeys.add(keyId);
    }

    public List<String> getUnexistingKeys() {
    public Set<String> getUnexistingKeys() {
        return unexistingKeys;
    }

+5 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
 */
package it.inaf.ia2.tsm;

import it.inaf.ia2.tsm.xmlmodel.PropertyModel;
import it.inaf.ia2.tsm.model.PropertyModel;
import java.io.Serializable;

/**
@@ -111,4 +111,8 @@ public class EntityProperty<T> implements Serializable {
    public void save() {
        this.originalValue = value;
    }

    public Class getType() {
        return type;
    }
}
Loading