protected Report reloadReport(Report report) { View view = new View(Report.class) .addProperty("name") .addProperty("localeNames") .addProperty("description") .addProperty("templates") .addProperty("defaultTemplate") .addProperty("code") .addProperty("xml"); return dataManager.reload(report, view); } }
public static View intersectViews(View first, View second) { if (first == null) throw new IllegalArgumentException("View is null"); if (second == null) throw new IllegalArgumentException("View is null"); View resultView = new View(first.getEntityClass()); Collection<ViewProperty> firstProps = first.getProperties(); for (ViewProperty firstProperty : firstProps) { if (second.containsProperty(firstProperty.getName())) { View resultPropView = null; ViewProperty secondProperty = second.getProperty(firstProperty.getName()); if ((firstProperty.getView() != null) && (secondProperty.getView() != null)) { resultPropView = intersectViews(firstProperty.getView(), secondProperty.getView()); } resultView.addProperty(firstProperty.getName(), resultPropView); } } return resultView; } }
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; }
@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; } }
public View(ViewParams viewParams) { this.entityClass = viewParams.entityClass; this.name = viewParams.name != null ? viewParams.name : ""; if (viewParams.includeSystemProperties) { for (String propertyName : findSystemProperties(entityClass)) { addProperty(propertyName); } } List<View> sources = viewParams.src; if (isNotEmpty(sources)) { Class<? extends Entity> entityClass = sources.get(0).entityClass; if (this.entityClass == null) { this.entityClass = entityClass; } for (View view : sources) { putProperties(this.properties, view.getProperties()); } } }
protected void loadView(Element rootElem, Element viewElem, View view, boolean systemProperties, Set<ViewInfo> visited) { final MetaClass metaClass = metadata.getClassNN(view.getEntityClass()); final String viewName = view.getName(); refView = new View(refView, rangeClass, "", false); // system properties are already in the source view } else { ViewProperty existingProperty = view.getProperty(propertyName); if (existingProperty != null && existingProperty.getView() != null) { refView = new View(existingProperty.getView(), rangeClass, "", systemProperties); } else { refView = new View(rangeClass, systemProperties); fetchMode = FetchMode.valueOf(fetch); view.addProperty(propertyName, refView, fetchMode);
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"); }
public Collection<MetaClassRepViewProperty> getProperties() { Collection<MetaClassRepViewProperty> result = new ArrayList<>(); MetaClass meta = getMetaClass(view.getEntityClass()); for (ViewProperty property : view.getProperties()) { if (!MetaClassRepresentation.viewPropertyReadPermitted(meta, property)) continue; result.add(new MetaClassRepViewProperty(property)); } return result; } }
protected boolean isPropertyIncluded(View view, MetaProperty metaProperty) { if (view == null) { return true; } ViewProperty viewProperty = view.getProperty(metaProperty.getName()); return (viewProperty != null); }
protected void copyViewProperties(View src, View target, MetaClass metaClass) { for (ViewProperty viewProperty : src.getProperties()) { MetaProperty metaProperty = metaClass.getProperty(viewProperty.getName()); if (metaProperty == null || !metadata.getTools().isSystemLevel(metaProperty)) { if (!target.containsProperty(viewProperty.getName())) { target.addProperty(viewProperty.getName(), viewProperty.getView(), viewProperty.getFetchMode()); } } } }
/** * 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 View deserializeView(JsonObject jsonObject) { String viewName = jsonObject.getAsJsonPrimitive("name").getAsString(); String entityName = jsonObject.getAsJsonPrimitive("entity").getAsString(); JsonArray properties = jsonObject.getAsJsonArray("properties"); MetaClass metaClass = metadata.getClass(entityName); if (metaClass == null) { throw new ViewSerializationException(String.format("Entity with name %s not found", entityName)); } View view = new View(metaClass.getJavaClass(), viewName, false); fillViewProperties(view, properties, metaClass); return view; }
private void processView(View view, FetchGroupField parentField, Set<FetchGroupField> fetchGroupFields, boolean useFetchGroup) { Class<? extends Entity> entityClass = view.getEntityClass(); for (ViewProperty property : view.getProperties()) { String propertyName = property.getName(); MetaClass metaClass = metadata.getClassNN(entityClass); "class \"%s\", but this property does not point to an Entity"; String propertyViewName = property.getView().getName(); propertyViewName = propertyViewName != null && !propertyViewName.isEmpty() ? " \"" + propertyViewName + "\"" for (String relatedProperty : relatedProperties) { MetaProperty relatedMetaProp = metaClass.getPropertyNN(relatedProperty); if (!view.containsProperty(relatedProperty) && (relatedMetaProp.getRange().isClass() || useFetchGroup)) { FetchGroupField field = createFetchGroupField(entityClass, parentField, relatedProperty); fetchGroupFields.add(field);
protected View getView(MetaClass metaClass) { View localView = viewRepository.getView(metaClass, View.LOCAL); View minimalView = viewRepository.getView(metaClass, View.MINIMAL); View view = new View(localView.getEntityClass(), "entitiesView", false); copyViewProperties(localView, view, metaClass); copyViewProperties(minimalView, view, metaClass); return view; }
protected boolean needReloading(Entity entity, View view) { for (ViewProperty viewProperty : view.getProperties()) { if (!entityStates.isLoaded(entity, viewProperty.getName())) { return true; } } return false; }
private static boolean viewAccessPermitted(View view) { Class clazz = view.getEntityClass(); MetaClass meta = getMetaClass(clazz); return MetaClassRepresentation.readPermitted(meta); }
@Override public View getView() { final ViewProperty property = masterDs.getView().getProperty(metaProperty.getName()); return property == null ? null : metadata.getViewRepository().getView(getMetaClass(), property.getView().getName()); }
List<EntityPropertyDiff> propertyDiffs = new LinkedList<>(); MetaClass viewMetaClass = metadata.getSession().getClass(diffView.getEntityClass()); MetaClass metaClass = extendedEntities.getEffectiveMetaClass(viewMetaClass); ViewProperty viewProperty = diffView.getProperty(metaProperty.getName());
protected void addPersistentAttributeToMinimalView(MetaClass metaClass, Set<ViewInfo> visited, ViewInfo info, View view, MetaProperty metaProperty) { if (metaProperty.getRange().isClass() && !metaProperty.getRange().getCardinality().isMany()) { Map<String, View> views = storage.get(metaProperty.getRange().asClass()); View refMinimalView = (views == null ? null : views.get(View.MINIMAL)); if (refMinimalView != null) { view.addProperty(metaProperty.getName(), refMinimalView); } else { visited.add(info); View referenceMinimalView = deployDefaultView(metaProperty.getRange().asClass(), View.MINIMAL, visited); visited.remove(info); view.addProperty(metaProperty.getName(), referenceMinimalView); } } else { view.addProperty(metaProperty.getName()); } }
for (ViewProperty property : view.getProperties()) { final String name = property.getName(); LoggerFactory.getLogger(CollectionDsHelper.class). warn("Specified view {} for datasource with not persistent entity {}", view.getName(), metaClass.getName());