diff --git a/Plugins/BuildFiles/common.xml b/Plugins/BuildFiles/common.xml
index 06f154806..56ad32bcb 100644
--- a/Plugins/BuildFiles/common.xml
+++ b/Plugins/BuildFiles/common.xml
@@ -414,7 +414,7 @@
-
+
@@ -438,7 +438,7 @@
-
+
diff --git a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/AccountTask.java b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/AccountTask.java
index f9433b184..122dbc580 100644
--- a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/AccountTask.java
+++ b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/AccountTask.java
@@ -2,6 +2,7 @@ package mineplex.chestConverter;
public class AccountTask
{
+ public int Id;
public String Task;
public String UUID;
}
diff --git a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverter.java b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverter.java
index b292eb238..ed9388f45 100644
--- a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverter.java
+++ b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverter.java
@@ -1,10 +1,14 @@
package mineplex.chestConverter;
+import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
+import java.util.logging.FileHandler;
+import java.util.logging.Formatter;
+import java.util.logging.LogRecord;
import java.util.logging.Logger;
public class ChestConverter
@@ -12,45 +16,95 @@ public class ChestConverter
private static ChestConverterRepository _repository = null;
private static SimpleDateFormat _dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
+ private static Logger _logger = Logger.getLogger("Converter");
+
public static void main (String args[])
{
+ try
+ {
+ FileHandler fileHandler = new FileHandler("converter.log", true);
+ fileHandler.setFormatter(new Formatter()
+ {
+ @Override
+ public String format(LogRecord record)
+ {
+ return record.getMessage() + "\n";
+ }
+ });
+ _logger.addHandler(fileHandler);
+ _logger.setUseParentHandlers(false);
+ }
+ catch (SecurityException | IOException e1)
+ {
+ e1.printStackTrace();
+ }
+
_repository = new ChestConverterRepository();
- int count = 0;
- int batchAmount = 5000;
+ int lastId = 11056929;
+ int count = 50000;
+ int numOfRowsProcessed = lastId;
HashMap tasks = _repository.getTaskList();
- while (true)
+ try
{
- long time = System.currentTimeMillis();
- HashMap> playerMap = new HashMap>();
-
-
- List taskList = _repository.getTasks(count, batchAmount);
-
- if (taskList == null || taskList.size() == 0)
- return;
-
- for (AccountTask task : taskList)
+ while (true)
{
- if (!playerMap.containsKey(task.UUID))
- playerMap.put(task.UUID, new ArrayList());
+ long time = System.currentTimeMillis();
+ HashMap> playerMap = new HashMap>();
- playerMap.get(task.UUID).add(tasks.get(task.Task));
- }
-
- _repository.incrementClients(playerMap);
- try
- {
- count += batchAmount;
- log("Natural sleep. " + batchAmount + " took " + (System.currentTimeMillis() - time) / 1000 + " seconds. Count = " + + count);
- Thread.sleep(100);
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
+
+ List taskList = _repository.getTasks(lastId, count);
+
+ if (taskList != null && taskList.size() > 0)
+ {
+ for (AccountTask task : taskList)
+ {
+ if (!playerMap.containsKey(task.UUID))
+ playerMap.put(task.UUID, new ArrayList());
+
+ playerMap.get(task.UUID).add(tasks.get(task.Task));
+
+ if (task.Id > lastId)
+ lastId = task.Id;
+ }
+
+ _repository.incrementClients(playerMap);
+ try
+ {
+ numOfRowsProcessed += count;
+ log("Natural sleep. " + count + " took " + (System.currentTimeMillis() - time) / 1000 + " seconds. Count = " + + numOfRowsProcessed);
+ Thread.sleep(100);
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ else if (numOfRowsProcessed > 17000000)
+ {
+ System.out.println("Count : " + numOfRowsProcessed);
+ _logger.info("Count : " + numOfRowsProcessed);
+ break;
+ }
+ else
+ {
+ System.out.println("No greater than 17 mil");
+ _logger.info("No greater than 17 mil");
+ System.out.println("Count : " + numOfRowsProcessed);
+ _logger.info("Count : " + numOfRowsProcessed);
+ }
}
}
+ catch (Exception e)
+ {
+ _logger.info(e.getMessage());
+ }
+ finally
+ {
+ System.out.println("Count : " + numOfRowsProcessed);
+ _logger.info("Count : " + numOfRowsProcessed);
+ }
}
private static void log(String message)
diff --git a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverterRepository.java b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverterRepository.java
index 302a6ef0e..fcb0107c6 100644
--- a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverterRepository.java
+++ b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/ChestConverterRepository.java
@@ -95,9 +95,9 @@ public class ChestConverterRepository
return tasks;
}
- public List getTasks(int skip, int count)
+ public List getTasks(int lastId, int count) throws Exception
{
- return new JsonWebCall("http://accounts.mineplex.com/PlayerAccount/GetTasksByCount").Execute(new com.google.gson.reflect.TypeToken>(){}.getType(), new SearchConf(skip, count));
+ return new JsonWebCall("http://accounts.mineplex.com/PlayerAccount/GetTasksByCount").Execute(new com.google.gson.reflect.TypeToken>(){}.getType(), new SearchConf(lastId, count));
}
public void incrementClients(HashMap> playerList)
diff --git a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/JsonWebCall.java b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/JsonWebCall.java
index b16829d57..2bfc6f765 100644
--- a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/JsonWebCall.java
+++ b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/JsonWebCall.java
@@ -154,7 +154,7 @@ public class JsonWebCall
return Execute(returnClass, (Object)null);
}
- public T Execute(Type returnType, Object argument)
+ public T Execute(Type returnType, Object argument) throws Exception
{
HttpClient httpClient = new DefaultHttpClient(_connectionManager);
InputStream in = null;
@@ -185,16 +185,6 @@ public class JsonWebCall
returnData = new Gson().fromJson(result, returnType);
}
}
- catch (Exception ex)
- {
- System.out.println("Error executing JsonWebCall: \n" + ex.getMessage());
- System.out.println("Result: \n" + result);
-
- for (StackTraceElement trace : ex.getStackTrace())
- {
- System.out.println(trace);
- }
- }
finally
{
httpClient.getConnectionManager().shutdown();
diff --git a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/SearchConf.java b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/SearchConf.java
index 36c80fa46..98fa721a5 100644
--- a/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/SearchConf.java
+++ b/Plugins/Mineplex.ChestConverter/src/mineplex/chestConverter/SearchConf.java
@@ -2,12 +2,12 @@ package mineplex.chestConverter;
public class SearchConf
{
- public SearchConf(int skip, int count)
+ public SearchConf(int idIndex, int count)
{
- Skip = skip;
+ IdIndex = idIndex;
Count = count;
}
- public int Skip;
+ public int IdIndex;
public int Count;
}
diff --git a/Website/LOC.Core/SearchConf.cs b/Website/LOC.Core/SearchConf.cs
index b6489ca78..f0650fecc 100644
--- a/Website/LOC.Core/SearchConf.cs
+++ b/Website/LOC.Core/SearchConf.cs
@@ -7,7 +7,7 @@ namespace LOC.Core
{
public class SearchConf
{
- public int Skip { get; set; }
+ public int IdIndex { get; set; }
public int Count { get; set; }
}
}
diff --git a/Website/LOC.Core/Tokens/AccountTask.cs b/Website/LOC.Core/Tokens/AccountTask.cs
index 85dd2914e..d245c9d08 100644
--- a/Website/LOC.Core/Tokens/AccountTask.cs
+++ b/Website/LOC.Core/Tokens/AccountTask.cs
@@ -7,6 +7,7 @@ namespace LOC.Core.Tokens
{
public class AccountTask
{
+ public int Id { get; set; }
public string Task { get; set; }
public string UUID { get; set; }
}
diff --git a/Website/LOC.Website.Common/Models/AccountAdministrator.cs b/Website/LOC.Website.Common/Models/AccountAdministrator.cs
index 2c1f298ae..e7912bfd2 100644
--- a/Website/LOC.Website.Common/Models/AccountAdministrator.cs
+++ b/Website/LOC.Website.Common/Models/AccountAdministrator.cs
@@ -76,19 +76,27 @@
{
var tasks = new List();
- using (var repository = _repositoryFactory.CreateRepository())
+ try
{
- var gameTasks = repository.GetAll().OrderBy(x => x.GameTaskId).Skip(searchConf.Skip).Take(searchConf.Count).Include(x => x.Account).ToList();
-
- foreach (var task in gameTasks)
+ using (var repository = _repositoryFactory.CreateRepository())
{
- AccountTask accountTask = new AccountTask();
- accountTask.Task = task.TaskName;
- accountTask.UUID = task.Account.Uuid;
+ var gameTasks = repository.GetAll().Where(x => x.GameTaskId > searchConf.IdIndex).OrderBy(x => x.GameTaskId).Take(searchConf.Count).Include(x => x.Account).ToList();
- tasks.Add(accountTask);
+ foreach (var task in gameTasks)
+ {
+ AccountTask accountTask = new AccountTask();
+ accountTask.Id = task.GameTaskId;
+ accountTask.Task = task.TaskName;
+ accountTask.UUID = task.Account.Uuid;
+
+ tasks.Add(accountTask);
+ }
}
}
+ catch (Exception ex)
+ {
+ _logger.Log("ERROR", ex.Message + " : " + ex.StackTrace);
+ }
return tasks;
}
diff --git a/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml b/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml
index 71278577d..a57f4f271 100644
--- a/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml
+++ b/Website/LOC.Website.Web/LOC.Website.Web.Publish.xml
@@ -1,11 +1,13 @@
+
+
@@ -16,18 +18,19 @@
-
+
-
+
+
-
-
+
+
@@ -41,7 +44,7 @@
-
+
@@ -49,16 +52,18 @@
+
+
+
-
-
+
@@ -69,23 +74,24 @@
-
+
+
-
+
+
-
-
-
+
+
@@ -93,7 +99,7 @@
-
+
@@ -101,43 +107,42 @@
-
+
-
-
+
-
+
+
-
+
+
+
-
-
-
+
-
-
-
+
+
@@ -148,53 +153,47 @@
-
+
+
-
-
-
-
+
-
-
-
+
-
-
-
+
+
-
+
-
-
-
+
+
@@ -202,9 +201,9 @@
-
+
-
+
@@ -212,61 +211,62 @@
-
+
-
-
+
+
-
-
+
-
+
-
+
+
-
-
+
+
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
+
-
@@ -282,47 +282,47 @@
-
-
+
-
+
-
-
+
-
+
-
+
+
-
+
+
@@ -333,29 +333,30 @@
-
-
+
+
-
-
+
+
-
+
+
@@ -363,45 +364,40 @@
-
+
-
+
-
-
+
-
+
-
-
-
-
-
+
-
-
+
+
@@ -412,29 +408,35 @@
-
+
-
+
+
+
+
+
+
-
-
+
+
+
@@ -442,94 +444,92 @@
-
+
-
+
-
+
+
-
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
-
+
-
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
+
-
@@ -543,9 +543,9 @@
-
+
-
+
@@ -553,29 +553,30 @@
-
-
+
-
+
+
+
+
-
@@ -584,8 +585,8 @@
-
+
@@ -596,74 +597,70 @@
-
-
-
+
+
-
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
-
+
-
-
+
@@ -674,125 +671,128 @@
-
+
-
+
+
+
+
+
+
-
-
-
-
+
+
+
-
+
-
+
+
-
+
-
+
-
+
+
-
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
-
+
-
+
-
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
+
-
@@ -806,9 +806,9 @@
-
+
-
+
@@ -816,29 +816,30 @@
-
-
+
-
+
+
+
+
-
@@ -847,8 +848,8 @@
-
+
@@ -859,31 +860,29 @@
-
-
-
+
+
-
-
-
+
+
-
+
@@ -891,42 +890,40 @@
-
+
-
-
+
+
-
+
-
-
+
-
+
-
-
+
@@ -937,119 +934,122 @@
-
+
-
+
+
+
+
+
+
-
-
+
-
+
-
+
+
-
+
-
+
-
+
+
-
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
-
+
-
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/Website/LOCWebsite.suo b/Website/LOCWebsite.suo
index f7fc52970..933119909 100644
Binary files a/Website/LOCWebsite.suo and b/Website/LOCWebsite.suo differ