
io.virtualan.controller.VirtualSoapController Maven / Gradle / Ivy
package io.virtualan.controller;
import io.virtualan.core.VirtualParameterizedUtil;
import io.virtualan.core.VirtualServiceUtil;
import io.virtualan.core.model.*;
import io.virtualan.core.soap.WSEndpointConfiguration;
import io.virtualan.core.util.Converter;
import io.virtualan.message.core.MessageUtil;
import io.virtualan.service.VirtualService;
import java.io.IOException;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.stream.Collectors;
import javax.xml.bind.JAXBException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController("virtualSoapController")
public class VirtualSoapController {
private static final Logger log = LoggerFactory.getLogger(VirtualSoapController.class);
Locale locale = LocaleContextHolder.getLocale();
@Autowired
private MessageUtil messageUtil;
@Value("${virtualan.script.enabled:false}")
private boolean scriptEnabled;
@Autowired
private MessageSource messageSource;
@Autowired
private VirtualParameterizedUtil virtualParameterizedUtil;
@Autowired
private Converter converter;
@Autowired
private VirtualService virtualService;
@Autowired
private VirtualServiceUtil virtualServiceUtil;
@Autowired(required = false)
private WSEndpointConfiguration wsEndpointConfiguration;
public ResponseEntity checkIfServiceDataAlreadyExists(
VirtualServiceRequest virtualServiceRequest) throws JAXBException, IOException {
if ("PARAMS".equalsIgnoreCase(virtualServiceRequest.getType())) {
Map response = virtualParameterizedUtil.handleParameterizedRequest(virtualServiceRequest);
if(!response.isEmpty()) {
final VirtualServiceStatus virtualServiceStatus = new VirtualServiceStatus(
messageSource.getMessage("VS_PARAMS_DATA_ALREADY_EXISTS", null, locale));
virtualServiceRequest = converter.convertAsJson(virtualServiceRequest);
virtualServiceStatus.setVirtualServiceRequest(virtualServiceRequest);
virtualServiceStatus.setResponseParam( response);
return new ResponseEntity<>(virtualServiceStatus,
HttpStatus.BAD_REQUEST);
}
} else {
final Long id = messageUtil.isMockAlreadyExists(virtualServiceRequest);
if (id != null && id != 0) {
final VirtualServiceStatus virtualServiceStatus = new VirtualServiceStatus(
messageSource.getMessage("VS_DATA_ALREADY_EXISTS", null, locale));
virtualServiceRequest.setId(id);
virtualServiceStatus.setVirtualServiceRequest(virtualServiceRequest);
return new ResponseEntity(virtualServiceStatus,
HttpStatus.BAD_REQUEST);
}
}
return null;
}
@GetMapping(value = "/virtualservices/soap/services")
public ResponseEntity
© 2015 - 2025 Weber Informatics LLC | Privacy Policy