blob: 2aff2810bd4ad1241b2fda7f99a2ce50983067e5 [file] [log] [blame]
Index: trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
===================================================================
--- trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java (revision 537585)
+++ trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java (working copy)
@@ -718,7 +718,7 @@
* @return !ToDo (Return description)
**************************************************************************/
public SampleResult sample(Entry e) {
- String responseData = "<ldapanswer>";
+ StringBuilder responseData = new StringBuilder("<ldapanswer>");
SampleResult res = new SampleResult();
res.setResponseData("successfull".getBytes());
res.setResponseMessage("Success");
@@ -744,29 +744,41 @@
log.debug("performing test: " + getPropertyAsString(TEST));
if (getPropertyAsString(TEST).equals("unbind")) {
res.setSamplerData("Unbind");
- responseData = responseData + "<operation><opertype>unbind</opertype>";
- responseData = responseData + "<baseobj>" + getRootdn() + "</baseobj>";
- responseData = responseData + "<binddn>" + getUserDN() + "</binddn></operation>";
+ responseData.append("<operation><opertype>unbind</opertype>");
+ responseData.append("<baseobj>");
+ responseData.append(getRootdn());
+ responseData.append("</baseobj>");
+ responseData.append("<binddn>");
+ responseData.append(getUserDN());
+ responseData.append("</binddn></operation>");
unbindOp(temp_client, dirContext, res);
} else if (getPropertyAsString(TEST).equals("bind")) {
res.setSamplerData("Bind as " + getUserDN());
- responseData = responseData + "<operation><opertype>bind</opertype>";
- responseData = responseData + "<baseobj>" + getRootdn() + "</baseobj>";
- responseData = responseData + "<binddn>" + getUserDN() + "</binddn></operation>";
+ responseData.append("<operation><opertype>bind</opertype>");
+ responseData.append("<baseobj>");
+ responseData.append(getRootdn());
+ responseData.append("</baseobj>");
+ responseData.append("<binddn>");
+ responseData.append(getUserDN());
+ responseData.append("</binddn></operation>");
bindOp(temp_client, dirContext, res);
} else if (getPropertyAsString(TEST).equals("sbind")) {
res.setSamplerData("SingleBind as " + getSuserDN());
- responseData = responseData + "<operation><opertype>bind</opertype>";
- responseData = responseData + "<binddn>" + getSuserDN() + "</binddn></operation>";
+ responseData.append("<operation><opertype>bind</opertype>");
+ responseData.append("<binddn>");
+ responseData.append(getSuserDN());
+ responseData.append("</binddn></operation>");
singleBindOp(res);
} else if (getPropertyAsString(TEST).equals("compare")) {
- res
- .setSamplerData("Compare " + getPropertyAsString(COMPAREFILT) + " "
+ res.setSamplerData("Compare " + getPropertyAsString(COMPAREFILT) + " "
+ getPropertyAsString(COMPAREDN));
- responseData = responseData + "<operation><opertype>compare</opertype>";
- responseData = responseData + "<comparedn>" + getPropertyAsString(COMPAREDN) + "</comparedn>";
- responseData = responseData + "<comparefilter>" + getPropertyAsString(COMPAREFILT)
- + "</comparefilter></operation>";
+ responseData.append("<operation><opertype>compare</opertype>");
+ responseData.append("<comparedn>");
+ responseData.append(getPropertyAsString(COMPAREDN));
+ responseData.append("</comparedn>");
+ responseData.append("<comparefilter>");
+ responseData.append(getPropertyAsString(COMPAREFILT));
+ responseData.append("</comparefilter></operation>");
compareOp(temp_client, dirContext, res);
if (temp_client.compareAnswer.hasMore()) {
} else {
@@ -776,56 +788,94 @@
}
} else if (getPropertyAsString(TEST).equals("add")) {
res.setSamplerData("Add object " + getPropertyAsString(BASE_ENTRY_DN));
- responseData = responseData + "<operation><opertype>add</opertype>";
- responseData = responseData + "<attributes>" + getArguments().toString() + "</attributes>";
- responseData = responseData + "<dn>" + getPropertyAsString(BASE_ENTRY_DN) + "</dn></operation>";
+ responseData.append("<operation><opertype>add</opertype>");
+ responseData.append("<attributes>");
+ responseData.append(getArguments());
+ responseData.append("</attributes>");
+ responseData.append("<dn>");
+ responseData.append(getPropertyAsString(BASE_ENTRY_DN));
+ responseData.append("</dn></operation>");
addTest(temp_client, dirContext, res);
} else if (getPropertyAsString(TEST).equals("delete")) {
res.setSamplerData("Delete object " + getPropertyAsString(DELETE));
- responseData = responseData + "<operation><opertype>delete</opertype>";
- responseData = responseData + "<dn>" + getPropertyAsString(DELETE) + "</dn></operation>";
+ responseData.append("<operation><opertype>delete</opertype>");
+ responseData.append("<dn>");
+ responseData.append(getPropertyAsString(DELETE));
+ responseData.append("</dn></operation>");
deleteTest(temp_client, dirContext, res);
} else if (getPropertyAsString(TEST).equals("modify")) {
- res.setSamplerData("Modify object " + getPropertyAsString(BASE_ENTRY_DN));
- responseData = responseData + "<operation><opertype>modify</opertype>";
- responseData = responseData + "<dn>" + getPropertyAsString(BASE_ENTRY_DN) + "</dn>";
- responseData = responseData + "<attributes>" + getLDAPArguments().toString()
- + "</attributes></operation>";
+ res.setSamplerData("Modify object " +
+ getPropertyAsString(BASE_ENTRY_DN));
+ responseData.append("<operation><opertype>modify</opertype>");
+ responseData.append("<dn>");
+ responseData.append(getPropertyAsString(BASE_ENTRY_DN));
+ responseData.append("</dn>");
+ responseData.append("<attributes>");
+ responseData.append(getLDAPArguments());
+ responseData.append("</attributes></operation>");
modifyTest(temp_client, dirContext, res);
} else if (getPropertyAsString(TEST).equals("rename")) {
- res.setSamplerData("ModDN object " + getPropertyAsString(MODDDN) + " to " + getPropertyAsString(NEWDN));
- responseData = responseData + "<operation><opertype>moddn</opertype>";
- responseData = responseData + "<dn>" + getPropertyAsString(MODDDN) + "</dn>";
- responseData = responseData + "<newdn>" + getPropertyAsString(NEWDN) + "</newdn></operation>";
+ res.setSamplerData("ModDN object " +
+ getPropertyAsString(MODDDN) +
+ " to " + getPropertyAsString(NEWDN));
+ responseData.append("<operation><opertype>moddn</opertype>");
+ responseData.append("<dn>");
+ responseData.append(getPropertyAsString(MODDDN));
+ responseData.append("</dn>");
+ responseData.append("<newdn>");
+ responseData.append(getPropertyAsString(NEWDN));
+ responseData.append("</newdn></operation>");
renameTest(temp_client, dirContext, res);
} else if (getPropertyAsString(TEST).equals("search")) {
- res.setSamplerData("Search with filter " + getPropertyAsString(SEARCHFILTER));
- responseData = responseData + "<operation><opertype>search</opertype>";
- responseData = responseData + "<searchfilter>" + getPropertyAsString(SEARCHFILTER) + "</searchfilter>";
- responseData = responseData + "<searchbase>" + getPropertyAsString(SEARCHBASE) + ","
- + getPropertyAsString(ROOTDN) + "</searchbase>";
- responseData = responseData + "<scope>" + getPropertyAsString(SCOPE) + "</scope>";
- responseData = responseData + "<countlimit>" + getPropertyAsString(COUNTLIM) + "</countlimit>";
- responseData = responseData + "<timelimit>" + getPropertyAsString(TIMELIM) + "</timelimit>";
- responseData = responseData + "</operation><searchresult>";
+ res.setSamplerData("Search with filter "+
+ getPropertyAsString(SEARCHFILTER));
+ responseData.append("<operation><opertype>search</opertype>");
+ responseData.append("<searchfilter>");
+ responseData.append(getPropertyAsString(SEARCHFILTER));
+ responseData.append("</searchfilter>");
+ responseData.append("<searchbase>");
+ responseData.append(getPropertyAsString(SEARCHBASE));
+ responseData.append(",");
+ responseData.append(getPropertyAsString(ROOTDN));
+ responseData.append("</searchbase>");
+ responseData.append("<scope>");
+ responseData.append(getPropertyAsString(SCOPE));
+ responseData.append("</scope>");
+ responseData.append("<countlimit>");
+ responseData.append(getPropertyAsString(COUNTLIM));
+ responseData.append("</countlimit>");
+ responseData.append("<timelimit>");
+ responseData.append(getPropertyAsString(TIMELIM));
+ responseData.append("</timelimit>");
+ responseData.append("</operation><searchresult>");
searchTest(temp_client, dirContext, res);
while (temp_client.answer.hasMore()) {
sr = (SearchResult) temp_client.answer.next();
- responseData = responseData + "<dn>" + sr.getName() + "," + getPropertyAsString(SEARCHBASE) + ","
- + getRootdn() + "</dn>";
- responseData = responseData + "<returnedattr>" + sr.getAttributes().size() + "</returnedattr>";
+ responseData.append("<dn>");
+ responseData.append(sr.getName());
+ responseData.append(",");
+ responseData.append(getPropertyAsString(SEARCHBASE));
+ responseData.append(",");
+ responseData.append(getRootdn());
+ responseData.append("</dn>");
+ responseData.append("<returnedattr>");
+ responseData.append(sr.getAttributes().size());
+ responseData.append("</returnedattr>");
attrlist = sr.getAttributes().getIDs();
while (attrlist.hasMore()) {
iets = (String) attrlist.next();
- responseData = responseData + "<attribute><attributename>" + iets.toString()
- + "</attributename>";
- responseData = responseData
- + "<attributevalue>"
- + sr.getAttributes().get(iets.toString()).toString().substring(
- iets.toString().length() + 2) + "</attributevalue></attribute>";
+ String ietsString = iets.toString();
+ responseData.append("<attribute><attributename>");
+ responseData.append(ietsString);
+ responseData.append("</attributename>");
+ responseData.append("<attributevalue>");
+ responseData.append(sr.getAttributes().get(
+ ietsString).toString().substring(
+ ietsString.length() + 2));
+ responseData.append("</attributevalue></attribute>");
}
}
- responseData = responseData + "</searchresult></operation>";
+ responseData.append("</searchresult></operation>");
}
} catch (NamingException ex) {
@@ -841,10 +891,10 @@
}
isSuccessful = false;
} finally {
- responseData = responseData + "<responsecode>" + res.getResponseCode() + "</responsecode>";
- responseData = responseData + "<responsemessage>" + res.getResponseMessage() + "</responsemessage>";
- responseData = responseData + "</ldapanswer>";
- res.setResponseData(responseData.getBytes());
+ responseData.append("<responsecode>" + res.getResponseCode() + "</responsecode>");
+ responseData.append("<responsemessage>" + res.getResponseMessage() + "</responsemessage>");
+ responseData.append("</ldapanswer>");
+ res.setResponseData(responseData.toString().getBytes());
res.setDataType(SampleResult.TEXT);
res.setSuccessful(isSuccessful);
}