public class FolderIndexService extends Object implements SubService
Modifier and Type | Field and Description |
---|---|
static String |
DEFERRED_UPDATE_SEQ_NAME
The name of the folder index deferred update sequence.
|
static String |
DEFERRED_UPDATE_TABLE_NAME
The name of the folder index deferred update table.
|
protected static String |
FOLDER_TABLE_NAME
The name of the folder table.
|
static String |
FPR_TABLE_NAME
The name of the FolderPathRelationship view.
|
protected boolean |
m_CreationDeferred
Indicates whether or not the creation of the index has
been deferred and has not yet completed.
|
protected Long |
m_FolderIndexPropertyBundleClassId
The Class ID of the Folder Index Properties PropertyBundle
|
protected Long |
m_FolderIndexPropertyBundleId
The ID of the Folder Index Properties PropertyBundle
|
protected int |
m_MaxLevel
The maximum level.
|
protected S_LibraryService |
m_Service
The parent library service
|
protected int |
m_UpdateMode
The update mode for this service
|
protected boolean |
m_UseExistsClause
Should FRQ's use an "exists" clause?
|
static String |
MAP_INDEX_LEFT
The name of the index on the leftid.
|
static String |
MAP_INDEX_RIGHT
The name of the index on the rightid.
|
protected static int |
MAP_LEVEL_MAIN |
static String |
MAP_TABLE_NAME
The name of the folder index table.
|
static String |
PARAM_TABLE_NAME
The name of the folder index parameter table.
|
protected static int |
PARAMETER_KEY_MAP_CREATION_DEFERRED
The parameter key used to indicate whether the creation of
the map is not yet complete.
|
protected static int |
PARAMETER_KEY_MAP_UPDATE_MODE
The parameter key used to indicate whether the map is updated
synchronously or asynchronously.
|
protected static int |
PARAMETER_KEY_MAXLEVEL
The parameter key used to hold the maximum number of levels.
|
protected static int |
PARAMETER_KEY_PARTIALLY_CREATED
The parameter key used to indicate that the index is
only partially created.
|
protected static int |
PARAMETER_VALUE_MAP_UPDATE_MODE_ASYNC
The value of the PARAMETER_KEY_MAP_UPDATE_MODE parameter
that indicates the map is updated asynchronously.
|
protected static int |
PARAMETER_VALUE_MAP_UPDATE_MODE_NONE
The value of the PARAMETER_KEY_MAP_UPDATE_MODE parameter
that indicates the map does not exist.
|
protected static int |
PARAMETER_VALUE_MAP_UPDATE_MODE_SYNC
The value of the PARAMETER_KEY_MAP_UPDATE_MODE parameter
that indicates the map is updated synchronously.
|
static String |
REL_TABLE_NAME
The name of the Relationship table.
|
protected static String |
STATEMENT_CHECK_AT_LEVEL |
protected static String |
STATEMENT_COUNT_OF_DIRECT_CHILDREN |
protected static String |
STATEMENT_CYCLE_CHECK |
protected static String |
STATEMENT_DELETE_ALL_BY_LEFT |
protected static String |
STATEMENT_DELETE_DEFERRED_UPDATE_ROW |
protected static String |
STATEMENT_DELETE_MAP_ROW |
protected static String |
STATEMENT_DELETE_SELF_ROW |
protected static String |
STATEMENT_FOLDERS_WITH_MANY_PARENTS |
protected static String |
STATEMENT_GET_DIRECT_PARENTS |
protected static String |
STATEMENT_INSERT_DEFERRED_UPDATE_ROW |
protected static String |
STATEMENT_INSERT_MAP_ROW |
protected static String |
STATEMENT_INSERT_MAP_ROWS |
protected static String |
STATEMENT_INSERT_SELF_ROW |
protected static String |
STATEMENT_LOCK_PARAMETER |
protected static String |
STATEMENT_PROMOTE_ADD_DESCENDANTS |
protected static String |
STATEMENT_PROMOTE_ANCESTORS |
protected static String |
STATEMENT_PROMOTE_DESCENDANTS |
protected static String |
STATEMENT_SELECT_DEFERRED_UPDATE_ROWS |
protected static String |
STATEMENT_SELECT_PARAMETER |
protected static String |
STATEMENT_SELECT_ROWS_FOR_DELETE |
protected static String |
STATEMENT_SHOW_MAP |
protected static String |
STATEMENT_UPDATE_SELF_ROW |
Modifier | Constructor and Description |
---|---|
protected |
FolderIndexService(S_LibraryService service)
Construct a FolderIndexService.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addToFolder(S_LibrarySession sess,
long parentid,
long childid)
Update the index to reflect a child folder being added to a parent folder.
|
protected void |
addToFolderNow(S_LibrarySession sess,
long parentid,
long childid)
Update the index to reflect a child folder being added to a parent folder,
without deferring.
|
protected void |
applyDeferredUpdate(S_LibrarySession sess,
FolderIndexDeferredUpdate fidu) |
protected void |
breakCycle(S_LibrarySession sess,
long leftId,
long rightId) |
protected void |
changeUpdateMode(S_LibrarySession sess,
int newMode) |
protected void |
completeIndexCreation(S_LibrarySession sess,
boolean creationDeferred) |
protected PreparedStatement |
constructPreparedStatement(LibraryConnection lc,
Connection conn,
String key,
String stmt) |
protected void |
createDeferredUpdate(S_LibrarySession sess,
int operationType,
long leftId,
long rightId,
int level) |
protected void |
createInitialDeferredEntries(S_LibrarySession sess) |
protected void |
createInitialSelfRows(S_LibrarySession sess) |
protected void |
createMapSelfRow(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long id,
long leftSource,
int maplevel) |
protected boolean |
deferOperation(S_LibrarySession sess) |
protected void |
deleteDeferredUpdate(S_LibrarySession sess,
long id) |
protected void |
deleteMapParameterRow(LibraryConnection lc,
Connection conn,
long key) |
protected void |
deleteMapSelfRow(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long id,
int maplevel) |
protected int |
determineMapLevel(LibraryConnection lc,
Connection conn,
int maxLevel,
long folderId) |
void |
dispose()
Terminate this subservice.
|
protected HashMap |
getDirectParents(S_LibrarySession sess,
int level,
Vector folderVector)
Returns the direct parents of all the folders that are in the
given vector.
|
protected int |
getFolderIndexLock(LibraryConnection lc,
Connection conn) |
protected Long |
getFolderIndexPropertyBundleClassId(S_LibrarySession sess) |
protected Long |
getFolderIndexPropertyBundleId(S_LibrarySession sess) |
protected Long[] |
getFoldersNeedingPromotion(S_LibrarySession sess,
int level,
int maxParentsThreshold,
int maxChildrenThreshold)
Returns array of Long objects that hold the id of the
folders at the current level that need promotion, in order to avoid explosion
of rows in the odmz_folderindex because of multiply
linked folders.
|
protected Vector |
getFoldersWithParentCountAboveThreshold(S_LibrarySession sess,
int level,
int parentThreshhold)
Returns Vector of folders whose direct parent count is greater
than the max parent threshold.
|
protected String |
getFrqClause(S_LibrarySession sess,
long topFolderId,
String poAlias,
String relView)
Gets a Folder-restricted search clause (FRQ).
|
protected String |
getFrqClause(S_LibrarySession sess,
long topFolderId,
String poAlias,
String relView,
Boolean useExists)
Gets a Folder-restricted search clause (FRQ).
|
protected String |
getFrqExistsClause(long topFolderId,
int topMapLevel,
int bottomMapLevel,
String poAlias,
String relView) |
protected String |
getFrqExistsClause(S_LibrarySession sess,
long topFolderId,
String poAlias,
String relView)
Gets a Folder-restricted search clause (FRQ) using the EXISTS syntax.
|
protected String |
getFrqInClause(long topFolderId,
int topMapLevel,
int bottomMapLevel,
String relView) |
protected String |
getFrqInClause(S_LibrarySession sess,
long topFolderId,
String poAlias,
String relView)
Gets a Folder-restricted search clause (FRQ) using the IN syntax.
|
protected int |
getMapParameterRow(LibraryConnection lc,
Connection conn,
int paramKey,
boolean shouldLock) |
protected int |
getMaxLevel(LibraryConnection lc,
Connection conn) |
protected int |
getMaxLevel(LibraryConnection lc,
Connection conn,
boolean shouldLock) |
int |
getMaxLevel(S_LibrarySession sess)
Gets the Max level setting for the Folder index.
|
protected PreparedStatement |
getPreparedStatement(LibraryConnection lc,
Connection conn,
String key) |
protected int |
getUpdateMode(LibraryConnection lc,
Connection conn) |
protected void |
init()
Initialize this subservice.
|
protected void |
initializeTables(S_LibrarySession sess,
int maxLevels) |
protected void |
insertMapParameterRow(LibraryConnection lc,
Connection conn,
long key,
long value) |
protected void |
insertReferences(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long parentid,
long childid,
int maplevel) |
protected boolean |
isChildCountAboveThreshold(S_LibrarySession sess,
Long folderId,
int childCountThreshold)
Returns true if the given folder has more children than
the threshold.
|
protected boolean |
isCreationDeferred(LibraryConnection lc,
Connection conn) |
protected boolean |
isCreationDeferred(S_LibrarySession sess) |
protected boolean |
isCycleCheckViolation(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long parentid,
long childid,
int parentMapLevel,
int childMapLevel) |
protected boolean |
isFolderAtMaplevel(LibraryConnection lc,
Connection conn,
long folderId,
int maplevel) |
protected boolean |
isIndexPartiallyCreated(LibraryConnection lc,
Connection conn) |
protected boolean |
isValidLevel(int level,
int maxLevel) |
protected void |
postEvent(S_LibrarySession sess) |
protected void |
promoteFolder(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
int maxLevel,
long folderId,
int newLevel) |
protected void |
promoteFolder(S_LibrarySession sess,
long folderId,
int newLevel)
Promote a folder to the specified level.
|
protected void |
promoteFolderNow(S_LibrarySession sess,
long folderId,
int newLevel)
Promote a folder to the specified level, without deferring.
|
protected void |
promoteFolderOneLevel(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
HashMap promotedMap,
long folderId,
int currentLevel) |
protected void |
promoteSingleFolderOneLevel(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long folderId,
int currentLevel) |
protected void |
registerNewFolder(S_LibrarySession sess,
long id)
Register a new folder at the main level.
|
protected void |
registerNewFolder(S_LibrarySession sess,
long id,
int level)
Register a new folder at the specified level.
|
protected void |
registerNewFolderNow(S_LibrarySession sess,
long id,
int level)
Register a new folder at the specified level, without deferring.
|
protected void |
removeFromFolder(S_LibrarySession sess,
long parentid,
long childid)
Update the index to reflect a child folder being removed from
a parent folder.
|
protected void |
removeFromFolderNow(S_LibrarySession sess,
long parentid,
long childid)
Update the index to reflect a child folder being removed from
a parent folder, without deferring.
|
protected void |
removeReferences(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long parentid,
long childid,
int maplevel) |
protected int |
resetFolderIndex(S_LibrarySession sess) |
protected Vector |
selectDeferredUpdates(S_LibrarySession sess,
int maxItems) |
protected void |
setMaxLevel(LibraryConnection lc,
Connection conn,
int maxLevel) |
protected void |
setUpdateMode(LibraryConnection lc,
Connection conn,
int updateMode) |
protected void |
truncateTables(S_LibrarySession sess) |
protected void |
unregisterFreedFolder(S_LibrarySession sess,
long id)
Unregister a folder that is being freed.
|
protected void |
unregisterFreedFolderNow(S_LibrarySession sess,
long id)
Unregister a folder that is being freed, without deferring.
|
protected void |
updateMapSelfRow(S_LibrarySession sess,
LibraryConnection lc,
Connection conn,
long id,
long tempvalue,
int maplevel) |
protected void |
verifyValidLevel(int level,
int maxLevel) |
public static final String FPR_TABLE_NAME
public static final String REL_TABLE_NAME
public static final String MAP_TABLE_NAME
public static final String PARAM_TABLE_NAME
public static final String DEFERRED_UPDATE_TABLE_NAME
public static final String DEFERRED_UPDATE_SEQ_NAME
public static final String MAP_INDEX_LEFT
public static final String MAP_INDEX_RIGHT
protected static final String FOLDER_TABLE_NAME
protected static final int PARAMETER_KEY_MAXLEVEL
protected static final int PARAMETER_KEY_PARTIALLY_CREATED
protected static final int PARAMETER_KEY_MAP_UPDATE_MODE
protected static final int PARAMETER_KEY_MAP_CREATION_DEFERRED
protected static final int PARAMETER_VALUE_MAP_UPDATE_MODE_NONE
protected static final int PARAMETER_VALUE_MAP_UPDATE_MODE_SYNC
protected static final int PARAMETER_VALUE_MAP_UPDATE_MODE_ASYNC
protected static final String STATEMENT_SELECT_ROWS_FOR_DELETE
protected static final String STATEMENT_SELECT_PARAMETER
protected static final String STATEMENT_SELECT_DEFERRED_UPDATE_ROWS
protected static final String STATEMENT_INSERT_SELF_ROW
protected static final String STATEMENT_INSERT_MAP_ROW
protected static final String STATEMENT_INSERT_MAP_ROWS
protected static final String STATEMENT_INSERT_DEFERRED_UPDATE_ROW
protected static final String STATEMENT_UPDATE_SELF_ROW
protected static final String STATEMENT_DELETE_SELF_ROW
protected static final String STATEMENT_DELETE_MAP_ROW
protected static final String STATEMENT_DELETE_ALL_BY_LEFT
protected static final String STATEMENT_DELETE_DEFERRED_UPDATE_ROW
protected static final String STATEMENT_PROMOTE_DESCENDANTS
protected static final String STATEMENT_PROMOTE_ANCESTORS
protected static final String STATEMENT_PROMOTE_ADD_DESCENDANTS
protected static final String STATEMENT_CHECK_AT_LEVEL
protected static final String STATEMENT_CYCLE_CHECK
protected static final String STATEMENT_LOCK_PARAMETER
protected static final String STATEMENT_SHOW_MAP
protected static final String STATEMENT_FOLDERS_WITH_MANY_PARENTS
protected static final String STATEMENT_COUNT_OF_DIRECT_CHILDREN
protected static final String STATEMENT_GET_DIRECT_PARENTS
protected static final int MAP_LEVEL_MAIN
protected S_LibraryService m_Service
protected int m_UpdateMode
protected int m_MaxLevel
protected boolean m_CreationDeferred
protected boolean m_UseExistsClause
protected Long m_FolderIndexPropertyBundleId
protected Long m_FolderIndexPropertyBundleClassId
protected FolderIndexService(S_LibraryService service) throws IfsException
service
- the requesting library serviceIfsException
- if operation fails.protected void init() throws IfsException
This will throw if the supporting database table does not exist.
IfsException
- if the operation failspublic void dispose() throws IfsException
This method is required by the SubService interface; it currently does nothing.
dispose
in interface SubService
IfsException
- if the operation failspublic int getMaxLevel(S_LibrarySession sess) throws IfsException
sess
- session contextIfsException
- if the operation failsprotected void registerNewFolder(S_LibrarySession sess, long id) throws IfsException
sess
- session contextid
- ID of the new FolderIfsException
- if the operation failsprotected void registerNewFolder(S_LibrarySession sess, long id, int level) throws IfsException
sess
- session contextid
- ID of the new Folderlevel
- the index level to register the new folderIfsException
- if the operation failsprotected void registerNewFolderNow(S_LibrarySession sess, long id, int level) throws IfsException
sess
- session contextid
- ID of the new Folderlevel
- the index level to register the new folderIfsException
- if the operation failsprotected void unregisterFreedFolder(S_LibrarySession sess, long id) throws IfsException
sess
- session contextid
- ID of the FolderIfsException
- if the operation failsprotected void unregisterFreedFolderNow(S_LibrarySession sess, long id) throws IfsException
sess
- session contextid
- ID of the FolderIfsException
- if the operation failsprotected void addToFolder(S_LibrarySession sess, long parentid, long childid) throws IfsException
sess
- session contextparentid
- ID of the parent Folderchildid
- ID of the child FolderIfsException
- if the operation failsprotected void addToFolderNow(S_LibrarySession sess, long parentid, long childid) throws IfsException
sess
- session contextparentid
- ID of the parent Folderchildid
- ID of the child FolderIfsException
- if the operation failsprotected void removeFromFolder(S_LibrarySession sess, long parentid, long childid) throws IfsException
sess
- session contextparentid
- ID of the parent Folderchildid
- ID of the child FolderIfsException
- if the operation failsprotected void removeFromFolderNow(S_LibrarySession sess, long parentid, long childid) throws IfsException
sess
- session contextparentid
- ID of the parent Folderchildid
- ID of the child FolderIfsException
- if the operation failsprotected Long[] getFoldersNeedingPromotion(S_LibrarySession sess, int level, int maxParentsThreshold, int maxChildrenThreshold) throws IfsException
sess
- handle to the sessionlevel
- current levelmaxParentsThreshold
- max parent's threshholdmaxChildrenThreshold
- max child's threshholdIfsException
- if the operation failsprotected void promoteFolder(S_LibrarySession sess, long folderId, int newLevel) throws IfsException
sess
- session contextfolderId
- ID of the Folder to promotenewLevel
- the level to promote the folder toIfsException
- if the operation failsprotected void promoteFolderNow(S_LibrarySession sess, long folderId, int newLevel) throws IfsException
sess
- session contextfolderId
- ID of the Folder to promotenewLevel
- the level to promote the folder toIfsException
- if the operation failsprotected String getFrqClause(S_LibrarySession sess, long topFolderId, String poAlias, String relView) throws IfsException
Uses the EXISTS or IN variants according to the setting in the FolderIndex PropertyBundle.
sess
- session contexttopFolderId
- ID of the top Folder; all search results will be
below this FolderpoAlias
- the SQL alias used for the select targetrelView
- the name of the FolderRelationship view to be usedIfsException
- if the operation failsprotected String getFrqClause(S_LibrarySession sess, long topFolderId, String poAlias, String relView, Boolean useExists) throws IfsException
Uses the EXISTS or IN variants according to the setting in the FolderIndex PropertyBundle unless explicitly specified by the useExists argument.
sess
- session contexttopFolderId
- ID of the top Folder; all search results will be
below this FolderpoAlias
- the SQL alias used for the select targetrelView
- the name of the FolderRelationship view to be useduseExists
- indication as to which variant should be generatedIfsException
- if the operation failsprotected String getFrqExistsClause(S_LibrarySession sess, long topFolderId, String poAlias, String relView) throws IfsException
sess
- session contexttopFolderId
- ID of the top Folder; all search results will be
below this FolderpoAlias
- the SQL alias used for the select targetrelView
- the name of the FolderRelationship view to be usedIfsException
- if the operation failsprotected String getFrqInClause(S_LibrarySession sess, long topFolderId, String poAlias, String relView) throws IfsException
sess
- session contexttopFolderId
- ID of the top Folder; all search results will be
below this FolderpoAlias
- the SQL alias used for the select targetrelView
- the name of the FolderRelationship view to be usedIfsException
- if the operation failsprotected boolean isCreationDeferred(S_LibrarySession sess) throws IfsException
IfsException
protected void initializeTables(S_LibrarySession sess, int maxLevels) throws IfsException
IfsException
protected void createInitialSelfRows(S_LibrarySession sess) throws IfsException
IfsException
protected void createInitialDeferredEntries(S_LibrarySession sess) throws IfsException
IfsException
protected int resetFolderIndex(S_LibrarySession sess) throws IfsException
IfsException
protected void truncateTables(S_LibrarySession sess) throws IfsException
IfsException
protected void completeIndexCreation(S_LibrarySession sess, boolean creationDeferred) throws IfsException
IfsException
protected void changeUpdateMode(S_LibrarySession sess, int newMode) throws IfsException
IfsException
protected boolean deferOperation(S_LibrarySession sess) throws IfsException
IfsException
protected void createDeferredUpdate(S_LibrarySession sess, int operationType, long leftId, long rightId, int level) throws IfsException
IfsException
protected void postEvent(S_LibrarySession sess) throws IfsException
IfsException
protected Long getFolderIndexPropertyBundleId(S_LibrarySession sess) throws IfsException
IfsException
protected Long getFolderIndexPropertyBundleClassId(S_LibrarySession sess) throws IfsException
IfsException
protected void applyDeferredUpdate(S_LibrarySession sess, FolderIndexDeferredUpdate fidu) throws IfsException
IfsException
protected void breakCycle(S_LibrarySession sess, long leftId, long rightId) throws IfsException
IfsException
protected void deleteDeferredUpdate(S_LibrarySession sess, long id) throws IfsException
IfsException
protected Vector selectDeferredUpdates(S_LibrarySession sess, int maxItems) throws IfsException
IfsException
protected void setUpdateMode(LibraryConnection lc, Connection conn, int updateMode) throws IfsException
IfsException
protected String getFrqExistsClause(long topFolderId, int topMapLevel, int bottomMapLevel, String poAlias, String relView)
protected String getFrqInClause(long topFolderId, int topMapLevel, int bottomMapLevel, String relView)
protected boolean isCycleCheckViolation(S_LibrarySession sess, LibraryConnection lc, Connection conn, long parentid, long childid, int parentMapLevel, int childMapLevel) throws IfsException
IfsException
protected int determineMapLevel(LibraryConnection lc, Connection conn, int maxLevel, long folderId) throws IfsException
IfsException
protected boolean isFolderAtMaplevel(LibraryConnection lc, Connection conn, long folderId, int maplevel) throws IfsException
IfsException
protected void createMapSelfRow(S_LibrarySession sess, LibraryConnection lc, Connection conn, long id, long leftSource, int maplevel) throws IfsException
IfsException
protected void updateMapSelfRow(S_LibrarySession sess, LibraryConnection lc, Connection conn, long id, long tempvalue, int maplevel) throws IfsException
IfsException
protected void deleteMapSelfRow(S_LibrarySession sess, LibraryConnection lc, Connection conn, long id, int maplevel) throws IfsException
IfsException
protected void insertReferences(S_LibrarySession sess, LibraryConnection lc, Connection conn, long parentid, long childid, int maplevel) throws IfsException
IfsException
protected void removeReferences(S_LibrarySession sess, LibraryConnection lc, Connection conn, long parentid, long childid, int maplevel) throws IfsException
IfsException
protected void promoteFolder(S_LibrarySession sess, LibraryConnection lc, Connection conn, int maxLevel, long folderId, int newLevel) throws Exception
Exception
protected void promoteFolderOneLevel(S_LibrarySession sess, LibraryConnection lc, Connection conn, HashMap promotedMap, long folderId, int currentLevel) throws IfsException
IfsException
protected void promoteSingleFolderOneLevel(S_LibrarySession sess, LibraryConnection lc, Connection conn, long folderId, int currentLevel) throws IfsException
IfsException
protected void setMaxLevel(LibraryConnection lc, Connection conn, int maxLevel) throws IfsException
IfsException
protected int getFolderIndexLock(LibraryConnection lc, Connection conn) throws IfsException
IfsException
protected int getMaxLevel(LibraryConnection lc, Connection conn) throws IfsException
IfsException
protected int getMaxLevel(LibraryConnection lc, Connection conn, boolean shouldLock) throws IfsException
IfsException
protected void verifyValidLevel(int level, int maxLevel) throws Exception
Exception
protected boolean isValidLevel(int level, int maxLevel)
protected boolean isIndexPartiallyCreated(LibraryConnection lc, Connection conn) throws Exception
Exception
protected int getUpdateMode(LibraryConnection lc, Connection conn) throws IfsException
IfsException
protected boolean isCreationDeferred(LibraryConnection lc, Connection conn) throws IfsException
IfsException
protected void insertMapParameterRow(LibraryConnection lc, Connection conn, long key, long value) throws IfsException
IfsException
protected void deleteMapParameterRow(LibraryConnection lc, Connection conn, long key) throws IfsException
IfsException
protected int getMapParameterRow(LibraryConnection lc, Connection conn, int paramKey, boolean shouldLock) throws IfsException
IfsException
protected PreparedStatement getPreparedStatement(LibraryConnection lc, Connection conn, String key)
protected PreparedStatement constructPreparedStatement(LibraryConnection lc, Connection conn, String key, String stmt) throws SQLException
SQLException
protected Vector getFoldersWithParentCountAboveThreshold(S_LibrarySession sess, int level, int parentThreshhold) throws IfsException
sess
- handle to the sessionlevel
- current levelparentThreshhold
- parent count threshholdIfsException
- if the operation failsprotected boolean isChildCountAboveThreshold(S_LibrarySession sess, Long folderId, int childCountThreshold) throws IfsException
sess
- library sessionfolderId
- id of the folderchildCountThreshold
- child count threshholdIfsException
- if the operation failsprotected HashMap getDirectParents(S_LibrarySession sess, int level, Vector folderVector) throws IfsException
sess
- handle to library sessionlevel
- the current levelfolderVector
- vector of foldersIfsException
- if the operation failsCopyright © 2023. All rights reserved.