diff --git a/clearing-parent/backend-api/pom.xml b/clearing-parent/backend-api/pom.xml
index ad0714978..974f8f46f 100644
--- a/clearing-parent/backend-api/pom.xml
+++ b/clearing-parent/backend-api/pom.xml
@@ -82,6 +82,11 @@
assertj-core
test
+
+ org.reflections
+ reflections
+ 0.9.11
+
diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java
index 96e961be5..515707844 100644
--- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java
@@ -1,9 +1,16 @@
package ru.spcex.clearing.backendapi.config;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
+import ru.spcex.clearing.backendapi.meta.MetaServer;
import java.io.IOException;
import java.nio.file.Files;
@@ -18,4 +25,15 @@ public class MetaConfiguration {
if (!meta.isReadable()) throw new IllegalStateException("cannot read meta.json from spring.config.location");
return Files.readString(meta.getFile().toPath());
}
+
+ @Autowired
+ @Bean
+ public MetaServer metaServer(@Qualifier("metaJson") String metaJson) throws JsonProcessingException {
+ ObjectMapper jsonObjectMapper = new ObjectMapper();
+ jsonObjectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
+ jsonObjectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ MetaServer metaServer = jsonObjectMapper.readValue(metaJson, MetaServer.class);
+ metaServer.initAndValidate();
+ return metaServer;
+ }
}
diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountController.java
index 6d391a03c..8aae9a920 100644
--- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountController.java
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/account/AccountController.java
@@ -9,11 +9,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import ru.clearing.classes.statics.data.account.Account;
-import ru.spcex.clearing.backendapi.controller.response.entity.account.AccountBackendGetAll;
+import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
import ru.spcex.clearing.backendapi.service.IStateLoader;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import java.util.Collection;
+import java.util.Map;
@Controller
@RequestMapping("/accounting/accounts")
@@ -26,12 +27,12 @@ public class AccountController {
}
@ApiOperation(value = "get all accounts.")
- @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = AccountBackendGetAll.class)})
+ @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
- public AccountBackendGetAll getAll() {
- Collection all = stateLoader.getAll(IMDGDistributedNames.Map_Account, Account.class);
- AccountBackendGetAll response = new AccountBackendGetAll();
+ public CommonGetAllResponse getAll() {
+ Collection