diff --git a/plugins/git4idea/src/git4idea/history/GitUsersComponent.java b/plugins/git4idea/src/git4idea/history/GitUsersComponent.java index 8c289b6197f5..ff3d4a7ed80d 100644 --- a/plugins/git4idea/src/git4idea/history/GitUsersComponent.java +++ b/plugins/git4idea/src/git4idea/history/GitUsersComponent.java @@ -48,11 +48,11 @@ import java.io.IOException; import java.util.*; public class GitUsersComponent { - private final static int ourPackSize = 50; + private static final int ourPackSize = 50; private static final int ourBackInterval = 60 * 1000; private static final int ourForwardInterval = 100 * 60 * 1000; - private final static Logger LOG = Logger.getInstance("#git4idea.history.GitUsersComponent"); + private static final Logger LOG = Logger.getInstance("#git4idea.history.GitUsersComponent"); private final Object myLock; private PersistentHashMap myState; @@ -60,8 +60,8 @@ public class GitUsersComponent { // activate-deactivate private volatile boolean myIsActive; - private ControlledCycle myControlledCycle; - private VcsListener myVcsListener; + private final ControlledCycle myControlledCycle; + private final VcsListener myVcsListener; private final GitVcs myVcs; private final ProjectLevelVcsManager myManager; private final File myFile; @@ -181,48 +181,11 @@ public class GitUsersComponent { myIsActive = false; } - private DataExternalizer createExternalizer() { - return new DataExternalizer() { - public void save(DataOutput out, UsersData value) throws IOException { - final UpdatedReference closer = value.getCloserDate(); - out.writeLong(closer.getT()); - out.writeLong(closer.getTime()); - - final UpdatedReference earlier = value.getEarlierDate(); - out.writeLong(earlier.getT()); - out.writeLong(earlier.getTime()); - - final List users = value.getUsers(); - out.writeInt(users.size()); - for (String user : users) { - out.writeUTF(user); - } - - out.writeBoolean(value.isStartReached()); - } - - public UsersData read(DataInput in) throws IOException { - final UsersData data = new UsersData(); - final long closerDate = in.readLong(); - final long closerUpdate = in.readLong(); - data.setCloserDate(new UpdatedReference(closerDate, closerUpdate)); - final long earlierDate = in.readLong(); - final long earlierUpdate = in.readLong(); - data.setEarlierDate(new UpdatedReference(earlierDate, earlierUpdate)); - - final List users = new LinkedList(); - final int size = in.readInt(); - for (int i = 0; i < size; i++) { - users.add(in.readUTF()); - } - data.addUsers(users); - data.setStartReached(in.readBoolean()); - return data; - } - }; + private static DataExternalizer createExternalizer() { + return new UsersDataExternalizer(); } - private class UsersData { + private static class UsersData { private UpdatedReference myCloserDate; private UpdatedReference myEarlierDate; private final List myUsers; @@ -279,7 +242,7 @@ public class GitUsersComponent { try { final Set newData = new HashSet(); boolean result = false; - if ((! myStartReached) && (myForceUpdate || myEarlierDate.isTimeToUpdate(ourBackInterval))) { + if (!myStartReached && (myForceUpdate || myEarlierDate.isTimeToUpdate(ourBackInterval))) { result = true; lookBack(lowLevelAccess, newData, atomicSectionsAware); } @@ -354,4 +317,43 @@ public class GitUsersComponent { } } } + + private static class UsersDataExternalizer implements DataExternalizer { + public void save(DataOutput out, UsersData value) throws IOException { + final UpdatedReference closer = value.getCloserDate(); + out.writeLong(closer.getT()); + out.writeLong(closer.getTime()); + + final UpdatedReference earlier = value.getEarlierDate(); + out.writeLong(earlier.getT()); + out.writeLong(earlier.getTime()); + + final List users = value.getUsers(); + out.writeInt(users.size()); + for (String user : users) { + out.writeUTF(user); + } + + out.writeBoolean(value.isStartReached()); + } + + public UsersData read(DataInput in) throws IOException { + final UsersData data = new UsersData(); + final long closerDate = in.readLong(); + final long closerUpdate = in.readLong(); + data.setCloserDate(new UpdatedReference(closerDate, closerUpdate)); + final long earlierDate = in.readLong(); + final long earlierUpdate = in.readLong(); + data.setEarlierDate(new UpdatedReference(earlierDate, earlierUpdate)); + + final List users = new LinkedList(); + final int size = in.readInt(); + for (int i = 0; i < size; i++) { + users.add(in.readUTF()); + } + data.addUsers(users); + data.setStartReached(in.readBoolean()); + return data; + } + } }