Examples of JDBCFieldBridge


Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

     */
    private void createCMPIndices(DataSource dataSource, ArrayList indexNames) {
        // Only create indices on CMP fields
        JDBCFieldBridge[] cmpFields = entity.getTableFields();
        for (int i = 0; i < cmpFields.length; ++i) {
            JDBCFieldBridge field = cmpFields[i];
            JDBCCMPFieldMetaData fieldMD = entity.getMetaData().getCMPFieldByName(field.getFieldName());

            if (fieldMD != null && fieldMD.isIndexed()) {
                createCMPIndex(dataSource, field, indexNames);
            }
        }
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

    protected void initInsertFields() {
        JDBCFieldBridge[] fields = entity.getTableFields();
        List insertFieldsList = new ArrayList(fields.length);
        for (int i = 0; i < fields.length; i++) {
            JDBCFieldBridge field = fields[i];
            if (isInsertField(field))
                insertFieldsList.add(field);
        }

        insertFields = (JDBCFieldBridge[]) insertFieldsList.toArray(new JDBCFieldBridge[insertFieldsList.size()]);
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

    }

    public boolean isSelectField() {
        boolean result;
        if (selectObject instanceof JDBCFieldBridge) {
            JDBCFieldBridge field = (JDBCFieldBridge) selectObject;
            result = field.isCMPField();
        } else {
            result = false;
        }
        return result;
    }
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

        if (child0 instanceof ASTPath) {
            path = (ASTPath) child0;

            if (path.isCMPField()) {
                // set the select object
                JDBCFieldBridge selectField = (JDBCFieldBridge) path.getCMPField();
                selectManager = selectField.getManager();
                selectObject = selectField;
                setTypeFactory(selectManager.getJDBCTypeFactory());

                // todo inner or left?
                //addLeftJoinPath(path);
                addInnerJoinPath(path);

                String alias = aliasManager.getAlias(path.getPath(path.size() - 2));
                SQLUtil.getColumnNamesClause(selectField, alias, sql);
            } else {
                JDBCAbstractEntityBridge selectEntity = (JDBCAbstractEntityBridge) path.getEntity();
                selectManager = selectEntity.getManager();
                selectObject = selectEntity;
                setTypeFactory(selectEntity.getManager().getJDBCTypeFactory());

                final String alias = aliasManager.getAlias(path.getPath());
                if (select.distinct) {
                    SQLUtil.getSearchableColumnNamesClause(selectEntity.getTableFields(), alias, sql);
                } else {
                    SQLUtil.getColumnNamesClause(selectEntity.getTableFields(), alias, sql);
                }

                /*
                if(readAhead.isOnFind())
                {
                   String eagerLoadGroupName = readAhead.getEagerLoadGroup();
                   boolean[] loadGroupMask = selectEntity.getLoadGroupMask(eagerLoadGroupName);
                   SQLUtil.appendColumnNamesClause(
                      selectEntity.getTableFields(),
                      loadGroupMask,
                      alias,
                      sql
                   );
                }
                */

                addLeftJoinPath(path);
            }
        } else {
            // the function should take a path expresion as a parameter
            path = getPathFromChildren(child0);

            if (path == null) {
                throw new IllegalStateException("The function in SELECT clause does not contain a path expression.");
            }

            if (path.isCMPField()) {
                JDBCFieldBridge selectField = (JDBCFieldBridge) path.getCMPField();
                selectManager = selectField.getManager();
                setTypeFactory(selectManager.getJDBCTypeFactory());
                if (selectField.getJDBCType().hasMapper())
                    this.functionJDBCType = selectField.getJDBCType();
            } else if (path.isCMRField()) {
                JDBCFieldBridge cmrField = (JDBCFieldBridge) path.getCMRField();
                selectManager = cmrField.getManager();
                setTypeFactory(selectManager.getJDBCTypeFactory());
                addLeftJoinPath(path);
            } else {
                final JDBCAbstractEntityBridge entity = (JDBCAbstractEntityBridge) path.getEntity();
                selectManager = entity.getManager();
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

        final Node child0 = node.jjtGetChild(0);
        if (child0 instanceof ASTPath) {
            ASTPath path = (ASTPath) child0;
            addLeftJoinPath(path);

            JDBCFieldBridge field = (JDBCFieldBridge) path.getField();

            if (field instanceof JDBCAbstractCMRFieldBridge) {
                JDBCAbstractCMRFieldBridge cmrField = (JDBCAbstractCMRFieldBridge) field;
                final String alias;
                final JDBCFieldBridge[] keyFields;
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

        if (!node.isCMPField()) {
            throw new IllegalStateException("Can only visit cmp valued path node. "
                    + "Should have been handled at a higher level.");
        }

        JDBCFieldBridge cmpField = (JDBCFieldBridge) node.getCMPField();

        // make sure this is mapped to a single column
        switch (node.type) {
            case EJBQLTypes.ENTITY_TYPE:
            case EJBQLTypes.VALUE_CLASS_TYPE:
                if (cmpField.getJDBCType().hasMapper() ||
                        cmpField.getJDBCType().getParameterSetter() != null) {
                    break;
                }
            case EJBQLTypes.UNKNOWN_TYPE:
                throw new IllegalStateException("Can not visit multi-column path " +
                        "node. Should have been handled at a higher level.");
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

        if (fkFieldsByRelatedPKFields.size() > 0) {
            JDBCFieldBridge[] pkFields = relatedEntity.getPrimaryKeyFields();
            List fkList = new ArrayList(pkFields.length);
            List relatedPKList = new ArrayList(pkFields.length);
            for (int i = 0; i < pkFields.length; ++i) {
                JDBCFieldBridge relatedPKField = pkFields[i];
                JDBCFieldBridge fkField = (JDBCCMPFieldBridge2) fkFieldsByRelatedPKFields.remove(relatedPKField);
                fkList.add(fkField);
                relatedPKList.add(relatedPKField);
            }
            foreignKeyFields = (JDBCCMPFieldBridge2[]) fkList.toArray(new JDBCCMPFieldBridge2[fkList.size()]);
            relatedPKFields =
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

                    // read the preload fields
                    if (preloadMask != null) {
                        JDBCFieldBridge[] relatedFields = cmrField.getRelatedJDBCEntity().getTableFields();
                        for (int i = 0; i < relatedFields.length; ++i) {
                            if (preloadMask[i]) {
                                JDBCFieldBridge field = relatedFields[i];
                                ref[0] = null;

                                // read the value and store it in the readahead cache
                                index = field.loadArgumentResults(rs, index, ref);
                                relatedReadAheadCache.addPreloadData(loadedFk, field, ref[0]);
                            }
                        }
                    }
                }
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

                                             String childAlias,
                                             StringBuffer buf) {
        JDBCAbstractEntityBridge parentEntity = cmrField.getEntity();
        JDBCAbstractEntityBridge childEntity = (JDBCAbstractEntityBridge) cmrField.getRelatedEntity();

        JDBCFieldBridge parentField;
        JDBCFieldBridge childField;

        if (cmrField.hasForeignKey()) {
            // parent has the foreign keys
            JDBCFieldBridge[] parentFkFields = cmrField.getForeignKeyFields();
            int i = 0;
            while (i < parentFkFields.length) {
                parentField = parentFkFields[i++];
                childField = (JDBCFieldBridge) childEntity.getFieldByName(parentField.getFieldName());
                getJoinClause(parentField, parentAlias, childField, childAlias, buf);
                if (i < parentFkFields.length)
                    buf.append(AND);
            }
        } else {
            // child has the foreign keys
            JDBCFieldBridge[] childFkFields = cmrField.getRelatedCMRField().getForeignKeyFields();
            int i = 0;
            while (i < childFkFields.length) {
                childField = childFkFields[i++];
                parentField = (JDBCFieldBridge) parentEntity.getFieldByName(childField.getFieldName());

                // add the sql
                getJoinClause(parentField, parentAlias, childField, childAlias, buf);
                if (i < childFkFields.length) {
                    buf.append(AND);
View Full Code Here

Examples of org.jboss.as.cmp.jdbc.bridge.JDBCFieldBridge

    public static StringBuffer getRelationTableJoinClause(JDBCAbstractCMRFieldBridge cmrField,
                                                          String parentAlias,
                                                          String relationTableAlias,
                                                          StringBuffer buf) {
        JDBCAbstractEntityBridge parentEntity = cmrField.getEntity();
        JDBCFieldBridge parentField;
        JDBCFieldBridge relationField;

        // parent to relation table join
        JDBCFieldBridge[] parentFields = cmrField.getTableKeyFields();
        int i = 0;
        while (i < parentFields.length) {
            relationField = parentFields[i++];
            parentField = (JDBCFieldBridge) parentEntity.getFieldByName(relationField.getFieldName());
            getJoinClause(parentField, parentAlias, relationField, relationTableAlias, buf);
            if (i < parentFields.length)
                buf.append(AND);
        }
        return buf;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.