public class XmlaHandler extends Object
XmlaHandler
responds to XML for Analysis (XML/A) requests.Modifier and Type | Class and Description |
---|---|
(package private) static class |
XmlaHandler.CellColumnHandler
Callback to handle one column, representing the combination of a
level and a property (e.g.
|
(package private) static class |
XmlaHandler.Column |
(package private) static class |
XmlaHandler.ColumnHandler |
static interface |
XmlaHandler.ConnectionFactory
Creates an olap4j connection for responding to XMLA requests.
|
(package private) static class |
XmlaHandler.MDDataSet |
(package private) static class |
XmlaHandler.MDDataSet_Multidimensional |
(package private) static class |
XmlaHandler.MDDataSet_Tabular |
(package private) static class |
XmlaHandler.MemberColumnHandler
Callback to handle one column, representing the combination of a
level and a property (e.g.
|
(package private) static class |
XmlaHandler.TabularRowSet |
(package private) static class |
XmlaHandler.ValueInfo
Takes a DataType String (null, Integer, Numeric or non-null)
and Value Object (Integer, Double, String, other) and
canonicalizes them to XSD data type and corresponding object.
|
static interface |
XmlaHandler.XmlaExtra
Extra support for XMLA server.
|
Modifier and Type | Field and Description |
---|---|
(package private) XmlaHandler.ConnectionFactory |
connectionFactory |
static String |
JDBC_LOCALE
Name of property used by JDBC to hold locale.
|
static String |
XSD_BOOLEAN |
static String |
XSD_BYTE |
static byte |
XSD_BYTE_MAX_INCLUSIVE |
static byte |
XSD_BYTE_MIN_INCLUSIVE |
static String |
XSD_DECIMAL |
static String |
XSD_DOUBLE |
static String |
XSD_FLOAT |
static String |
XSD_INT |
static int |
XSD_INT_MAX_INCLUSIVE |
static int |
XSD_INT_MIN_INCLUSIVE |
static String |
XSD_INTEGER |
static String |
XSD_LONG |
static long |
XSD_LONG_MAX_INCLUSIVE |
static long |
XSD_LONG_MIN_INCLUSIVE |
static String |
XSD_SHORT |
static short |
XSD_SHORT_MAX_INCLUSIVE |
static short |
XSD_SHORT_MIN_INCLUSIVE |
static String |
XSD_STRING |
static String |
XSD_UNSIGNED_INT |
Constructor and Description |
---|
XmlaHandler(XmlaHandler.ConnectionFactory connectionFactory,
String prefix)
Creates an
XmlaHandler . |
Modifier and Type | Method and Description |
---|---|
protected OlapConnection |
getConnection(String catalog,
String schema,
String role)
Gets a Connection given a catalog (and implicitly the catalog's data
source) and the name of a user role.
|
protected OlapConnection |
getConnection(String catalog,
String schema,
String role,
Properties props)
Gets a Connection given a catalog (and implicitly the catalog's data
source) and the name of a user role.
|
OlapConnection |
getConnection(XmlaRequest request,
Map<String,String> propMap)
Returns a new OlapConnection opened with the credentials specified in the
XMLA request or an existing connection if one can be found associated
with the request session id.
|
static XmlaHandler.XmlaExtra |
getExtra(OlapConnection connection) |
static boolean |
isValidXsdInt(long l) |
void |
process(XmlaRequest request,
XmlaResponse response)
Processes a request.
|
(package private) static void |
writeDatasetXmlSchema(SaxWriter writer,
mondrian.xmla.XmlaHandler.SetType settype)
Computes the XML Schema for a dataset.
|
(package private) static void |
writeEmptyDatasetXmlSchema(SaxWriter writer,
mondrian.xmla.XmlaHandler.SetType setType) |
public static final String JDBC_LOCALE
final XmlaHandler.ConnectionFactory connectionFactory
public static final String XSD_BOOLEAN
public static final String XSD_STRING
public static final String XSD_UNSIGNED_INT
public static final String XSD_BYTE
public static final byte XSD_BYTE_MAX_INCLUSIVE
public static final byte XSD_BYTE_MIN_INCLUSIVE
public static final String XSD_SHORT
public static final short XSD_SHORT_MAX_INCLUSIVE
public static final short XSD_SHORT_MIN_INCLUSIVE
public static final String XSD_INT
public static final int XSD_INT_MAX_INCLUSIVE
public static final int XSD_INT_MIN_INCLUSIVE
public static final String XSD_LONG
public static final long XSD_LONG_MAX_INCLUSIVE
public static final long XSD_LONG_MIN_INCLUSIVE
public static final String XSD_DOUBLE
public static final String XSD_FLOAT
public static final String XSD_DECIMAL
public static final String XSD_INTEGER
public XmlaHandler(XmlaHandler.ConnectionFactory connectionFactory, String prefix)
XmlaHandler
.
The connection factory may be null, as long as you override
getConnection(String, String, String, Properties)
.
connectionFactory
- Connection factoryprefix
- XML Namespace. Typical value is "xmla", but a value of
"cxmla" works around an Internet Explorer 7 bugpublic static XmlaHandler.XmlaExtra getExtra(OlapConnection connection)
public OlapConnection getConnection(XmlaRequest request, Map<String,String> propMap)
request
- RequestpropMap
- Extra propertiespublic static boolean isValidXsdInt(long l)
public void process(XmlaRequest request, XmlaResponse response) throws XmlaException
XmlaException
- on errorrequest
- XML request, for example, "response
- Destination for responsestatic void writeDatasetXmlSchema(SaxWriter writer, mondrian.xmla.XmlaHandler.SetType settype)
writer
- SAX writersettype
- rowset or dataset?RowsetDefinition.writeRowsetXmlSchema(SaxWriter)
static void writeEmptyDatasetXmlSchema(SaxWriter writer, mondrian.xmla.XmlaHandler.SetType setType)
protected OlapConnection getConnection(String catalog, String schema, String role) throws XmlaException
If you want to pass in a role object, and you are making the call
within the same JVM (i.e. not RPC), register the role using
MondrianServer.getLockBox()
and pass in the moniker
for the generated lock box entry. The server will retrieve the role from
the moniker.
XmlaException
- If error occurscatalog
- Catalog nameschema
- Schema namerole
- User role nameprotected OlapConnection getConnection(String catalog, String schema, String role, Properties props) throws XmlaException
If you want to pass in a role object, and you are making the call
within the same JVM (i.e. not RPC), register the role using
MondrianServer.getLockBox()
and pass in the moniker
for the generated lock box entry. The server will retrieve the role from
the moniker.
XmlaException
- If error occurscatalog
- Catalog nameschema
- Schema namerole
- User role nameprops
- Properties to pass down to the native driver.