package com.c2c.query; /** * Factory for creating queries. It is configured with the * default parameters which act as a base for creating specific queries * <p/> * User: jeichar * Date: Jul 2, 2010 * Time: 12:11:56 PM */ public class QueryFactory { private final String jdbcConnection; private final String catalogDefFile; private final String simpleCatDefFile; public QueryFactory(String jdbcConnection, String catalogDefFile, String simpleCatDefFile) { this.jdbcConnection = jdbcConnection; this.catalogDefFile = QueryFactory.class.getClassLoader().getResource(catalogDefFile).getFile(); this.simpleCatDefFile = QueryFactory.class.getClassLoader().getResource(simpleCatDefFile).getFile(); } public DataQuery createDataQuery(String mdx) { return new DataQuery(jdbcConnection, catalogDefFile, mdx); } public DimensionsQuery createDimensionsQuery(String cube) { return new DimensionsQuery(jdbcConnection, simpleCatDefFile, cube); } public LevelsQuery createLevelsQuery(String cube) { return new LevelsQuery(jdbcConnection, simpleCatDefFile, cube); } public MeasuresQuery createMeasuresQuery(String cube) { return new MeasuresQuery(jdbcConnection, simpleCatDefFile, cube); } public MembersQuery createMembersQuery(String cube, String dim) { return new MembersQuery(jdbcConnection, simpleCatDefFile, cube, dim); } }