package com.google.gwt.gwtpages.generator.page; import java.net.URL; import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; import com.google.gwt.core.ext.typeinfo.JClassType; public class UIBindingUtil { public static String findUiTemplate(JClassType start, TreeLogger logger) throws UnableToCompleteException { try { JClassType superclass = start; while (null != superclass) { String templateName = superclass.getQualifiedSourceName().replace('.', '/') + ".ui.xml"; URL url = Thread.currentThread().getContextClassLoader().getResource(templateName); if (null != url) return superclass.getQualifiedSourceName() + ".ui.xml"; else superclass = superclass.getSuperclass(); } logger.log(logger.ERROR, "Unable to determine ui template for '" + start.getQualifiedSourceName() + "'"); throw new UnableToCompleteException(); } catch (Exception e) { logger.log(logger.ERROR, "Unable to determine ui template for '" + start.getQualifiedSourceName() + "'", e); throw new UnableToCompleteException(); } } }