public virtual void DropPersistenceUnit(string name) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { if (name == null) { name = ""; } lock (persistenceUnits) { if (!persistenceUnits.ContainsKey(name)) { throw new Net.Vpc.Upa.Exceptions.NoSuchPersistenceUnitException(name); } Net.Vpc.Upa.PersistenceUnit persistenceUnit = Net.Vpc.Upa.Impl.FwkConvertUtils.GetMapValue <string, Net.Vpc.Upa.PersistenceUnit>(persistenceUnits, name); if (!persistenceUnit.IsClosed()) { persistenceUnit.Close(); } listeners.FireOnDropPersistenceUnit(new Net.Vpc.Upa.Callbacks.PersistenceUnitEvent(persistenceUnit, this, Net.Vpc.Upa.EventPhase.BEFORE)); persistenceUnits.Remove(name); listeners.FireOnDropPersistenceUnit(new Net.Vpc.Upa.Callbacks.PersistenceUnitEvent(persistenceUnit, this, Net.Vpc.Upa.EventPhase.AFTER)); } }