private void putCvInMiRef( String miRef, CvObject cv ) { cachedByMiRef.put( new MiRefKey( miRef, cv.getClass() ), cv ); }
public <T extends CvObject> T getByMiRef( Class<T> cvType, String miRef, boolean forceReload ) { if ( miRef == null ) { throw new NullPointerException( "miRef" ); } MiRefKey key = new MiRefKey( miRef, cvType ); if ( !forceReload && cachedByMiRef.containsKey( key ) ) { if (log.isDebugEnabled()) log.debug("Getting by miRef: "+miRef+" - Hit"); return ( T ) cachedByMiRef.get( key ); } T cvObject = null; try { cvObject = getDaoFactory().getCvObjectDao().getByPrimaryId( cvType, miRef ); } catch (Exception e) { throw new IntactException("Exception getting cvType "+cvType.getSimpleName()+" with miRef: "+miRef); } if ( cvObject == null ) { if (log.isDebugEnabled()) log.debug("Getting by miRef: "+miRef+" - Missed"); return null; } if (log.isDebugEnabled()) log.debug("Getting by miRef: "+miRef+" - DB Hit"); putCv( cvObject ); putCvInMiRef( miRef, cvObject ); return cvObject; }