package system-tests.scenario.single.clients.secureSearch.src.OK-tests.scenario.single.clients.searchLoad.src.OK;
|
// CDDL HEADER START
|
//
|
// The contents of this file are subject to the terms of the
|
// Common Development and Distribution License, Version 1.0 only
|
// (the "License"). You may not use this file except in compliance
|
// with the License.
|
//
|
// You can obtain a copy of the license at
|
// trunk/opends/resource/legal-notices/OpenDS.LICENSE
|
// or https://OpenDS.dev.java.net/OpenDS.LICENSE.
|
// See the License for the specific language governing permissions
|
// and limitations under the License.
|
//
|
// When distributing Covered Code, include this CDDL HEADER in each
|
// file and include the License file at
|
// trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
|
// add the following below this CDDL HEADER, with the fields enclosed
|
// information:
|
// Portions Copyright [yyyy] [name of copyright owner]
|
//
|
// CDDL HEADER END
|
//
|
//
|
// Copyright 2008 Sun Microsystems, Inc.
|
import netscape.ldap.*;
|
import netscape.ldap.util.*;
|
|
import java.util.*;
|
import java.io.*;
|
import java.lang.Thread;
|
import javax.naming.*;
|
|
import javax.naming.directory.SearchControls;
|
import javax.naming.directory.DirContext;
|
import javax.naming.Context;
|
import javax.naming.directory.InitialDirContext;
|
|
|
public class Worker extends Thread {
|
|
Server server;
|
Client client;
|
|
public Worker (Client client, Server server) {
|
|
super();
|
try {
|
|
this.server = server;
|
this.client = client;
|
this.start();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
public void run () {
|
|
String value="";
|
String[] attributes = new String []{client.attr};
|
|
String provider = "ldap://"+server.host+":"+server.port+"/";
|
println ("INFO","provider = " + provider);
|
try {
|
|
Properties envLdap = System.getProperties();
|
envLdap.put("java.naming.factory.initial",
|
"com.sun.jndi.ldap.LdapCtxFactory");
|
|
envLdap.put(Context.PROVIDER_URL, provider);
|
envLdap.put(Context.SECURITY_AUTHENTICATION, "EXTERNAL");
|
envLdap.put(Context.SECURITY_PROTOCOL, "ssl");
|
|
while (true) {
|
|
DirContext ctx = null;
|
ctx = new InitialDirContext(envLdap);
|
|
|
String filter = "(objectclass=*)";
|
|
SearchControls constraints = new SearchControls();
|
|
Exception exc = null;
|
int count = 0;
|
|
|
// client.inc_srchs_started();
|
// value=(String) client.ValueList.get(client.random.nextInt(client.ValueList.size()));
|
NamingEnumeration results = ctx.search(client.suffix, filter, constraints);
|
|
|
try {
|
while (results != null && results.hasMore()) {
|
results.next();
|
println ("INFO " ," res " + results.toString());
|
count++;
|
}
|
|
} catch (Exception ex) {
|
exc = ex;
|
}
|
if ( exc != null ) {
|
throw exc;
|
}
|
// client.inc_srchs_done();
|
|
ctx.close();
|
}
|
} catch (Exception e) {
|
|
println ("INFO", "Failed: expected error code 3 ");
|
|
e.printStackTrace();
|
System.exit(1);
|
}
|
}
|
|
private String getDate() {
|
|
// Initialize the today's date string
|
String DATE_FORMAT = "yyyy/MM/dd:HH:mm:ss";
|
java.text.SimpleDateFormat sdf =
|
new java.text.SimpleDateFormat(DATE_FORMAT);
|
Calendar c1 = Calendar.getInstance(); // today
|
return("[" + sdf.format(c1.getTime()) + "]");
|
}
|
|
private void println(String level, String msg) {
|
System.out.println (getDate() + " - " + level + ": (" + server + ") " + msg );
|
}
|
|
}
|