Author: sebb
Date: Sun Mar 11 16:19:44 2007
New Revision: 517045

URL: http://svn.apache.org/viewvc?view=rev&rev=517045
Log:
Ensure that sampler endtime is always set even if an Exception occurs

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java

Modified: 
jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java?view=diff&rev=517045&r1=517044&r2=517045
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
 Sun Mar 11 16:19:44 2007
@@ -196,9 +196,8 @@
        }
 
        
/***************************************************************************
-        * Gets the password attribute of the LDAP object
+        * Sets the password attribute of the LDAP object
         * 
-        * @return The password
         
**************************************************************************/
 
        public void setUserPw(String newUserPw) {
@@ -286,7 +285,7 @@
        
/***************************************************************************
         * Gets the size limit attribute of the LDAPSampler object
         * 
-        * @return The scope value
+        * @return The size limit
         
**************************************************************************/
        public String getCountlim() {
                return getPropertyAsString(COUNTLIM);
@@ -305,7 +304,7 @@
        
/***************************************************************************
         * Gets the time limit attribute of the LDAPSampler object
         * 
-        * @return The scope value
+        * @return The time limit
         
**************************************************************************/
        public String getTimelim() {
                return getPropertyAsString(TIMELIM);
@@ -324,28 +323,26 @@
        
/***************************************************************************
         * Gets the return objects attribute of the LDAPSampler object
         * 
-        * @return The scope value
+        * @return if the object(s) are to be returned
         
**************************************************************************/
-       public boolean getRetobj() {
+       public boolean isRetobj() {
                return getPropertyAsBoolean(RETOBJ);
        }
 
        
/***************************************************************************
         * Sets the return objects attribute of the LDAPSampler object
         * 
-        * @param rootdn
-        *            The new scope value
         
**************************************************************************/
        public void setRetobj(String newRobj) {
                this.setProperty(RETOBJ, newRobj);
        }
 
        
/***************************************************************************
-        * Gets the search scope attribute of the LDAPSampler object
+        * Gets the deref attribute of the LDAPSampler object
         * 
-        * @return The scope value
+        * @return if dereferencing is required
         
**************************************************************************/
-       public boolean getDeref() {
+       public boolean isDeref() {
                return getPropertyAsBoolean(DEREF);
        }
 
@@ -389,9 +386,9 @@
        }
 
        
/***************************************************************************
-        * Gets the test attribute of the LDAPSampler object
+        * Gets the attributes of the LDAPSampler object
         * 
-        * @return The test value (Add,Modify,Delete and search)
+        * @return The attributes
         
**************************************************************************/
        public String getAttrs() {
                return getPropertyAsString(ATTRIBS);
@@ -578,42 +575,46 @@
        
/***************************************************************************
         * This will do the add test for the User defined TestCase
         * 
-        * @return executed time for the give test case
         
**************************************************************************/
        private void addTest(LdapExtClient ldap, DirContext dirContext, 
SampleResult res) throws NamingException {
-               res.sampleStart();
-               ldap.createTest(dirContext, getUserAttributes(), 
getPropertyAsString(BASE_ENTRY_DN));
-        // Returned DirContext is not currently used
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       ldap.createTest(dirContext, getUserAttributes(), 
getPropertyAsString(BASE_ENTRY_DN));
+               } finally {
+                       res.sampleEnd();
+               }               
        }
 
        
/***************************************************************************
         * This will do the delete test for the User defined TestCase
         * 
-        * @return executed time for the give test case
         
**************************************************************************/
        private void deleteTest(LdapExtClient ldap, DirContext dirContext, 
SampleResult res) throws NamingException {
-               res.sampleStart();
-               ldap.deleteTest(dirContext, getPropertyAsString(DELETE));
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       ldap.deleteTest(dirContext, 
getPropertyAsString(DELETE));
+               } finally {
+                       res.sampleEnd();
+               }               
        }
 
        
/***************************************************************************
         * This will do the modify test for the User defined TestCase
         * 
-        * @return executed time for the give test case
         
**************************************************************************/
        private void modifyTest(LdapExtClient ldap, DirContext dirContext, 
SampleResult res) throws NamingException {
-               res.sampleStart();
-               ldap.modifyTest(dirContext, getUserModAttributes(), 
getPropertyAsString(BASE_ENTRY_DN));
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       ldap.modifyTest(dirContext, getUserModAttributes(), 
getPropertyAsString(BASE_ENTRY_DN));
+               } finally {
+                       res.sampleEnd();
+               }               
        }
 
        
/***************************************************************************
         * This will do the bind for the User defined Thread, this bind is used 
for
         * the whole context
         * 
-        * @return executed time for the bind op
         
**************************************************************************/
        private void bindOp(LdapExtClient ldap, DirContext dirContext, 
SampleResult res) throws NamingException {
                DirContext ctx = (DirContext) 
ldapContexts.remove(getThreadName());
@@ -621,47 +622,56 @@
                        log.warn("Closing previous context for thread: " + 
getThreadName());
                        ctx.close();
                }
-               res.sampleStart();
-               ctx = ldap.connect(getServername(), getPort(), getRootdn(), 
getUserDN(), getUserPw(),getConnTimeOut(),isSecure());
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       ctx = ldap.connect(getServername(), getPort(), 
getRootdn(), getUserDN(), getUserPw(),getConnTimeOut(),isSecure());
+               } finally {
+                       res.sampleEnd();
+               }               
                ldapContexts.put(getThreadName(), ctx);
        }
 
        
