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);
}