public FilterEntity createFakeFilterEntity(String xml) { if (filterEntity != null) { return filterEntity; } Metadata metadata = AppBeans.get(Metadata.NAME); FilterEntity fakeFilterEntity = metadata.create(FilterEntity.class); fakeFilterEntity.setXml(xml); return fakeFilterEntity; } }
@Override public void actionPerform(Component component) { if (filterEntity == null) { // todo add notification 'Filter not selected' return; } Frame frame = filter.getFrame(); String[] strings = ValuePathHelper.parse(ComponentsHelper.getFilterComponentPath(filter)); String windowAlias = strings[0]; StringBuilder lookupAlias = new StringBuilder(windowAlias); if (windowAlias.endsWith(Window.BROWSE_WINDOW_SUFFIX)) { int index = lookupAlias.lastIndexOf(Window.BROWSE_WINDOW_SUFFIX); lookupAlias.delete(index, lookupAlias.length()); lookupAlias.append(Window.LOOKUP_WINDOW_SUFFIX); } WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(frame).getScreens(); WindowInfo windowInfo = AppBeans.get(WindowConfig.class).getWindowInfo(lookupAlias.toString()); wm.openLookup(windowInfo, items -> { String filterXml = filterEntity.getXml(); filterEntity.setXml(UserSetHelper.addEntities(filterXml, items)); filterEntity.getFolder().setFilterXml(filterEntity.getXml()); filterEntity.setFolder(saveFolder(filterEntity.getFolder())); setFilterEntity(filterEntity); }, OpenType.THIS_TAB); } }
if (Window.COMMIT_ACTION_ID.equals(actionId)) { conditions = window.getConditions(); filterEntity.setXml(filterParser.getXml(conditions, Param.ValueProperty.DEFAULT_VALUE)); if (filterEntity.getIsDefault()) { resetDefaultFilters();
/** * Saves initial filter state. It is used for indicating of filter modifications */ protected void saveInitialFilterState() { initialFilterEntity = metadata.create(FilterEntity.class); initialFilterEntity.setName(filterEntity.getName()); initialFilterEntity.setCode(filterEntity.getCode()); initialFilterEntity.setUser(filterEntity.getUser()); initialFilterEntity.setXml(filterEntity.getXml()); }
protected void initAdHocFilter() { adHocFilter = metadata.create(FilterEntity.class); String emptyXml = filterParser.getXml(new ConditionsTree(), Param.ValueProperty.VALUE); adHocFilter.setXml(emptyXml); adHocFilter.setComponentId(ComponentsHelper.getFilterComponentPath(filter)); adHocFilter.setUser(userSessionSource.getUserSession().getCurrentOrSubstitutedUser()); adHocFilter.setName(getMainMessage("filter.adHocFilter")); }
protected void collectQueryAndParametersFromFilter() { FilterParser filterParser = AppBeans.get(FilterParser.class); filterEntity.setXml(filterParser.getXml(filterEditor.getConditions(), Param.ValueProperty.DEFAULT_VALUE)); if (filterEntity.getXml() != null) { Element element = Dom4j.readDocument(filterEntity.getXml()).getRootElement(); QueryFilter queryFilter = new QueryFilter(element); conditionsTree = filterEditor.getConditionsTree(); filter = filterEditor.getFilter(); wizard.query = collectQuery(queryFilter); wizard.queryParameters = collectQueryParameters(queryFilter); } else { wizard.showNotification(wizard.getMessage("defaultQueryHasBeenSet"), Frame.NotificationType.HUMANIZED); wizard.query = filter.getDatasource().getQuery(); wizard.queryParameters = Collections.emptyList(); } wizard.setQueryButton.setCaption(wizard.getMessage("changeQuery")); }
filterEntity.setXml(filterParser.getXml(filterEditor.getConditions(), Param.ValueProperty.DEFAULT_VALUE));
filterEntity = newFilterEntity; filterEntity.setName(filterName); filterEntity.setXml(xml); saveFilterEntity(); initFilterSelectComponents();
protected void applyFilter(Filter filterComponent) { Metadata metadata = AppBeans.get(Metadata.class); FilterEntity filterEntity = metadata.create(FilterEntity.class); filterEntity.setComponentId(ComponentsHelper.getFilterComponentPath(filterComponent)); filterEntity.setName(messages.getMainMessage("dynamicAttributes.entity.filter")); filterEntity.setXml(createFilterXml(filterComponent)); UserSession userSession = AppBeans.get(UserSessionSource.class).getUserSession(); filterEntity.setUser(userSession.getCurrentOrSubstitutedUser()); filterComponent.setFilterEntity(filterEntity); filterComponent.apply(true); }
FilterParser filterParser1 = AppBeans.get(FilterParser.class); filterEntity.setXml(filterParser1.getXml(filterEditor.getConditions(), Param.ValueProperty.DEFAULT_VALUE)); if (filterEntity.getXml() != null) { Element element = Dom4j.readDocument(filterEntity.getXml()).getRootElement();
} else { String filterXml = filterEntity.getXml(); filterEntity.setXml(UserSetHelper.removeEntities(filterXml, selected)); filterEntity.getFolder().setFilterXml(filterEntity.getXml()); filterEntity.setFolder(saveFolder((filterEntity.getFolder())));
newFilter.setName(filter.getName()); newFilter.setComponentId(filter.getComponentId()); newFilter.setXml(filter.getXml()); filtersMap.put(filter.getId(), newFilter); em.persist(newFilter);
filterEntity.setName(folder.getLocName()); filterEntity.setXml(folder.getFilterXml()); filterEntity.setApplyDefault(BooleanUtils.isNotFalse(folder.getApplyDefault())); if (folder instanceof SearchFolder) {
protected void applyFilter(Filter component, Collection<? extends Entity> selectedParents, RelatedScreenDescriptor descriptor, MetaDataDescriptor metaDataDescriptor) { FilterEntity filterEntity = metadata.create(FilterEntity.class); filterEntity.setComponentId(ComponentsHelper.getFilterComponentPath(component)); if (StringUtils.isNotEmpty(descriptor.getFilterCaption())) { filterEntity.setName(descriptor.getFilterCaption()); } else { MetaProperty metaProperty = metaDataDescriptor.getMetaProperty(); filterEntity.setName(messages.getMainMessage("actions.Related.Filter") + " " + messageTools.getPropertyCaption(metaProperty.getDomain(), metaProperty.getName())); } MetaClass effectiveMetaClass = extendedEntities.getEffectiveMetaClass(metaDataDescriptor.getRelatedMetaClass()); filterEntity.setXml(getRelatedEntitiesFilterXml(effectiveMetaClass, selectedParents, component, metaDataDescriptor)); filterEntity.setUser(userSessionSource.getUserSession().getCurrentOrSubstitutedUser()); component.setFilterEntity(filterEntity); component.apply(Filter.FilterOptions.create() .setNotifyInvalidConditions(true) .setLoadData(false)); }