Search in sources :

Example 16 with Server

use of org.eclipse.microprofile.openapi.models.servers.Server in project empoa by OpenAPITools.

the class OASMerge method merge.

public static void merge(Operation from, Operation into) {
    if (into == null) {
        throw new IllegalArgumentException("Operation 'into' parameter can not be null");
    }
    if (from != null) {
        List<String> fromTags = from.getTags();
        if (fromTags != null) {
            List<String> intoTags = into.getTags();
            if (intoTags != null) {
                for (String item : fromTags) {
                    if (!intoTags.contains(item)) {
                        into.addTag(item);
                    }
                }
            } else {
                for (String item : fromTags) {
                    into.addTag(item);
                }
            }
        }
        String fromSummary = from.getSummary();
        if (fromSummary != null) {
            into.setSummary(fromSummary);
        }
        String fromDescription = from.getDescription();
        if (fromDescription != null) {
            into.setDescription(fromDescription);
        }
        ExternalDocumentation fromExternalDocs = from.getExternalDocs();
        if (fromExternalDocs != null) {
            ExternalDocumentation intoExternalDocs = into.getExternalDocs();
            if (intoExternalDocs != null) {
                merge(fromExternalDocs, intoExternalDocs);
            } else {
                into.setExternalDocs(OASCopy.copy(fromExternalDocs));
            }
        }
        String fromOperationId = from.getOperationId();
        if (fromOperationId != null) {
            into.setOperationId(fromOperationId);
        }
        List<Parameter> fromParameters = from.getParameters();
        if (fromParameters != null) {
            List<Parameter> intoParameters = into.getParameters();
            if (intoParameters != null) {
                for (Parameter item : fromParameters) {
                    if (!intoParameters.stream().anyMatch(i -> OASEquals.equals(i, item))) {
                        into.addParameter(OASCopy.copy(item));
                    }
                }
            } else {
                for (Parameter item : fromParameters) {
                    into.addParameter(OASCopy.copy(item));
                }
            }
        }
        RequestBody fromRequestBody = from.getRequestBody();
        if (fromRequestBody != null) {
            RequestBody intoRequestBody = into.getRequestBody();
            if (intoRequestBody != null) {
                merge(fromRequestBody, intoRequestBody);
            } else {
                into.setRequestBody(OASCopy.copy(fromRequestBody));
            }
        }
        APIResponses fromResponses = from.getResponses();
        if (fromResponses != null) {
            APIResponses intoResponses = into.getResponses();
            if (intoResponses != null) {
                merge(fromResponses, intoResponses);
            } else {
                into.setResponses(OASCopy.copy(fromResponses));
            }
        }
        Map<String, Callback> fromCallbacks = from.getCallbacks();
        if (fromCallbacks != null) {
            Map<String, Callback> intoCallbacks = into.getCallbacks();
            if (intoCallbacks != null) {
                for (Entry<String, Callback> entry : fromCallbacks.entrySet()) {
                    if (intoCallbacks.containsKey(entry.getKey())) {
                        merge(entry.getValue(), intoCallbacks.get(entry.getKey()));
                    } else {
                        into.addCallback(entry.getKey(), OASCopy.copy(entry.getValue()));
                    }
                }
            } else {
                for (Entry<String, Callback> entry : fromCallbacks.entrySet()) {
                    into.addCallback(entry.getKey(), OASCopy.copy(entry.getValue()));
                }
            }
        }
        Boolean fromDeprecated = from.getDeprecated();
        if (fromDeprecated != null) {
            into.setDeprecated(fromDeprecated);
        }
        List<SecurityRequirement> fromSecurity = from.getSecurity();
        if (fromSecurity != null) {
            List<SecurityRequirement> intoSecurity = into.getSecurity();
            if (intoSecurity != null) {
                for (SecurityRequirement item : fromSecurity) {
                    if (!intoSecurity.stream().anyMatch(i -> OASEquals.equals(i, item))) {
                        into.addSecurityRequirement(OASCopy.copy(item));
                    }
                }
            } else {
                for (SecurityRequirement item : fromSecurity) {
                    into.addSecurityRequirement(OASCopy.copy(item));
                }
            }
        }
        List<Server> fromServers = from.getServers();
        if (fromServers != null) {
            List<Server> intoServers = into.getServers();
            if (intoServers != null) {
                for (Server item : fromServers) {
                    if (!intoServers.stream().anyMatch(i -> OASEquals.equals(i, item))) {
                        into.addServer(OASCopy.copy(item));
                    }
                }
            } else {
                for (Server item : fromServers) {
                    into.addServer(OASCopy.copy(item));
                }
            }
        }
        Map<String, Object> extensions = from.getExtensions();
        if (extensions != null) {
            for (Entry<String, Object> entry : extensions.entrySet()) {
                into.addExtension(entry.getKey(), entry.getValue());
            }
        }
    }
}
Also used : Components(org.eclipse.microprofile.openapi.models.Components) Discriminator(org.eclipse.microprofile.openapi.models.media.Discriminator) Info(org.eclipse.microprofile.openapi.models.info.Info) Example(org.eclipse.microprofile.openapi.models.examples.Example) OASEquals(org.openapitools.empoa.util.equals.OASEquals) SecurityRequirement(org.eclipse.microprofile.openapi.models.security.SecurityRequirement) Paths(org.eclipse.microprofile.openapi.models.Paths) APIResponse(org.eclipse.microprofile.openapi.models.responses.APIResponse) MediaType(org.eclipse.microprofile.openapi.models.media.MediaType) OAuthFlow(org.eclipse.microprofile.openapi.models.security.OAuthFlow) License(org.eclipse.microprofile.openapi.models.info.License) Encoding(org.eclipse.microprofile.openapi.models.media.Encoding) ServerVariable(org.eclipse.microprofile.openapi.models.servers.ServerVariable) BigDecimal(java.math.BigDecimal) PathItem(org.eclipse.microprofile.openapi.models.PathItem) Tag(org.eclipse.microprofile.openapi.models.tags.Tag) Operation(org.eclipse.microprofile.openapi.models.Operation) OASCopy(org.openapitools.empoa.util.copy.OASCopy) Schema(org.eclipse.microprofile.openapi.models.media.Schema) Map(java.util.Map) Header(org.eclipse.microprofile.openapi.models.headers.Header) Callback(org.eclipse.microprofile.openapi.models.callbacks.Callback) RequestBody(org.eclipse.microprofile.openapi.models.parameters.RequestBody) SecurityScheme(org.eclipse.microprofile.openapi.models.security.SecurityScheme) Contact(org.eclipse.microprofile.openapi.models.info.Contact) Content(org.eclipse.microprofile.openapi.models.media.Content) OAuthFlows(org.eclipse.microprofile.openapi.models.security.OAuthFlows) Link(org.eclipse.microprofile.openapi.models.links.Link) Parameter(org.eclipse.microprofile.openapi.models.parameters.Parameter) OpenAPI(org.eclipse.microprofile.openapi.models.OpenAPI) List(java.util.List) APIResponses(org.eclipse.microprofile.openapi.models.responses.APIResponses) ExternalDocumentation(org.eclipse.microprofile.openapi.models.ExternalDocumentation) Entry(java.util.Map.Entry) Server(org.eclipse.microprofile.openapi.models.servers.Server) XML(org.eclipse.microprofile.openapi.models.media.XML) Server(org.eclipse.microprofile.openapi.models.servers.Server) ExternalDocumentation(org.eclipse.microprofile.openapi.models.ExternalDocumentation) Callback(org.eclipse.microprofile.openapi.models.callbacks.Callback) Parameter(org.eclipse.microprofile.openapi.models.parameters.Parameter) APIResponses(org.eclipse.microprofile.openapi.models.responses.APIResponses) RequestBody(org.eclipse.microprofile.openapi.models.parameters.RequestBody) SecurityRequirement(org.eclipse.microprofile.openapi.models.security.SecurityRequirement)

