void MSPropertyForm::render( std::ostream& o, const portfolio::Folium& folium ) { using adportable::utf; o << "<em>" << folium.fullpath() << "</em>"; o << "<table border=\"1\" cellpadding=\"4\">"; o << "<caption>File information</caption>"; o << "<tr>"; for ( auto att: folium.attributes() ) o << "<th>" << utf::to_utf8( att.first ) << "</th>"; o << "</tr> <tr>"; for ( auto att: folium.attributes() ) o << "<td>" << utf::to_utf8( att.second ) << "</th>"; o << "</tr>"; o << "</table>"; if ( folium.dataClass() == adcontrols::MassSpectrum::dataClass() ) { try { const adcontrols::MassSpectrumPtr ptr = boost::any_cast< adcontrols::MassSpectrumPtr >( folium.data() ); if ( ptr ) render( o, *ptr ); } catch( std::exception() ) { } } }
bool QuanSampleProcessor::fetch( portfolio::Folium& folium ) { try { folium = datafile_->fetch( folium.id(), folium.dataClass() ); portfolio::Folio attachs = folium.attachments(); for ( auto att : attachs ) { if ( att.empty() ) fetch( att ); // recursive call make sure for all blongings load up in memory. } } catch ( std::bad_cast& ) {} return true; }