Search in sources :

Example 1 with Organization

use of org.ballerinalang.ballerina.swagger.convertor.service.model.Organization in project ballerina by ballerina-lang.

the class SwaggerServiceMapper method createOrganizationModel.

/**
 * Creates vendor extension for organization.
 * @param annotationAttributeValue The annotation attribute value for organization vendor extension.
 * @param info The info definition.
 */
private void createOrganizationModel(AnnotationAttachmentAttributeValueNode annotationAttributeValue, Info info) {
    if (null != annotationAttributeValue) {
        AnnotationAttachmentNode organizationAnnotationAttachment = (AnnotationAttachmentNode) annotationAttributeValue.getValue();
        Map<String, AnnotationAttachmentAttributeValueNode> organizationAttributes = this.listToMap(organizationAnnotationAttachment);
        Organization organization = new Organization();
        if (organizationAttributes.containsKey("name")) {
            organization.setName(this.getStringLiteralValue(organizationAttributes.get("name")));
        }
        if (organizationAttributes.containsKey("url")) {
            organization.setUrl(this.getStringLiteralValue(organizationAttributes.get("url")));
        }
        info.setVendorExtension("x-organization", organization);
    }
}
Also used : Organization(org.ballerinalang.ballerina.swagger.convertor.service.model.Organization) AnnotationAttachmentAttributeValueNode(org.ballerinalang.model.tree.expressions.AnnotationAttachmentAttributeValueNode) AnnotationAttachmentNode(org.ballerinalang.model.tree.AnnotationAttachmentNode)

Example 2 with Organization

use of org.ballerinalang.ballerina.swagger.convertor.service.model.Organization in project ballerina by ballerina-lang.

the class SwaggerServiceMapper method parseServiceInfoAnnotationAttachment.

/**
 * Parses the 'ServiceInfo' annotation and build the swagger definition for it.
 * @param service The ballerina service which has the 'ServiceInfo' annotation attachment.
 * @param swagger The swagger definition to be built up.
 */
private void parseServiceInfoAnnotationAttachment(ServiceNode service, Swagger swagger) {
    Optional<? extends AnnotationAttachmentNode> swaggerInfoAnnotation = service.getAnnotationAttachments().stream().filter(a -> null != swaggerAlias && this.swaggerAlias.equals(a.getPackageAlias().getValue()) && "ServiceInfo".equals(a.getAnnotationName().getValue())).findFirst();
    Info info = new Info().version("1.0.0").title(service.getName().getValue());
    if (swaggerInfoAnnotation.isPresent()) {
        Map<String, AnnotationAttachmentAttributeValueNode> attributes = this.listToMap(swaggerInfoAnnotation.get());
        if (attributes.containsKey("serviceVersion")) {
            info.version(this.getStringLiteralValue(attributes.get("serviceVersion")));
        }
        if (attributes.containsKey("title")) {
            info.title(this.getStringLiteralValue(attributes.get("title")));
        }
        if (attributes.containsKey("description")) {
            info.description(this.getStringLiteralValue(attributes.get("description")));
        }
        if (attributes.containsKey("termsOfService")) {
            info.termsOfService(this.getStringLiteralValue(attributes.get("termsOfService")));
        }
        this.createContactModel(attributes.get("contact"), info);
        this.createLicenseModel(attributes.get("license"), info);
        this.createExternalDocModel(attributes.get("externalDoc"), swagger);
        this.createTagModel(attributes.get("tags"), swagger);
        this.createOrganizationModel(attributes.get("organization"), info);
        this.createDevelopersModel(attributes.get("developers"), info);
    }
    swagger.setInfo(info);
}
Also used : Scheme(io.swagger.models.Scheme) ApiKeyAuthDefinition(io.swagger.models.auth.ApiKeyAuthDefinition) Swagger(io.swagger.models.Swagger) Tag(io.swagger.models.Tag) License(io.swagger.models.License) Json(io.swagger.util.Json) LoggerFactory(org.slf4j.LoggerFactory) HashMap(java.util.HashMap) BasicAuthDefinition(io.swagger.models.auth.BasicAuthDefinition) Lists(com.google.common.collect.Lists) Map(java.util.Map) Organization(org.ballerinalang.ballerina.swagger.convertor.service.model.Organization) LinkedList(java.util.LinkedList) Contact(io.swagger.models.Contact) OAuth2Definition(io.swagger.models.auth.OAuth2Definition) Logger(org.slf4j.Logger) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) SecuritySchemeDefinition(io.swagger.models.auth.SecuritySchemeDefinition) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException) Collectors(java.util.stream.Collectors) Info(io.swagger.models.Info) Developer(org.ballerinalang.ballerina.swagger.convertor.service.model.Developer) AnnotationAttachmentNode(org.ballerinalang.model.tree.AnnotationAttachmentNode) ServiceNode(org.ballerinalang.model.tree.ServiceNode) AnnotationAttachmentAttributeValueNode(org.ballerinalang.model.tree.expressions.AnnotationAttachmentAttributeValueNode) List(java.util.List) AnnotationAttachmentAttributeNode(org.ballerinalang.model.tree.expressions.AnnotationAttachmentAttributeNode) ExternalDocs(io.swagger.models.ExternalDocs) LiteralNode(org.ballerinalang.model.tree.expressions.LiteralNode) Optional(java.util.Optional) In(io.swagger.models.auth.In) AnnotationAttachmentAttributeValueNode(org.ballerinalang.model.tree.expressions.AnnotationAttachmentAttributeValueNode) Info(io.swagger.models.Info)

Aggregations

Organization (org.ballerinalang.ballerina.swagger.convertor.service.model.Organization)2 AnnotationAttachmentNode (org.ballerinalang.model.tree.AnnotationAttachmentNode)2 AnnotationAttachmentAttributeValueNode (org.ballerinalang.model.tree.expressions.AnnotationAttachmentAttributeValueNode)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 Lists (com.google.common.collect.Lists)1 Contact (io.swagger.models.Contact)1 ExternalDocs (io.swagger.models.ExternalDocs)1 Info (io.swagger.models.Info)1 License (io.swagger.models.License)1 Scheme (io.swagger.models.Scheme)1 Swagger (io.swagger.models.Swagger)1 Tag (io.swagger.models.Tag)1 ApiKeyAuthDefinition (io.swagger.models.auth.ApiKeyAuthDefinition)1 BasicAuthDefinition (io.swagger.models.auth.BasicAuthDefinition)1 In (io.swagger.models.auth.In)1 OAuth2Definition (io.swagger.models.auth.OAuth2Definition)1 SecuritySchemeDefinition (io.swagger.models.auth.SecuritySchemeDefinition)1 Json (io.swagger.util.Json)1 HashMap (java.util.HashMap)1