public EntityImportView addLocalProperties() { Metadata metadata = AppBeans.get(Metadata.class); MetaClass metaClass = metadata.getClassNN(entityClass); MetadataTools metadataTools = metadata.getTools(); metaClass.getProperties().stream() .filter(property -> !property.getRange().isClass() && !metadataTools.isSystem(property)) .forEach(metaProperty -> addLocalProperty(metaProperty.getName())); return this; }
protected boolean isManagedAttribute(MetaClass metaClass, MetaProperty metaProperty) { if (metadataTools.isSystem(metaProperty) || metadataTools.isNotPersistent(metaProperty) || metadataTools.isSystemLevel(metaProperty) || metaProperty.getRange().getCardinality().isMany() || !isPermitted(metaClass, metaProperty)) { return false; } if (metaProperty.getRange().isDatatype() && (isByteArray(metaProperty) || isUuid(metaProperty))) { return false; } if (!isRangeClassPermitted(metaProperty)) { return false; } if (includeProperties != null && !includeProperties.isEmpty()) { return includeProperties.contains(metaProperty.getName()); } return !(excludeRegex != null && excludeRegex.matcher(metaProperty.getName()).matches()); }
@Override public void visit(Entity entity, MetaProperty property) { MetaClass metaClass = metadata.getClassNN(entity.getClass()); if (!security.isEntityAttrReadPermitted(metaClass, property.getName())) { addInaccessibleAttribute(entity, property.getName()); if (!metadataTools.isSystem(property) && !property.isReadOnly()) { setNullPropertyValue(entity, property); } } SecurityState securityState = BaseEntityInternalAccess.getSecurityState(entity); if (securityState != null && securityState.getHiddenAttributes().contains(property.getName())) { addInaccessibleAttribute(entity, property.getName()); if (!metadataTools.isSystem(property)) { setNullPropertyValue(entity, property); } } } }
protected boolean isManagedProperty(MetaProperty metaProperty, MetaClass metaClass) { if (metadata.getTools().isSystemLevel(metaProperty) || metaProperty.getRange().getCardinality().isMany() || !isPermitted(metaClass, metaProperty)) { return false; } if (metaProperty.getRange().isDatatype() && (isByteArray(metaProperty) || isUuid(metaProperty))) { return false; } // id is system property, so it should be before check isSystem() if (isIdProperty(metaProperty.getName(), metaClass)) { return true; } if (metadata.getTools().isSystem(metaProperty)) { return false; } return true; }
@Override public void visit(Entity entity, MetaProperty property) { MetaClass metaClass = metadata.getClassNN(entity.getClass()); String propertyName = property.getName(); if (!security.isEntityAttrReadPermitted(metaClass, propertyName)) { addInaccessibleAttribute(entity, propertyName); if (!metadataTools.isSystem(property) && !property.isReadOnly()) { setNullPropertyValue(entity, property); } } SecurityState securityState = BaseEntityInternalAccess.getSecurityState(entity); if (securityState != null && securityState.getHiddenAttributes().contains(property.getName())) { addInaccessibleAttribute(entity, property.getName()); if (!metadataTools.isSystem(property)) { setNullPropertyValue(entity, property); } } } }
if (!metadataTools.isSystem(metaProperty)) { column.setCaption(getPropertyCaption(metaClass, metaProperty)); nonSystemPropertyColumns.add(column);
@Override public void visit(Entity entity, MetaProperty property) { MetaClass metaClass = metadata.getClassNN(entity.getClass()); if (!security.isEntityAttrReadPermitted(metaClass, property.getName())) { addInaccessibleAttribute((BaseGenericIdEntity) entity, property.getName()); if (!metadataTools.isSystem(property) && !property.isReadOnly()) { // Using reflective access to field because the attribute can be unfetched if loading not partial entities, // which is the case when in-memory constraints exist BaseEntityInternalAccess.setValue(entity, property.getName(), null); } } SecurityState securityState = BaseEntityInternalAccess.getSecurityState(entity); if (securityState != null && securityState.getHiddenAttributes().contains(property.getName())) { if (!metadataTools.isSystem(property)) { // Using reflective access to field because the attribute can be unfetched if loading not partial entities, // which is the case when in-memory constraints exist BaseEntityInternalAccess.setValue(entity, property.getName(), null); } } } }
/** * Should be called before persisting a new entity. * * @param entity new entity */ public void beforePersist(Entity entity) { if (!config.getEntityAttributePermissionChecking()) { return; } // check only immediate attributes, otherwise persisted entity can be unusable for calling code MetaClass metaClass = metadata.getClassNN(entity.getClass()); for (MetaProperty metaProperty : metaClass.getProperties()) { if (!metadataTools.isSystem(metaProperty) && !metaProperty.isReadOnly() && !security.isEntityAttrUpdatePermitted(metaClass, metaProperty.getName())) { entity.setValue(metaProperty.getName(), null); } } }
for (MetaProperty metaProperty : metaClass.getProperties()) { String propertyName = metaProperty.getName(); if (metadataTools.isSystem(metaProperty)) { attributeNames.add(propertyName);
protected void addAttributesToLocalView(MetaClass metaClass, View view) { for (MetaProperty property : metaClass.getProperties()) { if (!property.getRange().isClass() && !metadata.getTools().isSystem(property) && metadata.getTools().isPersistent(property)) { view.addProperty(property.getName()); } } }
MetaProperty metaProperty = metaPropertyPath.getMetaProperty(); if (!metadataTools.isNotPersistent(metaProperty) && !metadataTools.isSystem(metaProperty)) { ViewProperty viewProperty = diffView.getProperty(metaProperty.getName());
protected void setupAutowiredColumns(EntityDataGridItems<E> entityDataGridSource) { Collection<MetaPropertyPath> paths = getAutowiredProperties(entityDataGridSource); for (MetaPropertyPath metaPropertyPath : paths) { MetaProperty property = metaPropertyPath.getMetaProperty(); if (!property.getRange().getCardinality().isMany() && !metadataTools.isSystem(property)) { String propertyName = property.getName(); ColumnImpl<E> column = new ColumnImpl<>(propertyName, metaPropertyPath, this); MetaClass propertyMetaClass = metadataTools.getPropertyEnclosingMetaClass(metaPropertyPath); column.setCaption(messageTools.getPropertyCaption(propertyMetaClass, propertyName)); addColumn(column); } } }
protected void setupAutowiredColumns(EntityTableItems<E> entityTableSource) { Collection<MetaPropertyPath> paths = getAutowiredProperties(entityTableSource); for (MetaPropertyPath metaPropertyPath : paths) { MetaProperty property = metaPropertyPath.getMetaProperty(); if (!property.getRange().getCardinality().isMany() && !metadataTools.isSystem(property)) { Table.Column<E> column = new Table.Column<>(metaPropertyPath); String propertyName = property.getName(); MetaClass propertyMetaClass = metadataTools.getPropertyEnclosingMetaClass(metaPropertyPath); column.setCaption(messageTools.getPropertyCaption(propertyMetaClass, propertyName)); column.setType(metaPropertyPath.getRangeJavaClass()); addColumn(column); } } }
case ENUM: if (metadata.getTools().isSystem(metaProperty) && !showSystemFields) { continue;
continue; // because we use local views Table.Column column = new Table.Column(meta.getPropertyPath(metaProperty.getName())); if (!metadata.getTools().isSystem(metaProperty)) { column.setCaption(getPropertyCaption(meta, metaProperty)); nonSystemPropertyColumns.add(column);
protected void createColumns(GroupDatasource dataSource, Table table) { Collection<MetaPropertyPath> paths = metadataTools.getPropertyPaths(dataSource.getMetaClass()); for (MetaPropertyPath metaPropertyPath : paths) { MetaProperty property = metaPropertyPath.getMetaProperty(); if (!property.getRange().getCardinality().isMany() && !metadataTools.isSystem(property)) { Table.Column column = new Table.Column(metaPropertyPath); String propertyName = property.getName(); MetaClass propertyMetaClass = metadataTools.getPropertyEnclosingMetaClass(metaPropertyPath); column.setCaption(messageTools.getPropertyCaption(propertyMetaClass, propertyName)); column.setType(metaPropertyPath.getRangeJavaClass()); Element element = DocumentHelper.createElement("column"); column.setXmlDescriptor(element); table.addColumn(column); } } } }
&& String.class.equals(metaProperty.getJavaType()); if (tools.isSystem(metaProperty) && !showSystemFields && !includeId) { continue;
if (!metadata.getTools().isSystem(metaProperty)) { column.setCaption(getPropertyCaption(meta, metaProperty)); nonSystemPropertyColumns.add(column);