Skip to content

Commit

Permalink
Obsolete Database and Olap4j; update spec with parse tree model chang…
Browse files Browse the repository at this point in the history
…es; enable keyword substitutions

git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@19 c6a108a4-781c-0410-a6c6-c2d559e19af0
  • Loading branch information
julianhyde committed Jun 10, 2007
1 parent 5783fb2 commit 33a2089
Show file tree
Hide file tree
Showing 33 changed files with 382 additions and 575 deletions.
244 changes: 144 additions & 100 deletions doc/olap4j_fs.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions src/mondrian/olap4j/MondrianOlap4jCatalog.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,22 @@
import org.olap4j.metadata.Catalog;
import org.olap4j.metadata.NamedList;
import org.olap4j.metadata.Schema;
import org.olap4j.metadata.Database;
import org.olap4j.OlapException;
import org.olap4j.OlapDatabaseMetaData;

/**
* <code>MondrianOlap4jCatalog</code> ...
* Implementation of {@link org.olap4j.metadata.Catalog} for Mondrian.
*
* @author jhyde
* @version $Id: $
* @since May 23, 2007
*/
class MondrianOlap4jCatalog implements Catalog, Named {
final MondrianOlap4jDatabase olap4jDatabase;
final MondrianOlap4jDatabaseMetaData olap4jDatabaseMetaData;

MondrianOlap4jCatalog(
MondrianOlap4jDatabase olap4jDatabase) {
this.olap4jDatabase = olap4jDatabase;
MondrianOlap4jDatabaseMetaData olap4jDatabaseMetaData) {
this.olap4jDatabaseMetaData = olap4jDatabaseMetaData;
}

public NamedList<Schema> getSchemas() throws OlapException {
Expand All @@ -38,18 +38,18 @@ public NamedList<Schema> getSchemas() throws OlapException {
list.add(
new MondrianOlap4jSchema(
this,
olap4jDatabase.metaData.connection.getSchemaReader(),
olap4jDatabase.metaData.connection.getSchema()));
olap4jDatabaseMetaData.connection.getSchemaReader(),
olap4jDatabaseMetaData.connection.getSchema()));
return (NamedList) list;
}

public Database getDatabase() {
return olap4jDatabase;
}

public String getName() {
return "LOCALDB";
}

public OlapDatabaseMetaData getMetaData() {
return olap4jDatabaseMetaData;
}
}

// End MondrianOlap4jCatalog.java
17 changes: 12 additions & 5 deletions src/mondrian/olap4j/MondrianOlap4jConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import org.olap4j.*;
import org.olap4j.metadata.Schema;
import org.olap4j.metadata.Database;
import org.olap4j.metadata.Catalog;
import org.olap4j.metadata.NamedList;
import org.olap4j.mdx.parser.MdxParserFactory;
import org.olap4j.mdx.parser.MdxParser;
import org.olap4j.mdx.parser.impl.DefaultMdxParserImpl;
Expand Down Expand Up @@ -46,6 +46,8 @@ class MondrianOlap4jConnection implements OlapConnection {
*/
MondrianOlap4jSchema olap4jSchema;

private final MondrianOlap4jDatabaseMetaData olap4jDatabaseMetaData;

/**
* The name of the sole catalog.
*/
Expand Down Expand Up @@ -77,9 +79,10 @@ class MondrianOlap4jConnection implements OlapConnection {
}
this.connection =
mondrian.olap.DriverManager.getConnection(list, null);
final OlapDatabaseMetaData olapDatabaseMetaData = getMetaData();
final Database database = olapDatabaseMetaData.getDatabase();
final Catalog catalog = database.getCatalogs().get(getCatalog());
this.olap4jDatabaseMetaData =
new MondrianOlap4jDatabaseMetaData(this, connection);
String catalogName = getCatalog();
final Catalog catalog = getCatalogs().get(catalogName);
this.olap4jSchema =
new MondrianOlap4jSchema(
(MondrianOlap4jCatalog) catalog,
Expand Down Expand Up @@ -132,7 +135,11 @@ public boolean isClosed() throws SQLException {
}

public OlapDatabaseMetaData getMetaData() {
return new MondrianOlap4jDatabaseMetaData(this, connection);
return olap4jDatabaseMetaData;
}

public NamedList<Catalog> getCatalogs() {
return olap4jDatabaseMetaData.getCatalogObjects();
}

public void setReadOnly(boolean readOnly) throws SQLException {
Expand Down
50 changes: 0 additions & 50 deletions src/mondrian/olap4j/MondrianOlap4jDatabase.java

This file was deleted.

19 changes: 13 additions & 6 deletions src/mondrian/olap4j/MondrianOlap4jDatabaseMetaData.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

import org.olap4j.OlapDatabaseMetaData;
import org.olap4j.OlapException;
import org.olap4j.metadata.Database;
import org.olap4j.metadata.Catalog;
import org.olap4j.metadata.NamedList;

import java.sql.ResultSet;
import java.sql.RowIdLifetime;
Expand All @@ -41,6 +42,17 @@ class MondrianOlap4jDatabaseMetaData implements OlapDatabaseMetaData {
mondrianServer = MondrianServer.forConnection(connection);
}

// package-protected
NamedList<Catalog> getCatalogObjects() {
// A mondrian instance contains only one catalog.
NamedList<MondrianOlap4jCatalog> list =
new NamedListImpl<MondrianOlap4jCatalog>();
list.add(new MondrianOlap4jCatalog(this));
return (NamedList) list;
}

// implement DatabaseMetaData

public boolean allProceduresAreCallable() throws SQLException {
throw new UnsupportedOperationException();
}
Expand Down Expand Up @@ -817,11 +829,6 @@ public boolean isWrapperFor(Class<?> iface) throws SQLException {

// implement OlapDatabaseMetaData

public Database getDatabase() {
return new MondrianOlap4jDatabase(
mondrianServer, this);
}

public ResultSet getActions() throws OlapException {
return new EmptyResultSet(olap4jConnection);
}
Expand Down
Loading

0 comments on commit 33a2089

Please sign in to comment.