setContent to CustomComponent displaying blank page

I am in the process of a migration from Vaadin 6.8.13 to 7.1.10. I have set a VerticalLayout component as the setContent and I am adding a CustomComponent that worked without issue in Vaadin 6 to the VerticalLayout component, but the client only displays a blank page. I have tried setting the content to the CustomComponent directly as well, bypassing the layout and get the same result. It appears that my CustomComponent is being created correctly and is I can review it’s contents in debug. I also tried bypassing the CustomComponent and adding a second VerticalLayout to the “top” layout and adding a Label to it. That works without issue. Any ideas on why I am not able to see my content?

Main UI class init(request) method:

@Override
    public void init(VaadinRequest request)
    {    
        preferencesPath = "/phantom/app/preferences";
        applicationProperties = new Properties();
        applicationProperties.put("databaseService", "http://localhost:65001/");
        applicationProperties.put("refreshRate", "10 MINUTES");
        
        
        Class<IDataSource> providers = ServiceProviderLookupFacility.lookupServiceProviders(IDataSource.class);

        if (providers.length > 0)
        {
            for (Class<IDataSource> clazz : providers)
            {
                try
                {
                    dataSource = clazz.getConstructor().newInstance();
                    dataSource.initialize(applicationProperties);
                    break;
                }
                catch (Throwable t)
                {
                    ERROR.report("com.cerner.phantom.app.error.dataSource", t);
                }
            }
        }

        if (dataSource == null)
        {
            throw new IllegalStateException("No data sources found in web application container.");
        }
        
        bootstrapUser();

        mainAppLayout = new VerticalLayout();
        mainAppLayout.setMargin(true);
        setContent(mainAppLayout);
        appPage = new ApplicationPage(this);
        appPage.setSizeFull();
//        Animator animator = new Animator(page);
//        animator.fadeIn(300, 200);
//        animator.setSizeFull();

        mainAppLayout.addComponent(appPage);

Snippets from my CustomComponent (ApplicationPage):

public ApplicationPage(ApplicationBase base)
{
this.base = base;
buildMainLayout();
setCompositionRoot(mainLayout);
...
}
private AbsoluteLayout buildMainLayout()
{
// common part: create layout
mainLayout = new AbsoluteLayout();
mainLayout.setImmediate(false);
mainLayout.setWidth("100%");
mainLayout.setHeight("100%");

// top-level component properties
// setWidth("100.0%");
// setHeight("100.0%");
setSizeUndefined();

// verticalSplitPanel_1
topPanel = buildVerticalSplitPanel_1();
mainLayout.addComponent(topPanel, "top:0.0px;right:1.0px;left:0.0px;");

// verticalSplitPanel_2
bottomPanel = createBottomPanel();
mainLayout.addComponent(bottomPanel, "top:70.0px;right:-3.0px;bottom:0.0px;left:0.0px;");

return mainLayout;
}

There is a lot that is added to this layout, but it’s almost 1000 lines, so I didn’t think it pertinent to post all lines. I am thinking perhaps the issue lies in the mainLayout.

Thank you!

I was able to get this content to display by adding the AbstractComponent (ApplicationPage) directly using setContent(appPage) instead of adding the ApplicationPage to a VerticalLayout first. Based on the examples I have seen, as well as the notes in the “Migrating from Vaadin 6 to Vaadin 7” guide, I should be able to set a VerticalLayout as my content and add components to it to assimiliate Vaadin 6 structure. Is there an obvious flaw in the init(VaadinRequest) method I posted above that could cause it not to work?