New reply on DataCleaner's online discussion forum 
(https://datacleaner.org/forum):

Guy replied to subject 'Results missing when exporting to HTML'

-------------------

So I've started looking into CrosstabHtmlRenderer and I'm trying to figure out 
how HtmlFragment works. At this point I can either output one table (not both 
like I need) or a couple lines meant to be the table labels (rendered via 
SimpleHtmlFragment).

Is it possible to create an htmlFragment that has multiple crosstabs in it? 
When I try to get the BodyElements out of the existing CrosstabHtmlFragment and 
add them to my SimpleHtmlFragment I end up with a NullPointerException.

Code so far:
{{{
package cdwtester.analyzer;

import javax.inject.Inject;

import org.datacleaner.api.RendererBean;
import org.datacleaner.result.Crosstab;
import org.datacleaner.result.html.BodyElement;
import org.datacleaner.result.html.HtmlFragment;
import org.datacleaner.result.html.SimpleHtmlFragment;
import org.datacleaner.result.renderer.AbstractRenderer;
import org.datacleaner.result.renderer.CrosstabHtmlFragment;
import org.datacleaner.result.renderer.RendererFactory;
import org.datacleaner.api.Provided;
import org.datacleaner.result.renderer.HtmlRenderingFormat;


@RendererBean(HtmlRenderingFormat.class)
public class CDWTableAnalyzerHtmlRenderer extends 
AbstractRenderer<CDWTableAnalyzerResult, HtmlFragment>{       

    @Inject
    @Provided
    RendererFactory rendererFactory;

    public CDWTableAnalyzerHtmlRenderer() {
        this(null);
    }

    public CDWTableAnalyzerHtmlRenderer(final RendererFactory rendererFactory) {
        this.rendererFactory = rendererFactory;
    }

    @Override
    public HtmlFragment render(final CDWTableAnalyzerResult result) {
        final SimpleHtmlFragment htmlFragment = new SimpleHtmlFragment();
        
        final Crosstab<Number> tableCrosstab = result.getTableCrosstab();
        final Crosstab<Number> phiCrosstab = result.getPHICrosstab();
        HtmlFragment tablePanel = render(tableCrosstab);
        HtmlFragment phiPanel = render(phiCrosstab);
        
        
        htmlFragment.addBodyElement("<p>Table Analyzer:</p>");
        
        if(!tablePanel.equals(null)){
                BodyElement[] tableElements = (BodyElement[]) 
tablePanel.getBodyElements().toArray();
                for(int i = 0; i < tableElements.length; i++){
                        if(!tableElements[i].equals(null)){
                                htmlFragment.addBodyElement(tableElements[i]);
                        }
                }
        }
        
        //htmlFragment.addBodyElement("<p>PHI Searcher:</p>");
        //htmlFragment.addBodyElement(phiPanel.toString());

        return htmlFragment;
    }

    public HtmlFragment render(final Crosstab<?> crosstab) {
        return new CrosstabHtmlFragment(crosstab, rendererFactory);

    }

}
}}}

-------------------

View the topic online to reply - go to 
https://datacleaner.org/topic/1155/Results-missing-when-exporting-to-HTML

-- 
You received this message because you are subscribed to the Google Groups 
"DataCleaner-notify" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/datacleaner-notify.
For more options, visit https://groups.google.com/d/optout.

Reply via email to