Examples of ResultSetAndStatement


Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

     * returns a unique String for given field.
     * the returned uid is unique accross all tables.
     */
    protected String getUniqueString(FieldDescriptor field) throws SequenceManagerException
    {
        ResultSetAndStatement rsStmt = null;
        String returnValue = null;
        try
        {
            rsStmt = getBrokerForClass().serviceJdbcAccess().executeSQL(
                    "select newid()", field.getClassDescriptor(), Query.NOT_SCROLLABLE);
            if (rsStmt.m_rs.next())
            {
                returnValue = rsStmt.m_rs.getString(1);
            }
            else
            {
                LoggerFactory.getDefaultLogger().error(this.getClass()
                        + ": Can't lookup new oid for field " + field);
            }
        }
        catch (PersistenceBrokerException e)
        {
            throw new SequenceManagerException(e);
        }
        catch (SQLException e)
        {
            throw new SequenceManagerException(e);
        }

        finally
        {
            // close the used resources
            if (rsStmt != null) rsStmt.close();
        }
        return returnValue;
    }
View Full Code Here

Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

     * @param obj
     * @return Collection of Key
     */
    public List getMtoNImplementor(CollectionDescriptor cod, Object obj)
    {
        ResultSetAndStatement rs = null;
        ArrayList result = new ArrayList();
        ClassDescriptor cld = pb.getDescriptorRepository().getDescriptorFor(obj.getClass());
        ValueContainer[] pkValues = pb.serviceBrokerHelper().getKeyValues(cld, obj);
        String[] pkColumns = cod.getFksToThisClass();
        String[] fkColumns = cod.getFksToItemClass();
        String table = cod.getIndirectionTable();

        String selectStmt = pb.serviceSqlGenerator().getSelectMNStatement(table, fkColumns, pkColumns);

        ClassDescriptor itemCLD = pb.getDescriptorRepository().getDescriptorFor(cod.getItemClass());
        Collection extents = pb.getDescriptorRepository().getAllConcreteSubclassDescriptors(itemCLD);
        if(extents.size() > 0)
        {
            itemCLD = (ClassDescriptor) extents.iterator().next();
        }
        FieldDescriptor[] itemClassPKFields = itemCLD.getPkFields();
        if(itemClassPKFields.length != fkColumns.length)
        {
            throw new PersistenceBrokerException("All pk fields of the element-class need to" +
                    " be declared in the indirection table. Element class is "
                    + itemCLD.getClassNameOfObject() + " with " + itemClassPKFields.length + " pk-fields." +
                    " Declared 'fk-pointing-to-element-class' elements in collection-descriptor are"
                    + fkColumns.length);
        }
        try
        {
            rs = pb.serviceJdbcAccess().executeSQL(selectStmt, cld, pkValues, Query.NOT_SCROLLABLE);
            while(rs.m_rs.next())
            {
                ValueContainer[] row = new ValueContainer[fkColumns.length];
                for(int i = 0; i < row.length; i++)
                {
                    row[i] = new ValueContainer(rs.m_rs.getObject(i + 1), itemClassPKFields[i].getJdbcType());
                }
                result.add(new MtoNBroker.Key(row));
            }
        }
        catch(PersistenceBrokerException e)
        {
            throw e;
        }
        catch(SQLException e)
        {
            throw new PersistenceBrokerSQLException(e);
        }
        finally
        {
            if(rs != null) rs.close();
        }
        return result;
    }
View Full Code Here

Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

     * @param obj
     * @return Collection of Key
     */
    public List getMtoNImplementor(CollectionDescriptor cod, Object obj)
    {
        ResultSetAndStatement rs = null;
        ArrayList result = new ArrayList();
        ClassDescriptor cld = pb.getDescriptorRepository().getDescriptorFor(obj.getClass());
        ValueContainer[] pkValues = pb.serviceBrokerHelper().getKeyValues(cld, obj);
        String[] pkColumns = cod.getFksToThisClass();
        String[] fkColumns = cod.getFksToItemClass();
        String table = cod.getIndirectionTable();

        String selectStmt = pb.serviceSqlGenerator().getSelectMNStatement(table, fkColumns, pkColumns);

        ClassDescriptor itemCLD = pb.getDescriptorRepository().getDescriptorFor(cod.getItemClass());
        Collection extents = pb.getDescriptorRepository().getAllConcreteSubclassDescriptors(itemCLD);
        if(extents.size() > 0)
        {
            itemCLD = (ClassDescriptor) extents.iterator().next();
        }
        FieldDescriptor[] itemClassPKFields = itemCLD.getPkFields();
        if(itemClassPKFields.length != fkColumns.length)
        {
            throw new PersistenceBrokerException("All pk fields of the element-class need to" +
                    " be declared in the indirection table. Element class is "
                    + itemCLD.getClassNameOfObject() + " with " + itemClassPKFields.length + " pk-fields." +
                    " Declared 'fk-pointing-to-element-class' elements in collection-descriptor are"
                    + fkColumns.length);
        }
        try
        {
            rs = pb.serviceJdbcAccess().executeSQL(selectStmt, cld, pkValues, Query.NOT_SCROLLABLE);
            while(rs.m_rs.next())
            {
                ValueContainer[] row = new ValueContainer[fkColumns.length];
                for(int i = 0; i < row.length; i++)
                {
                    row[i] = new ValueContainer(rs.m_rs.getObject(i + 1), itemClassPKFields[i].getJdbcType());
                }
                result.add(new MtoNBroker.Key(row));
            }
        }
        catch(Exception e)
        {
            throw new PersistenceBrokerException(e);
        }
        finally
        {
            rs.close();
        }
        return result;
    }
