You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2012/01/21 01:13:16 UTC

svn commit: r1234216 - in /jmeter/trunk: bin/saveservice.properties bin/upgrade.properties src/core/org/apache/jmeter/save/SaveService.java src/core/org/apache/jmeter/util/NameUpdater.java

Author: sebb
Date: Sat Jan 21 00:13:15 2012
New Revision: 1234216

URL: http://svn.apache.org/viewvc?rev=1234216&view=rev
Log:
Restore some incorrectly deleted aliases to saveservice.properties
Fix upgrade.properties for obsolete entries
Fix test so only truly orphaned classes are reported as missing

Modified:
    jmeter/trunk/bin/saveservice.properties
    jmeter/trunk/bin/upgrade.properties
    jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
    jmeter/trunk/src/core/org/apache/jmeter/util/NameUpdater.java

Modified: jmeter/trunk/bin/saveservice.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/saveservice.properties?rev=1234216&r1=1234215&r2=1234216&view=diff
==============================================================================
--- jmeter/trunk/bin/saveservice.properties (original)
+++ jmeter/trunk/bin/saveservice.properties Sat Jan 21 00:13:15 2012
@@ -129,8 +129,14 @@ HTTPArgumentsPanel=org.apache.jmeter.pro
 HTTPFileArg=org.apache.jmeter.protocol.http.util.HTTPFileArg
 HTTPFileArgs=org.apache.jmeter.protocol.http.util.HTTPFileArgs
 HttpDefaultsGui=org.apache.jmeter.protocol.http.config.gui.HttpDefaultsGui
+# removed in r1039684, probably not released. Not present in r322831 or since.
+#HttpGenericSampler=org.apache.jmeter.protocol.http.sampler.HttpGenericSampler
+# removed in r1039684, probably not released. Not present in r322831 or since.
+#HttpGenericSamplerGui=org.apache.jmeter.protocol.http.control.gui.HttpGenericSamplerGui
 HttpMirrorControl=org.apache.jmeter.protocol.http.control.HttpMirrorControl
 HttpMirrorControlGui=org.apache.jmeter.protocol.http.control.gui.HttpMirrorControlGui
+# r397955 - removed test class. Keep as commented entry for info only.
+#HTTPNullSampler=org.apache.jmeter.protocol.http.sampler.HTTPNullSampler
 # Merge previous 2 HTTP samplers into one
 HTTPSampler_=org.apache.jmeter.protocol.http.sampler.HTTPSampler
 HTTPSampler2_=org.apache.jmeter.protocol.http.sampler.HTTPSampler2
@@ -159,6 +165,8 @@ JMSPublisherGui=org.apache.jmeter.protoc
 JMSSampler=org.apache.jmeter.protocol.jms.sampler.JMSSampler
 JMSSamplerGui=org.apache.jmeter.protocol.jms.control.gui.JMSSamplerGui
 JMSSubscriberGui=org.apache.jmeter.protocol.jms.control.gui.JMSSubscriberGui
+# Removed in r545311 as Jndi no longer present; keep for compat.
+JndiDefaultsGui=org.apache.jmeter.protocol.jms.control.gui.JndiDefaultsGui
 JSR223Assertion=org.apache.jmeter.assertions.JSR223Assertion
 JSR223Listener=org.apache.jmeter.visualizers.JSR223Listener
 JSR223PostProcessor=org.apache.jmeter.extractor.JSR223PostProcessor
@@ -214,6 +222,8 @@ RandomOrderControllerGui=org.apache.jmet
 RandomVariableConfig=org.apache.jmeter.config.RandomVariableConfig
 RecordController=org.apache.jmeter.protocol.http.control.gui.RecordController
 RecordingController=org.apache.jmeter.protocol.http.control.RecordingController
+# removed in r1039684, class was deleted in r580452
+ReflectionThreadGroup=org.apache.jmeter.threads.ReflectionThreadGroup
 RegexExtractor=org.apache.jmeter.extractor.RegexExtractor
 RegexExtractorGui=org.apache.jmeter.extractor.gui.RegexExtractorGui
 RemoteListenerWrapper=org.apache.jmeter.samplers.RemoteListenerWrapper
