org.outerj.xreporter.report.definition
Class ReportDefinitionBuilder

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.outerj.xreporter.report.definition.ReportDefinitionBuilder
All Implemented Interfaces:
org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled

public class ReportDefinitionBuilder
extends org.apache.avalon.framework.logger.AbstractLogEnabled
implements org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable

Build ReportDefinition's.


Field Summary
protected  java.lang.ClassLoader classLoader
           
protected  org.apache.avalon.framework.component.ComponentManager componentManager
           
protected  java.util.HashSet conditionNames
          Used to check existance and uniqueness of condition names
protected  org.apache.avalon.framework.configuration.Configuration configuration
           
protected  DataTypeManager dataTypeManager
           
protected  ExpressionManager expressionManager
           
protected  java.util.HashSet parameterNames
          Used to check existance and uniqueness of parameter names
protected  ReportDefinition reportDefinition
           
protected  java.io.File reportFile
           
protected  ResourceManager resourceManager
           
protected  java.lang.String resultSetNavigationStrategy
           
 
Constructor Summary
ReportDefinitionBuilder(java.lang.ClassLoader classLoader, java.io.File reportFile, java.lang.String resultSetNavigationStrategy)
           
 
Method Summary
protected  void addGroupsRecursive(java.util.List groups, org.apache.avalon.framework.configuration.Configuration parentGroupConf, DatabaseOutputDefinition databaseOutputDefinition)
           
protected  void addSummaryFields(GroupDefinition group, org.apache.avalon.framework.configuration.Configuration[] summaryFieldConfs, DatabaseOutputDefinition databaseOutputDefinition)
           
protected  void buildCatalogs()
           
protected  void buildColumnsAndLinks(org.apache.avalon.framework.configuration.Configuration dbOutputConf, DatabaseOutputDefinition databaseOutputDefinition)
           
protected  OutputDefinition buildDatabaseOutput(org.apache.avalon.framework.configuration.Configuration dbOutputConf)
           
protected  void buildFlow()
           
protected  void buildGrouping(org.apache.avalon.framework.configuration.Configuration dbOutputConf, DatabaseOutputDefinition databaseOutputDefinition)
           
protected  OutputDefinition buildHttpOutput(org.apache.avalon.framework.configuration.Configuration httpOutputConf)
           
protected  LinkDefinition buildLinkDefinition(org.apache.avalon.framework.configuration.Configuration linkConf, DatabaseOutputDefinition databaseOutputDefinition)
           
protected  void buildOrderByChoices(org.apache.avalon.framework.configuration.Configuration dbOutputConf, DatabaseOutputDefinition dbOutputDefinition)
           
protected  void buildOutput()
           
protected  void buildQbe(org.apache.avalon.framework.configuration.Configuration dbOutputConf, DatabaseOutputDefinition dbOutputDefinition)
           
 ReportDefinition buildReportDefinition()
           
protected  void buildStepInteraction(org.apache.avalon.framework.configuration.Configuration interactionConf, StepDefinition step)
           
 void compose(org.apache.avalon.framework.component.ComponentManager componentManager)
           
 void configure(org.apache.avalon.framework.configuration.Configuration configuration)
           
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

componentManager

protected org.apache.avalon.framework.component.ComponentManager componentManager

expressionManager

protected ExpressionManager expressionManager

dataTypeManager

protected DataTypeManager dataTypeManager

resourceManager

protected ResourceManager resourceManager

configuration

protected org.apache.avalon.framework.configuration.Configuration configuration

reportDefinition

protected ReportDefinition reportDefinition

classLoader

protected java.lang.ClassLoader classLoader

reportFile

protected java.io.File reportFile

resultSetNavigationStrategy

protected java.lang.String resultSetNavigationStrategy

parameterNames

protected java.util.HashSet parameterNames
Used to check existance and uniqueness of parameter names


conditionNames

protected java.util.HashSet conditionNames
Used to check existance and uniqueness of condition names

Constructor Detail

ReportDefinitionBuilder

public ReportDefinitionBuilder(java.lang.ClassLoader classLoader,
                               java.io.File reportFile,
                               java.lang.String resultSetNavigationStrategy)
Parameters:
classLoader - ClassLoader used to load user-extensions
Method Detail

compose

public void compose(org.apache.avalon.framework.component.ComponentManager componentManager)
             throws org.apache.avalon.framework.component.ComponentException
Specified by:
compose in interface org.apache.avalon.framework.component.Composable
Throws:
org.apache.avalon.framework.component.ComponentException

configure

public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
               throws org.apache.avalon.framework.configuration.ConfigurationException
