* Process an sql result set mapping metadata into a EclipseLink
* SqlResultSetMapping and store it on the session.
*/
public void process(AbstractSession session, ClassLoader loader) {
// Initialize a new SqlResultSetMapping (with the metadata name)
SQLResultSetMapping mapping = new SQLResultSetMapping(getName());
// Process the entity results.
for (EntityResultMetadata eResult : m_entityResults) {
EntityResult entityResult = new EntityResult(MetadataHelper.getClassForName(eResult.getEntityClass().getName(), loader));
// Process the field results.
if (eResult.hasFieldResults()) {
for (FieldResultMetadata fResult : eResult.getFieldResults()) {
entityResult.addFieldResult(new FieldResult(fResult.getName(), fResult.getColumn()));
}
}
// Process the discriminator value;
entityResult.setDiscriminatorColumn(eResult.getDiscriminatorColumn());
// Add the result to the SqlResultSetMapping.
mapping.addResult(entityResult);
}
// Process the column results.
for (String columnResult : m_columnResults) {
mapping.addResult(new ColumnResult(columnResult));
}
session.getProject().addSQLResultSetMapping(mapping);
}