public TestSecurity(UserSessionSource sessionSource, Metadata metadata, ExtendedEntities extendedEntities) { this.userSessionSource = sessionSource; this.metadata = metadata; this.metadataTools = metadata.getTools(); this.extendedEntities = extendedEntities; } }
protected Set<Class> collectEntityClassesWithDynamicAttributes(@Nullable View view) { if (view == null) { return Collections.emptySet(); } return collectEntityClasses(view, new HashSet<>()).stream() .filter(BaseGenericIdEntity.class::isAssignableFrom) .filter(aClass -> !dynamicAttributesManagerAPI.getAttributesForMetaClass(metadata.getClassNN(aClass)).isEmpty()) .collect(Collectors.toSet()); }
private View getViewFromRepository(Entity entity, String viewName) { Metadata metadata = AppBeans.get(Metadata.NAME); return metadata.getViewRepository().getView(metadata.getClass(entity.getClass()), viewName); } }
public Collection<MetaClassInfo> getAllMetaClassesInfo() { Set<MetaClass> metaClasses = new HashSet<>(metadata.getTools().getAllPersistentMetaClasses()); metaClasses.addAll(metadata.getTools().getAllEmbeddableMetaClasses()); return metaClasses.stream() .filter(metaClass -> metadata.getExtendedEntities().getExtendedClass(metaClass) == null) .map(MetaClassInfo::new) .collect(Collectors.toList()); }
protected String getOriginalOrThisEntityName(String entityName) { MetaClass metaClass = metadata.getClass(entityName); if (metaClass == null) { return entityName; } return metadata.getExtendedEntities().getOriginalOrThisMetaClass(metaClass).getName(); } }
protected String getEntityName(Entity entity) { MetaClass metaClass; if (entity instanceof CategoryAttributeValue) { CategoryAttribute categoryAttribute = ((CategoryAttributeValue) entity).getCategoryAttribute(); Preconditions.checkNotNullArgument(categoryAttribute, "Category attribute is null"); metaClass = metadata.getClassNN(categoryAttribute.getCategoryEntityType()); } else { metaClass = metadata.getSession().getClassNN(entity.getClass()); } return metadata.getExtendedEntities().getOriginalOrThisMetaClass(metaClass).getName(); }
protected MetaClass loadMetaClass(Element element) { final String className = element.attributeValue("class"); if (className == null) return null; final Class<?> aClass = ReflectionHelper.getClass(className); final MetaClass metaClass = metadata.getSession().getClass(aClass); if (metaClass == null) throw new IllegalStateException(String.format("Can't find metaClass '%s'", className)); return metaClass; }
public void setEntity(Entity entity) { this.entity = entity; this.metaClass = metadata.getSession().getClass(entity.getClass()); primaryKeyName = metadata.getTools().getPrimaryKeyName(metaClass); String storeName = metadata.getTools().getStoreName(metaClass); entityManager = persistence.getEntityManager(storeName == null ? Stores.MAIN : storeName); }
private String getCollectionString(Object collection) { if (DynamicAttributesUtils.isDynamicAttribute(propertyName)) { Metadata metadata = AppBeans.get(Metadata.class); com.haulmont.chile.core.model.MetaClass metaClass = metadata.getClassNN(metaClassName); MetaPropertyPath path = DynamicAttributesUtils.getMetaPropertyPath(metaClass, propertyName); return metadata.getTools().format(collection, path.getMetaProperty()); } return String.valueOf(beforeValue); }
@Override public List<String> collectEntityHierarchyNames(String entityName) { MetaClass metaClass = metadata.getClassNN(entityName); List<String> result = new ArrayList<>(); result.add(entityName); result.addAll(metaClass.getDescendants().stream().map(MetadataObject::getName).collect(Collectors.toList())); MetaClass originalMetaClass = metadata.getExtendedEntities().getOriginalMetaClass(metaClass); if (originalMetaClass != null) { result.add(originalMetaClass.getName()); } return result; }
@Override public <E extends Entity> E commit(E entity, @Nullable String viewName) { if (viewName != null) { View view = metadata.getViewRepository().getView(metadata.getClassNN(entity.getClass()), viewName); return commit(entity, view); } else { return commit(entity, (View) null); } }
public boolean applicableToEntity(Class javaClass) { MetaClass metaClass = metadata.getClass(javaClass); return userSession.isEntityOpPermitted(metaClass, operation); } }
public ViewRepositoryInfo(Metadata metadata) { this.metadata = metadata; this.viewRepository = (AbstractViewRepository) metadata.getViewRepository(); }
/** * @param viewName view that is used for loading entities * @return this instance for chaining */ public LoadContext<E> setView(String viewName) { Metadata metadata = AppBeans.get(Metadata.NAME); this.view = metadata.getViewRepository().getView(metadata.getSession().getClass(metaClass), viewName); return this; }
private com.haulmont.chile.core.model.MetaClass getClassFromEntityName(String entityName) { Metadata metadata = AppBeans.get(Metadata.NAME); com.haulmont.chile.core.model.MetaClass metaClass = metadata.getSession().getClass(entityName); return metaClass == null ? null : metadata.getExtendedEntities().getEffectiveMetaClass(metaClass); }
@Nullable protected MetaClass resolveTargetMetaClass(MetaClass metaClass) { if (metaClass == null) { return null; } MetaClass targetMetaClass = metadata.getExtendedEntities().getOriginalMetaClass(metaClass); if (targetMetaClass == null) { targetMetaClass = metaClass; } return targetMetaClass; }
/** * @return collection of all embeddable entities */ public Collection<MetaClass> getAllEmbeddableMetaClasses() { List<MetaClass> result = new ArrayList<>(); for (MetaClass metaClass : metadata.getSession().getClasses()) { if (metaClass.getJavaClass().isAnnotationPresent(javax.persistence.Embeddable.class)) { result.add(metaClass); } } return result; }
protected void initMetaClassLookup() { Map<String, String> metaClassesOptionsMap = new TreeMap<>(); Collection<MetaClass> classes = metadata.getSession().getClasses(); for (MetaClass clazz : classes) { if (!metadata.getTools().isSystemLevel(clazz)) { String caption = messages.getTools().getDetailedEntityCaption(clazz); metaClassesOptionsMap.put(caption, clazz.getName()); } } metaClass.setOptionsMap(metaClassesOptionsMap); }
@Nullable @Override public LockInfo lock(Entity entity) { Preconditions.checkNotNullArgument(entity, "entity is null"); MetaClass metaClass = metadata.getClassNN(entity.getClass()); MetaClass originalMetaClass = metadata.getExtendedEntities().getOriginalOrThisMetaClass(metaClass); return lock(originalMetaClass.getName(), entity.getId().toString()); }