public KieWorkbenchFormRenderingSettings generateRenderingContext( T settings, boolean generateDefaultForms ) {
if ( generateDefaultForms || !StringUtils.isEmpty( settings.getFormContent() ) ) {
try {
ContextForms forms = generateDefaultForms ? generateDefaultForms( settings ) : parseForms( settings );
if ( forms.getRootForm() == null || !isValid( forms.getRootForm() ) ) {
return null;
}
Map<String, Object> rawData = generateRawFormData( settings, forms.getRootForm() );
BackendFormRenderingContext context = contextManager.registerContext( forms.getRootForm(),
rawData,
settings.getMarshallerContext().getClassloader(),
forms.getNestedForms().toArray(
new FormDefinition[forms.getNestedForms().size()] ) );
prepareContext( settings, context );
context.getAttributes().put( SETTINGS_ATRA_NAME, settings );
return new KieWorkbenchFormRenderingSettings( context.getTimestamp(), context.getRenderingContext() );
} catch ( Exception ex ) {
getLogger().debug( "Unable to generate render form: ", ex );
}
}
return null;
}