protected void setHistoryTableColumns()

in src/main/java/com/epam/digital/data/platform/liquibase/extension/DdmParameters.java [93:116]


    protected void setHistoryTableColumns() {
        try {
            NodeList historyFlag = getHistoryFlagNodes();
            NodeList allColumns = ((Element) historyFlag.item(0)).getElementsByTagName(DdmConstants.XML_TAG_COLUMNS);
            NodeList columns = ((Element) allColumns.item(0)).getElementsByTagName(DdmConstants.XML_TAG_COLUMN);
            for (int i = 0; i < columns.getLength(); i++) {
                if (columns.item(i).getNodeType() == Node.ELEMENT_NODE) {
                    Element column = (Element) columns.item(i);

                    DdmHistoryTableColumn historyTableColumn = new DdmHistoryTableColumn();
                    historyTableColumn.setName(column.getAttribute(DdmConstants.ATTRIBUTE_NAME));
                    historyTableColumn.setType(column.getAttribute(DdmConstants.ATTRIBUTE_TYPE));
                    historyTableColumn.setScope(column.getAttribute(DdmConstants.ATTRIBUTE_SCOPE));
                    historyTableColumn.setUniqueWithPrimaryKey(column.getAttribute(DdmConstants.ATTRIBUTE_UNIQUE_WITH_PRIMARY_KEY).equals(DdmConstants.ATTRIBUTE_TRUE));
                    historyTableColumn.setNullable(column.getAttribute(DdmConstants.ATTRIBUTE_NULLABLE).equals(DdmConstants.ATTRIBUTE_TRUE));
                    historyTableColumn.setDefaultValueComputed(column.getAttribute(DdmConstants.ATTRIBUTE_DEFAULT_VALUE_COMPUTED));

                    historyTableColumns.add(historyTableColumn);
                }
            }
        } catch (ParserConfigurationException | IOException | SAXException e) {
            throw new IllegalStateException(e);
        }
    }