/** * Instanciate query component descriptor. * * @param componentDescriptorProvider * the provider for delegate entity descriptor. * @param registry * the registry. * @return the query component descriptor */ protected IComponentDescriptor<IQueryComponent> instanciateQueryComponentDescriptor( IComponentDescriptorProvider<? extends IComponent> componentDescriptorProvider, Map<Class<? extends IComponent>, IComponentDescriptor<? extends IComponent>> registry) { IComponentDescriptor<IQueryComponent> queryComponentDescriptor = new BasicQueryComponentDescriptor<IQueryComponent>( componentDescriptorProvider, registry, accessorFactory); return queryComponentDescriptor; }
/** * Constructs a new {@code BasicQueryComponentDescriptor} instance. * * @param componentDescriptorProvider * the provider for delegate entity descriptor. * @param registry * the registry */ public BasicQueryComponentDescriptor(IComponentDescriptorProvider<? extends IComponent> componentDescriptorProvider, Map<Class<? extends IComponent>, IComponentDescriptor<? extends IComponent>> registry, IAccessorFactory accessorFactory) { super(componentDescriptorProvider, IQueryComponent.class, registry, accessorFactory); List<IComponentDescriptor<?>> ancestors = new ArrayList<>(); ancestors.add(PageableDescriptor.INSTANCE); setAncestorDescriptors(ancestors); setDescription(""); finishConfiguration(); }
/** * {@inheritDoc} */ @Override protected Collection<IPropertyDescriptor> getExtraPropertyDescriptors() { Collection<IPropertyDescriptor> extraPropertyDescriptors = new ArrayList<>(); BasicListDescriptor<IComponent> queriedEntitiesCollectionDescriptor = new BasicListDescriptor<>(); queriedEntitiesCollectionDescriptor.setElementDescriptor(getQueriedComponentsDescriptor()); queriedEntitiesCollectionDescriptor.setName(IQueryComponent.QUERIED_COMPONENTS); queriedEntitiesCollectionDescriptor.setDescription("queriedEntities.description"); BasicCollectionPropertyDescriptor<IComponent> qCPDescriptor = new BasicCollectionPropertyDescriptor<>(); qCPDescriptor.setName(IQueryComponent.QUERIED_COMPONENTS); qCPDescriptor.setReferencedDescriptor(queriedEntitiesCollectionDescriptor); extraPropertyDescriptors.add(qCPDescriptor); return extraPropertyDescriptors; }
/** * Constructs a new <code>FilterableBeanCollectionModuleDescriptor</code> * instance. * * @param name * the name of the descriptor (the actual module class name). * @param moduleObjectReferencedDescriptor * the component descriptor of the module objects. * @param moduleFilterReferencedDescriptor * the component descriptor for the filter object. */ protected FilterableBeanCollectionModuleDescriptor(String name, IComponentDescriptor<Object> moduleObjectReferencedDescriptor, IComponentDescriptor<Object> moduleFilterReferencedDescriptor) { super(name, moduleObjectReferencedDescriptor); BasicReferencePropertyDescriptor<IQueryComponent> filterDescriptor = new BasicReferencePropertyDescriptor<IQueryComponent>(); filterDescriptor.setReferencedDescriptor(new BasicQueryComponentDescriptor( moduleFilterReferencedDescriptor)); filterDescriptor.setName("filter"); List<IPropertyDescriptor> propertyDescriptors = new ArrayList<IPropertyDescriptor>( getPropertyDescriptors()); propertyDescriptors.add(filterDescriptor); setPropertyDescriptors(propertyDescriptors); }
/** * {@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; } }
.createModelConnector( ACTION_MODEL_NAME, new BasicQueryComponentDescriptor(erqDescriptor .getReferencedDescriptor())); context.put(ActionContextConstants.QUERY_MODEL_CONNECTOR, modelConnector);