package com.ajah.swagger.api.relay;
import java.util.ArrayList;
import java.util.List;
import com.ajah.rest.api.model.AjahApiConvert;
import com.ajah.swagger.api.SwaggerApi;
import com.ajah.swagger.api.SwaggerDefinition;
import com.ajah.swagger.api.SwaggerDefinitionRelay;
import com.ajah.swagger.api.SwaggerOperation;
import com.ajah.swagger.api.SwaggerOperationRelay;
import com.ajah.swagger.api.SwaggerParameter;
import com.ajah.swagger.api.SwaggerParameterRelay;
import com.ajah.swagger.api.SwaggerProperty;
import com.ajah.swagger.api.SwaggerPropertyRelay;
import com.ajah.swagger.api.SwaggerResponse;
import com.ajah.swagger.api.SwaggerResponseRelay;
import com.ajah.util.CollectionUtils;
public class SwaggerRelayConvert {
public static List<SwaggerApiRelay> convertSwaggerApis(List<SwaggerApi> swaggerApis) {
if (CollectionUtils.isEmpty(swaggerApis)) {
return null;
}
final List<SwaggerApiRelay> relays = new ArrayList<>(swaggerApis.size());
for (final SwaggerApi swaggerApi : swaggerApis) {
relays.add(convert(swaggerApi));
}
return relays;
}
private static SwaggerApiRelay convert(SwaggerApi swaggerApi) {
SwaggerApiRelay relay = new SwaggerApiRelay();
relay.id = swaggerApi.getId().toString();
relay.name = swaggerApi.getName();
relay.version = swaggerApi.getVersion();
relay.host = swaggerApi.getHost();
relay.basePath = swaggerApi.getBasePath();
relay.bucket = swaggerApi.getBucket();
relay.docRoot = swaggerApi.getDocRoot();
relay.status = AjahApiConvert.convert(swaggerApi.getStatus());
relay.type = AjahApiConvert.convert(swaggerApi.getType());
relay.created = swaggerApi.getCreated();
relay.http = swaggerApi.isHttp();
relay.https = swaggerApi.isHttps();
relay.json = swaggerApi.isJson();
relay.xml = swaggerApi.isXml();
return relay;
}
public static List<SwaggerDefinitionRelay> convertSwaggerDefinitions(List<SwaggerDefinition> swaggerDefinitions) {
if (CollectionUtils.isEmpty(swaggerDefinitions)) {
return null;
}
final List<SwaggerDefinitionRelay> relays = new ArrayList<>(swaggerDefinitions.size());
for (final SwaggerDefinition swaggerDefinition : swaggerDefinitions) {
relays.add(convert(swaggerDefinition));
}
return relays;
}
private static SwaggerDefinitionRelay convert(SwaggerDefinition swaggerDefinition) {
if (swaggerDefinition == null) {
return null;
}
SwaggerDefinitionRelay relay = new SwaggerDefinitionRelay();
relay.id = swaggerDefinition.getId().toString();
relay.swaggerApiId = swaggerDefinition.getSwaggerApiId().toString();
relay.name = swaggerDefinition.getName();
relay.status = AjahApiConvert.convert(swaggerDefinition.getStatus());
relay.type = AjahApiConvert.convert(swaggerDefinition.getType());
relay.created = swaggerDefinition.getCreated();
return relay;
}
public static List<SwaggerOperationRelay> convertSwaggerOperations(List<SwaggerOperation> swaggerOperations) {
if (CollectionUtils.isEmpty(swaggerOperations)) {
return null;
}
final List<SwaggerOperationRelay> relays = new ArrayList<>(swaggerOperations.size());
for (final SwaggerOperation swaggerOperation : swaggerOperations) {
relays.add(convert(swaggerOperation));
}
return relays;
}
private static SwaggerOperationRelay convert(SwaggerOperation swaggerOperation) {
SwaggerOperationRelay relay = new SwaggerOperationRelay();
relay.id = swaggerOperation.getId().toString();
relay.swaggerApiId = swaggerOperation.getSwaggerApiId().toString();
relay.name = swaggerOperation.getName();
relay.path = swaggerOperation.getPath();
relay.summary = swaggerOperation.getSummary();
relay.consumes = swaggerOperation.getConsumes();
relay.tags = swaggerOperation.getTagArray();
relay.operationId = swaggerOperation.getOperationId();
relay.description = swaggerOperation.getDescription();
relay.method = AjahApiConvert.convert(swaggerOperation.getMethod());
relay.status = AjahApiConvert.convert(swaggerOperation.getStatus());
relay.type = AjahApiConvert.convert(swaggerOperation.getType());
relay.created = swaggerOperation.getCreated();
return relay;
}
public static List<SwaggerPropertyRelay> convertSwaggerProperties(List<SwaggerProperty> swaggerProperties) {
if (CollectionUtils.isEmpty(swaggerProperties)) {
return null;
}
final List<SwaggerPropertyRelay> relays = new ArrayList<>(swaggerProperties.size());
for (final SwaggerProperty swaggerProperty : swaggerProperties) {
relays.add(convert(swaggerProperty));
}
return relays;
}
private static SwaggerPropertyRelay convert(SwaggerProperty swaggerProperty) {
SwaggerPropertyRelay relay = new SwaggerPropertyRelay();
relay.id = swaggerProperty.getId().toString();
relay.swaggerDefinition = convert(swaggerProperty.getSwaggerDefinition());
relay.name = swaggerProperty.getName();
relay.format = swaggerProperty.getFormat();
relay.required = swaggerProperty.isRequired();
relay.status = AjahApiConvert.convert(swaggerProperty.getStatus());
relay.type = AjahApiConvert.convert(swaggerProperty.getType());
relay.created = swaggerProperty.getCreated();
return relay;
}
public static List<SwaggerResponseRelay> convertSwaggerResponses(List<SwaggerResponse> swaggerResponses) {
if (CollectionUtils.isEmpty(swaggerResponses)) {
return null;
}
final List<SwaggerResponseRelay> relays = new ArrayList<>(swaggerResponses.size());
for (final SwaggerResponse swaggerResponse : swaggerResponses) {
relays.add(convert(swaggerResponse));
}
return relays;
}
private static SwaggerResponseRelay convert(SwaggerResponse swaggerResponse) {
SwaggerResponseRelay relay = new SwaggerResponseRelay();
relay.id = swaggerResponse.getId().toString();
relay.swaggerOperationId = swaggerResponse.getSwaggerOperationId().toString();
relay.swaggerDefinition = convert(swaggerResponse.getSwaggerDefinition());
relay.name = swaggerResponse.getName();
relay.description = swaggerResponse.getDescription();
relay.code = swaggerResponse.getCode();
relay.status = AjahApiConvert.convert(swaggerResponse.getStatus());
relay.type = AjahApiConvert.convert(swaggerResponse.getType());
relay.created = swaggerResponse.getCreated();
return relay;
}
public static List<SwaggerParameterRelay> convertSwaggerParameters(List<SwaggerParameter> swaggerParameters) {
if (CollectionUtils.isEmpty(swaggerParameters)) {
return null;
}
final List<SwaggerParameterRelay> relays = new ArrayList<>(swaggerParameters.size());
for (final SwaggerParameter swaggerParameter : swaggerParameters) {
relays.add(convert(swaggerParameter));
}
return relays;
}
private static SwaggerParameterRelay convert(SwaggerParameter swaggerParameter) {
SwaggerParameterRelay relay = new SwaggerParameterRelay();
relay.id = swaggerParameter.getId().toString();
relay.swaggerOperationId = swaggerParameter.getSwaggerOperationId().toString();
relay.swaggerDefinition = convert(swaggerParameter.getSwaggerDefinition());
relay.name = swaggerParameter.getName();
relay.in = swaggerParameter.getIn();
relay.required = swaggerParameter.isRequired();
relay.status = AjahApiConvert.convert(swaggerParameter.getStatus());
relay.type = AjahApiConvert.convert(swaggerParameter.getType());
relay.created = swaggerParameter.getCreated();
return relay;
}
}