01: /*
02: * Copyright 2006 The Kuali Foundation.
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.kuali.core.util;
17:
18: import org.apache.log4j.Logger;
19: import org.apache.ojb.broker.PBFactoryException;
20: import org.apache.ojb.broker.PBKey;
21: import org.apache.ojb.broker.PersistenceBrokerInternal;
22: import org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl;
23: import org.apache.ojb.broker.core.PersistenceBrokerHandle;
24:
25: public class KualiPersistenceBrokerFactoryImpl extends
26: PersistenceBrokerFactoryDefaultImpl {
27: private static final Logger LOG = Logger
28: .getLogger(KualiPersistenceBrokerFactoryImpl.class);
29:
30: /**
31: * @see org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl#createPersistenceBroker(org.apache.ojb.broker.PBKey)
32: */
33: public PersistenceBrokerInternal createPersistenceBroker(PBKey pbKey)
34: throws PBFactoryException {
35: PersistenceBrokerInternal pb = super
36: .createPersistenceBroker(pbKey);
37:
38: PersistenceBrokerHandle pbh = (PersistenceBrokerHandle) pb;
39: KualiPersistenceBrokerImpl realBroker = (KualiPersistenceBrokerImpl) pbh
40: .getInnermostDelegate();
41:
42: LOG.debug((realBroker.isFresh() ? "created " : "reusing ")
43: + "persistence broker " + pb.getClass().getName() + "@"
44: + pb.hashCode());
45:
46: return pb;
47: }
48: }
|