Package org.jboss.as.cmp.jdbc.metadata

Examples of org.jboss.as.cmp.jdbc.metadata.JDBCQueryMetaData


        // to delegate selectors to the JDBCFindEntitiesCommand, but this is
        // easier now.
        selectorsByMethod = new HashMap(metadata.getQueries().size());
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();
            if (q.getMethod().getName().startsWith("ejbSelect"))
                selectorsByMethod.put(q.getMethod(), new JDBCSelectorBridge(manager, q));
        }
        selectorsByMethod = Collections.unmodifiableMap(selectorsByMethod);
    }
View Full Code Here


        // to deligate seletors to the JDBCFindEntitiesCommand, but this is
        // easier now.
        selectorsByMethod = new HashMap(metadata.getQueries().size());
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();
            if (q.getMethod().getName().startsWith("ejbSelect"))
                selectorsByMethod.put(q.getMethod(), new JDBCSelectorBridge(manager, q));
        }
        selectorsByMethod = Collections.unmodifiableMap(selectorsByMethod);
    }
View Full Code Here

        // to delegate selectors to the JDBCFindEntitiesCommand, but this is
        // easier now.
        selectorsByMethod = new HashMap(metadata.getQueries().size());
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();
            if (q.getMethod().getName().startsWith("ejbSelect"))
                selectorsByMethod.put(q.getMethod(), new JDBCSelectorBridge(manager, q));
        }
        selectorsByMethod = Collections.unmodifiableMap(selectorsByMethod);
    }
View Full Code Here

        if (homeClass != null) {
            try {
                // try to get the finder method on the home interface
                Method method = homeClass.getMethod(FIND_BY_PK, new Class[]{entity.getPrimaryKeyClass()});

                JDBCQueryMetaData findByPKMD = manager.getMetaData().getQueryMetaDataForMethod(method);
                JDBCReadAheadMetaData readAhead = (findByPKMD == null ?
                        entity.getMetaData().getReadAhead() : findByPKMD.getReadAhead());

                // got it add it to known finders
                JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(
                        method,
                        readAhead,
                        entity.getMetaData().getQlCompiler(),
                        false
                );
                knownQueries.put(method, factory.createFindByPrimaryKeyQuery(q));

                if (log.isDebugEnabled())
                    log.debug("Added findByPrimaryKey query command for home interface");
            } catch (NoSuchMethodException e) {
                throw new RuntimeException("Home interface does not have a findByPrimaryKey method");
            }
        }

        if (localHomeClass != null) {

            Method method;
            try {
                // try to get the finder method on the local home interface
                method = localHomeClass.getMethod(FIND_BY_PK, new Class[]{entity.getPrimaryKeyClass()});
            } catch (NoSuchMethodException e) {
                throw new RuntimeException("Local home interface does " +
                        "not have the method findByPrimaryKey(" +
                        entity.getPrimaryKeyClass().getName() + ")");
            }

            // got it add it to known finders
            JDBCQueryMetaData findByPKMD = manager.getMetaData().getQueryMetaDataForMethod(method);
            JDBCReadAheadMetaData readAhead = (findByPKMD == null ?
                    entity.getMetaData().getReadAhead() : findByPKMD.getReadAhead());
            JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(method, readAhead, entity.getMetaData().getQlCompiler(), false);
            knownQueries.put(method, factory.createFindByPrimaryKeyQuery(q));

            if (log.isDebugEnabled())
                log.debug("Added findByPrimaryKey query command for local home interface");
        }

        //
        // Custom finders - Overrides defined and automatic finders.
        //
        Class ejbClass = manager.getMetaData().getEntityClass();

        Method[] customMethods = ejbClass.getMethods();
        for (int i = 0; i < customMethods.length; i++) {
            Method m = customMethods[i];
            String methodName = m.getName();
            if (methodName.startsWith(EJB_FIND)) {
                String interfaceName = 'f' + methodName.substring(4);

                if (homeClass != null) {
                    try {
                        // try to get the finder method on the home interface
                        Method interfaceMethod = homeClass.getMethod(
                                interfaceName,
                                m.getParameterTypes());

                        // got it add it to known finders
                        knownQueries.put(interfaceMethod, new JDBCCustomFinderQuery(manager, m));

                        if (log.isDebugEnabled())
                            log.debug("Added custom finder " + methodName + " on home interface");
                    } catch (NoSuchMethodException e) {
                        // this is ok method may not be defined on this interface
                    }
                }

                if (localHomeClass != null) {
                    try {
                        // try to get the finder method on the local home interface
                        Method interfaceMethod = localHomeClass.getMethod(
                                interfaceName,
                                m.getParameterTypes());

                        // got it add it to known finders
                        knownQueries.put(interfaceMethod, new JDBCCustomFinderQuery(manager, m));

                        if (log.isDebugEnabled())
                            log.debug("Added custom finder " + methodName + " on local home interface");
                    } catch (NoSuchMethodException e) {
                        // this is ok method may not be defined on this interface
                    }
                }
            }
        }

        //
        // Defined finders - Overrides automatic finders.
        //
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();

            if (!knownQueries.containsKey(q.getMethod())) {
                if (q instanceof JDBCJBossQLQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createJBossQLQuery(q));

                } else if (q instanceof JDBCDynamicQLQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createDynamicQLQuery(q));

                } else if (q instanceof JDBCDeclaredQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createDeclaredSQLQuery(q));

                } else if (q instanceof JDBCQlQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createEJBQLQuery(q));
                }
            }
        }

        //
