Plate PostProcessor

This section contains the full code for the Plate PostProcessor.

package com.engineous.component.plate;

import com.engineous.sdk.exception.IException;
import com.engineous.sdk.model.exceptions.DtModelException;
import com.engineous.sdk.resmgr.ResMgr;

import com.engineous.sdk.runtime.PostProcessor;
import com.engineous.sdk.runtime.RunResultData;
import com.engineous.sdk.model.*;
import com.engineous.sdk.vars.*;


import java.util.*;

//===============================================================
==========
/**
* Title:        PlatePostProcessor <br>
* Description:  Post processor class for plate component<br>
* Copyright:    Copyright (c) 2004<br>
* Company:      Engineous Software Inc.<br>
* @author      Engineous Software Inc.<br>
*/
//===============================================================
==========

public class PlatePostProcessor
extends AbstractSystemExtension
implements PostProcessor {

private transient static final Class CLASS = 
PlatePostProcessor.class;

//=============================================================
/**
* Method  getSummary
* This method returns the summary for plate execution
* @param rrData
* @return String
* @throws VariableException
* @throws DtModelException
*/
//=============================================================
==
public String getSummary(RunResultData rrData)
throws IException {

DtComponent component = rrData.getComponent();
StringBuffer buffer = new StringBuffer();

buffer.append(ResMgr.getMessage(CLASS, 0, "\nExecution 
summary for
component ")).append(component.getName());

String shape = 
((DtScalarVariable)component.getProperty("Shape")). 
getValueObj().getAsString();
buffer.append("\n\nShape: "+shape);
String material = 
((DtScalarVariable)component.getProperty("Material")).
getValueObj().getAsString();
buffer.append("\nMaterial: "+material);

double thickness = rrData.getValue(0, 
component.getParameter ("Thickness")).getAsReal();
buffer.append("\nThickness: 
"+Double.toString(thickness));


AggregateVariable dimensionsVar = 
(AggregateVariable)component.
getParameter("Dimensions");buffer.append("\nDimensions:")
;
Iterator dimIter = 
dimensionsVar.getMemberList().iterator();
while (dimIter.hasNext()) {
ScalarVariable nextDim = 
(ScalarVariable)dimIter.next();
String dimName = nextDim.getName();
String dimVal = nextDim.getValueObj().getAsString();
buffer.append("\n\t"+dimName+": "+dimVal);
}

buffer.append("\n\n************* Results **************");
String area = rrData.getValue(0, component.getParameter
("Area")).getAsString();
String volume = rrData.getValue(0, component.getParameter
("Volume")).getAsString();
String weight = rrData.getValue(0, component.getParameter
("Weight")).getAsString();
buffer.append("\nArea: "+area);
buffer.append("\nVolume: "+volume);
buffer.append("\nWeight: ");

return buffer.toString();
}

//=============================================================
=========
/**
* Returns a list of the variables 
*(com.engineous.sdk.vars.VariableReference
*  objects) whose values are needed following execution to 
create a *summary
*  for this component that is created and returned by the 
getSummary()
*  method.
*
* @param component
* @return List of com.engineous.sdk.vars.VariableReference 
objects
* @throws DtModelException, VariableException
* @throws VariableException
*/
//=============================================================
=========
public List getVariablesForDataView(DtComponent component)
throws DtModelException, VariableException {

// Need all parameters for this component
ArrayList varRefList = new ArrayList();
Iterator parmIter = 
component.getParameterList().iterator();
while (parmIter.hasNext()) {
Variable nextVar = (Variable)parmIter.next();
varRefList.add(new VariableReference(nextVar));
}
return varRefList;
}

}