diff --git a/Mage.Stats/pom.xml b/Mage.Stats/pom.xml
deleted file mode 100644
index 7c10572d3c..0000000000
--- a/Mage.Stats/pom.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
- 4.0.0
-
-
- org.mage
- mage-root
- 1.4.33
-
-
- mage-stats
- war
- XMage Stats Web Service
-
-
-
- JBoss repository
- https://repository.jboss.org/nexus/content/groups/public-jboss/
-
-
-
-
-
-
- org.mage
- mage-common
- ${project.version}
-
-
-
- org.mage
- mage-server
- ${project.version}
-
-
-
- junit
- junit
- test
-
-
-
- net.minidev
- json-smart
- 2.3
-
-
-
- org.aspectj
- aspectjrt
- 1.9.2
-
-
-
- net.sf.opencsv
- opencsv
- 2.3
-
-
-
-
- org.jboss.resteasy
- resteasy-jaxrs
- 4.0.0.Beta5
- provided
-
-
-
- ch.qos.logback
- logback-classic
- 1.3.0-alpha4
-
-
-
- org.apache.sling
- org.apache.sling.commons.json
- 2.0.20
-
-
-
- org.jboss.resteasy
- resteasy-multipart-provider
- 4.0.0.Beta8
-
-
-
- commons-io
- commons-io
- 2.6
-
-
-
- commons-httpclient
- commons-httpclient
- 3.1-jbossorg-1
-
-
-
- javax.servlet
- servlet-api
- 3.0-alpha-1
-
-
-
- joda-time
- joda-time
- 2.10.1
-
-
-
-
- mage-stats-ws
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- 1.8
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
- 2.6
-
- src\main\webapp\WEB-INF\web.xml
- .
-
-
-
- org.codehaus.mojo
- aspectj-maven-plugin
- 1.7
-
-
-
-
- 1.7
-
-
-
-
- compile
-
-
-
-
-
-
-
-
- UTF-8
-
-
diff --git a/Mage.Stats/src/main/java/com/xmage/core/builders/Builder.java b/Mage.Stats/src/main/java/com/xmage/core/builders/Builder.java
deleted file mode 100644
index 52cf3daa5f..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/builders/Builder.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.xmage.core.builders;
-
-public abstract class Builder {
-
- protected E entity;
-
- protected Builder() {
- //entity = E.class.newInstance();
- }
-
- abstract protected void validate();
-
- public final E build() {
- validate();
- return entity;
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/core/constants/Constants.java b/Mage.Stats/src/main/java/com/xmage/core/constants/Constants.java
deleted file mode 100644
index bd9ee16b41..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/constants/Constants.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.xmage.core.constants;
-
-public class Constants {
-
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/core/decorators/Decorator.java b/Mage.Stats/src/main/java/com/xmage/core/decorators/Decorator.java
deleted file mode 100644
index 5d9c03e961..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/decorators/Decorator.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.xmage.core.decorators;
-
-/**
- * @author noxx
- */
-public interface Decorator {
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/core/entity/model/EntityModel.java b/Mage.Stats/src/main/java/com/xmage/core/entity/model/EntityModel.java
deleted file mode 100644
index 7725f01e69..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/entity/model/EntityModel.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.xmage.core.entity.model;
-
-
-/**
- * Marker interface for entity models.
- *
- * @author noxx
- */
-public interface EntityModel {
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/core/entity/model/ServerStats.java b/Mage.Stats/src/main/java/com/xmage/core/entity/model/ServerStats.java
deleted file mode 100644
index 9cd5af8c15..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/entity/model/ServerStats.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.xmage.core.entity.model;
-
-
-/**
- * Class representing XMage server stats.
- *
- * @author noxx
- */
-public class ServerStats implements EntityModel {
-
- private int numberOfGamesPlayed;
-
- private int numberOfUniquePlayers;
-
- private String top3Players;
-
- private int numberOfPlayersPlayedOnce;
-
- public int getNumberOfGamesPlayed() {
- return numberOfGamesPlayed;
- }
-
- public void setNumberOfGamesPlayed(int numberOfGamesPlayed) {
- this.numberOfGamesPlayed = numberOfGamesPlayed;
- }
-
- public int getNumberOfUniquePlayers() {
- return numberOfUniquePlayers;
- }
-
- public void setNumberOfUniquePlayers(int numberOfUniquePlayers) {
- this.numberOfUniquePlayers = numberOfUniquePlayers;
- }
-
- public int getNumberOfPlayersPlayedOnce() {
- return numberOfPlayersPlayedOnce;
- }
-
- public void setNumberOfPlayersPlayedOnce(int numberOfPlayersPlayedOnce) {
- this.numberOfPlayersPlayedOnce = numberOfPlayersPlayedOnce;
- }
-
- public String getTop3Players() {
- return top3Players;
- }
-
- public void setTop3Players(String top3Players) {
- this.top3Players = top3Players;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- ServerStats stats = (ServerStats) o;
-
- if (numberOfGamesPlayed != stats.numberOfGamesPlayed) return false;
- if (numberOfUniquePlayers != stats.numberOfUniquePlayers) return false;
- if (numberOfPlayersPlayedOnce != stats.numberOfPlayersPlayedOnce) return false;
- if (top3Players != null ? !top3Players.equals(stats.top3Players) : stats.top3Players != null) return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = numberOfGamesPlayed;
- result = 31 * result + numberOfUniquePlayers;
- result = 31 * result + numberOfPlayersPlayedOnce;
- result = 31 * result + (top3Players != null ? top3Players.hashCode() : 0);
-
- return result;
- }
-
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/core/entity/repositories/XMageStatsRepository.java b/Mage.Stats/src/main/java/com/xmage/core/entity/repositories/XMageStatsRepository.java
deleted file mode 100644
index 4a5cc4310a..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/entity/repositories/XMageStatsRepository.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.xmage.core.entity.repositories;
-
-import com.xmage.core.entity.model.ServerStats;
-
-/**
- * Repository interface for XMage server stats.
- *
- * Responsible for fetching stats information.
- *
- * @author noxx
- */
-public interface XMageStatsRepository {
-
- ServerStats getServerStats();
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/core/exceptions/XMageStatsNotFoundException.java b/Mage.Stats/src/main/java/com/xmage/core/exceptions/XMageStatsNotFoundException.java
deleted file mode 100644
index 0050af7214..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/core/exceptions/XMageStatsNotFoundException.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.xmage.core.exceptions;
-
-/**
- *
- * @author noxx
- */
-public class XMageStatsNotFoundException extends Exception {
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/aspect/RequestAspect.java b/Mage.Stats/src/main/java/com/xmage/ws/aspect/RequestAspect.java
deleted file mode 100644
index 5d6ffc977b..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/aspect/RequestAspect.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.xmage.ws.aspect;
-
-import com.xmage.ws.json.ResponseBuilder;
-import com.xmage.ws.model.DomainErrors;
-import com.xmage.ws.resource.ErrorResource;
-import com.xmage.ws.resource.Resource;
-import com.xmage.ws.util.IPHolderUtil;
-import net.minidev.json.JSONObject;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.core.Response;
-
-/**
- * Base aspect for getting request metadata
- *
- * @author noxx
- */
-@Aspect
-public class RequestAspect {
-
- private static final Logger logger = LoggerFactory.getLogger(RequestAspect.class);
-
- @Around("execution(* *(..)) && within(com.xmage.ws.rest.services.*)")
- public Object advice(ProceedingJoinPoint pjp) throws Throwable {
-
- try {
- String ip = IPHolderUtil.getRememberedIP();
- String userAgent = IPHolderUtil.getRememberedUserAgent();
- logger.info("ip: " + ip + ", user-agent: " + userAgent);
-
- return pjp.proceed();
- } catch (Exception e) {
- logger.error("Error: ", e);
- }
-
- Resource resource = new ErrorResource(DomainErrors.Errors.STATUS_SERVER_ERROR, "server_error");
- JSONObject serverError = ResponseBuilder.build(resource);
-
- return Response.status(200).entity(serverError.toJSONString()).build();
- }
-
-
-}
\ No newline at end of file
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/filter/IPFilter.java b/Mage.Stats/src/main/java/com/xmage/ws/filter/IPFilter.java
deleted file mode 100644
index 7fd7ba6abc..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/filter/IPFilter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.xmage.ws.filter;
-
-import com.xmage.ws.util.IPHolderUtil;
-
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-
-/**
- * Filter gets ip address and user agent and stores it using {@link com.xmage.ws.util.IPHolderUtil}
- *
- * @author noxx
- */
-public class IPFilter implements Filter {
-
- private FilterConfig config;
-
- public IPFilter() {}
-
- public void init(FilterConfig filterConfig) throws ServletException {
- this.config = filterConfig;
- }
-
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-
- String ip = request.getRemoteAddr();
- IPHolderUtil.rememberIP(ip);
-
- if (request instanceof HttpServletRequest) {
- HttpServletRequest req = (HttpServletRequest) request;
- String uaString = req.getHeader("User-Agent");
- IPHolderUtil.rememberUserAgent(uaString);
- }
-
- chain.doFilter(request, response);
-
- }// doFilter
-
- public void destroy() {
- /*
- * called before the Filter instance is removed from service by the web
- * container
- */
- }
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/json/JSONBuilder.java b/Mage.Stats/src/main/java/com/xmage/ws/json/JSONBuilder.java
deleted file mode 100644
index 1aee3735df..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/json/JSONBuilder.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.xmage.ws.json;
-
-import com.xmage.core.entity.model.EntityModel;
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-
-/**
- * Converts {@link com.xmage.core.entity.model.EntityModel} to json.
- *
- * @author noxx
- */
-public interface JSONBuilder {
-
- JSONObject buildFrom(Resource resource);
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/json/ResponseBuilder.java b/Mage.Stats/src/main/java/com/xmage/ws/json/ResponseBuilder.java
deleted file mode 100644
index cee6c8bffb..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/json/ResponseBuilder.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.xmage.ws.json;
-
-import com.xmage.ws.model.DomainErrors;
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-
-public final class ResponseBuilder {
-
- public static JSONObject build(int code) {
- JSONObject response = new JSONObject();
- response.put("code", code);
-
- return response;
- }
-
- public static JSONObject build(int code, String name, JSONObject jsonObject) {
- JSONObject response = new JSONObject();
- response.put("code", code);
- response.put(name, jsonObject);
-
- return response;
- }
-
- public static JSONObject build(Resource resource) {
- if (resource.getError() != DomainErrors.Errors.STATUS_OK.getCode()) {
- JSONObject response = ResponseBuilder.build(resource.getError());
- response.put("message", resource.getErrorMessage());
- return response;
- } else {
- JSONObject json = resource.getJSONBody();
- return ResponseBuilder.build(DomainErrors.Errors.STATUS_OK.getCode(), resource.getName(), json);
- }
-
- }
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/json/XMageStatsJSONBuilder.java b/Mage.Stats/src/main/java/com/xmage/ws/json/XMageStatsJSONBuilder.java
deleted file mode 100644
index 82c2177cf0..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/json/XMageStatsJSONBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.xmage.ws.json;
-
-import com.xmage.core.entity.model.ServerStats;
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.text.SimpleDateFormat;
-
-/**
- * Converts {@link com.xmage.core.entity.model.ServerStats} resource to json.
- *
- * @author noxx
- */
-public class XMageStatsJSONBuilder implements JSONBuilder {
-
- private static final Logger logger = LoggerFactory.getLogger(XMageStatsJSONBuilder.class);
-
- private static final SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
-
- static final class StaticHolder {
- static XMageStatsJSONBuilder instance = new XMageStatsJSONBuilder();
- }
-
- public static XMageStatsJSONBuilder getInstance() {
- return StaticHolder.instance;
- }
-
- public JSONObject buildFrom(Resource resource) {
-
- ServerStats serverStats = resource.getDefault();
-
- JSONObject statsJson = new JSONObject();
-
- statsJson.put("numberOfGamesPlayed", serverStats.getNumberOfGamesPlayed());
- statsJson.put("numberOfUniquePlayers", serverStats.getNumberOfUniquePlayers());
- statsJson.put("numberOfPlayersPlayedOnlyOnce", serverStats.getNumberOfPlayersPlayedOnce());
- statsJson.put("top3Players", serverStats.getTop3Players());
-
- return statsJson;
- }
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/model/DomainErrors.java b/Mage.Stats/src/main/java/com/xmage/ws/model/DomainErrors.java
deleted file mode 100644
index c60e869389..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/model/DomainErrors.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.xmage.ws.model;
-
-/**
- * Domain status error codes.
- *
- * @author noxx
- */
-public class DomainErrors {
-
- public enum Errors {
- STATUS_OK(100, "OK"),
- STATUS_SERVER_ERROR(101, "Server Internal Error"),
- STATUS_AUTH_FAILED(102, "Auth failed"),
- STATUS_ACCESS_DENIED(108, "Access denied"),
- STATUS_NOT_ENOUGH_PARAMETERS(301, "Not enough parameters"),
- STATUS_WRONG_PARAM_FORMAT(302, "Wrong param format"),
- STATUS_NOT_IMPLEMENTED(800, "Not implemented"),
- STATUS_NOT_FOUND(1000, "Resource Not Found");
-
- private int code;
- private String message;
-
- Errors(int code, String message) {
- this.code = code;
- this.message = message;
- }
-
- public int getCode() {
- return code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setCustomMessage(String message) {
- this.message = message;
- }
- }
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/model/SimpleResponse.java b/Mage.Stats/src/main/java/com/xmage/ws/model/SimpleResponse.java
deleted file mode 100644
index b859b043f8..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/model/SimpleResponse.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.xmage.ws.model;
-
-
-/**
- * Some services may return simple response that is not related to domain or contain minor information.
- * Example: return OK or FALSE only for checking server state.
- *
- * @author noxx
- */
-public class SimpleResponse {
-
- private int code;
-
- private String message;
-
- public SimpleResponse(int code, String message) {
- this.code = code;
- this.message = message;
- }
-
- public SimpleResponse(DomainErrors.Errors error) {
- this(error.getCode(), error.getMessage());
- }
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/representer/Representer.java b/Mage.Stats/src/main/java/com/xmage/ws/representer/Representer.java
deleted file mode 100644
index d5a471d3af..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/representer/Representer.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.xmage.ws.representer;
-
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-
-/**
- * Now we have only JSON based representation.
- *
- * @author noxx
- */
-public interface Representer {
-
- JSONObject toJSON(Resource resource);
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/representer/SimpleResponseRepresenter.java b/Mage.Stats/src/main/java/com/xmage/ws/representer/SimpleResponseRepresenter.java
deleted file mode 100644
index 1d4117eaf7..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/representer/SimpleResponseRepresenter.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.xmage.ws.representer;
-
-import com.xmage.ws.model.SimpleResponse;
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-
-/**
- * This is useful when we have {@link SimpleResponse}
- *
- * @author noxx
- */
-public class SimpleResponseRepresenter implements Representer {
-
- public JSONObject toJSON(Resource resource) {
- SimpleResponse response = resource.getDefault();
-
- JSONObject json = new JSONObject();
- json.put("code", response.getCode());
- json.put("message", response.getMessage());
-
- return json;
- }
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/representer/XMageStatsRepresenter.java b/Mage.Stats/src/main/java/com/xmage/ws/representer/XMageStatsRepresenter.java
deleted file mode 100644
index a54b374347..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/representer/XMageStatsRepresenter.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.xmage.ws.representer;
-
-import com.xmage.core.entity.model.ServerStats;
-import com.xmage.ws.json.XMageStatsJSONBuilder;
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-
-/**
- *
- * @author noxx
- */
-public class XMageStatsRepresenter implements Representer {
-
- public XMageStatsRepresenter() {
- }
-
- public JSONObject toJSON(Resource resource) {
- return XMageStatsJSONBuilder.getInstance().buildFrom(resource);
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/resource/DefaultResource.java b/Mage.Stats/src/main/java/com/xmage/ws/resource/DefaultResource.java
deleted file mode 100644
index 5b858f0614..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/resource/DefaultResource.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.xmage.ws.resource;
-
-import com.xmage.core.decorators.Decorator;
-import com.xmage.ws.model.DomainErrors;
-import com.xmage.ws.representer.Representer;
-import java.util.ArrayList;
-import net.minidev.json.JSONObject;
-
-/**
- *
- * @author noxx
- */
-public abstract class DefaultResource implements Resource {
-
- protected DomainErrors.Errors error = DomainErrors.Errors.STATUS_OK;
-
- protected R defaultResource;
-
- protected Representer representer;
-
- protected java.util.List decorators = new ArrayList<>();
-
- protected int version;
-
- protected DefaultResource(Representer representer) {
- this.representer = representer;
- }
-
- @Override
- public int getError() {
- return error.getCode();
- }
-
- @Override
- public R getDefault() {
- return defaultResource;
- }
-
- @Override
- public java.util.List getDecorators() {
- return decorators;
- }
-
- @Override
- public void addDecorator(Decorator decorator) {
- if (decorator != null) {
- this.decorators.add(decorator);
- }
- }
-
- @Override
- public JSONObject getJSONBody() {
- return representer.toJSON(this);
- }
-
- @Override
- public String getErrorMessage() {
- return error.getMessage();
- }
-
- public int getVersion() {
- return version;
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/resource/ErrorResource.java b/Mage.Stats/src/main/java/com/xmage/ws/resource/ErrorResource.java
deleted file mode 100644
index d1cc7ddb42..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/resource/ErrorResource.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.xmage.ws.resource;
-
-import com.xmage.ws.model.DomainErrors;
-
-/**
- *
- * @author noxx
- */
-public class ErrorResource extends DefaultResource {
-
- private String name;
-
- public ErrorResource(DomainErrors.Errors error, String name) {
- super(null);
- this.name = name;
- this.error = error;
- }
-
- @Override
- public String getName() {
- return this.name;
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/resource/Resource.java b/Mage.Stats/src/main/java/com/xmage/ws/resource/Resource.java
deleted file mode 100644
index 5a51732ea5..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/resource/Resource.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.xmage.ws.resource;
-
-import com.xmage.core.decorators.Decorator;
-import net.minidev.json.JSONObject;
-
-/**
- *
- * @author noxx
- */
-public interface Resource {
-
- int getError();
-
- String getErrorMessage();
-
- String getName();
-
- JSONObject getJSONBody();
-
- R getDefault();
-
- java.util.List getDecorators();
-
- void addDecorator(Decorator decorator);
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/resource/XMageStatsResource.java b/Mage.Stats/src/main/java/com/xmage/ws/resource/XMageStatsResource.java
deleted file mode 100644
index 3f3bf64350..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/resource/XMageStatsResource.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.xmage.ws.resource;
-
-import com.xmage.core.entity.model.ServerStats;
-import com.xmage.ws.model.DomainErrors;
-import com.xmage.ws.representer.XMageStatsRepresenter;
-import com.xmage.ws.representer.Representer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class XMageStatsResource extends DefaultResource {
-
- private static final Logger logger = LoggerFactory.getLogger(XMageStatsResource.class);
-
- private static final Representer defaultRepresenter = new XMageStatsRepresenter();
-
- public XMageStatsResource() {
- super(defaultRepresenter);
- }
-
- public Resource getAll() {
- error = DomainErrors.Errors.STATUS_NOT_FOUND;
- return this;
- }
-
- @Override
- public String getName() {
- return "serverStats";
- }
-
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/resource/impl/SimpleResource.java b/Mage.Stats/src/main/java/com/xmage/ws/resource/impl/SimpleResource.java
deleted file mode 100644
index d72dd96edb..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/resource/impl/SimpleResource.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.xmage.ws.resource.impl;
-
-import com.xmage.ws.model.SimpleResponse;
-import com.xmage.ws.representer.SimpleResponseRepresenter;
-import com.xmage.ws.resource.DefaultResource;
-
-public class SimpleResource extends DefaultResource {
-
- public SimpleResource() {
- super(new SimpleResponseRepresenter());
- }
-
- @Override
- public String getName() {
- return "simple";
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/rest/XMageStatsAPIApplication.java b/Mage.Stats/src/main/java/com/xmage/ws/rest/XMageStatsAPIApplication.java
deleted file mode 100644
index 074a979e39..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/rest/XMageStatsAPIApplication.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.xmage.ws.rest;
-
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
-
-@ApplicationPath("/api")
-public class XMageStatsAPIApplication extends Application {
-}
\ No newline at end of file
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/rest/services/XMageStatsService.java b/Mage.Stats/src/main/java/com/xmage/ws/rest/services/XMageStatsService.java
deleted file mode 100644
index 7124993d3c..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/rest/services/XMageStatsService.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.xmage.ws.rest.services;
-
-import com.xmage.ws.resource.XMageStatsResource;
-import com.xmage.ws.resource.Resource;
-import com.xmage.ws.rest.services.base.AbstractService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-
-/**
- *
- * @author noxx
- */
-@Path("/xmage/stats")
-@Produces("application/json;charset=utf-8")
-public class XMageStatsService extends AbstractService {
-
- static final Logger logger = LoggerFactory.getLogger(XMageStatsService.class);
-
- @GET
- @Path("/getAll")
- public Response getAllStats() {
- logger.trace("getAllStats");
- Resource resource = new XMageStatsResource().getAll();
-
- return responseWithError(resource);
- }
-
-
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/rest/services/base/AbstractService.java b/Mage.Stats/src/main/java/com/xmage/ws/rest/services/base/AbstractService.java
deleted file mode 100644
index 1ffc7c80d6..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/rest/services/base/AbstractService.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.xmage.ws.rest.services.base;
-
-import com.xmage.ws.json.ResponseBuilder;
-import com.xmage.ws.model.DomainErrors;
-import com.xmage.ws.resource.Resource;
-import net.minidev.json.JSONObject;
-import org.apache.sling.commons.json.JSONException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.core.Response;
-
-/**
- * General approach for ws requests/responses.
- *
- * Consists of building response object, verifying response, prettifying, execution time calculating.
- *
- * @author noxx
- */
-public abstract class AbstractService {
-
- private static final Logger logger = LoggerFactory.getLogger(AbstractService.class);
-
- /**
- * Create {@link Response} from {@link com.xmage.ws.resource.Resource}
- *
- * @param resource Resource to build response based on
- * @return
- */
- public final Response responseWithError(Resource resource) {
- long t1 = System.currentTimeMillis();
- JSONObject response = buildResponse(resource);
- response = verifyResponse(response);
- String json = prettifyResponse(response);
-
- Response responseObject = Response.status(200).entity(json).build();
- long t2 = System.currentTimeMillis();
- logger.info("responseWithError time: " + (t2 - t1) + "ms");
- return responseObject;
- }
-
- private JSONObject buildResponse(Resource resource) {
- JSONObject response = null;
- try {
- response = ResponseBuilder.build(resource);
- } catch (Exception e) {
- logger.error("responseWithError: ", e);
-
- }
-
- return response;
- }
-
- private String prettifyResponse(JSONObject response) {
- String json = response.toJSONString();
-
- try {
- json = new org.apache.sling.commons.json.JSONObject(json).toString(1);
- } catch (JSONException jse) {
- jse.printStackTrace();
- }
-
- return json;
- }
-
- private JSONObject verifyResponse(JSONObject response) {
- if (response == null) {
- logger.error("Something bad happened on response creation");
- response = ResponseBuilder.build(DomainErrors.Errors.STATUS_SERVER_ERROR.getCode());
- }
- return response;
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java b/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java
deleted file mode 100644
index ac9ea26bba..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.xmage.ws.util;
-
-/**
- * Stores ip addresses to allow access from.
- * Stores user-agents to allow access for.
- *
- * @author noxx
- */
-public final class IPHolderUtil {
-
- private static final ThreadLocal ipThreadLocal = new ThreadLocal<>();
- private static final ThreadLocal userAgentThreadLocal = new ThreadLocal<>();
-
- private IPHolderUtil() {}
-
- public static void rememberIP(String ip) {
- ipThreadLocal.set(ip);
- }
-
- public static String getRememberedIP() {
- return ipThreadLocal.get();
- }
-
- public static void rememberUserAgent(String userAgent) {
- userAgentThreadLocal.set(userAgent);
- }
-
- public static String getRememberedUserAgent() {
- return userAgentThreadLocal.get();
- }
-}
-
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONOperationErrorException.java b/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONOperationErrorException.java
deleted file mode 100644
index b40927abb8..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONOperationErrorException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.xmage.ws.util.json;
-
-/**
- *
- * @author noxx
- */
-public class JSONOperationErrorException extends RuntimeException {
-
- public JSONOperationErrorException(String message) {
- super(message);
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java b/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java
deleted file mode 100644
index ac96be11cb..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package com.xmage.ws.util.json;
-
-
-import net.minidev.json.JSONArray;
-import net.minidev.json.JSONObject;
-import net.minidev.json.JSONValue;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Enhances working with json.
- *
- * @author noxx
- */
-public class JSONParser {
-
- public enum CachePolicy {
- CACHE_ONE_LEVEL_ONLY,
- CACHE_ALL_LEVELS
- }
-
- private static final Map extendedIndexes = new HashMap() {{
- put("$first", 0);
- put("$second", 1);
- put("$third", 2);
- put("$fourth", 3);
- put("$fifth", 4);
- }};
-
- private String json;
- private JSONObject root;
- private boolean hitCache;
-
- private CachePolicy cachePolicy = CachePolicy.CACHE_ONE_LEVEL_ONLY;
-
- private Map cache = new HashMap<>();
-
- public void parseJSON(String jsonString) throws JSONValidationException {
- parseJSON(jsonString, true);
- }
-
- public void parseJSON(String jsonString, boolean validate) throws JSONValidationException {
- this.json = jsonString;
- prepare();
- if (validate) {
- validate();
- }
- }
-
- public Object get(String path) {
- return getObject(path);
- }
-
- public int getInt(String path) {
- return (Integer)getObject(path);
- }
-
- public int getIntSafe(String path) {
- if (getObject(path) == null) {
- return 0;
- }
- return (Integer)getObject(path);
- }
-
- public String getString(String path) {
- return (String)getObject(path);
- }
-
- public JSONObject getJSON(String path) {
- return (JSONObject)getObject(path);
- }
-
- private Object getObject(String path) {
- this.hitCache = false;
- if (cache.containsKey(path)) {
- this.hitCache = true;
- return cache.get(path);
- }
- String[] params = path.split("\\.");
- JSONObject json = this.root;
- JSONArray jsonArray = null;
- String currentPath = "";
- for (int i = 0; i < params.length - 1; i++) {
- String param = params[i];
- if (cachePolicy == CachePolicy.CACHE_ALL_LEVELS) {
- if (!currentPath.isEmpty()) {
- currentPath += ".";
- }
- currentPath += param;
- }
- if (param.startsWith("$")) {
- if (jsonArray == null) {
- throw new JSONOperationErrorException("Not illegal syntax at this place: " + param);
- }
- int index = getIndex(param);
- json = (JSONObject) jsonArray.get(index);
- jsonArray = null;
- } else if (param.contains("[")) {
- int find = param.indexOf('[');
- String newParam = param.substring(0, find);
- String s = param.substring(find+1, param.indexOf(']'));
- if (s.isEmpty()) {
- jsonArray = (JSONArray) json.get(newParam);
- json = null;
- } else {
- int index = Integer.parseInt(s);
- json = (JSONObject)((JSONArray) json.get(newParam)).get(index);
- jsonArray = null;
- }
- } else {
- Object obj = json.get(param);
- if (obj instanceof JSONObject) {
- json = (JSONObject) obj;
- jsonArray = null;
- } else if (obj instanceof JSONArray) {
- jsonArray = (JSONArray) obj;
- json = null;
- } else if (obj == null) {
- throw new IllegalStateException("json object is null");
- } else {
- throw new IllegalStateException("json object ('"+param+"') has wrong type: " + obj.getClass());
- }
-
- }
- if (cachePolicy == CachePolicy.CACHE_ALL_LEVELS) {
- saveToCache(currentPath, json);
- }
- }
- String name = params[params.length - 1];
-
- Object value;
- if (name.startsWith("$")) {
- if (jsonArray == null) {
- throw new JSONOperationErrorException("Not illegal syntax at this place: " + name);
- }
- int index = getIndex(name);
- value = jsonArray.get(index);
- } else {
- value = json.get(name);
- }
-
- saveToCache(path, value);
-
- return value;
- }
-
- private int getIndex(String extendedIndex) {
- if (extendedIndexes.containsKey(extendedIndex)) {
- return extendedIndexes.get(extendedIndex);
- } else {
- throw new JSONOperationErrorException("Can't parse extended index: " + extendedIndex);
- }
- }
-
- private void saveToCache(String path, Object value) {
- cache.put(path, value);
- }
-
- public JSONArray getJSONArray(String path) {
- return (JSONArray)getObject(path);
- }
-
- private void prepare() {
- reset();
- if (this.json != null) {
- this.json = this.json.trim();
- }
- }
-
- private void validate() throws JSONValidationException {
- if (this.json == null) {
- throw new JSONValidationException("JSON is null");
- }
- try {
- this.root = (JSONObject) JSONValue.parse(this.json);
- if (this.root == null) {
- throw new JSONValidationException("Root json is null");
- }
- } catch (Exception e) {
- throw new JSONValidationException("JSON is not valid", e);
- }
- }
-
- public void reset() {
- this.hitCache = false;
- this.cachePolicy = CachePolicy.CACHE_ONE_LEVEL_ONLY;
- this.cache.clear();
- }
-
- public boolean isHitCache() {
- return hitCache;
- }
-
- public void setCachePolicy(CachePolicy cachePolicy) {
- this.cachePolicy = cachePolicy;
- }
-}
diff --git a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONValidationException.java b/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONValidationException.java
deleted file mode 100644
index a7271a49a4..0000000000
--- a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONValidationException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.xmage.ws.util.json;
-
-/**
- *
- * @author noxx
- */
-public class JSONValidationException extends Exception {
-
- public JSONValidationException(String message) {
- super(message);
- }
-
- public JSONValidationException(String message, Exception e) {
- super(message, e);
- }
-}
diff --git a/Mage.Stats/src/main/resources/META-INF/c3p0.properties b/Mage.Stats/src/main/resources/META-INF/c3p0.properties
deleted file mode 100644
index b8792e248a..0000000000
--- a/Mage.Stats/src/main/resources/META-INF/c3p0.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-###c3p0
-с3p0.testConnectionOnCheckout=true
-с3p0.acquireRetryDelay=1000
-с3p0.acquireRetryAttempts=1
\ No newline at end of file
diff --git a/Mage.Stats/src/main/resources/logback.xml b/Mage.Stats/src/main/resources/logback.xml
deleted file mode 100644
index 79104d854a..0000000000
--- a/Mage.Stats/src/main/resources/logback.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
- server.log
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Mage.Stats/src/main/resources/messages.properties b/Mage.Stats/src/main/resources/messages.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/Mage.Stats/src/main/resources/messages_en.properties b/Mage.Stats/src/main/resources/messages_en.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/Mage.Stats/src/main/resources/messages_ru.properties b/Mage.Stats/src/main/resources/messages_ru.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/Mage.Stats/src/main/resources/xmage.properties b/Mage.Stats/src/main/resources/xmage.properties
deleted file mode 100644
index 68e6141898..0000000000
--- a/Mage.Stats/src/main/resources/xmage.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-db.log.url=jdbc:h2:file:../Mage.Server/db/mage.h2;AUTO_SERVER=TRUE
-db.feedback.url=jdbc:h2:file:../Mage.Server/db/feedback.h2;AUTO_SERVER=TRUE
\ No newline at end of file
diff --git a/Mage.Stats/src/main/webapp/WEB-INF/web.xml b/Mage.Stats/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 14005be18f..0000000000
--- a/Mage.Stats/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- XMage Stats Restful Web Application
-
-
- IPFilter
- com.xmage.ws.filter.IPFilter
-
-
-
- IPFilter
- /*
-
-
-
diff --git a/Mage.Stats/src/main/webapp/index.jsp b/Mage.Stats/src/main/webapp/index.jsp
deleted file mode 100644
index c38169bb95..0000000000
--- a/Mage.Stats/src/main/webapp/index.jsp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-Hello World!
-
-
diff --git a/Mage.Stats/src/test/java/com/anygo/ws/json/TestJSONParser.java b/Mage.Stats/src/test/java/com/anygo/ws/json/TestJSONParser.java
deleted file mode 100644
index fb89734877..0000000000
--- a/Mage.Stats/src/test/java/com/anygo/ws/json/TestJSONParser.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.anygo.ws.json;
-
-import com.xmage.ws.util.json.JSONParser;
-import com.xmage.ws.util.json.JSONValidationException;
-import net.minidev.json.JSONObject;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * @author noxx
- */
-public class TestJSONParser {
-
- @Test
- public void testParse() throws Exception {
- JSONParser parser = new JSONParser();
- parser.parseJSON("{}");
- parser.parseJSON("{\"test\" : 1}");
- parser.parseJSON("{\"test\" : \"test\"}");
- parser.parseJSON("{\"list\" : [\"1\", \"2\", \"3\"]}");
- parser.parseJSON("{test:test}");
-
- testError(parser, "{");
- testError(parser, "}");
- testError(parser, "{{}");
- testError(parser, "{\"test\" : [}}");
- }
-
- @Test
- public void testQueryForInt() throws Exception {
- JSONParser parser = new JSONParser();
- parser.parseJSON("{\"test\" : 1}");
- Assert.assertEquals(1, parser.getInt("test"));
-
- parser = new JSONParser();
- parser.parseJSON("{test : { internal : {level : 2}}}");
- Assert.assertEquals(2, parser.getInt("test.internal.level"));
- Assert.assertFalse("No cache should have been used", parser.isHitCache());
-
- Assert.assertEquals(2, parser.getInt("test.internal.level"));
- Assert.assertTrue("Cache should have been used this time!", parser.isHitCache());
- }
-
- @Test
- public void testQueryForJSONArray() throws Exception {
- JSONParser parser = new JSONParser();
- parser.parseJSON("{\"test\" : [\"1\", \"2\", \"3\"]}");
- Assert.assertNotNull(parser.getJSONArray("test"));
- Assert.assertEquals("1", parser.getJSONArray("test").get(0));
-
- parser = new JSONParser();
- parser.parseJSON("{\"test\" : [1,2,3]}");
- Assert.assertNotNull(parser.getJSONArray("test"));
- Assert.assertFalse(parser.isHitCache());
- Assert.assertEquals(2, parser.getJSONArray("test").get(1));
- Assert.assertTrue(parser.isHitCache());
-
- Assert.assertNotNull(parser.getJSONArray("test"));
- Assert.assertEquals(2, parser.getJSONArray("test").get(1));
- Assert.assertTrue(parser.isHitCache());
-
- parser = new JSONParser();
- parser.parseJSON("{\"test\" : [{second_level: \"3\"}, {\"third_level\" : 2}]}");
- Assert.assertNotNull(parser.getJSONArray("test"));
- Assert.assertTrue(parser.getJSONArray("test").get(0) instanceof JSONObject);
- Assert.assertEquals(2, parser.getInt("test[1].third_level"));
- Assert.assertEquals("3", parser.getString("test[0].second_level"));
-
- parser = new JSONParser();
- parser.parseJSON("{\"test\" : [{1:1},{1:1},{1:1},{1:1},{1:1},{1:1},{1:1},{1:1},{1:1},{2:3},{4:5}]}");
- Assert.assertNotNull(parser.getJSONArray("test"));
- Assert.assertEquals(5, parser.getInt("test[10].4"));
- }
-
- @Test
- //TODO: implement
- public void testErrors() throws Exception {
- //JSONParser parser = new JSONParser();
- //parser.parseJSON("{test : { internal : {level : \"2\"}}}");
- //parser.getInt("test.internal.level");
- }
-
- @Test
- public void testExtendedCache() throws Exception {
- JSONParser parser = new JSONParser();
- parser.parseJSON("{test : { internal : {level : 2}}}");
- Assert.assertEquals(2, parser.getInt("test.internal.level"));
- Assert.assertFalse("No cache should have been used", parser.isHitCache());
-
- Assert.assertNotNull(parser.getJSON("test"));
- Assert.assertFalse("No cache should have been used", parser.isHitCache());
- Assert.assertNotNull(parser.getJSON("test.internal"));
- Assert.assertFalse("No cache should have been used", parser.isHitCache());
-
- parser = new JSONParser();
- parser.parseJSON("{test : { internal : {level : 2}}}");
- parser.setCachePolicy(JSONParser.CachePolicy.CACHE_ALL_LEVELS);
- Assert.assertEquals(2, parser.getInt("test.internal.level"));
- Assert.assertFalse("No cache should have been used", parser.isHitCache());
-
- Assert.assertNotNull(parser.getJSON("test"));
- Assert.assertTrue("Cache should have been used this time!", parser.isHitCache());
- Assert.assertNotNull(parser.getJSON("test.internal"));
- Assert.assertTrue("Cache should have been used this time!", parser.isHitCache());
- }
-
- @Test
- public void testExtendedIndexes() throws Exception {
- JSONParser parser = new JSONParser();
- parser.parseJSON("{\"test\" : [1,2,3,4,5]}");
- Assert.assertEquals(1, parser.getInt("test[].$first"));
- Assert.assertEquals(2, parser.getInt("test[].$second"));
- Assert.assertEquals(3, parser.getInt("test[].$third"));
- Assert.assertEquals(4, parser.getInt("test[].$fourth"));
- Assert.assertEquals(5, parser.getInt("test[].$fifth"));
-
- parser = new JSONParser();
- parser.parseJSON("{\"test\" : [{1:1},{2:2},{3:3},{4:4},{5:5}]}");
- Assert.assertEquals(1, parser.getInt("test[].$first.1"));
- Assert.assertEquals(2, parser.getInt("test[].$second.2"));
- Assert.assertEquals(3, parser.getInt("test[].$third.3"));
- Assert.assertEquals(4, parser.getInt("test[].$fourth.4"));
- Assert.assertEquals(5, parser.getInt("test[].$fifth.5"));
-
- parser = new JSONParser();
- parser.parseJSON("{\"contacts\": {\"phones\": [\n" +
- " {\"phone\": \"100000\"},\n" +
- " {\"phone\": \"+7 999 1234567\"}\n" +
- " ]}}");
-
- Assert.assertEquals("100000", parser.getString("contacts.phones[].$first.phone"));
-
- }
-
- private void testError(JSONParser parser, String jsonToTest) throws Exception {
- try {
- parser.parseJSON(jsonToTest);
- Assert.fail("Should have thrown an exception");
- } catch (JSONValidationException j) {
- // ok
- }
- }
-}
diff --git a/Mage.Stats/src/test/java/com/anygo/ws/rest/XMageStatsServiceTest.java b/Mage.Stats/src/test/java/com/anygo/ws/rest/XMageStatsServiceTest.java
deleted file mode 100644
index 02a2951b12..0000000000
--- a/Mage.Stats/src/test/java/com/anygo/ws/rest/XMageStatsServiceTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.anygo.ws.rest;
-
-import com.xmage.ws.model.DomainErrors;
-import com.xmage.ws.rest.services.XMageStatsService;
-import com.xmage.ws.util.json.JSONParser;
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.ws.rs.core.Response;
-
-/**
- * Testings XMage stats service without need to deploy.
- *
- * @author noxx
- */
-public class XMageStatsServiceTest {
-
- @Test
- public void testAddNewAndGet() throws Exception {
-
- XMageStatsService xMageStatsService = new XMageStatsService();
-
- Response response = xMageStatsService.getAllStats();
-
- JSONParser parser = new JSONParser();
- parser.parseJSON((String) response.getEntity());
-
- Assert.assertEquals(DomainErrors.Errors.STATUS_NOT_FOUND.getCode(), parser.getInt("code"));
- System.out.println("response = " + response.getEntity().toString());
- }
-
-
-}
diff --git a/Mage.Stats/src/test/java/com/anygo/ws/util/FileUtil.java b/Mage.Stats/src/test/java/com/anygo/ws/util/FileUtil.java
deleted file mode 100644
index 163b418404..0000000000
--- a/Mage.Stats/src/test/java/com/anygo/ws/util/FileUtil.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.anygo.ws.util;
-
-import java.io.*;
-
-/**
- *
- * @author noxx
- */
-public final class FileUtil {
-
- private FileUtil() {}
-
- public static String readFile(String file) throws IOException {
- InputStream in = FileUtil.class.getResourceAsStream(file);
- if (in == null) {
- throw new FileNotFoundException("Couldn't find file " + file);
- }
- Reader fr = new InputStreamReader(in, "utf-8");
-
- BufferedReader reader = new BufferedReader(fr);
- String line;
- StringBuilder stringBuilder = new StringBuilder();
- String ls = System.getProperty("line.separator");
-
- while ((line = reader.readLine()) != null) {
- stringBuilder.append(line);
- stringBuilder.append(ls);
- }
-
- return stringBuilder.toString();
- }
-}