BeanShell scripts will typically be used to orchestrate method execution for objects defined in the configuration document.

However, scripts can also implement logic, instantiating objects to provide a simple point of extension for developers to implement new logic without compiling additional Java classes.

For example, the following script excerpt demonstrates how a method can be defined and referenced in a script:

<script id="Status">
    <bean-shell-script>
      <![CDATA[
 
        // define function for printing component status
        import com.Endeca.soleng.eac.toolkit.component.Component;
        void printStatus( Component component ) {
          log.info(component.getAppName() + "." + 
            component.getElementId() + ": " + 
            component.getStatus().toString() );
        }
 
        // print status of forge, dgidx, logserver
        printStatus( Forge );
        printStatus( Dgidx );
        printStatus( LogServer );
 
        // print status for dgraph cluster
        dgraphs = DgraphCluster.getDgraphs().iterator();
        while( dgraphs.hasNext() ) {
          printStatus( dgraphs.next() );
        }
 
      ]]>
    </bean-shell-script>
  </script>


Copyright © Legal Notices