Author: [email protected]
Date: Mon Mar 28 14:27:03 2011
New Revision: 907

Log:
[AMDATU-332] Added -port option

Modified:
   
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
   
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
   
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java

Modified: 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
==============================================================================
--- 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
  (original)
+++ 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
  Mon Mar 28 14:27:03 2011
@@ -51,6 +51,7 @@
     public static String TMPDIR_ARG = "-tmpdir";
     public static String TESTLOOPS_ARG = "-testloops";
     public static String OMIT_ARG = "-omit";
+    public static String PORT_ARG = "-port";
 
     // Wordy arguments
     private final static List<String> BOOLEAN_ARGS = new ArrayList<String>();
@@ -82,6 +83,7 @@
     static {
         OTHER_ARGS.add(TESTLOOPS_ARG);
         OTHER_ARGS.add(OMIT_ARG);
+        OTHER_ARGS.add(PORT_ARG);
     }
     public static void main(String[] args) {
         try {

Modified: 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
==============================================================================
--- 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
     (original)
+++ 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
     Mon Mar 28 14:27:03 2011
@@ -38,15 +38,15 @@
         "http://localhost:8080/dashboard/jsp/dashboard.jsp";,
         "http://localhost:8080/rest/authorization/status";
     };
-    
+
     private ApplicationContext m_context;
     private File m_tmpDir;
     private Process m_amdatuProcess;
-    
+
     public AmdatuLauncher(ApplicationContext context) {
         m_context = context;
     }
-    
+
     public void start() throws IOException, InterruptedException {
         // First unzip the file to the java io tmpdir
         File zipFile = new File(m_context.currentContext.binFile);
@@ -60,6 +60,7 @@
             if (m_context.noExamples) {
                 removeExamples();
             }
+            setPortNumber();
         }
 
         // Start the Amdatu server in a separate process
@@ -90,11 +91,11 @@
         if (!ok) {
             throw new IllegalStateException("Amdatu could not be launched from 
'" + m_tmpDir + "'. Aborting test.");
         }
-        
+
         // For safety, additional wait for 5 seconds
         System.out.println("Amdatu seems up and running, waiting another 5 
seconds...");
         Thread.sleep(5000);
-        
+
         long diff = System.currentTimeMillis() - before;
         System.out.println("Amdatu startup completed in " + diff + " ms, 
running JMeter test plans");
     }
@@ -108,26 +109,26 @@
             OutputStream os = m_amdatuProcess.getOutputStream();
             os.write("shutdown\n".getBytes());
             os.close();
-            
+
             m_amdatuProcess.waitFor();
         }
-       
+
         System.out.println("Amdatu shutdown completed");
     }
-    
+
     public void kill() throws IOException, InterruptedException {
         // Kill it instantly, no nice shutdown needed
         stop();
-       
+
         System.out.println("Removing Amdatu work directory");
         FileUtils.deleteDirectory(m_tmpDir);
     }
-    
+
     private void removeExamples() throws IOException {
         // Remove all jar files in amdatu-examples
         File exampleDir = new File (m_tmpDir, "amdatu-examples");
         FileUtils.deleteDirectory(exampleDir);
-        
+
         // Remove from Felix config properties
         File felixConfig = new File(m_tmpDir, "conf/felix-config.properties");
         List<String> lines = FileUtils.readLines(felixConfig);
@@ -141,6 +142,22 @@
         FileUtils.writeLines(felixConfig, newLines);
     }
 
+    private void setPortNumber() throws IOException {
+        if (m_context.port != -1) {
+            File felixHttpConfig = new File(m_tmpDir, 
"deploy/org.apache.felix.http.cfg");
+            List<String> lines = FileUtils.readLines(felixHttpConfig);
+            List<String> newLines = new ArrayList<String>();
+            for (String line : lines) {
+                if (line.indexOf("org.osgi.service.http.port=") != -1) {
+                    newLines.add("org.osgi.service.http.port=" + 
m_context.port);
+                } else {
+                    newLines.add(line);
+                }
+            }
+            FileUtils.writeLines(felixHttpConfig, newLines);
+        }
+    }
+
     private boolean waitForURL(URL url, int responseCode, int timeout) throws 
IOException {
         long deadline = System.currentTimeMillis() + timeout;
         while (System.currentTimeMillis() < deadline && 
amdatuProcessRunning()) {
@@ -176,7 +193,7 @@
             return true;
         }
     }
-    
+
     private String getFelixMainJar() {
         File systemDir = new File(m_tmpDir, "amdatu-system");
         for (File file : systemDir.listFiles()) {
@@ -186,6 +203,4 @@
         }
         return null;
     }
-    
-
 }

Modified: 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
==============================================================================
--- 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
 (original)
+++ 
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
 Mon Mar 28 14:27:03 2011
@@ -28,6 +28,7 @@
     public int omit; // Amount of initial results to omit
     public File rootTmpDir; // Root temporary directory
     public int testLoops;
+    public int port = -1;
 
     public final static String VERSION_X = "X";
     public final static String VERSION_Y = "Y";
@@ -46,6 +47,9 @@
         omit = arguments.containsKey(Main.OMIT_ARG) ? 
Integer.parseInt(arguments.get(Main.OMIT_ARG).toString()) : 0;
         rootTmpDir = getRootTmpDir(arguments.get(Main.TMPDIR_ARG));
         testLoops = arguments.containsKey(Main.TESTLOOPS_ARG) ? 
Integer.parseInt(arguments.get(Main.TESTLOOPS_ARG).toString()) : 1;
+        if (arguments.containsKey(Main.PORT_ARG)) {
+            port = Integer.parseInt(arguments.get(Main.PORT_ARG).toString());
+        }
     }
     
     public void setContext(TestContext x, TestContext y) {
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to