pentaho/mondrian — pull request #239 by rbuck (2014-03-21 22:01:19+00:00)
Title: [MONDRIAN-1949] Add generic method to identify a database product.

A hard-coded if-then-else block exists in JdbcDialectImpl.getProduct method. Observation shows that most of these branches involve a simple toUpper mapping of the database product name which otherwise directly maps to the enumeration names in "src/main/mondrian/spi/Dialect.java". This diff adds a static method to the enum that performs a comparison to enum names to find a match, which would effectively reduce the amount of if-then-else code at the call site in JdbcDialectImpl.getProduct from 82 LOC to 29 LOC, making the overall registration and integration procedure for new database dialects more straightforward.