Added SuccessAnswerGenerator
This commit is contained in:
parent
933e91365d
commit
c0ae69df4f
4 changed files with 51 additions and 3 deletions
|
|
@ -2,7 +2,6 @@ package ru.nbch.credit_tracker.facade;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.core.io.PathResource;
|
|
||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -10,6 +9,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.entities.monitoring_request.MonitoringRequest;
|
import ru.nbch.credit_tracker.entities.monitoring_request.MonitoringRequest;
|
||||||
import ru.nbch.credit_tracker.entities.monitoring_request.Subject;
|
import ru.nbch.credit_tracker.entities.monitoring_request.Subject;
|
||||||
|
import ru.nbch.credit_tracker.entities.response.success.MonitoringResponse;
|
||||||
import ru.nbch.credit_tracker.entities.signal_package.Signals;
|
import ru.nbch.credit_tracker.entities.signal_package.Signals;
|
||||||
import ru.nbch.credit_tracker.enums.SignalError;
|
import ru.nbch.credit_tracker.enums.SignalError;
|
||||||
import ru.nbch.credit_tracker.enums.Status;
|
import ru.nbch.credit_tracker.enums.Status;
|
||||||
|
|
@ -18,6 +18,7 @@ import ru.nbch.credit_tracker.service.indic.PhoneService;
|
||||||
import ru.nbch.credit_tracker.service.scoring.AuthorizationService;
|
import ru.nbch.credit_tracker.service.scoring.AuthorizationService;
|
||||||
import ru.nbch.credit_tracker.service.signal.SignalRestService;
|
import ru.nbch.credit_tracker.service.signal.SignalRestService;
|
||||||
import ru.nbch.credit_tracker.service.xml.FailureAnswerGenerator;
|
import ru.nbch.credit_tracker.service.xml.FailureAnswerGenerator;
|
||||||
|
import ru.nbch.credit_tracker.service.xml.SuccessAnswerGenerator;
|
||||||
import ru.nbch.credit_tracker.service.xml.jaxb.IXmlProcessor;
|
import ru.nbch.credit_tracker.service.xml.jaxb.IXmlProcessor;
|
||||||
import ru.nbch.credit_tracker.service.xml.jaxb.XmlUtilService;
|
import ru.nbch.credit_tracker.service.xml.jaxb.XmlUtilService;
|
||||||
import ru.nbch.credit_tracker.utils.ValidationUtil;
|
import ru.nbch.credit_tracker.utils.ValidationUtil;
|
||||||
|
|
@ -39,6 +40,7 @@ public class SignalFacade {
|
||||||
private final SignalService signalService;
|
private final SignalService signalService;
|
||||||
private final SignalRestService signalRestService;
|
private final SignalRestService signalRestService;
|
||||||
private final FailureAnswerGenerator failureAnswerGenerator;
|
private final FailureAnswerGenerator failureAnswerGenerator;
|
||||||
|
private final SuccessAnswerGenerator successAnswerGenerator;
|
||||||
private final XmlUtilService xmlUtilService;
|
private final XmlUtilService xmlUtilService;
|
||||||
|
|
||||||
private final ExecutorService executor;
|
private final ExecutorService executor;
|
||||||
|
|
@ -49,6 +51,7 @@ public class SignalFacade {
|
||||||
SignalService signalService,
|
SignalService signalService,
|
||||||
SignalRestService signalRestService,
|
SignalRestService signalRestService,
|
||||||
FailureAnswerGenerator failureAnswerGenerator,
|
FailureAnswerGenerator failureAnswerGenerator,
|
||||||
|
SuccessAnswerGenerator successAnswerGenerator,
|
||||||
XmlUtilService xmlUtilService,
|
XmlUtilService xmlUtilService,
|
||||||
@Qualifier("executorService") ExecutorService executor) {
|
@Qualifier("executorService") ExecutorService executor) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
|
@ -56,6 +59,7 @@ public class SignalFacade {
|
||||||
this.signalService = signalService;
|
this.signalService = signalService;
|
||||||
this.signalRestService = signalRestService;
|
this.signalRestService = signalRestService;
|
||||||
this.failureAnswerGenerator = failureAnswerGenerator;
|
this.failureAnswerGenerator = failureAnswerGenerator;
|
||||||
|
this.successAnswerGenerator = successAnswerGenerator;
|
||||||
this.xmlUtilService = xmlUtilService;
|
this.xmlUtilService = xmlUtilService;
|
||||||
this.executor = executor;
|
this.executor = executor;
|
||||||
}
|
}
|
||||||
|
|
@ -156,7 +160,7 @@ public class SignalFacade {
|
||||||
// в отдельном потоке запускаем поиск фидов и расчет флагов просрочек
|
// в отдельном потоке запускаем поиск фидов и расчет флагов просрочек
|
||||||
registerFidsAndDebts(packageId);
|
registerFidsAndDebts(packageId);
|
||||||
|
|
||||||
return ResponseEntity.ok().body(new PathResource("D:\\folder_name\\legal.xml")); // TODO generate success response
|
return ResponseEntity.ok().body(successAnswerGenerator.generateSuccessAnswer(MonitoringResponse.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResponseEntity<Resource> validateMonitoringRequest(MonitoringRequest request) {
|
private ResponseEntity<Resource> validateMonitoringRequest(MonitoringRequest request) {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ public class FailureAnswerGenerator {
|
||||||
return generateFailureAnswer(error, null);
|
return generateFailureAnswer(error, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO extend with common errorResponse class
|
||||||
public Resource generateFailureAnswer(SignalError error, String tag) {
|
public Resource generateFailureAnswer(SignalError error, String tag) {
|
||||||
try {
|
try {
|
||||||
IXmlProcessor xmlProcessor = xmlUtilService.createJaxbProcessor();
|
IXmlProcessor xmlProcessor = xmlUtilService.createJaxbProcessor();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package ru.nbch.credit_tracker.service.xml;
|
||||||
|
|
||||||
|
import jakarta.xml.bind.JAXBException;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.core.io.ByteArrayResource;
|
||||||
|
import org.springframework.core.io.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.nbch.credit_tracker.entities.response.success.MonitoringResponse;
|
||||||
|
import ru.nbch.credit_tracker.service.xml.jaxb.IXmlProcessor;
|
||||||
|
import ru.nbch.credit_tracker.service.xml.jaxb.XmlUtilService;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class SuccessAnswerGenerator {
|
||||||
|
|
||||||
|
private final XmlUtilService xmlUtilService;
|
||||||
|
|
||||||
|
public SuccessAnswerGenerator(XmlUtilService xmlUtilService) {
|
||||||
|
this.xmlUtilService = xmlUtilService;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO extend with common successResponse class
|
||||||
|
public Resource generateSuccessAnswer(Class clazz) {
|
||||||
|
try {
|
||||||
|
IXmlProcessor xmlProcessor = xmlUtilService.createJaxbProcessor();
|
||||||
|
String errorMessage = xmlProcessor.asString(createSuccessMessage(), false, StandardCharsets.UTF_8.name());
|
||||||
|
byte[] xmlBytes = errorMessage.getBytes(StandardCharsets.UTF_8);
|
||||||
|
return new ByteArrayResource(xmlBytes);
|
||||||
|
} catch (JAXBException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private MonitoringResponse createSuccessMessage() {
|
||||||
|
return new MonitoringResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
|
||||||
import org.xml.sax.SAXException;
|
import org.xml.sax.SAXException;
|
||||||
import ru.nbch.credit_tracker.entities.monitoring_request.MonitoringRequest;
|
import ru.nbch.credit_tracker.entities.monitoring_request.MonitoringRequest;
|
||||||
import ru.nbch.credit_tracker.entities.response.errors.MonitoringError;
|
import ru.nbch.credit_tracker.entities.response.errors.MonitoringError;
|
||||||
|
import ru.nbch.credit_tracker.entities.response.success.MonitoringResponse;
|
||||||
import ru.nbch.credit_tracker.entities.signal_package.Signals;
|
import ru.nbch.credit_tracker.entities.signal_package.Signals;
|
||||||
|
|
||||||
import javax.xml.XMLConstants;
|
import javax.xml.XMLConstants;
|
||||||
|
|
@ -31,7 +32,8 @@ public class XmlUtilService {
|
||||||
MonitoringRequest.class,
|
MonitoringRequest.class,
|
||||||
// marshalling classes
|
// marshalling classes
|
||||||
Signals.class,
|
Signals.class,
|
||||||
MonitoringError.class);
|
MonitoringError.class,
|
||||||
|
MonitoringResponse.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateXMLByXSD(InputStream xmlStream, String xsdPath) throws IOException, XMLStreamException, SAXException {
|
public void validateXMLByXSD(InputStream xmlStream, String xsdPath) throws IOException, XMLStreamException, SAXException {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue