MicroStrategy Web SDK - WTFs
MicroStrategy's Web SDK did something I totally didn't expect: calling WebReportInstance.getPrompts() actually runs the report if the report has no prompts. WTF??
This is a big deal if the report takes a long time to run. I would expect a method called getPrompts to, you know, get the list of prompts.
After a few rounds with support, I got the answer:
Note that call is on the ReportSource before getting the ReportInstance.
Same goes for Documents.
Speaking of WTF's with MicroStrategy's Web SDK - even though all subclasses of WebResultSetInstance (documents and reports) implement a getMessage() method that returns a subclass of WebMessage, the method is implemented only on the individual subclasses.
In other words, instead of this:
you get this
This is annoying, because it prevents you from doing something like this
resultSetInstance.getMessage().removeFromInbox()
interchangeably with a report or document. You need to treat both report and document cases separately.
This is a big deal if the report takes a long time to run. I would expect a method called getPrompts to, you know, get the list of prompts.
After a few rounds with support, I got the answer:
reportSource.setExecutionFlags(EnumDSSXMLExecutionFlags.DssXmlExecutionResolve);
Note that call is on the ReportSource before getting the ReportInstance.
Same goes for Documents.
Speaking of WTF's with MicroStrategy's Web SDK - even though all subclasses of WebResultSetInstance (documents and reports) implement a getMessage() method that returns a subclass of WebMessage, the method is implemented only on the individual subclasses.
In other words, instead of this:
class WebResultSetInstance { public WebMessage getMessage() }
you get this
class WebDocumentInstance { public WebDocumentMessage getMessage() }
class WebReportInstance { public WebReportMessage getMessage() }
This is annoying, because it prevents you from doing something like this
resultSetInstance.getMessage().removeFromInbox()
interchangeably with a report or document. You need to treat both report and document cases separately.
Written on December 15, 2013