protected void verifyTaglib(ComponentLibrary library) { Taglib taglib = library.getTaglib(); if (null == taglib) { // Oops, create taglib model taglib = new Taglib(); library.setTaglib(taglib); } // Verify URI String uri = taglib.getUri(); if (null == uri) { // infer default value. uri = namingConventions.inferTaglibUri(library); taglib.setUri(uri); // log.error("No uri defined for taglib"); } String shortName = taglib.getShortName(); if (null == shortName) { shortName = namingConventions.inferTaglibName(uri); taglib.setShortName(shortName); // log.error("No short defined for taglib"); } // Verify tags. If we have renderer-specific component, it should have a tag ? for (ComponentModel component : library.getComponents()) { if (null != component.getRendererType() && component.getTags().isEmpty()) { TagModel tag = new TagModel(); verifyTag(tag, component.getId(), DEFAULT_COMPONENT_HANDLER); component.getTags().add(tag); } } }