View Full Code Here

Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

     * returns a unique String for given field.
     * the returned uid is unique accross all tables.
     */
    protected String getUniqueString(FieldDescriptor field) throws SequenceManagerException
    {
        ResultSetAndStatement rsStmt = null;
        String returnValue = null;
        try
        {
            rsStmt = getBrokerForClass().serviceJdbcAccess().executeSQL(
                    "select newid()", field.getClassDescriptor(), Query.NOT_SCROLLABLE);
            if (rsStmt.m_rs.next())
            {
                returnValue = rsStmt.m_rs.getString(1);
            }
            else
            {
                LoggerFactory.getDefaultLogger().error(this.getClass()
                        + ": Can't lookup new oid for field " + field);
            }
        }
        catch (PersistenceBrokerException e)
        {
            throw new SequenceManagerException(e);
        }
        catch (SQLException e)
        {
            throw new SequenceManagerException(e);
        }

        finally
        {
            // close the used resources
            if (rsStmt != null) rsStmt.close();
        }
        return returnValue;
    }
View Full Code Here

Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

    {
        FieldDescriptor[] fldArr = cld.getAutoIncrementFields();
        FieldDescriptor fd = fldArr.length > 0 ? fldArr[0] : null;
        if(fd != null)
    { // an autoinc column exists
      ResultSetAndStatement rsStmt = null;
            try
            {
        rsStmt = dbAccess.executeSQL("SELECT LAST_INSERT_ID() as newid FROM " + cld.getFullTableName(), cld, Query.NOT_SCROLLABLE);
                int newid = 0;
                if (rsStmt.m_rs.next())
                {
                    newid = rsStmt.m_rs.getInt("newid");
                }
                rsStmt.m_rs.close();
                if(log.isDebugEnabled()) log.debug("After store - newid=" + newid);

                PersistentField pf = fd.getPersistentField();
                pf.set(obj, new Integer(newid));
            }
            catch (PersistenceBrokerException e)
            {
        throw new SequenceManagerException(e);
            }
            catch (SQLException e)
            {
                throw new SequenceManagerException(e);
            }
      finally
      {
        rsStmt.close();
      }
        }

    }
View Full Code Here

Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

     * returns a unique String for given field.
     * the returned uid is unique accross all tables.
     */
    protected String getUniqueString(FieldDescriptor field) throws SequenceManagerException
    {
        ResultSetAndStatement rsStmt = null;
        String returnValue = null;
        try
        {
            rsStmt = getBrokerForClass().serviceJdbcAccess().executeSQL(
                    "select newid()", field.getClassDescriptor(), Query.NOT_SCROLLABLE);
            if (rsStmt.m_rs.next())
            {
                returnValue = rsStmt.m_rs.getString(1);
            }
            else
            {
                LoggerFactory.getDefaultLogger().error(this.getClass()
                        + ": Can't lookup new oid for field " + field);
            }
        }
        catch (PersistenceBrokerException e)
        {
            throw new SequenceManagerException(e);
        }
        catch (SQLException e)
        {
            throw new SequenceManagerException(e);
        }

        finally
        {
            // close the used resources
            if (rsStmt != null) rsStmt.close();
        }
        return returnValue;
    }
View Full Code Here

Examples of org.apache.ojb.broker.accesslayer.ResultSetAndStatement

     * @param obj
     * @return Collection of Key
     */
    public Collection getMtoNImplementor(CollectionDescriptor cod, Object obj)
    {
        ResultSetAndStatement rs = null;
        List result = new ArrayList();
        ClassDescriptor cld = pb.getDescriptorRepository().getDescriptorFor(obj.getClass());
        ValueContainer[] pkValues = pb.serviceBrokerHelper().getKeyValues(cld, obj);
        String[] pkColumns = cod.getFksToThisClass();
        String[] fkColumns = cod.getFksToItemClass();
        String table = cod.getIndirectionTable();
        String selectStmt = pb.serviceSqlGenerator().getSelectMNStatement(table, fkColumns, pkColumns);

        ClassDescriptor itemCLD = pb.getDescriptorRepository().getDescriptorFor(cod.getItemClass());
        Collection extents = pb.getDescriptorRepository().getAllConcreteSubclassDescriptors(itemCLD);
        if(extents.size() > 0)
        {
            itemCLD = (ClassDescriptor) extents.iterator().next();
        }
        FieldDescriptor[] itemClassPKFields = itemCLD.getPkFields();
        if(itemClassPKFields.length != fkColumns.length)
        {
            throw new PersistenceBrokerException("All pk fields of the element-class need to" +
                    " be declared in the indirection table. Element class is "
                    + itemCLD.getClassNameOfObject() + " with "+itemClassPKFields.length + " pk-fields." +
                    " Declared 'fk-pointing-to-element-class' elements in collection-descriptor are"
                    + fkColumns.length);
        }
        try
        {
            rs = pb.serviceJdbcAccess().executeSQL(selectStmt, cld, pkValues, Query.NOT_SCROLLABLE);
            while (rs.m_rs.next())
            {
                ValueContainer[] row = new ValueContainer[fkColumns.length];
                for (int i = 0; i < row.length; i++)
                {
                    row[i] = new ValueContainer(rs.m_rs.getObject(i + 1), itemClassPKFields[i].getJdbcType());
                }
                result.add(new MtoNBroker.Key(row));
            }
        }
        catch (Exception e)
        {
            throw new PersistenceBrokerException(e);
        }
        finally
        {
            rs.close();
        }
        return result;
    }
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.