diff --git a/pom.xml b/pom.xml
index cb76bb5..9ba75d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
me.legrange
mikrotik
- 3.0.7
+ 3.0.8
jar
Mikrotik API Java Client Library
https://github.com/GideonLeGrange/mikrotik-java
diff --git a/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java b/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java
index 9f26883..e9c7133 100644
--- a/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java
+++ b/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java
@@ -14,6 +14,7 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.atomic.AtomicInteger;
import javax.net.SocketFactory;
import me.legrange.mikrotik.ApiConnection;
import me.legrange.mikrotik.ApiConnectionException;
@@ -162,8 +163,7 @@ public final class ApiConnectionImpl extends ApiConnection {
}
private synchronized String nextTag() {
- _tag++;
- return Integer.toHexString(_tag);
+ return Integer.toHexString(_tag.incrementAndGet());
}
private Socket sock = null;
@@ -173,7 +173,7 @@ public final class ApiConnectionImpl extends ApiConnection {
private Reader reader;
private Processor processor;
private final Map listeners;
- private Integer _tag = 0;
+ private final AtomicInteger _tag = new AtomicInteger(0);
private int timeout = ApiConnection.DEFAULT_COMMAND_TIMEOUT;
/**
@@ -186,7 +186,7 @@ public final class ApiConnectionImpl extends ApiConnection {
}
private String take() throws ApiConnectionException, ApiDataException {
- Object val = null;
+ Object val;
try {
val = queue.take();
} catch (InterruptedException ex) {
@@ -223,7 +223,7 @@ public final class ApiConnectionImpl extends ApiConnection {
private void put(Object data) {
try {
queue.put(data);
- } catch (InterruptedException ex) {
+ } catch (InterruptedException ignored) {
}
}
@@ -280,7 +280,7 @@ public final class ApiConnectionImpl extends ApiConnection {
private void nextLine() throws ApiConnectionException, ApiDataException {
if (lines.isEmpty()) {
String block = reader.take();
- String parts[] = block.split("\n");
+ String[] parts = block.split("\n");
lines.addAll(Arrays.asList(parts));
}
line = lines.remove(0);
@@ -293,7 +293,7 @@ public final class ApiConnectionImpl extends ApiConnection {
private String peekLine() throws ApiConnectionException, ApiDataException {
if (lines.isEmpty()) {
String block = reader.take();
- String parts[] = block.split("\n");
+ String[] parts = block.split("\n");
lines.addAll(Arrays.asList(parts));
}
return lines.get(0);
@@ -309,7 +309,6 @@ public final class ApiConnectionImpl extends ApiConnection {
case "!done":
return unpackDone();
case "!trap":
- return unpackError();
case "!halt":
return unpackError();
case "":
@@ -320,12 +319,10 @@ public final class ApiConnectionImpl extends ApiConnection {
private Result unpackRe() throws ApiDataException, ApiConnectionException {
nextLine();
- int l = 0;
Result res = new Result();
while (!line.startsWith(("!"))) {
- l++;
if (line.startsWith(("="))) {
- String parts[] = line.split("=", 3);
+ String[] parts = line.split("=", 3);
if (parts.length == 3) {
if (!parts[2].endsWith("\r")) {
res.put(parts[1], unpackResult(parts[2]));
@@ -342,7 +339,7 @@ public final class ApiConnectionImpl extends ApiConnection {
throw new ApiDataException(String.format("Malformed line '%s'", line));
}
} else if (line.startsWith(".tag=")) {
- String parts[] = line.split("=", 2);
+ String[] parts = line.split("=", 2);
if (parts.length == 2) {
res.setTag(parts[1]);
}
@@ -383,12 +380,12 @@ public final class ApiConnectionImpl extends ApiConnection {
while (!line.startsWith("!")) {
if (line.startsWith(".tag=")) {
- String parts[] = line.split("=", 2);
+ String[] parts = line.split("=", 2);
if (parts.length == 2) {
done.setTag(parts[1]);
}
} else if (line.startsWith(("=ret"))) {
- String parts[] = line.split("=", 3);
+ String[] parts = line.split("=", 3);
if (parts.length == 3) {
done.setHash(parts[2]);
} else {
@@ -412,7 +409,7 @@ public final class ApiConnectionImpl extends ApiConnection {
if (hasNextLine()) {
while (!line.startsWith("!")) {
if (line.startsWith(".tag=")) {
- String parts[] = line.split("=", 2);
+ String[] parts = line.split("=", 2);
if (parts.length == 2) {
err.setTag(parts[1]);
}