package com.neo.smartobjects;

import java.util.*;
import java.beans.*;
import java.lang.reflect.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;

public class ObjectFactory {

  private static boolean initialized = false;
  private static DataSource ds;
  private static Hashtable cache = new Hashtable();

  public static void initialize(String context, String sourceName)
          throws SmartObjectException {
    if (!initialized) {
      try {
        Context initCtx = new InitialContext();
        Context envCtx = (Context)
                initCtx.lookup(context);
        ds = (DataSource) envCtx.lookup(sourceName);
        initialized = true;
      }
      catch (NamingException ne) {
        throw new SmartObjectException("Could not initialize factory.", ne);
      }
    }
  }
  .
  .
  .
}