@@ -243,6 +253,8 @@ SmtpSamplerGui=org.apache.jmeter.protoco
 SoapSampler=org.apache.jmeter.protocol.http.sampler.SoapSampler
 SoapSamplerGui=org.apache.jmeter.protocol.http.control.gui.SoapSamplerGui
 SplineVisualizer=org.apache.jmeter.visualizers.SplineVisualizer
+# Originally deleted in r397955 as class is obsolete; needed for compat.
+SqlConfigGui=org.apache.jmeter.protocol.jdbc.config.gui.SqlConfigGui
 StatGraphVisualizer=org.apache.jmeter.visualizers.StatGraphVisualizer
 StatVisualizer=org.apache.jmeter.visualizers.StatVisualizer
 SubscriberSampler=org.apache.jmeter.protocol.jms.sampler.SubscriberSampler

Modified: jmeter/trunk/bin/upgrade.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/upgrade.properties?rev=1234216&r1=1234215&r2=1234216&view=diff
==============================================================================
--- jmeter/trunk/bin/upgrade.properties (original)
+++ jmeter/trunk/bin/upgrade.properties Sat Jan 21 00:13:15 2012
@@ -77,8 +77,11 @@ org.apache.jmeter.protocol.http.sampler.
 # Renamed class
 org.apache.jmeter.protocol.jms.control.gui.JMSConfigGui=org.apache.jmeter.protocol.jms.control.gui.JMSSamplerGui
 
-# This class has been deleted
+# These classes have been deleted; there's no defined replacement
 org.apache.jmeter.protocol.jdbc.config.gui.SqlConfigGui=org.apache.jmeter.config.gui.ObsoleteGui
+org.apache.jmeter.protocol.jms.control.gui.JndiDefaultsGui=org.apache.jmeter.config.gui.ObsoleteGui
+# Should probably map to something other than ObsoleteGui...
+org.apache.jmeter.threads.ReflectionThreadGroup=org.apache.jmeter.config.gui.ObsoleteGui
 
 # Convert BSFSamplerGui
 org.apache.jmeter.protocol.java.control.gui.BSFSamplerGui=org.apache.jmeter.testbeans.gui.TestBeanGUI

Modified: jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java?rev=1234216&r1=1234215&r2=1234216&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java Sat Jan 21 00:13:15 2012
@@ -35,6 +35,7 @@ import org.apache.jmeter.reporters.Resul
 import org.apache.jmeter.samplers.SampleEvent;
 import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jmeter.util.NameUpdater;
 import org.apache.jorphan.collections.HashTree;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.jorphan.util.JMeterError;
@@ -398,21 +399,18 @@ public class SaveService {
     }
 
     // Allow test code to check for spurious class references
-    // TODO this test is wrong; aliases should never be deleted even if the class is dropped.
-    // It might still be worth checking that missing classes are present in upgrade.properties.
     static boolean checkClasses(){
         final ClassLoader classLoader = SaveService.class.getClassLoader();
         boolean OK = true;
         for (Object clazz : classToAlias.keySet()) {
             String name = (String) clazz;
-            if (name.endsWith("JMSConfigGui") ||name.endsWith("BSFSamplerGui")) { // deliberately kept 
-                continue;
-            }
-            try {
-                Class.forName(name, false, classLoader);
-            } catch (ClassNotFoundException e) {
-                log.error(e.toString());
-                OK = false;
+            if (!NameUpdater.isMapped(name)) {// don't bother checking class is present if it is to be updated
+                try {
+                    Class.forName(name, false, classLoader);
+                } catch (ClassNotFoundException e) {
+                        log.error("Unexpected entry in saveservice.properties; class does not exist and is not upgraded: "+name);                    
+                        OK = false;
+                }
             }
         }
         return OK;

Modified: jmeter/trunk/src/core/org/apache/jmeter/util/NameUpdater.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/NameUpdater.java?rev=1234216&r1=1234215&r2=1234216&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/util/NameUpdater.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/util/NameUpdater.java Sat Jan 21 00:13:15 2012
@@ -179,4 +179,16 @@ public final class NameUpdater {
      */
     private NameUpdater() {
     }
+
+    /**
+     * Check if a key is in the map; intended for use by 
+     * {@link org.apache.jmeter.save.SaveService#checkClasses() SaveService#checkClasses()}
+     * only.
+     * 
+     * @param key
+     * @return true if the key is in the map
+     */
+    public static boolean isMapped(String key) {
+        return nameMap.containsKey(key);
+    }
 }