001/*
002// This software is subject to the terms of the Eclipse Public License v1.0
003// Agreement, available at the following URL:
004// http://www.eclipse.org/legal/epl-v10.html.
005// You must accept the terms of that agreement to use this software.
006//
007// Copyright (C) 2008-2009 Pentaho and others
008// All Rights Reserved.
009*/
010package mondrian.gui.validate.impl;
011
012import mondrian.gui.JdbcMetaData;
013import mondrian.gui.validate.JdbcValidator;
014
015import java.util.List;
016
017/**
018 * Implementation of <code>JdbcValidator</code> for Workbench.
019 *
020 * @author mlowery
021 */
022public class WorkbenchJdbcValidator implements JdbcValidator {
023
024    private JdbcMetaData jdbcMetadata;
025
026    public WorkbenchJdbcValidator(JdbcMetaData jdbcMetadata) {
027        super();
028        this.jdbcMetadata = jdbcMetadata;
029    }
030
031    public int getColumnDataType(
032        String schemaName, String tableName, String colName)
033    {
034        return jdbcMetadata.getColumnDataType(schemaName, tableName, colName);
035    }
036
037    public boolean isColExists(
038        String schemaName, String tableName, String colName)
039    {
040        return jdbcMetadata.isColExists(schemaName, tableName, colName);
041    }
042
043    public boolean isInitialized() {
044        return jdbcMetadata.getErrMsg() == null;
045    }
046
047    public boolean isTableExists(String schemaName, String tableName) {
048        return jdbcMetadata.isTableExists(schemaName, tableName);
049    }
050
051    public boolean isSchemaExists(String schemaName) {
052        List<String> theSchemas = jdbcMetadata.getAllSchemas();
053        return theSchemas != null && theSchemas.contains(schemaName);
054    }
055}
056
057// End WorkbenchJdbcValidator.java