From a77b682945e1e98dfcc7d7e35e65419356746769 Mon Sep 17 00:00:00 2001 From: Obique PSWG Date: Mon, 1 Feb 2016 15:08:04 -0600 Subject: [PATCH] Fixed 35 FindBugs errors --- .../ClientVerifyAndLockNameResponse.java | 5 +- .../zone/PlanetTravelPointListResponse.java | 4 +- .../swg/zone/ServerWeatherMessage.java | 6 +-- .../AuctionQueryHeadersResponseMessage.java | 2 +- src/resources/Location.java | 16 +++--- src/resources/Terrain.java | 6 +-- src/resources/client_info/ServerFactory.java | 15 ++++-- .../visitors/ProfTemplateData.java | 2 +- .../visitors/SlotDefinitionData.java | 54 ++++++++++--------- .../visitors/SlotDescriptorData.java | 2 +- src/resources/collections/SWGMap.java | 7 +++ src/resources/collections/SWGSet.java | 9 +++- .../callbacks/FindFriendCallback.java | 5 +- .../commands/callbacks/ServerCmdCallback.java | 2 +- .../callbacks/WaypointCmdCallback.java | 8 ++- src/resources/common/BCrypt.java | 2 +- .../containers/ContainerPermissions.java | 9 +++- .../encodables/OutOfBandPackage.java | 10 ++++ src/resources/encodables/player/Mail.java | 1 + src/resources/server_info/DataManager.java | 2 + src/services/group/GroupInviterData.java | 6 +-- src/services/map/MappingTemplate.java | 10 +++- .../objects/quadtree/TestQuadTree.java | 12 +---- test/resources/services/TestConfig.java | 2 +- 24 files changed, 117 insertions(+), 80 deletions(-) diff --git a/src/network/packets/swg/login/creation/ClientVerifyAndLockNameResponse.java b/src/network/packets/swg/login/creation/ClientVerifyAndLockNameResponse.java index 501d0d8dd..e4abe3749 100644 --- a/src/network/packets/swg/login/creation/ClientVerifyAndLockNameResponse.java +++ b/src/network/packets/swg/login/creation/ClientVerifyAndLockNameResponse.java @@ -28,6 +28,7 @@ package network.packets.swg.login.creation; import java.nio.ByteBuffer; +import java.util.Locale; import network.packets.swg.SWGPacket; @@ -53,7 +54,7 @@ public class ClientVerifyAndLockNameResponse extends SWGPacket { name = getUnicode(data); getAscii(data); // ui getInt(data); - error = ErrorMessage.valueOf(getAscii(data).toUpperCase()); + error = ErrorMessage.valueOf(getAscii(data).toUpperCase(Locale.US)); } public ByteBuffer encode() { @@ -63,7 +64,7 @@ public class ClientVerifyAndLockNameResponse extends SWGPacket { addUnicode(data, name); addAscii( data, "ui"); addInt( data, 0); - addAscii( data, error.name().toLowerCase()); + addAscii( data, error.name().toLowerCase(Locale.US)); return data; } diff --git a/src/network/packets/swg/zone/PlanetTravelPointListResponse.java b/src/network/packets/swg/zone/PlanetTravelPointListResponse.java index 8a995c20f..9f0d3b396 100644 --- a/src/network/packets/swg/zone/PlanetTravelPointListResponse.java +++ b/src/network/packets/swg/zone/PlanetTravelPointListResponse.java @@ -80,9 +80,7 @@ public class PlanetTravelPointListResponse extends SWGPacket { } private boolean isStarport(String pointName) { - boolean result = pointName.endsWith(" Starport") || pointName.endsWith(" Spaceport"); - - return result || (pointName.split(" ").length == 2 && !result); + return pointName.endsWith(" Starport") || pointName.endsWith(" Spaceport") || pointName.split(" ").length == 2; } private int calculateSize() { diff --git a/src/network/packets/swg/zone/ServerWeatherMessage.java b/src/network/packets/swg/zone/ServerWeatherMessage.java index a6651768b..dbe9b13d2 100644 --- a/src/network/packets/swg/zone/ServerWeatherMessage.java +++ b/src/network/packets/swg/zone/ServerWeatherMessage.java @@ -44,10 +44,10 @@ public class ServerWeatherMessage extends SWGPacket { public void decode(ByteBuffer data) { if (!super.decode(data, CRC)) return; - WeatherType type = WeatherType.CLEAR; - switch(getInt(data)) { + switch (getInt(data)) { case 0: + default: type = WeatherType.CLEAR; break; case 1: @@ -61,8 +61,6 @@ public class ServerWeatherMessage extends SWGPacket { break; } - this.type = type; - cloudVectorX = getFloat(data); cloudVectorZ = getFloat(data); cloudVectorY = getFloat(data); diff --git a/src/network/packets/swg/zone/auction/AuctionQueryHeadersResponseMessage.java b/src/network/packets/swg/zone/auction/AuctionQueryHeadersResponseMessage.java index 8264aed4e..919d504f8 100644 --- a/src/network/packets/swg/zone/auction/AuctionQueryHeadersResponseMessage.java +++ b/src/network/packets/swg/zone/auction/AuctionQueryHeadersResponseMessage.java @@ -74,7 +74,7 @@ public class AuctionQueryHeadersResponseMessage extends SWGPacket { item.setObjectId(getLong(data)); getByte(data); item.setPrice(getInt(data)); - item.setExpireTime(getInt(data)*1000+System.currentTimeMillis()); + item.setExpireTime(getInt(data)*1000L+System.currentTimeMillis()); if (getInt(data) != item.getPrice()) throw new IllegalStateException("I WAS LIED TO AT INDEX " + itemI); item.setVuid(locations[getShort(data)]); diff --git a/src/resources/Location.java b/src/resources/Location.java index ce8b48efb..00c850778 100644 --- a/src/resources/Location.java +++ b/src/resources/Location.java @@ -165,15 +165,15 @@ public class Location implements Encodable, Serializable { public boolean mergeLocation(double lX, double lY, double lZ) { boolean changed = false; - if (Double.isNaN(getX()) || getX() != lX) { + if (Double.isNaN(getX()) || !isEqual(getX(), lX)) { setX(lX); changed = true; } - if (Double.isNaN(getY()) || getY() != lY) { + if (Double.isNaN(getY()) || !isEqual(getY(), lY)) { setY(lY); changed = true; } - if (Double.isNaN(getZ()) || getZ() != lZ) { + if (Double.isNaN(getZ()) || !isEqual(getZ(), lZ)) { setZ(lZ); changed = true; } @@ -186,19 +186,19 @@ public class Location implements Encodable, Serializable { double oZ = getOrientationZ(); double oW = getOrientationW(); boolean changed = false; - if (!Double.isNaN(l.getOrientationX()) && (Double.isNaN(oX) || oX != l.getOrientationX())) { + if (!Double.isNaN(l.getOrientationX()) && (Double.isNaN(oX) || !isEqual(oX, l.getOrientationX()))) { oX = l.getOrientationX(); changed = true; } - if (!Double.isNaN(l.getOrientationY()) && (Double.isNaN(oY) || oY != l.getOrientationY())) { + if (!Double.isNaN(l.getOrientationY()) && (Double.isNaN(oY) || !isEqual(oY, l.getOrientationY()))) { oY = l.getOrientationY(); changed = true; } - if (!Double.isNaN(l.getOrientationZ()) && (Double.isNaN(oZ) || oZ != l.getOrientationZ())) { + if (!Double.isNaN(l.getOrientationZ()) && (Double.isNaN(oZ) || !isEqual(oZ, l.getOrientationZ()))) { oZ = l.getOrientationZ(); changed = true; } - if (!Double.isNaN(l.getOrientationW()) && (Double.isNaN(oW) || oW != l.getOrientationW())) { + if (!Double.isNaN(l.getOrientationW()) && (Double.isNaN(oW) || !isEqual(oW, l.getOrientationW()))) { oW = l.getOrientationW(); changed = true; } @@ -259,7 +259,7 @@ public class Location implements Encodable, Serializable { return Double.isNaN(y); if (Double.isNaN(y)) return false; - return x == y; + return Math.abs(x - y) <= 1E-7; } @Override diff --git a/src/resources/Terrain.java b/src/resources/Terrain.java index a1a761241..ddb4746a3 100644 --- a/src/resources/Terrain.java +++ b/src/resources/Terrain.java @@ -115,9 +115,9 @@ public enum Terrain { for (Terrain p : values()) { CRC_TO_TERRAIN.put(p.getCrc(), p); CRC_TO_NAME.put(p.getCrc(), p.name()); - NAME_TO_CRC.put(p.name().toLowerCase(), p.getCrc()); - NAME_TO_CRC.put(p.name().toLowerCase(), p.getCrc()); - NAME_TO_TERRAIN.put(p.name().toLowerCase(), p); + NAME_TO_CRC.put(p.name().toLowerCase(Locale.US), p.getCrc()); + NAME_TO_CRC.put(p.name().toLowerCase(Locale.US), p.getCrc()); + NAME_TO_TERRAIN.put(p.name().toLowerCase(Locale.US), p); } } diff --git a/src/resources/client_info/ServerFactory.java b/src/resources/client_info/ServerFactory.java index 1352ccd47..79166da6c 100644 --- a/src/resources/client_info/ServerFactory.java +++ b/src/resources/client_info/ServerFactory.java @@ -40,12 +40,15 @@ import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Locale; /** * Created by Waverunner on 6/9/2015 */ public final class ServerFactory extends DataFactory { + + private static final Object instanceMutex = new Object(); private static ServerFactory instance; public static DatatableData getDatatable(String file) { @@ -135,10 +138,10 @@ public final class ServerFactory extends DataFactory { String columnType = columnTypes[i]; if (columnType.contains("[")) { String[] split = columnType.split("\\["); - columnTypes[i] = split[0].toLowerCase(); + columnTypes[i] = split[0].toLowerCase(Locale.US); defaultValues.add(split[1].replace("]", "")); } else { - columnTypes[i] = columnType.toLowerCase(); + columnTypes[i] = columnType.toLowerCase(Locale.US); defaultValues.add(""); } } @@ -209,8 +212,10 @@ public final class ServerFactory extends DataFactory { } public static ServerFactory getInstance() { - if (instance == null) - instance = new ServerFactory(); - return instance; + synchronized (instanceMutex) { + if (instance == null) + instance = new ServerFactory(); + return instance; + } } } diff --git a/src/resources/client_info/visitors/ProfTemplateData.java b/src/resources/client_info/visitors/ProfTemplateData.java index 67badd99f..b98cd53c4 100644 --- a/src/resources/client_info/visitors/ProfTemplateData.java +++ b/src/resources/client_info/visitors/ProfTemplateData.java @@ -38,7 +38,7 @@ public class ProfTemplateData extends ClientData { private List