Example 17 with Server

use of org.eclipse.microprofile.openapi.models.servers.Server in project empoa by OpenAPITools.

the class OASMerge method merge.

public static void merge(Link from, Link into) {
    if (into == null) {
        throw new IllegalArgumentException("Link 'into' parameter can not be null");
    }
    if (from != null) {
        String fromRef = from.getRef();
        if (fromRef != null) {
            into.setRef(fromRef);
        }
        Server fromServer = from.getServer();
        if (fromServer != null) {
            Server intoServer = into.getServer();
            if (intoServer != null) {
                merge(fromServer, intoServer);
            } else {
                into.setServer(OASCopy.copy(fromServer));
            }
        }
        String fromOperationRef = from.getOperationRef();
        if (fromOperationRef != null) {
            into.setOperationRef(fromOperationRef);
        }
        Object fromRequestBody = from.getRequestBody();
        if (fromRequestBody != null) {
            into.setRequestBody(fromRequestBody);
        }
        String fromOperationId = from.getOperationId();
        if (fromOperationId != null) {
            into.setOperationId(fromOperationId);
        }
        Map<String, Object> fromParameters = from.getParameters();
        if (fromParameters != null) {
            for (Entry<String, Object> entry : fromParameters.entrySet()) {
                into.addParameter(entry.getKey(), entry.getValue());
            }
        }
        String fromDescription = from.getDescription();
        if (fromDescription != null) {
            into.setDescription(fromDescription);
        }
        Map<String, Object> extensions = from.getExtensions();
        if (extensions != null) {
            for (Entry<String, Object> entry : extensions.entrySet()) {
                into.addExtension(entry.getKey(), entry.getValue());
            }
        }
    }
}
Also used : Server(org.eclipse.microprofile.openapi.models.servers.Server)

