@Override public LoadContext getCompiledLoadContext() { LoadContext context = new LoadContext(metaClass); Map<String, Object> params; if (savedParameters == null) { params = Collections.emptyMap(); } else params = savedParameters; LoadContext.Query q = (LoadContext.Query) createDataQuery(context, params); if (sortInfos != null && sortOnDb) { setSortDirection(q); } context.setView(view); context.setSoftDeletion(softDeletion); prepareLoadContext(context); return context; }
/** * This method is invoked by {@link #loadData(Map)} method immediately before loading entities from {@code DataSupplier}. * <br>If you override this method, be sure to call {@code super()}. * * @param params datasource parameters, as described in {@link CollectionDatasource#refresh(java.util.Map)} * @return LoadContext which will be used to load data */ protected LoadContext beforeLoadData(Map<String, Object> params) { final LoadContext context = new LoadContext(metaClass); LoadContext.Query q = (LoadContext.Query) createDataQuery(context, params); if (q == null) { detachListener(data.values()); data.clear(); return null; } if (sortInfos != null && sortOnDb) { setSortDirection(q); } if (firstResult > 0) q.setFirstResult(firstResult); if (maxResults > 0) { q.setMaxResults(maxResults); } context.setView(view); context.setSoftDeletion(isSoftDeletion()); prepareLoadContext(context); dataLoadError = null; return context; }
protected ValueLoadContext beforeLoadValues(Map<String, Object> params) { ValueLoadContext context = new ValueLoadContext(); ValueLoadContext.Query q = (ValueLoadContext.Query) ds.createDataQuery(context, params); if (q == null) { ds.detachListener(ds.data.values()); ds.data.clear(); return null; } if (ds.firstResult > 0) q.setFirstResult(ds.firstResult); if (ds.maxResults > 0) { q.setMaxResults(ds.maxResults); } if (storeName != null) context.setStoreName(storeName); context.setSoftDeletion(ds.isSoftDeletion()); context.setIdName(idName); for (MetaProperty property : ds.metaClass.getProperties()) { context.addProperty(property.getName()); } ds.dataLoadError = null; return context; }