Пример #1
0
  protected void vefifyRenderer(final ComponentLibrary library, final RendererModel renderer) {

    String baseName = renderer.getBaseClass().getSimpleName().replaceFirst("Base$", "");

    // Check renderer-type
    if (null == renderer.getId()) {
      if (null == renderer.getTemplate().getTemplatePath()) {
        throw new IllegalArgumentException("templatePath must not be null");
      }
      renderer.setId(
          namingConventions.inferRendererTypeByTemplatePath(
              renderer.getTemplate().getTemplatePath()));
    }
    // Check family.
    if (null == renderer.getFamily()) {
      renderer.setFamily(namingConventions.inferRendererFamily(renderer.getId()));
    }
    // Check type.
    verifyTypes(renderer, new RendererTypeCallback(library, renderer));
    // Check component type.
    for (ComponentModel component : library.getComponents()) {
      if (renderer.getId().equals(component.getRendererType())) {
        copyRendererAttributes(renderer, component);
      } else if (hasRendererSameBaseNameAsComponent(renderer, component)) {
        copyRendererAttributes(renderer, component);
        component.setRendererType(renderer.getId());
      }
    }
    // Check template
    if (renderer.getTemplate() != null && renderer.getTemplate().getInterface() != null) {
      if (null == renderer.getTemplate().getInterface().getJavaClass()) {
        renderer.getTemplate().getInterface().setJavaClass(renderer.getTargetClass());
      }
    }
  }