Windward Engine API Reference
WindwardReportsDrivers Assembly
See Also  Send comments on this topic.

Glossary Item Box

Windward Reports Drivers 14.0. This library is the charting and datasource drivers for Windward Reports.

Namespaces

NamespaceDescription
WindwardReportsDrivers.net.windward.AccessProviders 
WindwardReportsDrivers.net.windward.AccessProviders.protocols 
WindwardReportsDrivers.net.windward.AccessProviders.utils.adfs 
WindwardReportsDrivers.net.windward.chart 
WindwardReportsDrivers.net.windward.datasource 
WindwardReportsDrivers.net.windward.datasource.abstract_datasource 
WindwardReportsDrivers.net.windward.datasource.ado

This supplies a sql data source to Windward Reports. This package uses ADO to perform the real work including all selection of nodes using ADO. This is the secondary (after the xml implementation) reference implementation for the net.windward.datasource package.


An xml file always has the concept of the current node. This is not the case with a sql database - there is no current ResultSet. A ResultSet is only generated by the wr:query and the wr:foreach tags. Therefore, all other tags only make sense if they use the var attribute from a query or foreach to identify the ResultSet they are to be applied to. A tag not identifying a ResultSet will throw an exception.


A query or foreach tag can reference a var from another query or foreach tag using ${var.item}.. An XPath query can describe a node as well as an element. In this class a query defines a ResultSet and is only an element.


Also, with xml you can use xpath in each tag performing complex logic in determining what text to return. It is very different for sql. The foreach or query can have complex logic. But the other tags can only return an element from a result set that the foreach/query earlier returned.


When using a var (<wr:forEach var="result">) that identifies a result set, you can use the following in a tag:
${result[1]} - is column element [1] in the row presently on (1-based)
${result.NAME} - is the column element named NAME in the row presently on
${result.columnNames[1]} - is the name of column 1 (1-based)

An <if select= ... > will return true if the passed in select returns a ResultSet with one or more rows. An <if select="select count (*) from customers" notEmpty="true"> will perform two steps. The first step is it will return false if there are no results returned. If results are returned it assumes the select is a count and will do a return ResultSet.GetInt(0) > 0;. This does not look at the select statement, it is the notEmpty="true" that puts it in this mode.

WindwardReportsDrivers.net.windward.datasource.authentication 
WindwardReportsDrivers.net.windward.datasource.dataset 
WindwardReportsDrivers.net.windward.datasource.json 
WindwardReportsDrivers.net.windward.datasource.literal 
WindwardReportsDrivers.net.windward.datasource.odata 
WindwardReportsDrivers.net.windward.datasource.odata.odatav123 
WindwardReportsDrivers.net.windward.datasource.odata.odatav4 
WindwardReportsDrivers.net.windward.datasource.salesforce 
WindwardReportsDrivers.net.windward.datasource.salesforce.mock 
WindwardReportsDrivers.net.windward.datasource.salesforce.SFQueryHelper 
WindwardReportsDrivers.net.windward.datasource.xml

This supplies an xml data source to Windward Reports. This is the reference implementation for the net.windward.datasource package. This package uses XPathNavigator to perform the real work including all selection of nodes using xpath.


To reference a data element from a <wr:forEach ... var="item" > or <wr:query ... var="item"/> tag inside another tag, use the following construct: ${item.name} where name is an xpath reference from the node defined by item and the reference will return a single element.


A really good book on XPath is XPath and XPointer from O'Reilly.

WindwardReportsDrivers.net.windward.datasource.xml.saxon 
WindwardReportsDrivers.SalesForce 
© 2019 All Rights Reserved.