@Override public MetaClass getEntityMetaClass() { checkState(); return adapter.getMetaClass(); }
protected void applyDatasourceFilter() { checkState(); String currentFilterXml = filterParser.getXml(conditions, Param.ValueProperty.VALUE); if (!Strings.isNullOrEmpty(currentFilterXml)) { Element element = Dom4j.readDocument(currentFilterXml).getRootElement(); QueryFilter queryFilter = new QueryFilter(element); if (dsQueryFilter != null) { queryFilter = QueryFilter.merge(dsQueryFilter, queryFilter); } adapter.setQueryFilter(queryFilter); } else { adapter.setQueryFilter(dsQueryFilter); } }
@Override public String getEntityAlias() { checkState(); String query = adapter.getQuery(); QueryParser parser = QueryTransformerFactory.createParser(query); return parser.getEntityAlias(adapter.getMetaClass().getName()); }
protected void initMaxResults() { checkState(); int maxResults; if (this.maxResults != -1) { maxResults = this.maxResults; } else { maxResults = adapter.getMaxResults(); } if (maxResults == 0 || maxResults == persistenceManager.getMaxFetchUI(adapter.getMetaClass().getName())) { maxResults = persistenceManager.getFetchUI(adapter.getMetaClass().getName()); } if (maxResultsAddedToLayout) { if (!textMaxResults) { List<Integer> optionsList = ((LookupField) maxResultsField).getOptionsList(); if (!optionsList.contains(maxResults)) { maxResults = findClosestValue(maxResults, optionsList); Collections.sort(optionsList); ((LookupField) maxResultsField).setOptionsList(optionsList); } } maxResultsField.setValue(maxResults); } adapter.setMaxResults(maxResults); }
/** * The method is invoked before search. It sets datasource {@code maxResults} value based on the maxResults * field (if visible) or on maxFetchUI value. * Method also resets the datasource {@code firstResult} value */ protected void initDatasourceMaxResults() { checkState(); if (this.maxResults != -1 && !useMaxResults) { adapter.setMaxResults(maxResults); } else if (maxResultsAddedToLayout && useMaxResults) { Integer maxResults = maxResultsField.getValue(); if (maxResults != null && maxResults > 0) { adapter.setMaxResults(maxResults); } else { adapter.setMaxResults(persistenceManager.getFetchUI(adapter.getMetaClass().getName())); } } adapter.setFirstResult(0); }