You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by wo...@apache.org on 2004/10/28 21:45:17 UTC

cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/services FileServer.java

woolfel     2004/10/28 12:45:17

  Modified:    src/core/org/apache/jmeter/services FileServer.java
  Log:
  added a method to get a random file in a base directory.
  
  peter
  
  Revision  Changes    Path
  1.2       +25 -0     jakarta-jmeter/src/core/org/apache/jmeter/services/FileServer.java
  
  Index: FileServer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/services/FileServer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FileServer.java	19 Oct 2004 20:08:19 -0000	1.1
  +++ FileServer.java	28 Oct 2004 19:45:17 -0000	1.2
  @@ -10,12 +10,14 @@
   import java.io.File;
   import java.io.FileReader;
   import java.io.IOException;
  +import java.util.Random;
   import java.io.Reader;
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.Map;
   
   import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jmeter.gui.JMeterFileFilter;
   import org.apache.jorphan.logging.LoggingManager;
   import org.apache.log.Logger;
   
  @@ -31,6 +33,7 @@
       File base;
       Map files = new HashMap();
       private static FileServer server = new FileServer();
  +	private Random random = new Random();
       
       private FileServer()
       {
  @@ -134,5 +137,27 @@
               }
           }
           return false;
  +    }
  +    
  +    /**
  +     * Method will get a random file in a base directory
  +     * @param basedir
  +     * @return
  +     */
  +    public File getRandomFile(String basedir){
  +    	File input = null;
  +		if (basedir != null)
  +		{
  +			File src = new File(basedir);
  +			if (src.isDirectory() && src.list() != null)
  +			{
  +				File[] files =
  +					src.listFiles(
  +						new JMeterFileFilter(new String[] { ".txt,.obj" }));
  +				int count = files.length;
  +				input = files[random.nextInt(count)];
  +			}
  +		}
  +		return input;
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org