Package org.apache.ojb.broker.metadata

Examples of org.apache.ojb.broker.metadata.SequenceDescriptor


        }

        // This line effectively loads OJB.properties & repository.xml
        ConnectionRepository     connRep = MetadataManager.getInstance().connectionRepository();
        JdbcConnectionDescriptor jcd     = connRep.addDescriptor("default", dataSource, username, password);
        SequenceDescriptor       seqDesc = new SequenceDescriptor(jcd);

        seqDesc.setSequenceManagerClass(SequenceManagerHighLowImpl.class);
        jcd.setSequenceDescriptor(seqDesc);
    }
View Full Code Here


            stmt = con.createStatement();
            stmt.execute(INSERT_DUMMY_REF);
            stmt.close();

            SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                    getDescriptor(pb.getPBKey()).getSequenceDescriptor();
            oldSequenceManager = sd.getSequenceManagerClass();
            sd.setSequenceManagerClass(SequenceManagerNativeImpl.class);
        }
        finally
        {
            if (pb != null) pb.close();
        }

        PersistenceBrokerFactory.releaseAllInstances();

        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                getDescriptor(broker.getPBKey()).getSequenceDescriptor();
        assertEquals(SequenceManagerNativeImpl.class, sd.getSequenceManagerClass());
    }
View Full Code Here

            stmt = con.createStatement();
            stmt.execute(DROP_REF);
            stmt.close();

            SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                    getDescriptor(pb.getPBKey()).getSequenceDescriptor();
            sd.setSequenceManagerClass(oldSequenceManager);
        }
        finally
        {
            if (pb != null) pb.close();
        }

        PersistenceBrokerFactory.releaseAllInstances();
        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                getDescriptor(broker.getPBKey()).getSequenceDescriptor();
        assertEquals(oldSequenceManager, sd.getSequenceManagerClass());
        broker.close();
    }
