Package javax.persistence.metamodel

Examples of javax.persistence.metamodel.EntityType


        List<String> columns = new ArrayList<String>();
        if (results != null && results.length > 0)
        {
            MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                    m.getPersistenceUnit());
            EntityType entity = metaModel.entity(m.getEntityClazz());

            for (int i = 1; i < results.length; i++)
            {
                if (results[i] != null)
                {
                    Attribute attribute = entity.getAttribute(results[i]);

                    if (attribute == null)
                    {
                        throw new QueryHandlerException("column type is null for: " + results);
                    }
View Full Code Here


    {

        MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                entityMetadata.getPersistenceUnit());

        EntityType entityType = metaModel.entity(entityMetadata.getEntityClazz());
        Set<Attribute> attributes = entityType.getAttributes();

        // attributes can be null??? i guess NO
        AttributeWrapper wrapper = new AttributeWrapper(attributes.size());

        List<String> relationNames = entityMetadata.getRelationNames();
View Full Code Here

        MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                entityMetadata.getPersistenceUnit());

        List<String> relationNames = entityMetadata.getRelationNames();
        EntityType entityType = metaModel.entity(entityMetadata.getEntityClazz());

        Map<String, Object> relations = new HashMap<String, Object>();
        Object entity = null;

        // Set<Attribute> attributes = entityType.getAttributes();

        Set<byte[]> columnNames = results.keySet();
        for (byte[] nameInByte : columnNames)
        {
            if (entity == null)
            {
                entity = entityMetadata.getEntityClazz().newInstance();
            }

            String columnName = PropertyAccessorFactory.STRING.fromBytes(String.class, nameInByte);

            byte[] value = results.get(nameInByte);
            String discriminatorColumn = ((AbstractManagedType) entityType).getDiscriminatorColumn();

            if (columnName != null && !columnName.equals(discriminatorColumn))
            {
                String fieldName = entityMetadata.getFieldName(columnName);

                if (fieldName != null)
                {
                    Attribute attribute = entityType.getAttribute(fieldName);

                    if (relationNames != null && relationNames.contains(columnName))
                    {
                        Field field = (Field) attribute.getJavaMember();
                        EntityMetadata associationMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata,
                                ((AbstractAttribute) attribute).getBindableJavaType());
                        relations.put(columnName, PropertyAccessorHelper.getObject(associationMetadata.getIdAttribute()
                                .getBindableJavaType(), value));
                    }
                    else
                    {
                        PropertyAccessorHelper.set(entity, (Field) attribute.getJavaMember(), value);
                    }
                }
                else
                {
                    // means it might be an embeddable field, if not simply omit
                    // this field.

                    if (StringUtils.contains(columnName, ":"))
                    {
                        StringTokenizer tokenizer = new StringTokenizer(columnName, ":");
                        while (tokenizer.hasMoreTokens())
                        {
                            String embeddedFieldName = tokenizer.nextToken();
                            String embeddedColumnName = tokenizer.nextToken();

                            Map<String, EmbeddableType> embeddables = metaModel.getEmbeddables(entityMetadata
                                    .getEntityClazz());

                            EmbeddableType embeddableAttribute = embeddables.get(embeddedFieldName);

                            Attribute attrib = embeddableAttribute.getAttribute(embeddedColumnName);

                            Object embeddedObject = PropertyAccessorHelper.getObject(entity, (Field) entityType
                                    .getAttribute(embeddedFieldName).getJavaMember());

                            if (embeddedObject == null)
                            {
                                embeddedObject = ((AbstractAttribute) entityType.getAttribute(embeddedFieldName))
                                        .getBindableJavaType().newInstance();
                                PropertyAccessorHelper.set(entity, (Field) entityType.getAttribute(embeddedFieldName)
                                        .getJavaMember(), embeddedObject);
                            }

                            PropertyAccessorHelper.set(embeddedObject, (Field) attrib.getJavaMember(), value);
                            // PropertyAccessorHelper.
View Full Code Here

        // prepareCompositeKey

        MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                entityMetadata.getPersistenceUnit());

        EntityType entityType = metaModel.entity(entityMetadata.getEntityClazz());
        String discrColumn = ((AbstractManagedType) entityType).getDiscriminatorColumn();
        String discrValue = ((AbstractManagedType) entityType).getDiscriminatorValue();

        // No need to check for empty or blank, as considering it as valid name
        // for nosql!
View Full Code Here

            entities = new ArrayList<Object>();

            MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                    m.getPersistenceUnit());

            EntityType entityType = metaModel.entity(m.getEntityClazz());

            List<AbstractManagedType> subManagedType = ((AbstractManagedType) entityType).getSubManagedType();

            if (subManagedType.isEmpty())
            {
                entities.addAll(findByRelationQuery(m, colName, colValue, entityClazz, dataHandler));
            }
            else
            {
                for (AbstractManagedType subEntity : subManagedType)
                {
                    EntityMetadata subEntityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata,
                            subEntity.getJavaType());

                    entities.addAll(findByRelationQuery(subEntityMetadata, colName, colValue,
                            subEntityMetadata.getEntityClazz(), dataHandler));
                    // TODOO:: if(entities != null)
                }
            }

        }
        else
        {
            SlicePredicate slicePredicate = new SlicePredicate();
            slicePredicate.setSlice_range(new SliceRange(ByteBufferUtil.EMPTY_BYTE_BUFFER,
                    ByteBufferUtil.EMPTY_BYTE_BUFFER, false, Integer.MAX_VALUE));

            IndexExpression ie = new IndexExpression(UTF8Type.instance.decompose(colName), IndexOperator.EQ,
                    ByteBuffer.wrap(PropertyAccessorHelper.getBytes(colValue)));
            List<IndexExpression> expressions = new ArrayList<IndexExpression>();
            expressions.add(ie);

            IndexClause ix = new IndexClause();
            ix.setStart_key(ByteBufferUtil.EMPTY_BYTE_BUFFER);
            ix.setCount(Integer.MAX_VALUE);
            ix.setExpressions(expressions);
            ColumnParent columnParent = new ColumnParent(m.getTableName());

            List<KeySlice> keySlices;
            Connection conn = null;
            try
            {
                conn = getConnection();
                keySlices = conn.getClient()
                        .get_indexed_slices(columnParent, ix, slicePredicate, getConsistencyLevel());
            }
            catch (InvalidRequestException e)
            {
                if (e.why != null && e.why.contains("No indexed columns"))
                {
                    return entities;
                }
                else
                {
                    log.error("Error while finding relations for column family {} , Caused by: .", m.getTableName(), e);
                    throw new KunderaException(e);
                }
            }
            catch (UnavailableException e)
            {
                log.error("Error while finding relations for column family {} , Caused by: .", m.getTableName(), e);
                throw new KunderaException(e);
            }
            catch (TimedOutException e)
            {
                log.error("Error while finding relations for column family {} , Caused by: .", m.getTableName(), e);
                throw new KunderaException(e);
            }
            catch (TException e)
            {
                log.error("Error while finding relations for column family {} , Caused by: .", m.getTableName(), e);
                throw new KunderaException(e);
            }
            finally
            {
                releaseConnection(conn);
            }

            if (keySlices != null)
            {
                entities = new ArrayList<Object>(keySlices.size());

                MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                        m.getPersistenceUnit());

                EntityType entityType = metaModel.entity(m.getEntityClazz());

                List<AbstractManagedType> subManagedType = ((AbstractManagedType) entityType).getSubManagedType();

                if (subManagedType.isEmpty())
                {
View Full Code Here

                {
                    isvalid = validateEmbeddedColumns(metadata, embeddables.values()) ? true : false;
                }
                else
                {
                    EntityType entity = metaModel.entity(clazz);
                    isvalid = validateColumns(metadata, entity.getAttributes()) ? true : false;
                }
                isvalid = isvalid && validateRelations(metadata) ? true : false;
            }
            else
            {
View Full Code Here

     */
    static Map<String, Object> getTranslatedObject(final KunderaMetadata kunderaMetadata, Object entity, Map<String, Object> valueMap, EntityMetadata m)
    {
        MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
                m.getPersistenceUnit());
        EntityType entityType = metaModel.entity(m.getEntityClazz());

        String idColumnName = ((AbstractAttribute) m.getIdAttribute()).getJPAColumnName();
        Object rowKey = valueMap.get(idColumnName) == null ? valueMap.get(idColumnName.toUpperCase()) == null ? valueMap
                .get(idColumnName.toLowerCase()) : valueMap.get(idColumnName.toUpperCase())
                : valueMap.get(idColumnName);

        Map<String, Object> relationValue = new HashMap<String, Object>();

        if (valueMap != null && (metaModel.isEmbeddable(m.getIdAttribute().getBindableJavaType()) || rowKey != null))
        {
            try
            {
                if (metaModel.isEmbeddable(m.getIdAttribute().getBindableJavaType()))
                {
                    EmbeddableType embeddable = metaModel.embeddable(m.getIdAttribute().getBindableJavaType());
                    Iterator<Attribute> iter = embeddable.getAttributes().iterator();
                    Object compoundKey = m.getIdAttribute().getBindableJavaType().newInstance();
                    while (iter.hasNext())
                    {
                        Attribute attr = iter.next();
                        AbstractAttribute compositeAbstractAttrib = (AbstractAttribute) attr;
                        Object value = valueMap.get(compositeAbstractAttrib.getJPAColumnName()) == null ? valueMap
                                .get(compositeAbstractAttrib.getJPAColumnName().toUpperCase()) == null ? valueMap
                                .get(compositeAbstractAttrib.getJPAColumnName().toLowerCase()) : valueMap
                                .get(compositeAbstractAttrib.getJPAColumnName().toUpperCase()) : valueMap
                                .get(compositeAbstractAttrib.getJPAColumnName());
                        setFieldValue(compoundKey, value, attr);
                    }
                    PropertyAccessorHelper.setId(entity, m, compoundKey);
                }
                else
                {
                    setId(entity, rowKey, m);
                }

                Set<Attribute> columns = entityType.getAttributes();

                for (Attribute column : columns)
                {
                    if (!column.equals(m.getIdAttribute()))
                    {
View Full Code Here

        return newPath;
    }

    public <X, T extends X> Root<T> treat(Root<X> root, Class<T> type) {
        RootImpl parentRoot = (RootImpl)root;
        EntityType entity = this.metamodel.entity(type);
        return new RootImpl<T>(entity, this.metamodel, type, parentRoot.currentNode.treat(type), entity);
    }   
View Full Code Here

     * @param entityClass
     *            the entity class
     * @return query root corresponding to the given entity
     */
    public Root internalFrom(Class entityClass) {
        EntityType entity = this.metamodel.entity(entityClass);
        return this.internalFrom(entity);
    }
View Full Code Here

    @Override
    public Root<T> getRoot() {
        if (this.root == null) {
            if (getResultType() !=null) {
                EntityType entity = this.metamodel.entity(this.queryType);
                RootImpl newRoot = new RootImpl(entity, this.metamodel, this.queryType, query.getExpressionBuilder(), entity);
                this.root = newRoot;
            }
        }
        return this.root;
View Full Code Here

TOP

Related Classes of javax.persistence.metamodel.EntityType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.