if (!uhd.getBooleanDataValue(TASK_CHECK_OPEN_QTI_EDITOR_SESSIONS)) {
Tracing.logAudit("+------------------------------------------+",this.getClass());
Tracing.logAudit("+... LOCKS FOR OPEN QTI EDITOR SESSIONS ...+",this.getClass());
Tracing.logAudit("+------------------------------------------+",this.getClass());
//
Manager manager = ManagerFactory.getManager();
RepositoryManager rm = RepositoryManager.getInstance();
RepositoryEntry myEntry;
HashMap logmsg = new HashMap();
VFSContainer qtiTmpDir = new LocalFolderImpl(QTIEditorPackage.getTmpBaseDir());
VFSContainerFilter foldersOnly = new VFSContainerFilter();
//folders in ../tmp/qtieditor hold the usernames
List foldersUsername = qtiTmpDir.getItems(foldersOnly);
for (Iterator iter = foldersUsername.iterator(); iter.hasNext();) {
VFSContainer folderOfUser = (VFSContainer) iter.next();
//the users folders holds folders with ids of OLATResourceable's
List oResFolders = folderOfUser.getItems(foldersOnly);
for (Iterator resources = oResFolders.iterator(); resources.hasNext();) {
VFSContainer folderOfResource = (VFSContainer) resources.next();
folderOfResource.createChildContainer(QTIEditorPackage.FOLDERNAMEFOR_CHANGELOG);
//these are eiterh surveys or tests
//try it as testresource then as survey, after this give up
Long oresId = new Long(folderOfResource.getName());
FileResource fr = new TestFileResource();
fr.overrideResourceableId(oresId);
myEntry = rm.lookupRepositoryEntry(fr,false);
if(myEntry==null){
//no qti test found, try the qti survey
fr = new SurveyFileResource();
fr.overrideResourceableId(oresId);
myEntry = rm.lookupRepositoryEntry(fr,false);
}
//
if(myEntry!=null){
List identites = manager.getVisibleIdentitiesByPowerSearch(folderOfUser.getName(),null,false, null,null,null,null,null);
if(identites!=null && identites.size()==1){
//found exact one user, which is the expected case
//a qti resource was found, update its metadata entry to generate a lock
String repoEntry = myEntry.getDisplayname();
String oresIdS = myEntry.getOlatResource().getResourceableId().toString();