diff options
Diffstat (limited to 'base/server/cmscore/src/com/netscape/cmscore')
-rw-r--r-- | base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java | 46 | ||||
-rw-r--r-- | base/server/cmscore/src/com/netscape/cmscore/dbs/DBVirtualList.java | 29 |
2 files changed, 47 insertions, 28 deletions
diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java index 7d626b93d..8d9626521 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java +++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java @@ -24,8 +24,8 @@ import java.util.Arrays; import java.util.Date; import java.util.Enumeration; import java.util.Hashtable; -import java.util.Vector; import java.util.Random; +import java.util.Vector; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadFactory; @@ -42,9 +42,9 @@ import netscape.security.x509.X509CertInfo; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; +import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.base.MetaInfo; import com.netscape.certsrv.base.SessionContext; -import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.ca.ICRLIssuingPoint; import com.netscape.certsrv.dbs.EDBException; import com.netscape.certsrv.dbs.EDBRecordNotFoundException; @@ -192,7 +192,7 @@ public class CertificateRepository extends Repository randomNumber = (randomNumber.multiply(mRangeSize)).shiftRight(mBitLength); CMS.debug("CertificateRepository: getRandomNumber randomNumber="+randomNumber); - return randomNumber; + return randomNumber; } private BigInteger getRandomSerialNumber(BigInteger randomNumber) throws EBaseException { @@ -201,7 +201,7 @@ public class CertificateRepository extends Repository nextSerialNumber = randomNumber.add(mMinSerialNo); CMS.debug("CertificateRepository: getRandomSerialNumber nextSerialNumber="+nextSerialNumber); - return nextSerialNumber; + return nextSerialNumber; } private BigInteger checkSerialNumbers(BigInteger randomNumber, BigInteger serialNumber) throws EBaseException { @@ -247,7 +247,7 @@ public class CertificateRepository extends Repository } } while (nextSerialNumber == null && i < n); - return nextSerialNumber; + return nextSerialNumber; } private Object nextSerialNumberMonitor = new Object(); @@ -295,7 +295,7 @@ public class CertificateRepository extends Repository } } - return nextSerialNumber; + return nextSerialNumber; } private void updateCounter() { @@ -363,7 +363,7 @@ public class CertificateRepository extends Repository } CMS.debug("CertificateRepository: getInRangeCount count=" + count); - return count; + return count; } private BigInteger getInRangeCounter(BigInteger minSerialNo, BigInteger maxSerialNo) @@ -412,7 +412,7 @@ public class CertificateRepository extends Repository } CMS.debug("CertificateRepository: getInRangeCounter: counter=" + counter); - return counter; + return counter; } public BigInteger getLastSerialNumberInRange(BigInteger serial_low_bound, BigInteger serial_upper_bound) @@ -455,7 +455,7 @@ public class CertificateRepository extends Repository mEnableRandomSerialNumbers = !mEnableRandomSerialNumbers; mDBConfig.putBoolean(PROP_ENABLE_RANDOM_SERIAL_NUMBERS, mEnableRandomSerialNumbers); } - } + } if (mEnableRandomSerialNumbers && mCounter == null) { mCounter = getInRangeCounter(serial_low_bound, serial_upper_bound); } else { @@ -484,7 +484,7 @@ public class CertificateRepository extends Repository BigInteger ret = new BigInteger(serial_low_bound.toString(10)); - ret = ret.subtract(BigInteger.ONE); + ret = ret.subtract(BigInteger.ONE); CMS.debug("CertificateRepository:getLastCertRecordSerialNo: returning " + ret); return ret; } @@ -523,7 +523,7 @@ public class CertificateRepository extends Repository BigInteger ret = new BigInteger(serial_low_bound.toString(10)); - ret = ret.subtract(BigInteger.ONE); + ret = ret.subtract(BigInteger.ONE); CMS.debug("CertificateRepository:getLastCertRecordSerialNo: returning " + ret); if (modeChange && mEnableRandomSerialNumbers) { @@ -1027,7 +1027,7 @@ public class CertificateRepository extends Repository } catch (Exception e) { throw new EBaseException(e.getMessage()); } finally { - if (s != null) + if (s != null) s.close(); } return exists; @@ -1278,21 +1278,25 @@ public class CertificateRepository extends Repository public ICertRecordList findCertRecordsInList(String filter, String attrs[], String sortKey, int pageSize) throws EBaseException { - IDBSSession s = mDBService.createSession(); - CMS.debug("In findCertRecordsInList"); - CertRecordList list = null; + CMS.debug("CertificateRepository.findCertRecordsInList()"); + + IDBSSession session = mDBService.createSession(); try { - IDBVirtualList<ICertRecord> vlist = s.<ICertRecord>createVirtualList(getDN(), filter, attrs, - sortKey, pageSize); + IDBVirtualList<ICertRecord> list = session.<ICertRecord>createVirtualList( + getDN(), + filter, + attrs, + sortKey, + pageSize); + + return new CertRecordList(list); - list = new CertRecordList(vlist); } finally { - if (s != null) - s.close(); + if (session != null) + session.close(); } - return list; } public ICertRecordList findCertRecordsInList(String filter, diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/DBVirtualList.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/DBVirtualList.java index 51a9230ac..fde67c663 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/dbs/DBVirtualList.java +++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/DBVirtualList.java @@ -343,7 +343,11 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { * since you'd better check if the index is out of bound first. */ public int getSize() { + + CMS.debug("DBVirtualList.getSize()"); + if (!mInitialized) { + mInitialized = true; // Do an initial search to get the virtual list size // Keep one page before and one page after the start @@ -361,10 +365,13 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { LDAPVirtualListControl cont = null; if (mJumpTo == null) { + CMS.debug("DBVirtualList: searching for entry A"); cont = new LDAPVirtualListControl("A", mBeforeCount, mAfterCount); + } else { + CMS.debug("DBVirtualList: searching for entry " + mJumpTo); if (mPageSize < 0) { mBeforeCount = mPageSize * -1; @@ -374,11 +381,12 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { mBeforeCount, mAfterCount); } + mPageControls[1] = cont; getJumpToPage(); } - CMS.debug("Getting Virtual List size: " + mSize); + CMS.debug("DBVirtualList: size: " + mSize); return mSize; } @@ -412,6 +420,9 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { } private synchronized boolean getEntries() { + + CMS.debug("DBVirtualList.getEntries()"); + // Specify necessary controls for vlist // LDAPSearchConstraints cons = mConn.getSearchConstraints(); LDAPSearchConstraints cons = new LDAPSearchConstraints(); @@ -501,7 +512,8 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { //System.out.println( "Returning " + mEntries.size() + // " entries" ); - CMS.debug("getEntries returning " + mEntries.size()); + CMS.debug("DBVirtualList: entries: " + mEntries.size()); + return true; } @@ -532,7 +544,7 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { mSelectedIndex = nextCont.getFirstPosition() - 1; mTop = Math.max(0, mSelectedIndex - mBeforeCount); - CMS.debug("mTop " + mTop); + CMS.debug("DBVirtualList: top: " + mTop); if (mJumpTo != null) { mJumpToInitialIndex = mTop; } @@ -564,7 +576,9 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { * @param first the index of the first entry of the page you want to fetch */ public boolean getPage(int first) { - CMS.debug("getPage " + first); + + CMS.debug("DBVirtualList.getPage(" + first + ")"); + if (!mInitialized) { LDAPVirtualListControl cont = new LDAPVirtualListControl(0, mBeforeCount, @@ -658,14 +672,15 @@ public class DBVirtualList<E> implements IDBVirtualList<E> { * the caller should really check the index is within bound before this * but I'll take care of this just in case they are too irresponsible */ - if (!mInitialized) + if (!mInitialized) { mSize = getSize(); + } - CMS.debug("getElementAt: " + index + " mTop " + mTop); + CMS.debug("DBVirtualList: retrieving entry #" + index); //System.out.println( "need entry " + index ); if ((index < 0) || (index >= mSize)) { - CMS.debug("returning null"); + CMS.debug("DBVirtualList: returning null"); return null; } |