/***************************************************************************
         * This will do the bind and unbind for the User defined TestCase
         * 
-        * @return executed time for the bind op
         
**************************************************************************/
        private void singleBindOp(SampleResult res) throws NamingException {
                LdapExtClient ldap_temp;
                ldap_temp = new LdapExtClient();
-               res.sampleStart();
-               DirContext ctx = ldap_temp.connect(getServername(), getPort(), 
getRootdn(), getUserDN(), getUserPw(),getConnTimeOut(),isSecure());
-               ldap_temp.disconnect(ctx);
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       DirContext ctx = ldap_temp.connect(getServername(), 
getPort(), getRootdn(), getUserDN(), getUserPw(),getConnTimeOut(),isSecure());
+                       ldap_temp.disconnect(ctx);
+               } finally {
+                       res.sampleEnd();
+               }               
        }
 
        
/***************************************************************************
         * This will do a moddn Opp for the User new DN defined
         * 
-        * @return executed time for the moddn op
         
**************************************************************************/
        private void renameTest(LdapExtClient ldap, DirContext dirContext, 
SampleResult res) throws NamingException {
-               res.sampleStart();
-               ldap.moddnOp(dirContext, getPropertyAsString(MODDDN), 
getPropertyAsString(NEWDN));
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       ldap.moddnOp(dirContext, getPropertyAsString(MODDDN), 
getPropertyAsString(NEWDN));
+               } finally {
+                       res.sampleEnd();
+               }               
        }
 
        
/***************************************************************************
         * This will do the unbind for the User defined TestCase as well as 
inbuilt
         * test case
         * 
-        * @return executed time for the bind op
         
**************************************************************************/
        private void unbindOp(LdapExtClient ldap, DirContext dirContext, 
SampleResult res) {
-               res.sampleStart();
-               ldap.disconnect(dirContext);
-               res.sampleEnd();
+               try {
+                       res.sampleStart();
+                       ldap.disconnect(dirContext);
+               } finally {
+                       res.sampleEnd();
+               }               
                ldapConnections.remove(getThreadName());
                ldapContexts.remove(getThreadName());
                log.info("context and LdapExtClients removed");
@@ -722,9 +732,14 @@
                                                                + 
getPropertyAsString(COMPAREDN));
                                
xmlBuffer.tag("comparedn",getPropertyAsString(COMPAREDN));
                                
xmlBuffer.tag("comparefilter",getPropertyAsString(COMPAREFILT));
-                res.sampleStart();
-                NamingEnumeration cmp = temp_client.compare(dirContext, 
getPropertyAsString(COMPAREFILT), getPropertyAsString(COMPAREDN));
-                res.sampleEnd();
+                NamingEnumeration cmp;
+                               try {
+                                       res.sampleStart();
+                                       cmp = temp_client.compare(dirContext, 
getPropertyAsString(COMPAREFILT),
+                                                       
getPropertyAsString(COMPAREDN));
+                               } finally {
+                                       res.sampleEnd();
+                               }                               
                                if (cmp.hasMore()) {
                                } else {
                                        res.setResponseCode("5");
@@ -765,15 +780,19 @@
                                xmlBuffer.tag("countlimit",countLimit);
                                xmlBuffer.tag("timelimit",timeLimit);
 
-                res.sampleStart();
-                NamingEnumeration srch = temp_client.searchTest(
-                               dirContext, searchBase, searchFilter,
-                        scope, getPropertyAsLong(COUNTLIM),
-                        getPropertyAsInt(TIMELIM),
-                        getRequestAttributes(getPropertyAsString(ATTRIBS)),
-                        getPropertyAsBoolean(RETOBJ),
-                        getPropertyAsBoolean(DEREF));
-                res.sampleEnd();
+                NamingEnumeration srch;
+                               try {
+                                       res.sampleStart();
+                                       srch = temp_client.searchTest(
+                                                       dirContext, searchBase, 
searchFilter,
+                                                       scope, 
getPropertyAsLong(COUNTLIM),
+                                                       
getPropertyAsInt(TIMELIM),
+                                                       
getRequestAttributes(getPropertyAsString(ATTRIBS)),
+                                                       isRetobj(),
+                                                       isDeref());
+                               } finally {
+                                       res.sampleEnd();
+                               }                               
 
                 if (isParseFlag()) {
                                        try {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to