Specified by:
configure in interface org.apache.avalon.framework.configuration.Configurable
Throws:
org.apache.avalon.framework.configuration.ConfigurationException

buildReportDefinition

public ReportDefinition buildReportDefinition()
                                       throws org.apache.avalon.framework.component.ComponentException,
                                              org.apache.avalon.framework.configuration.ConfigurationException,
                                              java.lang.Exception
Throws:
org.apache.avalon.framework.component.ComponentException
org.apache.avalon.framework.configuration.ConfigurationException
java.lang.Exception

buildFlow

protected void buildFlow()
                  throws org.apache.avalon.framework.component.ComponentException,
                         org.apache.avalon.framework.configuration.ConfigurationException,
                         java.lang.Exception
Throws:
org.apache.avalon.framework.component.ComponentException
org.apache.avalon.framework.configuration.ConfigurationException
java.lang.Exception

buildOutput

protected void buildOutput()
                    throws org.apache.avalon.framework.configuration.ConfigurationException,
                           org.apache.avalon.framework.component.ComponentException,
                           java.lang.Exception
Throws:
org.apache.avalon.framework.configuration.ConfigurationException
org.apache.avalon.framework.component.ComponentException
java.lang.Exception

buildHttpOutput

protected OutputDefinition buildHttpOutput(org.apache.avalon.framework.configuration.Configuration httpOutputConf)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

buildDatabaseOutput

protected OutputDefinition buildDatabaseOutput(org.apache.avalon.framework.configuration.Configuration dbOutputConf)
                                        throws java.lang.Exception
Throws:
java.lang.Exception

buildGrouping

protected void buildGrouping(org.apache.avalon.framework.configuration.Configuration dbOutputConf,
                             DatabaseOutputDefinition databaseOutputDefinition)
                      throws java.lang.Exception
Throws:
java.lang.Exception

addGroupsRecursive

protected void addGroupsRecursive(java.util.List groups,
                                  org.apache.avalon.framework.configuration.Configuration parentGroupConf,
                                  DatabaseOutputDefinition databaseOutputDefinition)
                           throws org.apache.avalon.framework.configuration.ConfigurationException
Throws:
org.apache.avalon.framework.configuration.ConfigurationException

addSummaryFields

protected void addSummaryFields(GroupDefinition group,
                                org.apache.avalon.framework.configuration.Configuration[] summaryFieldConfs,
                                DatabaseOutputDefinition databaseOutputDefinition)
                         throws org.apache.avalon.framework.configuration.ConfigurationException
Throws:
org.apache.avalon.framework.configuration.ConfigurationException

buildColumnsAndLinks

protected void buildColumnsAndLinks(org.apache.avalon.framework.configuration.Configuration dbOutputConf,
                                    DatabaseOutputDefinition databaseOutputDefinition)
                             throws java.lang.Exception
Throws:
java.lang.Exception

buildLinkDefinition

protected LinkDefinition buildLinkDefinition(org.apache.avalon.framework.configuration.Configuration linkConf,
                                             DatabaseOutputDefinition databaseOutputDefinition)
                                      throws org.apache.avalon.framework.configuration.ConfigurationException
Throws:
org.apache.avalon.framework.configuration.ConfigurationException

buildStepInteraction

protected void buildStepInteraction(org.apache.avalon.framework.configuration.Configuration interactionConf,
                                    StepDefinition step)
                             throws org.apache.avalon.framework.configuration.ConfigurationException,
                                    org.apache.avalon.framework.component.ComponentException,
                                    java.lang.Exception
Throws:
org.apache.avalon.framework.configuration.ConfigurationException
org.apache.avalon.framework.component.ComponentException
java.lang.Exception

buildOrderByChoices

protected void buildOrderByChoices(org.apache.avalon.framework.configuration.Configuration dbOutputConf,
                                   DatabaseOutputDefinition dbOutputDefinition)
                            throws org.apache.avalon.framework.component.ComponentException,
                                   org.apache.avalon.framework.configuration.ConfigurationException,
                                   java.lang.Exception
Throws:
org.apache.avalon.framework.component.ComponentException
org.apache.avalon.framework.configuration.ConfigurationException
java.lang.Exception

buildQbe

protected void buildQbe(org.apache.avalon.framework.configuration.Configuration dbOutputConf,
                        DatabaseOutputDefinition dbOutputDefinition)
                 throws org.apache.avalon.framework.component.ComponentException,
                        org.apache.avalon.framework.configuration.ConfigurationException,
                        java.lang.Exception
Throws:
org.apache.avalon.framework.component.ComponentException
org.apache.avalon.framework.configuration.ConfigurationException
java.lang.Exception

buildCatalogs

protected void buildCatalogs()