1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*-------------------------------------------------------------------------
*
* Copyright (c) 2007-2008, PostgreSQL Global Development Group
*
* IDENTIFICATION
* $PostgreSQL: pgjdbc/org/postgresql/xa/PGXADataSourceFactory.java,v 1.2 2008/01/08 06:56:31 jurka Exp $
*
*-------------------------------------------------------------------------
*/
package org.postgresql.xa;
import org.postgresql.ds.common.*;
import javax.naming.*;
import java.util.Hashtable;
/**
* An ObjectFactory implementation for PGXADataSource-objects.
*/
public class PGXADataSourceFactory extends PGObjectFactory
{
/* All the other PostgreSQL DataSource use PGObjectFactory directly, but we
* can't do that with PGXADataSource because referencing PGXADataSource
* from PGObjectFactory would break "JDBC2 Enterprise" edition build which
* doesn't include PGXADataSource.
*/
public Object getObjectInstance(Object obj, Name name, Context nameCtx,
Hashtable environment) throws Exception
{
Reference ref = (Reference)obj;
String className = ref.getClassName();
if (className.equals("org.postgresql.xa.PGXADataSource"))
{
return loadXADataSource(ref);
}
else
return null;
}
private Object loadXADataSource(Reference ref)
{
PGXADataSource ds = new PGXADataSource();
return loadBaseDataSource(ds, ref);
}
}
|