PDA

View Full Version : RE: [Mondrian] Re: Mondrian in my Java Program



Julian Hyde
03-03-2007, 04:40 PM
The 'Enclosure class mondrian.olap.MondrianDef not found' error is not
one I've seen before. I don't think it means that
mondrian.olap.MondrianDef.class is not on the classpath -- I think that
there is an error in the format of your <catalog>.xml file. For
instance, if you try running with foodmart.xml, I think you'll find that
error goes away.

Julian


_____

From: mondrian-bounces (AT) pentaho (DOT) org [mailto:mondrian-bounces (AT) pentaho (DOT) org]
On Behalf Of Laurent Valdes
Sent: Saturday, March 03, 2007 8:44 AM
To: mondrian (AT) pentaho (DOT) org
Subject: [Mondrian] Re: Mondrian in my Java Program


Sorry, I tested my JDBC string several times.
Enclosure class mondrian.olap.MondrianDef not found.
and the class does exist since I have done Class.forClass to check for
its existence.

Have a good day !



2007/3/2, Laurent Valdes < valderama (AT) gmail (DOT) com
<mailto:valderama (AT) gmail (DOT) com> >:

Currently I have the following:

OLAPTest ot=new OLAPTest();
try{
ot.initialize();
}
catch(Exception e)
{
System.out.println("Erreur initialisation: ");
e.printStackTrace();
}

Connection connection = DriverManager.getConnection(
"Provider=mondrian;" +
"Jdbc=" + ot.jdbcUri + ";" +
"Catalog="+ "" + ot.catalogUrl.toString(),
null,
false);

But I get the following:


Exception in thread "main" org.eigenbase.xom.AssertFailure: Enclosure
class mondrian.olap.MondrianDef not found.
at org.eigenbase.xom.DOMElementParser.getEnclosureClass(Unknown
Source)
at org.eigenbase.xom.DOMElementParser.classArray(Unknown Source)
at org.eigenbase.xom.DOMElementParser.getArray(Unknown Source)
at mondrian.olap.MondrianDef$Schema.<init>(
MondrianDef.java:104)




2007/3/2, Laurent Valdes <valderama (AT) gmail (DOT) com
<mailto:valderama (AT) gmail (DOT) com> >:


Hi everybody,

How are you ?
I'm absolutely new in this mailing-list.

I'm writing some java programs to automate decisions in my company, and
was trying to use Mondrian as it is possible to use JDBC: from a Java
program.

My first question is: How do I execute MDX queries from Java code ?
My second question is: Does the client need to keep separated from the
ROLAP server ?
If no, how can I do queries ?
If yes, how can I start the server ? and then how do I make OLAP queries
?

Many thanks for your help !

Best regards,

Laurent.


--

Julian Hyde
03-03-2007, 08:49 PM
Here's the code it is executing:

/**
* Returns the enclosure class associated with clazz, or falls back
on
* the fixed enclosure if none can be found.
*/
private Class getEnclosureClass(Class clazz)
{
// Instead of using a fixed enclosure, derive it from the given
Class.
// If we can't figure it out, just use the given enclosure
instead.
Class thisEnclosure = enclosure;
String className = clazz.getName();
int dollarPos = className.indexOf('$');
if (dollarPos >= 0) {
String encName = className.substring(0, dollarPos);
try {
thisEnclosure = Class.forName(encName);
} catch (ClassNotFoundException ex) {
throw new AssertFailure("Enclosure class " + encName
+ " not found.");
}
}
return thisEnclosure;
}

Apparently the class loader can't do
Class.forName("mondrian.olap.MondrianDef"). This is strange considering
mondrian.olap.MondrianDef is on the call stack!

Seems that something is up with the class loader. What java version and
jvm are you using? What is your classpath? Are you using the default
class loader? Are you running in a container such as jboss or tomcat?

Julian



_____

From: mondrian-bounces (AT) pentaho (DOT) org [mailto:mondrian-bounces (AT) pentaho (DOT) org]
On Behalf Of Laurent Valdes
Sent: Saturday, March 03, 2007 4:16 PM
To: Mondrian developer mailing list
Subject: Re: [Mondrian] Re: Mondrian in my Java Program


In any cases I think it is a bug that should be corrected.
I will have a look a this.

Laurent


2007/3/3, Julian Hyde <julianhyde (AT) speakeasy (DOT) net
<mailto:julianhyde (AT) speakeasy (DOT) net> >:

The 'Enclosure class mondrian.olap. MondrianDef not found' error is not
one I've seen before. I don't think it means that
mondrian.olap.MondrianDef.class is not on the classpath -- I think that
there is an error in the format of your <catalog>.xml file. For
instance, if you try running with foodmart.xml, I think you'll find that
error goes away.

Julian


_____

From: mondrian-bounces (AT) pentaho (DOT) org [mailto:mondrian-bounces (AT) pentaho (DOT) org]
On Behalf Of Laurent Valdes
Sent: Saturday, March 03, 2007 8:44 AM
To: mondrian (AT) pentaho (DOT) org
Subject: [Mondrian] Re: Mondrian in my Java Program



Sorry, I tested my JDBC string several times.
Enclosure class mondrian.olap.MondrianDef not found.
and the class does exist since I have done Class.forClass to check for
its existence.

Have a good day !



2007/3/2, Laurent Valdes < <mailto:valderama (AT) gmail (DOT) com>
valderama (AT) gmail (DOT) com>:

Currently I have the following:

OLAPTest ot=new OLAPTest();
try{
ot.initialize();
}
catch(Exception e)
{
System.out.println("Erreur initialisation: ");
e.printStackTrace();
}

Connection connection = DriverManager.getConnection(
"Provider=mondrian;" +
"Jdbc=" + ot.jdbcUri + ";" +
"Catalog="+ "" + ot.catalogUrl.toString(),
null,
false);

But I get the following:


Exception in thread "main" org.eigenbase.xom.AssertFailure: Enclosure
class mondrian.olap.MondrianDef not found.
at org.eigenbase.xom.DOMElementParser.getEnclosureClass(Unknown
Source)
at org.eigenbase.xom.DOMElementParser.classArray(Unknown Source)
at org.eigenbase.xom.DOMElementParser.getArray(Unknown Source)
at mondrian.olap.MondrianDef$Schema.<init>(
MondrianDef.java:104)




2007/3/2, Laurent Valdes <valderama (AT) gmail (DOT) com
<mailto:valderama (AT) gmail (DOT) com> >:


Hi everybody,

How are you ?
I'm absolutely new in this mailing-list.

I'm writing some java programs to automate decisions in my company, and
was trying to use Mondrian as it is possible to use JDBC: from a Java
program.

My first question is: How do I execute MDX queries from Java code ?
My second question is: Does the client need to keep separated from the
ROLAP server ?
If no, how can I do queries ?
If yes, how can I start the server ? and then how do I make OLAP queries
?

Many thanks for your help !

Best regards,

Laurent.


--