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 org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.core.io.PathResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
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.entities.monitoring_request.MonitoringRequest;
|
||||
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.enums.SignalError;
|
||||
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.signal.SignalRestService;
|
||||
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.XmlUtilService;
|
||||
import ru.nbch.credit_tracker.utils.ValidationUtil;
|
||||
|
|
@ -39,6 +40,7 @@ public class SignalFacade {
|
|||
private final SignalService signalService;
|
||||
private final SignalRestService signalRestService;
|
||||
private final FailureAnswerGenerator failureAnswerGenerator;
|
||||
private final SuccessAnswerGenerator successAnswerGenerator;
|
||||
private final XmlUtilService xmlUtilService;
|
||||
|
||||
private final ExecutorService executor;
|
||||
|
|
@ -49,6 +51,7 @@ public class SignalFacade {
|
|||
SignalService signalService,
|
||||
SignalRestService signalRestService,
|
||||
FailureAnswerGenerator failureAnswerGenerator,
|
||||
SuccessAnswerGenerator successAnswerGenerator,
|
||||
XmlUtilService xmlUtilService,
|
||||
@Qualifier("executorService") ExecutorService executor) {
|
||||
this.config = config;
|
||||
|
|
@ -56,6 +59,7 @@ public class SignalFacade {
|
|||
this.signalService = signalService;
|
||||
this.signalRestService = signalRestService;
|
||||
this.failureAnswerGenerator = failureAnswerGenerator;
|
||||
this.successAnswerGenerator = successAnswerGenerator;
|
||||
this.xmlUtilService = xmlUtilService;
|
||||
this.executor = executor;
|
||||
}
|
||||
|
|
@ -156,7 +160,7 @@ public class SignalFacade {
|
|||
// в отдельном потоке запускаем поиск фидов и расчет флагов просрочек
|
||||
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) {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ public class FailureAnswerGenerator {
|
|||
return generateFailureAnswer(error, null);
|
||||
}
|
||||
|
||||
// TODO extend with common errorResponse class
|
||||
public Resource generateFailureAnswer(SignalError error, String tag) {
|
||||
try {
|
||||
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 ru.nbch.credit_tracker.entities.monitoring_request.MonitoringRequest;
|
||||
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 javax.xml.XMLConstants;
|
||||
|
|
@ -31,7 +32,8 @@ public class XmlUtilService {
|
|||
MonitoringRequest.class,
|
||||
// marshalling classes
|
||||
Signals.class,
|
||||
MonitoringError.class);
|
||||
MonitoringError.class,
|
||||
MonitoringResponse.class);
|
||||
}
|
||||
|
||||
public void validateXMLByXSD(InputStream xmlStream, String xsdPath) throws IOException, XMLStreamException, SAXException {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue