Set<Schema> schemas = snapshot.get(Schema.class);
if (schemas.size() > 1) {
throw new UnexpectedLiquibaseException("Can only display one schema");
}
Schema schema = schemas.iterator().next();
if (database.supportsSchemas()) {
buffer.append("<strong>Catalog & Schema:</strong> ").append(schema.getCatalogName()).append(" / ").append(schema.getName()).append("<br>\n");
} else {
buffer.append("<strong>Catalog:</strong> ").append(schema.getCatalogName()).append("<br>\n");
}
buffer.append("</div>\n");
buffer.append("</div>\n");
SnapshotControl snapshotControl = snapshot.getSnapshotControl();
List<Class> includedTypes = sort(snapshotControl.getTypesToInclude());
StringBuilder catalogBuffer = new StringBuilder();
StringBuilder detailsBuilder = new StringBuilder();
catalogBuffer.append("<ul class='nav nav-tabs' id='tabs'>\n");
catalogBuffer.append("<li><a href='#databasechangelog-tab' data-toggle='tab'>DatabaseChangeLog</a></li>\n");
for (Class type : includedTypes) {
if (schema.getDatabaseObjects(type).size() > 0) {
catalogBuffer.append("<li><a href='#").append(type.getSimpleName()).append("-tab' data-toggle='tab'>").append(type.getSimpleName()).append("(s)</a></li>\n");
}
}
catalogBuffer.append("</ul>\n");
catalogBuffer.append("<div class='tab-content' style='margin-bottom:20px;'>\n");
catalogBuffer.append("<div class='tab-pane' style='border: 1px #ddd solid; border-top:none' id='databasechangelog-tab'>\n");
writeDatabaseChangeLogTab(context);
detailsBuilder.append(context.get("changeLogDetails"));
catalogBuffer.append(context.get("changeLog"));
catalogBuffer.append("</div>");
for (Class type : includedTypes) {
List<? extends DatabaseObject> databaseObjects = sort(schema.getDatabaseObjects(type));
if (databaseObjects.size() > 0) {
catalogBuffer.append("<div class='tab-pane' style='border: 1px #ddd solid; border-top:none' id='").append(type.getSimpleName()).append("-tab'>\n");
catalogBuffer.append("<div style='padding:10px; font-color:black'><ol>\n");