Código Concluído para MainHandler.egl após a Lição 12

O código a seguir é o texto do arquivo MainHandler.egl no final da Lição 12.
package handlers;

import com.ibm.egl.rui.infobus.InfoBus;
import utils.portal.Portal;
import utils.portal.Portlet;

handler MainHandler type RUIhandler{initialUI =[mortgagePortal ],
   onConstructionFunction = start, 
   cssFile = "css/MortgageUIProject.css", 
   title = "MainHandler"}

   mortgagePortal Portal{columns = 2, columnWidths =[350, 650]};

   calculatorHandler MortgageCalculatorHandler{};
   resultsHandler CalculationResultsHandler{};
   historyHandler CalculationHistoryHandler{};
   mapHandler MapLocatorHandler{};

   calculatorPortlet Portlet{children = [calculatorHandler.ui], 
                             title = "Calculator"};

   resultsPortlet Portlet{children = [resultsHandler.ui],
      title = "Results", canMove = true, canMinimize = true};
   historyPortlet Portlet{children = [historyHandler.historyResults_ui],
      title = "History", canMove = TRUE, canMinimize = TRUE};
   mapPortlet Portlet{children = [mapHandler.ui],
      title = "Map", canMove = FALSE, canMinimize = TRUE};                    

   function start()
      mortgagePortal.addPortlet(calculatorPortlet, 1);
      mortgagePortal.addPortlet(resultsPortlet, 1);
      mortgagePortal.addPortlet(historyPortlet, 1);
      mortgagePortal.addPortlet(mapPortlet, 2);

      // Subscribe to calculation events 
      InfoBus.subscribe("mortgageApplication.mortgageCalculated",
               restorePortlets);

      // Initial state is minimized
      resultsPortlet.minimize();
      historyPortlet.minimize();
   end

   function restorePortlets(eventName string in, dataObject any in)
      if(resultsPortlet.isMinimized())
         resultsPortlet.restore();
      end
      if(historyPortlet.isMinimized())
         historyPortlet.restore();
      end
   end
end

Feedback