@Override public Iterator iterator(int first, int count, Object sortProperty, boolean ascending) { ProviderContext providerContext = new ProviderContext(); providerContext.setInstance(ctx.getRootContext().getCurrentInstance()); providerContext.setFilterInstance((SInstance) innerSingularFormPanel.getRootInstance().getObject()); providerContext.setFirst(first); providerContext.setCount(count); providerContext.setSortProperty(sortProperty); providerContext.setAscending(ascending); return getFilteredProvider().load(providerContext).iterator(); } });
@Override public List<FormaFarmaceuticaBasica> load(ProviderContext<SInstance> context) { return dominioService(context.getInstance()) .formasFarmaceuticasDinamizadas(getIds(context.getInstance()), Value.of(context.getFilterInstance(), "descricao"), Value.of(context.getFilterInstance(), "conceito"), context.getFirst(), context.getCount()); }
public static <SI extends SInstance> ProviderContext<SI> of(SI instance) { final ProviderContext<SI> context = new ProviderContext<>(); context.setInstance(instance); return context; }
private Optional<Serializable> getValueFromProvider(String key) { final Stream<Serializable> stream; final Provider<Serializable, SInstance> provider = instance().asAtrProvider().getProvider(); final ProviderContext<SInstance> providerContext = new ProviderContext<>(); providerContext.setInstance(instance()); if (dynamicFetcher != null) { providerContext.setQuery(dynamicFetcher.getFilterModel().getObject()); } else { providerContext.setQuery(StringUtils.EMPTY); } if (provider != null) { stream = provider.load(providerContext).stream(); } else { throw new SingularFormException("Nenhum provider foi informado"); } return stream.filter(o -> instance().asAtrProvider().getIdFunction().apply(o).equals(key)).findFirst(); }
@Override public long size() { ProviderContext providerContext = new ProviderContext(); providerContext.setInstance(ctx.getRootContext().getCurrentInstance()); providerContext.setFilterInstance((SInstance) innerSingularFormPanel.getRootInstance().getObject()); return getFilteredProvider().getSize(providerContext); }
@Override public List<R> load(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values; } else { return filteredProvider.load(context).subList(context.getFirst(), context.getFirst() + context.getCount()); } }
public List<Serializable> load() { return load(ProviderContext.of(instanceISupplier.get())); } }
@SuppressWarnings("unchecked") private List<String> initEnumSelectDomain(SType<?> type) { if (selection && type.asAtrProvider().getConverter() instanceof EnumSInstanceConverter) { return (List<String>) type .asAtrProvider() .getProvider() .load(new ProviderContext()) .stream() .map(e -> type.asAtrProvider().getDisplayFunction().apply((Serializable) e)) .collect(Collectors.toList()); } return Collections.emptyList(); }
@Override public long getSize(ProviderContext<SInstance> context) { return dominioService(context.getInstance()) .countFormasFarmaceuticasDinamizadas(getIds(context.getInstance()), Value.of(context.getFilterInstance(), "descricao"), Value.of(context.getFilterInstance(), "conceito")); }
List<E> load(S ins, String query);
List<E> load(S ins);
@Override public long getSize(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values.size(); } else { return filteredProvider.load(context).size(); } }
private Optional<Serializable> getValueFromProvider(String key) { final Stream<Serializable> stream; final Provider<Serializable, SInstance> provider = instance().asAtrProvider().getProvider(); final ProviderContext<SInstance> providerContext = new ProviderContext<>(); providerContext.setInstance(instance()); if (dynamicFetcher != null) { providerContext.setQuery(dynamicFetcher.getFilterModel().getObject()); } else { providerContext.setQuery(StringUtils.EMPTY); } if (provider != null) { stream = provider.load(providerContext).stream(); } else { throw new SingularFormException("Nenhum provider foi informado", instance()); } return stream.filter(o -> instance().asAtrProvider().getIdFunction().apply(o).equals(key)).findFirst(); }
@Override public long size() { ProviderContext providerContext = new ProviderContext(); providerContext.setInstance(ctx.getRootContext().getCurrentInstance()); providerContext.setFilterInstance(dataTableFilter.getFilterInstance()); dataTableFilter.setSize(getFilteredProvider().getSize(providerContext)); resultTable.setVisible(!(dataTableFilter.isFirstFilter() && dataTableFilter.getSize() == 0)); dataTableFilter.setFirstFilter(false); return dataTableFilter.getSize(); }
public static <SI extends SInstance> ProviderContext<SI> of(SI instance) { final ProviderContext<SI> context = new ProviderContext<>(); context.setInstance(instance); return context; }
@Override public List<R> load(ProviderContext<SInstance> context) { if (cached) { final Content content = dehydrate(context.getFilterInstance()); if (values == null || !content.equals(lastContent)) { values = filteredProvider.load(context); lastContent = content; } return values; } else { int first = context.getFirst(); return filteredProvider.load(context).subList(first, first + context.getCount()); } }
private SView decideView(SInstance instance, Provider provider) { int size = provider.load(ProviderContext.of(instance)).size(); if (size <= 3) { return newInstance(SMultiSelectionByCheckboxView.class); } else if (size < 20) { return newInstance(SMultiSelectionBySelectView.class); } return newInstance(SMultiSelectionByPicklistView.class); }
@SuppressWarnings("unchecked") private List<String> initEnumSelectDomain(SType<?> type) { if (selection && type.asAtrProvider().getConverter() instanceof EnumSInstanceConverter) { return (List<String>) type .asAtrProvider() .getProvider() .load(new ProviderContext()) .stream() .map(e -> type.asAtrProvider().getDisplayFunction().apply((Serializable) e)) .collect(Collectors.toList()); } return Collections.emptyList(); }
List<E> load(S ins, String query);