/** * {@inheritDoc} */ @Override public List<String> getQueryableProperties() { if (queryableProperties == null) { return getReferencedDescriptor().getQueryableProperties(); } return AbstractComponentDescriptor.explodeComponentReferences( getReferencedDescriptor(), queryableProperties); // return queryableProperties; }
/** * {@inheritDoc} */ @Override public List<String> getQueryableProperties() { if (queryableProperties == null) { synchronized (queryablePropertiesLock) { if (queryableProperties == null) { Set<String> queryablePropertiesSet = new TLinkedHashSet<>(1); List<IComponentDescriptor<?>> ancestorDescs = getAncestorDescriptors(); if (ancestorDescs != null) { for (IComponentDescriptor<?> ancestorDescriptor : ancestorDescs) { queryablePropertiesSet.addAll(ancestorDescriptor.getQueryableProperties()); } } for (String renderedProperty : getRenderedProperties()) { IPropertyDescriptor declaredPropertyDescriptor = getDeclaredPropertyDescriptor(renderedProperty); if (declaredPropertyDescriptor != null && declaredPropertyDescriptor.isQueryable()) { queryablePropertiesSet.add(renderedProperty); } } queryableProperties = new ArrayList<>(queryablePropertiesSet); } } } return explodeComponentReferences(this, queryableProperties); }
/** * {@inheritDoc} */ public IViewDescriptor createQueryViewDescriptor( IComponentDescriptor<Object> queryComponentDescriptor) { BasicQueryComponentDescriptor actualModelDescriptor = new BasicQueryComponentDescriptor(queryComponentDescriptor); BasicComponentViewDescriptor queryViewDescriptor = new BasicComponentViewDescriptor(); queryViewDescriptor .setModelDescriptor(actualModelDescriptor); queryViewDescriptor .setName("filter"); queryViewDescriptor .setBorderType(IViewDescriptor.TITLED); Map<String, Object> propertyWidths = new HashMap<String, Object>(); for (String queriableProperty : queryComponentDescriptor .getQueryableProperties()) { // To preserve col spans for query structures. propertyWidths.put(queriableProperty, new Integer(3)); } queryViewDescriptor .setPropertyWidths(propertyWidths); queryViewDescriptor .setColumnCount(6); return queryViewDescriptor; } }