Skip to content
consistencyChecks.xhtml 8.64 KiB
Newer Older
<?xml version="1.0" encoding="UTF-8" ?>
<ui:composition template="/WEB-INF/templates/master.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
    <ui:define name="title">Consistency problems for #{consistency.tapSchema.name}</ui:define>
    <ui:define name="content">
        <f:event listener="#{loggedInChecker.checkFromNonIndex()}" type="preRenderView" />
        <div class="container">
            <div class="row">
                <div class="col-xs-12">
                    <h1>Consistency problems detected in #{consistency.tapSchema.name}</h1>
                    <h:form id="main">

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.inconsistencies.size() gt 0}">
                            <h2>Inconsistent values</h2>
                            <table class="table table-bordered">
                                <thead>
                                    <tr>
                                        <th>Table</th>
                                        <th>Column</th>
                                        <th>Field</th>
                                        <th>Wrong value</th>
                                        <th>Correct value</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <ui:repeat value="#{consistency.tapSchema.consistencyChecks.inconsistencies}" var="inconsistency">
                                        <tr>
                                            <td>${inconsistency.tableCompleteName}</td>
                                            <td>${inconsistency.columnName}</td>
                                            <td>${inconsistency.key}</td>
                                            <td class="text-danger">${inconsistency.currentValue}</td>
                                            <td class="text-success">${inconsistency.correctValue}</td>
                                        </tr>
                                    </ui:repeat>
                                </tbody>
                            </table>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.unexisingSchemas.size() gt 0}">
                            <h2>Unexisting schemas</h2>
                            <ul>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.unexisingSchemas}" var="schema">
                                    <li>${schema}</li>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.unexisingTables.size() gt 0}">
                            <h2>Unexisting tables</h2>
                            <ul>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.unexisingTables}" var="table">
                                    <li>${table}</li>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.unexisingColumns.size() gt 0}">
                            <h2>Unexisting columns</h2>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.unexisingColumns.toArray()}" var="column">
                                    <li>${column}</li>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>
                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.unexistingKeys.size() gt 0}">
                            <h2>Unexisting keys</h2>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.unexistingKeys.toArray()}" var="key">
                                    <li>${key}</li>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.missingTables.size() gt 0}">
                            <h2>Missing tables</h2>
                            <ul>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.missingTables.keySet().toArray()}" var="schema">
                                    <ui:repeat value="#{consistency.tapSchema.consistencyChecks.missingTables.get(schema).toArray()}" var="table">
                                        <li>${schema}.${table}</li>
                                    </ui:repeat>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.missingColumns.size() gt 0}">
                            <h2>Missing columns</h2>
                            <ul>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.missingColumns.keySet().toArray()}" var="column">
                                    <li>${column}</li>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.tablesToAdd.size() gt 0}">
                            <h2>Tables to expose</h2>
                            <ul>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.tablesToAdd.keySet().toArray()}" var="schema">
                                    <ui:repeat value="#{consistency.tapSchema.consistencyChecks.tablesToAdd.get(schema)}" var="table">
                                        <li>${schema}.${table}</li>
                                    </ui:repeat>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.columnsToAdd.size() gt 0}">
                            <h2>Columns to expose</h2>
                            <ul>
                                <ui:repeat value="#{consistency.tapSchema.consistencyChecks.columnsToAdd.toArray()}" var="column">
                                    <li>${column}</li>
                                </ui:repeat>
                            </ul>
                        </h:panelGroup>

                        <h:panelGroup rendered="#{consistency.tapSchema.consistencyChecks.missingObscore or consistency.tapSchema.consistencyChecks.obscoreToAdd}">
                            <h2>ObsCore to add</h2>
                            <span class="glyphicon glyphicon-check"></span>
                        </h:panelGroup>
                        <h:panelGroup rendered="#{consistency.tapSchemaContainsOnlyTapSchema}" layout="block" class="alert alert-danger text-center">
                            <span class="glyphicon glyphicon-warning-sign"></span>
                            <strong>If you proceed this TAP_SCHEMA will contain only itself! You may have selected wrong source credentials.</strong>
                        </h:panelGroup>
                        <div class="alert alert-warning text-center">
                            <span class="glyphicon glyphicon-warning-sign"></span>
                            <strong>If you proceed the TAP_SCHEMA Manager will fix these values.</strong>
                        </div>

                        <div class="text-center">
                            <h:commandLink action="#{consistency.back()}" class="btn btn-default">
                                <span class="glyphicon glyphicon-arrow-left"></span>
                                Back
                            </h:commandLink>
                            &#160;
Sonia Zorba's avatar
Sonia Zorba committed
                            <h:commandLink action="#{consistency.proceed()}" class="btn btn-primary" onclick="showWaiting()">
                                Proceed
                                <span class="glyphicon glyphicon-arrow-right"></span>
                            </h:commandLink>
                        </div>
                    </h:form>
                </div>
            </div>
        </div>

    </ui:define>
</ui:composition>