The following two examples show the definition for a simple conversion parameter and the implementation of a dimension data converter that uses it.

The warehouse-property element specifies that the data loader server should invoke the dimension data converter named EchoConverter when it loads the myProperty data warehouse repository item. Because this example is extremely simple, it does not take source data from a production repository item.

<warehouse-property
  name="myProperty"
  conversion-component="/atg/reporting/datawarehouse/process/
                        converter/EchoConverter">
  <conversion-property
    property-value="Hello, World!"
    property-type="java.lang.String"
    conversion-context-name="message"/>
</warehouse-property>

The implementation of EchoConverter shows one way to use parameters in a custom dimension converter. The convert method uses atg.beans.DynamicBeans.getPropertyValue to get the value of the parameter named “message.” This parameter and its value are defined in the warehouse-property element shown above. See information about the classes used here in ATG Platform API Reference.

This example is very simple. The data that it produces is nothing more than the value of the string parameter that was passed in from the DimensionProperties.xml file.

package atg.reporting.datawarehouse.process.converter;
import atg.beans.DynamicBeans;
/**
* Echos the message property
*/
public
class EchoConverter
  implements DimensionConverter
{
  //-------------------------------------
  // Constructors
  //-------------------------------------
  /**
   * Constructs an instanceof EchoConverter
   */
  public EchoConverter() {
  }
  /**
   * Returns the message property of context, otherwise
   * the emptry string
   * @param pContext converation contexnt
   * @return a message
   */
  public Object convert(Object pContext)
    throws ProcessorException {
    String returnValue = null;
    String returnValue = DynamicBeans.getPropertyValue(pContext,"message");
    if(returnValue == null)
      return "";
    return returnValue;
  }
} // end of class