novie-core/src/main/java/com/groupon/novie/utils/SchemaDefinitionImpl.java
@Override
    public DimensionTable getDimensionByName(String dimensionName, String tzNameAlias) {
        DimensionTable dimensionTable;
        if (StringUtils.isBlank(tzNameAlias) || (StringUtils.isNotBlank(tzNameAlias) && tzNameAlias.equals(getDefaultTimezone()))) {
            dimensionTable = dimensions.get(dimensionName.toUpperCase());
        } else {
            if (!isTimeZoneSupported(tzNameAlias)) {
                LOG.error(tzNameAlias + " TZ is not supported, do not consider it.");
                dimensionTable = dimensions.get(dimensionName.toUpperCase());
            } else {
                String tzName = tzNamesAliases.get(tzNameAlias);
                dimensionTable = alternateDimensions.get(Pair.of(dimensionName.toUpperCase(), tzName));
                if (dimensionTable == null) {
                    // No alternateTable for this dimension/tz pair
                    dimensionTable = dimensions.get(dimensionName.toUpperCase());
                }
            }

        }
        if (dimensionTable == null) {
            throw new IllegalArgumentException("Invalid SqlTable for the dimension: " + dimensionName);
        }
        return dimensionTable;
    }
@Override
    public DimensionTable getDimensionByName(String dimensionName, String tzNameAlias) {
        DimensionTable dimensionTable;
        if (StringUtils.isBlank(tzNameAlias) || (StringUtils.isNotBlank(tzNameAlias) && tzNameAlias.equals(getDefaultTimezone()))) {
            dimensionTable = dimensions.get(dimensionName.toUpperCase());
        } else {
            if (!isTimeZoneSupported(tzNameAlias)) {
                LOG.error(tzNameAlias + " TZ is not supported, do not consider it.");
                dimensionTable = dimensions.get(dimensionName.toUpperCase());
            } else {
                String tzName = tzNamesAliases.get(tzNameAlias);
                dimensionTable = alternateDimensions.get(Pair.of(dimensionName.toUpperCase(), tzName));
                if (dimensionTable == null) {
                    // No alternateTable for this dimension/tz pair
                    dimensionTable = dimensions.get(dimensionName.toUpperCase());
                }
            }

        }
        if (dimensionTable == null) {
            throw new IllegalArgumentException("Invalid SqlTable for the dimension: " + dimensionName);
        }
        return dimensionTable;
    }
@ Override public DimensionTable getDimensionByName ( String dimensionName , String tzNameAlias ) { DimensionTable dimensionTable ; if ( StringUtils . isBlank ( tzNameAlias ) || ( StringUtils . isNotBlank ( tzNameAlias ) && tzNameAlias . equals ( getDefaultTimezone ( ) ) ) ) { dimensionTable = dimensions . get ( dimensionName . toUpperCase ( ) ) ; } else { if ( ! isTimeZoneSupported ( tzNameAlias ) ) { LOG . error ( tzNameAlias + " TZ is not supported, do not consider it." ) ; dimensionTable = dimensions . get ( dimensionName . toUpperCase ( ) ) ; } else { String tzName = tzNamesAliases . get ( tzNameAlias ) ; dimensionTable = alternateDimensions . get ( Pair . of ( dimensionName . toUpperCase ( ) , tzName ) ) ; if ( dimensionTable == null ) { // No alternateTable for this dimension/tz pair dimensionTable = dimensions . get ( dimensionName . toUpperCase ( ) ) ; } } } if ( dimensionTable == null ) { throw new IllegalArgumentException ( "Invalid SqlTable for the dimension: " + dimensionName ) ; } return dimensionTable ; }
/*
(non-Javadoc)

@see com.groupon.novie.SchemaConfig#getDimensionByName(java.lang.String,
java.lang.String)
/ * ( non - Javadoc )