You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2016/12/28 21:36:24 UTC
svn commit: r1776333 -
/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
Author: pmouawad
Date: Wed Dec 28 21:36:24 2016
New Revision: 1776333
URL: http://svn.apache.org/viewvc?rev=1776333&view=rev
Log:
sonar: fix errors
Modified:
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java?rev=1776333&r1=1776332&r2=1776333&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java Wed Dec 28 21:36:24 2016
@@ -20,7 +20,6 @@ package org.apache.jmeter.protocol.http.
import java.io.IOException;
import java.io.Serializable;
-import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutionException;
@@ -54,6 +53,7 @@ public class KerberosManager implements
private final ConcurrentMap<String, Future<Subject>> subjects = new ConcurrentHashMap<>();
public KerberosManager() {
+ super();
}
void clearSubjects() {
@@ -62,36 +62,31 @@ public class KerberosManager implements
public Subject getSubjectForUser(final String username,
final String password) {
- Callable<Subject> callable = new Callable<Subject>() {
-
- @Override
- public Subject call() throws Exception {
- LoginContext loginCtx;
- try {
- loginCtx = new LoginContext(JAAS_APPLICATION,
- new LoginCallbackHandler(username, password));
- loginCtx.login();
- return loginCtx.getSubject();
- } catch (LoginException e) {
- log.warn("Could not log in user " + username, e);
- }
- return null;
+ FutureTask<Subject> task = new FutureTask<>(() -> {
+ LoginContext loginCtx;
+ try {
+ loginCtx = new LoginContext(JAAS_APPLICATION,
+ new LoginCallbackHandler(username, password));
+ loginCtx.login();
+ return loginCtx.getSubject();
+ } catch (LoginException e) {
+ log.warn("Could not log in user " + username, e);
}
- };
-
- FutureTask<Subject> task = new FutureTask<>(callable);
+ return null;
+ });
if(log.isDebugEnabled()) {
log.debug("Subject cached:"+subjects.keySet() +" before:"+username);
}
Future<Subject> subjectFuture = subjects.putIfAbsent(username, task);
if (subjectFuture == null) {
subjectFuture = task;
- task.run();
+ task.run(); // NOSONAR we just execute method
}
try {
return subjectFuture.get();
} catch (InterruptedException e1) {
log.warn("Interrupted while getting subject for " + username, e1);
+ Thread.currentThread().interrupt();
} catch (ExecutionException e1) {
log.warn("Execution of getting subject for " + username + " failed", e1);
}