View Full Code Here

            Method method = homeMethods[i];

            if (!knownQueries.containsKey(method)) {
                String name = method.getName();
                if (name.equals(FIND_ALL)) {
                    JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(
                            method,
                            entity.getMetaData().getReadAhead(),
                            entity.getMetaData().getQlCompiler(), false
                    );
                    knownQueries.put(method, factory.createFindAllQuery(q));
                } else if (name.startsWith(FIND_BY) && !name.equals(FIND_BY_PK)) {
                    try {
                        JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(
                                method,
                                entity.getMetaData().getReadAhead(),
                                entity.getMetaData().getQlCompiler(), false);
                        knownQueries.put(method, factory.createFindByQuery(q));
                    } catch (IllegalArgumentException e) {
View Full Code Here

        //
        // Defined finders - Overrides automatic finders.
        //
        Iterator definedFinders = entity.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();

            if (!queriesByMethod.containsKey(q.getMethod())) {
                if (q instanceof JDBCJBossQLQueryMetaData) {
                    QueryCommand queryCommand = new JBossQLQueryCommand(entity, (JDBCJBossQLQueryMetaData) q);
                    queriesByMethod.put(q.getMethod(), queryCommand);
                } else if (q instanceof JDBCQlQueryMetaData) {
                    QueryCommand queryCommand = new EJBQLQueryCommand(entity, (JDBCQlQueryMetaData) q);
                    queriesByMethod.put(q.getMethod(), queryCommand);
                } else if (q instanceof JDBCDeclaredQueryMetaData) {
                    QueryCommand queryCommand = new DeclaredSQLQueryCommand(entity, (JDBCDeclaredQueryMetaData) q);
                    queriesByMethod.put(q.getMethod(), queryCommand);
                } else if (q instanceof JDBCDynamicQLQueryMetaData) {
                    QueryCommand queryCommand = new DynamicQueryCommand(entity, (JDBCDynamicQLQueryMetaData) q);
                    queriesByMethod.put(q.getMethod(), queryCommand);
                } else {
                    throw new RuntimeException("Unsupported query metadata: method=" + q.getMethod().getName() +
                            ", metadata=" + q);
                }
            }
        }
    }
View Full Code Here

        // to deligate seletors to the JDBCFindEntitiesCommand, but this is
        // easier now.
        selectorsByMethod = new HashMap(metadata.getQueries().size());
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();
            if (q.getMethod().getName().startsWith("ejbSelect"))
                selectorsByMethod.put(q.getMethod(), new JDBCSelectorBridge(manager, q));
        }
        selectorsByMethod = Collections.unmodifiableMap(selectorsByMethod);
    }
View Full Code Here

        // to delegate selectors to the JDBCFindEntitiesCommand, but this is
        // easier now.
        selectorsByMethod = new HashMap(metadata.getQueries().size());
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();
            if (q.getMethod().getName().startsWith("ejbSelect"))
                selectorsByMethod.put(q.getMethod(), new JDBCSelectorBridge(manager, q));
        }
        selectorsByMethod = Collections.unmodifiableMap(selectorsByMethod);
    }
