forked from olap4j/olap4j
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
XMLA driver: add member cache; call MDSCHEMA_MEMBERS with multiple un…
…ique-names. Hierarchy.getDefaultMember() now throws OlapException. XmlaTester caches connections. git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@68 c6a108a4-781c-0410-a6c6-c2d559e19af0
- Loading branch information
1 parent
14ca2de
commit 3e562cf
Showing
12 changed files
with
489 additions
and
227 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
/* | ||
// This software is subject to the terms of the Common Public License | ||
// Agreement, available at the following URL: | ||
// http://www.opensource.org/licenses/cpl.html. | ||
// Copyright (C) 2008-2008 Julian Hyde | ||
// All Rights Reserved. | ||
// You must accept the terms of that agreement to use this software. | ||
*/ | ||
package org.olap4j.driver.xmla; | ||
|
||
import org.olap4j.OlapException; | ||
import org.olap4j.metadata.Member; | ||
|
||
import java.util.*; | ||
|
||
/** | ||
* Can read metadata, in particular members. | ||
* | ||
* @author jhyde | ||
* @version $Id: $ | ||
* @since Jan 14, 2008 | ||
*/ | ||
interface MetadataReader { | ||
/** | ||
* Looks up a member by its unique name. | ||
* | ||
* <p>Not part of public olap4j API. | ||
* | ||
* @param memberUniqueName Unique name of member | ||
* @return Member, or null if not found | ||
* @throws org.olap4j.OlapException if error occurs | ||
*/ | ||
XmlaOlap4jMember lookupMemberByUniqueName( | ||
String memberUniqueName) | ||
throws OlapException; | ||
|
||
/** | ||
* Looks up a list of members by their unique name and writes the results | ||
* into a map. | ||
* | ||
* <p>Not part of public olap4j API. | ||
* | ||
* @param memberUniqueNames List of unique names of member | ||
* | ||
* @param memberMap Map to populate with members | ||
* | ||
* @throws org.olap4j.OlapException if error occurs | ||
*/ | ||
void lookupMembersByUniqueName( | ||
List<String> memberUniqueNames, | ||
Map<String, XmlaOlap4jMember> memberMap) | ||
throws OlapException; | ||
|
||
/** | ||
* Looks a member by its unique name and returns members related by | ||
* the specified tree-operations. | ||
* | ||
* <p>Not part of public olap4j API. | ||
* | ||
* @param memberUniqueName Unique name of member | ||
* | ||
* @param treeOps Collection of tree operations to travel relative to | ||
* given member in order to create list of members | ||
* | ||
* @param list list to be populated with members related to the given | ||
* member, or empty set if the member is not found | ||
* | ||
* @throws org.olap4j.OlapException if error occurs | ||
*/ | ||
void lookupMemberRelatives( | ||
Set<Member.TreeOp> treeOps, | ||
String memberUniqueName, | ||
List<XmlaOlap4jMember> list) throws OlapException; | ||
|
||
/** | ||
* Looks up members of a given level. | ||
* | ||
* @param level Level | ||
* | ||
* @throws org.olap4j.OlapException if error occurs | ||
* | ||
* @return list of members at in the level | ||
*/ | ||
List<XmlaOlap4jMember> getLevelMembers(XmlaOlap4jLevel level) | ||
throws OlapException; | ||
} | ||
|
||
// End MetadataReader.java |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.