@Override public AttrDescription getAttrDescription(final AttrGroup attrGroup, final String descriptionName) { return (attrGroup == null) ? null : attrGroup .getDescriptions() .stream() .filter(desc -> desc.getPropertyName().equals(descriptionName)) .findFirst() .orElse(null); } }
@Override public Map<String, SearchColumnMetadata> getAdditionallySearchFields(EntityMetadata entm, String params) { Map<String, SearchColumnMetadata> ret = new HashMap<>(); AttrSchemaService service = AttrSchemaServiceSpringBeanImpl.get(); AttrSchema schema = service.getAttrSchema(params); if (schema != null) { for (AttrGroup group : schema.getGroups()) { for (AttrDescription ad : group.getDescriptions()) { ColumnMetadata cmd = getColumnMetadataFromColumnDesc(entm, ad); SearchColumnMetadataBean scmd = new SearchColumnMetadataBean(ad.getPropertyName(), cmd); scmd.setIndexType(String.class); scmd.setIndexed(true); ret.put(ad.getPropertyName(), scmd); } } return ret; } else { log.info("Can't get AttrSchema. Continoue without."); return null; } }
protected DivPanel createContent(final EntityWithAttributes entity, final Consumer<GridBuilder> gridBuilderConsumer) { final GridBuilder gridBuilder = new GridBuilder(null, "content"); gridBuilder.newSplitPanel(GridSize.COL100); // this can be used to create content before the rest of the content is created if (gridBuilderConsumer != null) { gridBuilderConsumer.accept(gridBuilder); } // create the content according to the descriptions of this group (from the xml file) for (final AttrDescription desc : attrGroup.getDescriptions()) { final String label = getString(desc.getI18nkey()); final FieldsetPanel fs = gridBuilder.newFieldset(label); final ComponentWrapperPanel component = attrSchemaService.createWicketComponent(fs.newChildId(), attrGroup, desc, entity); fs.add((Component) component); } return gridBuilder.getMainContainer(); } }