Example 18 with Server

use of org.eclipse.microprofile.openapi.models.servers.Server in project empoa by OpenAPITools.

the class OASAccept method accept.

public static void accept(OASVisitor visitor, PathItem pathItem, String jsonPath) {
    if (pathItem != null) {
        OASVisitResult result = visitor.visit(pathItem, jsonPath);
        if (result == OASVisitResult.CONTINUE) {
            List<Server> servers = pathItem.getServers();
            if (servers != null) {
                for (int i = 0; i < servers.size(); i++) {
                    Server item = servers.get(i);
                    accept(visitor, item, jsonPath + ".servers[" + i + "]");
                }
            }
            List<Parameter> parameters = pathItem.getParameters();
            if (parameters != null) {
                for (int i = 0; i < parameters.size(); i++) {
                    Parameter item = parameters.get(i);
                    accept(visitor, item, jsonPath + ".parameters[" + i + "]");
                }
            }
            accept(visitor, pathItem.getGET(), jsonPath + ".get");
            accept(visitor, pathItem.getPUT(), jsonPath + ".put");
            accept(visitor, pathItem.getPOST(), jsonPath + ".post");
            accept(visitor, pathItem.getDELETE(), jsonPath + ".delete");
            accept(visitor, pathItem.getOPTIONS(), jsonPath + ".options");
            accept(visitor, pathItem.getHEAD(), jsonPath + ".head");
            accept(visitor, pathItem.getPATCH(), jsonPath + ".patch");
            accept(visitor, pathItem.getTRACE(), jsonPath + ".trace");
        }
    }
}
Also used : Server(org.eclipse.microprofile.openapi.models.servers.Server) Parameter(org.eclipse.microprofile.openapi.models.parameters.Parameter)

Example 19 with Server

use of org.eclipse.microprofile.openapi.models.servers.Server in project empoa by OpenAPITools.

the class OASCopyTest method testCopyServer.

@Test
public void testCopyServer() throws Exception {
    Server original1 = OASFactory.createServer();
    Server copy1 = OASCopy.copy(original1);
    assertThat(copy1).isNotSameAs(original1);
    assertThat(OASEquals.equals(original1, copy1)).isTrue();
    Server original2 = OASTestFactory.createTestServer();
    Server copy2 = OASCopy.copy(original2);
    assertThat(copy2).isNotSameAs(original2);
    assertThat(OASEquals.equals(original2, copy2)).isTrue();
}
Also used : Server(org.eclipse.microprofile.openapi.models.servers.Server) Test(org.junit.jupiter.api.Test)

Example 20 with Server

use of org.eclipse.microprofile.openapi.models.servers.Server in project empoa by OpenAPITools.

the class AbstractElementSerializerTest method testServerToJson.

@Test
public void testServerToJson() throws Exception {
    Server server = OASElement.createServer();
    String json = convertToJson(server);
    assertThatJson(json).isEqualTo("" + "{\n" + "  \"description\": \"Some description\"\n" + "}");
}
Also used : Server(org.eclipse.microprofile.openapi.models.servers.Server) Test(org.junit.jupiter.api.Test)

Aggregations

Server (org.eclipse.microprofile.openapi.models.servers.Server)47 SecurityRequirement (org.eclipse.microprofile.openapi.models.security.SecurityRequirement)11 Parameter (org.eclipse.microprofile.openapi.models.parameters.Parameter)10 OpenAPI (org.eclipse.microprofile.openapi.models.OpenAPI)8 PathItem (org.eclipse.microprofile.openapi.models.PathItem)8 Tag (org.eclipse.microprofile.openapi.models.tags.Tag)8 Callback (org.eclipse.microprofile.openapi.models.callbacks.Callback)7 ServerImpl (io.smallrye.openapi.api.models.servers.ServerImpl)6 List (java.util.List)6 Operation (org.eclipse.microprofile.openapi.models.Operation)6 Info (org.eclipse.microprofile.openapi.models.info.Info)6 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)5 ArrayList (java.util.ArrayList)5 Components (org.eclipse.microprofile.openapi.models.Components)5 SecurityScheme (org.eclipse.microprofile.openapi.models.security.SecurityScheme)5 ServerVariable (org.eclipse.microprofile.openapi.models.servers.ServerVariable)5 Test (org.junit.jupiter.api.Test)5 ServerImpl (fish.payara.microprofile.openapi.impl.model.servers.ServerImpl)4 Map (java.util.Map)4 MediaType (org.eclipse.microprofile.openapi.models.media.MediaType)4