View Full Code Here

        if (homeClass != null) {
            try {
                // try to get the finder method on the home interface
                Method method = homeClass.getMethod(FIND_BY_PK, new Class[]{entity.getPrimaryKeyClass()});

                JDBCQueryMetaData findByPKMD = manager.getMetaData().getQueryMetaDataForMethod(method);
                JDBCReadAheadMetaData readAhead = (findByPKMD == null ?
                        entity.getMetaData().getReadAhead() : findByPKMD.getReadAhead());

                // got it add it to known finders
                JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(
                        method,
                        readAhead,
                        entity.getMetaData().getQlCompiler(),
                        false
                );
                knownQueries.put(method, factory.createFindByPrimaryKeyQuery(q));

                if (log.isDebugEnabled())
                    log.debug("Added findByPrimaryKey query command for home interface");
            } catch (NoSuchMethodException e) {
                throw MESSAGES.homeInterfaceNoPKMethod(homeClass);
            }
        }

        if (localHomeClass != null) {

            Method method;
            try {
                // try to get the finder method on the local home interface
                method = localHomeClass.getMethod(FIND_BY_PK, new Class[]{entity.getPrimaryKeyClass()});
            } catch (NoSuchMethodException e) {
                throw CmpMessages.MESSAGES.localHomeMissingFindByPrimaryKey(entity.getPrimaryKeyClass().getName());
            }

            // got it add it to known finders
            JDBCQueryMetaData findByPKMD = manager.getMetaData().getQueryMetaDataForMethod(method);
            JDBCReadAheadMetaData readAhead = (findByPKMD == null ?
                    entity.getMetaData().getReadAhead() : findByPKMD.getReadAhead());
            JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(method, readAhead, entity.getMetaData().getQlCompiler(), false);
            knownQueries.put(method, factory.createFindByPrimaryKeyQuery(q));

            if (log.isDebugEnabled())
                log.debug("Added findByPrimaryKey query command for local home interface");
        }

        //
        // Custom finders - Overrides defined and automatic finders.
        //
        Class ejbClass = manager.getMetaData().getEntityClass();

        Method[] customMethods = ejbClass.getMethods();
        for (int i = 0; i < customMethods.length; i++) {
            Method m = customMethods[i];
            String methodName = m.getName();
            if (methodName.startsWith(EJB_FIND)) {
                String interfaceName = 'f' + methodName.substring(4);

                if (homeClass != null) {
                    try {
                        // try to get the finder method on the home interface
                        Method interfaceMethod = homeClass.getMethod(
                                interfaceName,
                                m.getParameterTypes());

                        // got it add it to known finders
                        knownQueries.put(interfaceMethod, new JDBCCustomFinderQuery(manager, m));

                        if (log.isDebugEnabled())
                            log.debug("Added custom finder " + methodName + " on home interface");
                    } catch (NoSuchMethodException e) {
                        // this is ok method may not be defined on this interface
                    }
                }

                if (localHomeClass != null) {
                    try {
                        // try to get the finder method on the local home interface
                        Method interfaceMethod = localHomeClass.getMethod(
                                interfaceName,
                                m.getParameterTypes());

                        // got it add it to known finders
                        knownQueries.put(interfaceMethod, new JDBCCustomFinderQuery(manager, m));

                        if (log.isDebugEnabled())
                            log.debug("Added custom finder " + methodName + " on local home interface");
                    } catch (NoSuchMethodException e) {
                        // this is ok method may not be defined on this interface
                    }
                }
            }
        }

        //
        // Defined finders - Overrides automatic finders.
        //
        Iterator definedFinders = manager.getMetaData().getQueries().iterator();
        while (definedFinders.hasNext()) {
            JDBCQueryMetaData q = (JDBCQueryMetaData) definedFinders.next();

            if (!knownQueries.containsKey(q.getMethod())) {
                if (q instanceof JDBCJBossQLQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createJBossQLQuery(q));

                } else if (q instanceof JDBCDynamicQLQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createDynamicQLQuery(q));

                } else if (q instanceof JDBCDeclaredQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createDeclaredSQLQuery(q));

                } else if (q instanceof JDBCQlQueryMetaData) {
                    knownQueries.put(q.getMethod(), factory.createEJBQLQuery(q));
                }
            }
        }

        //
View Full Code Here

            Method method = homeMethods[i];

            if (!knownQueries.containsKey(method)) {
                String name = method.getName();
                if (name.equals(FIND_ALL)) {
                    JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(
                            method,
                            entity.getMetaData().getReadAhead(),
                            entity.getMetaData().getQlCompiler(), false
                    );
                    knownQueries.put(method, factory.createFindAllQuery(q));
                } else if (name.startsWith(FIND_BY) && !name.equals(FIND_BY_PK)) {
                    try {
                        JDBCQueryMetaData q = new JDBCAutomaticQueryMetaData(
                                method,
                                entity.getMetaData().getReadAhead(),
                                entity.getMetaData().getQlCompiler(), false);
                        knownQueries.put(method, factory.createFindByQuery(q));
                    } catch (IllegalArgumentException e) {
View Full Code Here

TOP

Related Classes of org.jboss.as.cmp.jdbc.metadata.JDBCQueryMetaData

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.