String tempDirStr = System.getProperty( "java.io.tmpdir" ); File tempDtEDir = new File( tempDirStr, "BirtDataTemp" ); if ( tempDtEDir.exists( ) == false )
File tempDtEDir = null; synchronized ( cacheCounter1 )
	public static String doCreateTempRootDir( Logger logger )	{		String rootDirStr = null;		// system default temp dir is used		String tempDirStr = System.getProperty( "java.io.tmpdir" );		File tempDtEDir = new File( tempDirStr, "BirtDataTemp" );		if ( tempDtEDir.exists( ) == false )		{			tempDtEDir.mkdir( );		}		else		{			File[] sessionsFolder = tempDtEDir.listFiles( );			for ( int i = 0; i < sessionsFolder.length; i++ )			{				File[] oneSessionFolder = sessionsFolder[i].listFiles( );				for ( int j = 0; j < oneSessionFolder.length; j++ )				{					// temp files					if ( oneSessionFolder[j].isDirectory( ) )					{						File[] oneSessionTempFiles = oneSessionFolder[j].listFiles( );						for ( int k = 0; k < oneSessionTempFiles.length; k++ )						{							oneSessionTempFiles[k].delete( );						}						oneSessionFolder[j].delete( );					}					// goal file					else					{						oneSessionFolder[j].delete( );					}				}				sessionsFolder[i].delete( );			}		}		try		{			rootDirStr = tempDtEDir.getCanonicalPath( );		}		catch ( IOException e )		{			// normally this exception will never be thrown		}		logger.info( "Temp directory used to cache data is " + rootDirStr );		return rootDirStr;	}