View Full Code Here

            if (log.isDebugEnabled()) log.debug("create new sequence manager for broker " + broker);
            try
            {
                // first we use seqMan defined in the OJB.properties
                Class seqManClass = defaultSeqManagerClass;
                SequenceDescriptor sd = broker.serviceConnectionManager().getConnectionDescriptor().getSequenceDescriptor();
                if (sd != null && sd.getSequenceManagerClass() != null)
                {
                    // if a seqMan was defined in repository, use that
                    seqManClass = sd.getSequenceManagerClass();
                    if (log.isDebugEnabled())
                    {
                        log.debug("Jdbc-Connection-Descriptor '" +
                                broker.serviceConnectionManager().getConnectionDescriptor().getJcdAlias() +
                                "' use sequence manager: " + seqManClass);
View Full Code Here

    public AbstractSequenceManager(PersistenceBroker broker)
    {
        this.brokerForClass = broker;
        this.configurationProperties = new Properties();
        this.platform = brokerForClass.serviceConnectionManager().getSupportedPlatform();
        SequenceDescriptor sd = brokerForClass.serviceConnectionManager().
                getConnectionDescriptor().getSequenceDescriptor();
        if (sd != null)
        {
            this.configurationProperties.putAll(sd.getConfigurationProperties());
        }
    }
View Full Code Here

        {
            JdbcConnectionDescriptor jcd = mm.connectionRepository().getDescriptor(TestHelper.DEF_KEY);
            jcd = (JdbcConnectionDescriptor) SerializationUtils.clone(jcd);
            // modify jcd copy
            jcd.setJcdAlias(jcdAlias);
            SequenceDescriptor sd = jcd.getSequenceDescriptor();
            assertNotNull("Can not find sequence-descriptor - check test", sd);
            // don't use autoNaming
            sd.addAttribute("autoNaming", "false");
            // add new connection descriptor to global base
            mm.connectionRepository().addDescriptor(jcd);

            // allow per thread changes of persistent object data
            mm.setEnablePerThreadChanges(true);
            DescriptorRepository dr = mm.copyOfGlobalRepository();
            ClassDescriptor cld = dr.getDescriptorFor(SMAutoNaming.class);
            FieldDescriptor field = cld.getAutoIncrementFields()[0];

            // set sequence name for persistent object to null
            field.setSequenceName(null);
            mm.setDescriptor(dr);

            broker = PersistenceBrokerFactory.createPersistenceBroker(tempKey);
            try
            {
                /*
                persistent object descriptor doesn't has a sequence name
                and autoNaming is false --> expect an exception
                */
                SMAutoNaming obj = new SMAutoNaming("testAutoNaming_1");
                sd = broker.serviceConnectionManager().getConnectionDescriptor().getSequenceDescriptor();
                assertTrue("false".equals(sd.getAttribute("autoNaming")));

                broker.beginTransaction();
                broker.store(obj);
                broker.commitTransaction();
                fail("If sequence manager implementation supports 'autoNaming' feature,"
                        +" this test should cause an exception (else ignore this failure).");
            }
            catch (PersistenceBrokerException e)
            {
                assertTrue(true);
                broker.abortTransaction();
            }

            try
            {
                /* attribute 'auto-naming' is still false,
                but now we set a sequence name for autoincrement field
                --> should pass
                */
                field.setSequenceName("AA_testAutoNaming_user_set");
                SMAutoNaming obj = new SMAutoNaming("testAutoNaming_2");
                broker.beginTransaction();
                broker.store(obj);
                broker.commitTransaction();
            }
            catch (PersistenceBrokerException e)
            {
                e.printStackTrace();
                broker.close();
                throw e;
            }

            try
            {
                // let OJB re-initialize sequence-manager
                broker.close();
                PersistenceBrokerFactory.releaseAllInstances();
                /*
                remove sequence name of autoincrement field
                but enable automatic sequence name generation
                --> should pass
                */
                field.setSequenceName(null);
                sd.addAttribute("autoNaming", "true");
                broker = PersistenceBrokerFactory.createPersistenceBroker(tempKey);
                SMAutoNaming obj = new SMAutoNaming("testAutoNaming_3");
                broker.beginTransaction();
                broker.store(obj);
                broker.commitTransaction();
View Full Code Here

     */
    public void YYYtestSequenceManagerStoredProcedureImpl() throws Exception
    {
        JdbcConnectionDescriptor jcd = MetadataManager.getInstance().connectionRepository().
                getDescriptor(PersistenceBrokerFactory.getDefaultKey());
        SequenceDescriptor old_sd = (SequenceDescriptor) SerializationUtils.clone(jcd.getSequenceDescriptor());
        PersistenceBroker broker;
        try
        {
            jcd.setSequenceDescriptor(new SequenceDescriptor(jcd, SequenceManagerStoredProcedureImpl.class));
            PersistenceBrokerFactory.releaseAllInstances();
            broker = PersistenceBrokerFactory.defaultPersistenceBroker();
            SequenceManager sm = broker.serviceSequenceManager();
            if (!(sm instanceof SequenceManagerStoredProcedureImpl))
            {
View Full Code Here

        SequenceManager sm = broker.serviceSequenceManager();
        int seqGrabSize = 0;
        // we need the SM grab size
        if (sm instanceof SequenceManagerSeqHiLoImpl || sm instanceof SequenceManagerHighLowImpl)
        {
            SequenceDescriptor sd = broker.serviceConnectionManager().getConnectionDescriptor().getSequenceDescriptor();
            String strSize = sd.getAttribute(SequenceManagerHighLowImpl.PROPERTY_GRAB_SIZE);
            if (strSize != null)
            {
                seqGrabSize = new Integer(strSize).intValue();
            }
        }
View Full Code Here

            stmt = con.createStatement();
            stmt.execute(INSERT_DUMMY_REF);
            stmt.close();

            SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                    getDescriptor(broker.getPBKey()).getSequenceDescriptor();
            oldSequenceManager = sd.getSequenceManagerClass();
            sd.setSequenceManagerClass(SequenceManagerNativeImpl.class);
        }
        catch (SQLException ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            if (broker != null) broker.close();
        }

        PersistenceBrokerFactory.releaseAllInstances();
        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                getDescriptor(broker.getPBKey()).getSequenceDescriptor();
        assertEquals(SequenceManagerNativeImpl.class, sd.getSequenceManagerClass());
    }
View Full Code Here

            stmt = con.createStatement();
            stmt.execute(DROP);
            stmt.close();

            SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                    getDescriptor(pb.getPBKey()).getSequenceDescriptor();
            sd.setSequenceManagerClass(oldSequenceManager);
        }
        catch (SQLException ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            if (pb != null)
            {
                pb.clearCache();
                pb.close();
            }
        }

        PersistenceBrokerFactory.releaseAllInstances();
        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
        SequenceDescriptor sd = MetadataManager.getInstance().connectionRepository().
                getDescriptor(broker.getPBKey()).getSequenceDescriptor();
        assertEquals(oldSequenceManager, sd.getSequenceManagerClass());
        broker.close();
    }
View Full Code Here

TOP

Related Classes of org.apache.ojb.broker.metadata.SequenceDescriptor

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.