public DsBuilder setView(View view) { this.view = view; if (view != null) this.viewName = view.getName(); return this; }
public String getName() { return view.getName(); }
protected void storeView(MetaClass metaClass, View view) { Map<String, View> views = storage.get(metaClass); if (views == null) { views = new ConcurrentHashMap<>(); } views.put(view.getName(), view); storage.put(metaClass, views); }
protected JsonObject createJsonObjectForNestedView(View nestedView) { JsonObject viewObject = new JsonObject(); String nestedViewName = nestedView.getName(); if (StringUtils.isNotEmpty(nestedViewName)) { viewObject.addProperty("name", nestedViewName); } JsonArray nestedViewProperties = createJsonArrayOfViewProperties(nestedView); viewObject.add("properties", nestedViewProperties); return viewObject; } }
@Nullable protected View findProcessedView(Collection<View> processedViews, Class<? extends Entity> aClass, String viewName) { for (View view : processedViews) { if (aClass.equals(view.getEntityClass()) && viewName.equals(view.getName())) { return view; } } return null; } }
protected void dumpHtml(View view, StringBuilder content) { content.append("<br/>").append("\n"); String metaClassName = metadata.getSession().getClass(view.getEntityClass()).getName(); String viewHtmlId = metaClassName + "__" + view.getName(); content.append("+ <a href=\"#").append(viewHtmlId).append("\"><span id=\"").append(viewHtmlId).append("\">") .append(metaClassName).append("/").append(view.getName()) .append("</span></a>"); for (ViewProperty viewProperty : view.getProperties()) { dumpHtml(viewProperty, content, " "); } content.append("<br/>").append("\n"); }
protected JsonObject serializeView(View view) { JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", view.getName()); MetaClass metaClass = metadata.getClassNN(view.getEntityClass()); jsonObject.addProperty("entity", metaClass.getName()); jsonObject.add("properties", createJsonArrayOfViewProperties(view)); return jsonObject; }
protected void dump(View view, StringBuilder content) { content.append("\n"); content.append("+ ") .append(metadata.getSession().getClass(view.getEntityClass()).getName()) .append("/") .append(view.getName()); for (ViewProperty viewProperty : view.getProperties()) { dump(viewProperty, content, " "); } content.append("\n"); }
protected void dumpHtml(ViewProperty viewProperty, StringBuilder content, String indent) { content.append("<br/>").append("\n"); content.append(indent); content.append("- ").append(viewProperty.getName()); View innerView = viewProperty.getView(); if (innerView != null) { if (StringUtils.isNotEmpty(innerView.getName())) { String metaClassName = metadata.getSession().getClass(innerView.getEntityClass()).getName(); content.append(" -> <a href=\"#").append(metaClassName).append("__").append(innerView.getName()).append("\">") .append(metaClassName) .append("/") .append(innerView.getName()) .append("</a>"); } else { for (ViewProperty innerProperty : innerView.getProperties()) { dumpHtml(innerProperty, content, " " + indent); } } } }
protected void dump(ViewProperty viewProperty, StringBuilder content, String indent) { content.append("\n"); content.append(indent); content.append("- ").append(viewProperty.getName()); View innerView = viewProperty.getView(); if (innerView != null) { if (StringUtils.isNotEmpty(innerView.getName())) { content.append(" -> ") .append(metadata.getSession().getClass(innerView.getEntityClass()).getName()) .append("/") .append(innerView.getName()); } else { for (ViewProperty innerProperty : innerView.getProperties()) { dump(innerProperty, content, " " + indent); } } } }
/** * Removes restricted attributes from a view. * * @param view source view * @return restricted view */ public View createRestrictedView(View view) { if (!config.getEntityAttributePermissionChecking()) { return view; } Preconditions.checkNotNullArgument(view, "view is null"); View restrictedView = new View(view.getEntityClass(), StringUtils.isEmpty(view.getName()) ? "" : view.getName() + "_restricted", false); // do not include system properties in constructor because they will be copied later if exist copyViewConsideringPermissions(view, restrictedView); return restrictedView; }
protected void replaceOverridden(View root, View replacementView, HashSet<View> checked) { checked.add(root); List<ViewProperty> replacements = null; for (ViewProperty property : root.getProperties()) { View propertyView = property.getView(); if (propertyView != null) { if (Objects.equals(propertyView.getName(), replacementView.getName()) && replacementView.getEntityClass() == propertyView.getEntityClass()) { if (replacements == null) { replacements = new LinkedList<>(); } replacements.add(new ViewProperty(property.getName(), replacementView, property.getFetchMode())); } else if (propertyView.getEntityClass() != null && !checked.contains(propertyView)) { replaceOverridden(propertyView, replacementView, checked); } } } if (replacements != null) { for (ViewProperty replacement : replacements) { root.addProperty(replacement.getName(), replacement.getView(), replacement.getFetchMode()); } } }
JsonObject propertyObject = new JsonObject(); propertyObject.addProperty("name", viewProperty.getName()); String nestedViewName = nestedView.getName(); if (compactFormat) { if (StringUtils.isNotEmpty(nestedViewName)) {
@Override public View getView() { final ViewProperty property = masterDs.getView().getProperty(metaProperty.getName()); return property == null ? null : metadata.getViewRepository().getView(getMetaClass(), property.getView().getName()); }
LoggerFactory.getLogger(CollectionDsHelper.class). warn("Specified view {} for datasource with not persistent entity {}", view.getName(), metaClass.getName());
protected View copyView(@Nullable View view) { if (view == null) { return null; } View.ViewParams viewParams = new View.ViewParams() .entityClass(view.getEntityClass()) .name(view.getName()); View copy = new View(viewParams); for (ViewProperty property : view.getProperties()) { copy.addProperty(property.getName(), copyView(property.getView()), property.getFetchMode()); } return copy; }
public static View copy(@Nullable View view) { if (view == null) { return null; } View.ViewParams viewParams = new View.ViewParams() .entityClass(view.getEntityClass()) .name(view.getName()); View copy = new View(viewParams); for (ViewProperty property : view.getProperties()) { copy.addProperty(property.getName(), copy(property.getView()), property.getFetchMode()); } return copy; }
private void copyViewConsideringPermissions(View srcView, View dstView) { MetaClass metaClass = metadata.getClassNN(srcView.getEntityClass()); for (ViewProperty property : srcView.getProperties()) { if (security.isEntityAttrReadPermitted(metaClass, property.getName())) { View viewCopy = null; if (property.getView() != null) { viewCopy = new View(property.getView().getEntityClass(), property.getView().getName() + "(restricted)", false); copyViewConsideringPermissions(property.getView(), viewCopy); } dstView.addProperty(property.getName(), viewCopy, property.getFetchMode()); } } }
); view = metadata.getViewRepository().findView(getMetaClass(), property.getView().getName());
protected void printAll() { MetaClass metaClass; LoadContext loadContext; if (listComponent.getItems() instanceof ContainerDataUnit) { ContainerDataUnit unit = (ContainerDataUnit) listComponent.getItems(); CollectionContainer container = unit.getContainer(); CollectionLoader loader = (CollectionLoader) ((HasLoader) unit.getContainer()).getLoader(); metaClass = container.getEntityMetaClass(); loadContext = loader.createLoadContext(); } else { CollectionDatasource ds = listComponent.getDatasource(); metaClass = ds.getMetaClass(); loadContext = ds.getCompiledLoadContext(); } ParameterPrototype parameterPrototype = new ParameterPrototype(metaClass.getName()); parameterPrototype.setMetaClassName(metaClass.getName()); LoadContext.Query query = loadContext.getQuery(); parameterPrototype.setQueryString(query.getQueryString()); parameterPrototype.setQueryParams(query.getParameters()); parameterPrototype.setViewName(loadContext.getView().getName()); Window window = ComponentsHelper.getWindowNN(listComponent); openRunReportScreen(window.getFrameOwner(), parameterPrototype, metaClass); } }