Package info.archinnov.achilles.internal.metadata.holder

Examples of info.archinnov.achilles.internal.metadata.holder.EntityMeta


            PersistentStateHolder context, List<PropertyMeta> pms) {

        log.trace("Get cache for INSERT properties {} from entity class {}", pms, context.getEntityClass());

        Class<?> entityClass = context.getEntityClass();
        EntityMeta entityMeta = context.getEntityMeta();
        Set<String> fields = new HashSet<>(transform(pms, propertyExtractor));
        StatementCacheKey cacheKey = new StatementCacheKey(CacheType.INSERT, fields, entityClass, context.getOptions());
        PreparedStatement ps = dynamicPSCache.getIfPresent(cacheKey);
        if (ps == null) {
            ps = generator.prepareInsert(session, entityMeta, pms, context.getOptions());
View Full Code Here


            PersistentStateHolder context, List<PropertyMeta> pms) {

        log.trace("Get cache for UPDATE properties {} from entity class {}", pms, context.getEntityClass());

        Class<?> entityClass = context.getEntityClass();
        EntityMeta entityMeta = context.getEntityMeta();
        Set<String> fields = new HashSet<>(transform(pms, propertyExtractor));
        StatementCacheKey cacheKey = new StatementCacheKey(CacheType.UPDATE_FIELDS, fields, entityClass, context.getOptions());
        PreparedStatement ps = dynamicPSCache.getIfPresent(cacheKey);
        if (ps == null) {
            ps = generator.prepareUpdateFields(session, entityMeta, pms, context.getOptions());
View Full Code Here

    // Slice Queries
    public PreparedStatement prepareSelectSliceQuery(Session session, SliceQueryProperties<?> sliceQueryProperties) {

        log.trace("Generate SELECT statement for slice query");

        EntityMeta entityMeta = sliceQueryProperties.getEntityMeta();
        final EntityMetaConfig metaConfig = entityMeta.config();

        Selection select = select();

        for (PropertyMeta pm : entityMeta.forOperations().getColumnsMetaToLoad()) {
            select = pm.forStatementGeneration().prepareSelectField(select);
        }

        Select from = select.from(metaConfig.getKeyspaceName(), metaConfig.getTableName());
View Full Code Here

        context.pushCounterStatement(bsWrapper);
    }

    public ListenableFuture<Row> getClusteredCounter(DaoOperations context) {
        log.debug("Get clustered counter for PersistenceContext '{}'", context);
        EntityMeta entityMeta = context.getEntityMeta();
        PreparedStatement ps = clusteredCounterQueryMap.get(entityMeta.getEntityClass()).get(SELECT).get(SELECT_ALL.name());
        ConsistencyLevel consistencyLevel = overrider.getReadLevel(context);
        BoundStatementWrapper bsWrapper = binder.bindForClusteredCounterSelect(context, ps, false, consistencyLevel);
        final ListenableFuture<ResultSet> resultSetFuture = context.executeImmediate(bsWrapper);
        return asyncUtils.transformFuture(resultSetFuture, RESULTSET_TO_ROW, executorService);
    }
View Full Code Here

        log.debug("Load entity for PersistenceContext '{}'", context);

        Class<?> entityClass = context.getEntityClass();
        PreparedStatement ps = selectPSs.get(entityClass);

    final EntityMeta entityMeta = context.getEntityMeta();

        final ListenableFuture<ResultSet> resultSetFuture = executeReadWithConsistency(context, ps, entityMeta.structure().hasOnlyStaticColumns());
        return asyncUtils.transformFuture(resultSetFuture, RESULTSET_TO_ROW, executorService);
    }
View Full Code Here

    private static final Logger log = LoggerFactory.getLogger(EntityPersister.class);

    private CounterPersister counterPersister = CounterPersister.Singleton.INSTANCE.get();

    public void persist(EntityOperations context) {
        EntityMeta entityMeta = context.getEntityMeta();
        Object entity = context.getEntity();

        log.debug("Persisting transient entity {}", entity);

        if (entityMeta.structure().isClusteredCounter()) {
            counterPersister.persistClusteredCounters(context);
        } else {
            context.pushInsertStatement();
            counterPersister.persistCounters(context, entityMeta.getAllCounterMetas());
        }
    }
View Full Code Here

        }
    }

    public void delete(EntityOperations context) {
        log.trace("Deleting entity using PersistenceContext {}", context);
        EntityMeta entityMeta = context.getEntityMeta();
        if (entityMeta.structure().isClusteredCounter()) {
            context.bindForClusteredCounterDeletion();
        } else {
            context.bindForDeletion(entityMeta.config().getQualifiedTableName());
            counterPersister.deleteRelatedCounters(context);
        }
    }
