Package org.exolab.castor.persist.spi

Examples of org.exolab.castor.persist.spi.KeyGeneratorFactory


            AbstractProperties properties = CPAProperties.getInstance();
            Object[] objects = properties.getObjectArray(
                    CPAProperties.KEYGENERATOR_FACTORIES,
                    properties.getApplicationClassLoader());
            for (int i = 0; i < objects.length; i++) {
                KeyGeneratorFactory factory = (KeyGeneratorFactory) objects[i];
                _factories.put(factory.getName(), factory);
            }
        }
    }
View Full Code Here


     * @param sqlType SQL type identifier.
     * @return The {@link KeyGenerator} instance to be used.
     */
    public KeyGenerator getKeyGenerator(final PersistenceFactory factory,
            final KeyGeneratorDescriptor descriptor, final int sqlType) throws MappingException {
        KeyGeneratorFactory keyGeneratorFactory;
        String keyGeneratorName = descriptor.getName() + " " + sqlType;
       
        // check whether there's already a valid KeyGenerator instance registered.
        KeyGenerator keyGenerator = (KeyGenerator) _keyGenerators.get(keyGeneratorName);

        if (keyGenerator == null) {
            keyGeneratorFactory = KeyGeneratorFactoryRegistry.getKeyGeneratorFactory(
                    descriptor.getKeyGeneratorFactoryName());

            if (keyGeneratorFactory != null) {
                keyGenerator =
                    keyGeneratorFactory.getKeyGenerator(factory, descriptor.getParams(), sqlType);
                if (keyGenerator != null) {
                    if (_log.isDebugEnabled()) {
                        _log.debug("Key generator " + descriptor.getKeyGeneratorFactoryName()
                                + " has been instantiated, parameters: " + descriptor.getParams());
                    }
View Full Code Here

    private static synchronized void load()
    {
        if ( _factories == null ) {
            String             prop;
            StringTokenizer    tokenizer;
            KeyGeneratorFactory factory;
            Class              cls;
           
            _factories = new Hashtable();
            prop = LocalConfiguration.getInstance().getProperty( KeyGeneratorFactoriesProperty, "" );
            tokenizer = new StringTokenizer( prop, ", " );
            while ( tokenizer.hasMoreTokens() ) {
                prop = tokenizer.nextToken();
                try {
                    cls = KeyGeneratorFactoryRegistry.class.getClassLoader().loadClass( prop );
                    factory = (KeyGeneratorFactory) cls.newInstance();
                    _factories.put( factory.getName(), factory );
                } catch ( Exception except ) {
                    Logger.getSystemLogger().println( Messages.format( "persist.missingKeyGeneratorFactory", prop ) );
                }
            }
        }
View Full Code Here

                                         KeyGeneratorDescriptor desc,
                                         int sqlType )
            throws MappingException
    {
        String keyGenName;
        KeyGeneratorFactory keyGenFactory;
        KeyGenerator keyGen;

        keyGenName = desc.getName() + " " + sqlType;
        keyGen = (KeyGenerator) _keyGens.get( keyGenName );
        if ( keyGen == null ) {
            keyGenFactory = KeyGeneratorFactoryRegistry.getKeyGeneratorFactory(
                    desc.getKeyGeneratorFactoryName() );

            if (keyGenFactory != null) {
                keyGen = keyGenFactory.getKeyGenerator( factory, desc.getParams(), sqlType );
                if ( keyGen != null )
                {
                    if(_log.isDebugEnabled()){
                      _log.debug( "Key generator " + desc.getKeyGeneratorFactoryName() +
                            " has been instantiated, parameters: " + desc.getParams() );
View Full Code Here

                                         int sqlType,
                                         LogInterceptor logInterceptor )
            throws MappingException
    {
        String keyGenName;
        KeyGeneratorFactory keyGenFactory;
        KeyGenerator keyGen;

        keyGenName = desc.getName() + " " + sqlType;
        keyGen = (KeyGenerator) _keyGens.get( keyGenName );
        if ( keyGen == null ) {
            keyGenFactory = KeyGeneratorFactoryRegistry.getKeyGeneratorFactory(
                    desc.getKeyGeneratorFactoryName() );

            if (keyGenFactory != null) {
                keyGen = keyGenFactory.getKeyGenerator( factory, desc.getParams(), sqlType );
                if ( keyGen != null && logInterceptor != null ) {
                    logInterceptor.message( "Key generator " +
                            desc.getKeyGeneratorFactoryName() +
                            " has been instantiated, parameters: " +
                            desc.getParams() );
View Full Code Here

    private static synchronized void load()
    {
        if ( _factories == null ) {
            String             prop;
            StringTokenizer    tokenizer;
            KeyGeneratorFactory factory;
            Class              cls;
           
            _factories = new Hashtable();
            prop = LocalConfiguration.getInstance().getProperty( KeyGeneratorFactoriesProperty, "" );
            tokenizer = new StringTokenizer( prop, ", " );
            while ( tokenizer.hasMoreTokens() ) {
                prop = tokenizer.nextToken();
                try {
                    cls = KeyGeneratorFactoryRegistry.class.getClassLoader().loadClass( prop );
                    factory = (KeyGeneratorFactory) cls.newInstance();
                    _factories.put( factory.getName(), factory );
                } catch ( Exception except ) {
                    Logger.getSystemLogger().println( Messages.format( "persist.missingKeyGeneratorFactory", prop ) );
                }
            }
        }
View Full Code Here

TOP

Related Classes of org.exolab.castor.persist.spi.KeyGeneratorFactory

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.