View Full Code Here

        final ListenableFuture<T> futureEntity = asyncUtils.transformFuture(futureEntities, takeFirstFunction, executorService);
        return asyncUtils.buildInterruptible(futureEntity);
    }

    protected <T> ListenableFuture<List<T>> coreAsyncGet(SliceQueryProperties<T> sliceQueryProperties) {
        final EntityMeta meta = sliceQueryProperties.getEntityMeta();

        final BoundStatementWrapper bsWrapper = daoContext.bindForSliceQuerySelect(sliceQueryProperties, defaultReadLevel);

        final ListenableFuture<ResultSet> resultSetFuture = daoContext.execute(bsWrapper);
        final ListenableFuture<List<Row>> futureRows = asyncUtils.transformFuture(resultSetFuture, RESULTSET_TO_ROWS, executorService);
        Function<List<Row>, List<T>> rowsToEntities = new Function<List<Row>, List<T>>() {
            @Override
            public List<T> apply(List<Row> rows) {
                List<T> clusteredEntities = new ArrayList<>();
                for (Row row : rows) {
                    T clusteredEntity = meta.forOperations().instanciate();
                    mapper.setNonCounterPropertiesToEntity(row, meta, clusteredEntity);
                    meta.forInterception().intercept(clusteredEntity, Event.POST_LOAD);
                    clusteredEntities.add(clusteredEntity);
                }
                return clusteredEntities;
            }
        };
View Full Code Here

    private CounterLoader counterLoader = CounterLoader.Singleton.INSTANCE.get();
    private AsyncUtils asyncUtils = AsyncUtils.Singleton.INSTANCE.get();

    public <T> AchillesFuture<T> load(EntityOperations context, Class<T> entityClass) {
        log.debug("Loading entity of class {} using PersistenceContext {}", entityClass, context);
        final EntityMeta entityMeta = context.getEntityMeta();
        Object primaryKey = context.getPrimaryKey();

        Validator.validateNotNull(entityClass, "Entity class should not be null");
        Validator.validateNotNull(primaryKey, "Entity '%s' key should not be null", entityClass.getCanonicalName());
        Validator.validateNotNull(entityMeta, "Entity meta for '%s' should not be null", entityClass.getCanonicalName());

        AchillesFuture<T> achillesFuture;

        if (entityMeta.structure().isClusteredCounter()) {
            achillesFuture = counterLoader.loadClusteredCounters(context);
        } else {
            final ListenableFuture<Row> futureRow = context.loadEntity();
            Function<Row, T> rowToEntity = new Function<Row, T>() {
                @Override
                public T apply(Row row) {
                    T entity = null;
                    if (row != null) {
                        entity = entityMeta.forOperations().instanciate();
                        mapper.setNonCounterPropertiesToEntity(row, entityMeta, entity);
                    }
                    return entity;
                }
            };
View Full Code Here

        return achillesFuture;
    }

    public <T> T createEmptyEntity(EntityOperations context, Class<T> entityClass) {
        log.debug("Loading entity of class {} using PersistenceContext {}", entityClass, context);
        EntityMeta entityMeta = context.getEntityMeta();
        Object primaryKey = context.getPrimaryKey();

        Validator.validateNotNull(entityClass, "Entity class should not be null");
        Validator.validateNotNull(primaryKey, "Entity '%s' key should not be null", entityClass.getCanonicalName());
        Validator.validateNotNull(entityMeta, "Entity meta for '%s' should not be null", entityClass.getCanonicalName());

        T entity = entityMeta.forOperations().instanciate();
        entityMeta.getIdMeta().forValues().setValueToField(entity, primaryKey);

        return entity;
    }
View Full Code Here

TOP

Related Classes of info.archinnov.achilles.internal.metadata.holder.EntityMeta

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.