Search in sources :

Example 11 with Info

use of io.swagger.models.Info in project incubator-servicecomb-java-chassis by apache.

the class SwaggerGenerator method correctInfo.

private void correctInfo() {
    Info info = swagger.getInfo();
    if (info == null) {
        info = new Info();
        swagger.setInfo(info);
    }
    if (StringUtils.isEmpty(info.getTitle())) {
        info.setTitle("swagger definition for " + cls.getName());
    }
    if (StringUtils.isEmpty(info.getVersion())) {
        info.setVersion("1.0.0");
    }
    setJavaInterface(info, cls);
}
Also used : Info(io.swagger.models.Info)

Example 12 with Info

use of io.swagger.models.Info in project apiee by phillip-kruger.

the class SwaggerCache method createSwagger.

private Swagger createSwagger(final Set<Class<?>> classes, final URL url) {
    Swagger swagger = new Reader(new Swagger()).read(classes);
    Info info = getSwaggerInfo();
    if (info != null)
        swagger.setInfo(info);
    String consumes = whiteLabel.getProperty(CONSUMES, null);
    if (isSet(consumes))
        swagger.setConsumes(toList(consumes));
    String produces = whiteLabel.getProperty(PRODUCES, null);
    if (isSet(produces))
        swagger.setProduces(toList(produces));
    String basePath = whiteLabel.getProperty(BASE_PATH, getBasePath(swagger.getBasePath(), url));
    if (isSet(basePath))
        swagger.setBasePath(basePath);
    String schemes = whiteLabel.getProperty(SCHEMES, url.getProtocol().toUpperCase());
    if (isSet(schemes))
        swagger.setSchemes(toSchemeList(schemes));
    String host = whiteLabel.getProperty(HOST, url.getHost() + DOUBLE_POINT + url.getPort());
    if (isSet(host))
        swagger.setHost(host);
    String tags = whiteLabel.getProperty(TAGS, null);
    if (isSet(tags))
        swagger.setTags(toTagList(tags));
    return swagger;
}
Also used : Swagger(io.swagger.models.Swagger) Reader(io.swagger.jaxrs.Reader) Info(io.swagger.models.Info)

Example 13 with Info

use of io.swagger.models.Info in project herd by FINRAOS.

the class SwaggerGenMojo method getSwagger.

/**
 * Gets a new Swagger metadata.
 *
 * @return the Swagger metadata.
 * @throws MojoExecutionException if any problems were encountered.
 */
private Swagger getSwagger() throws MojoExecutionException {
    getLog().debug("Creating Swagger Metadata");
    // Set up initial Swagger metadata.
    Swagger swagger = new Swagger();
    swagger.setInfo(new Info().title(title).version(version));
    swagger.setBasePath(basePath);
    // Set the schemes.
    if (!CollectionUtils.isEmpty(schemeParameters)) {
        List<Scheme> schemes = new ArrayList<>();
        for (String schemeParameter : schemeParameters) {
            Scheme scheme = Scheme.forValue(schemeParameter);
            if (scheme == null) {
                throw new MojoExecutionException("Invalid scheme specified: " + schemeParameter);
            }
            schemes.add(scheme);
        }
        swagger.setSchemes(schemes);
    }
    // Add authorization support if specified.
    if (authType != null) {
        // Find the definition for the user specified type.
        SecuritySchemeDefinition securitySchemeDefinition = null;
        for (SecuritySchemeDefinition possibleDefinition : SECURITY_SCHEME_DEFINITIONS) {
            if (possibleDefinition.getType().equalsIgnoreCase(authType)) {
                securitySchemeDefinition = possibleDefinition;
                break;
            }
        }
        // If we found a match, set it on the swagger object.
        if (securitySchemeDefinition != null) {
            // Come up with an authentication name for easy identification (e.g. basicAuthentication, etc.).
            String securityName = securitySchemeDefinition.getType() + "Authentication";
            // Add the security definition.
            swagger.addSecurityDefinition(securityName, securitySchemeDefinition);
            // Add the security for everything based on the name of the definition.
            SecurityRequirement securityRequirement = new SecurityRequirement();
            securityRequirement.requirement(securityName);
            swagger.addSecurity(securityRequirement);
        }
    }
    // Use default paths and definitions.
    swagger.setPaths(new TreeMap<>());
    swagger.setDefinitions(new TreeMap<>());
    return swagger;
}
Also used : Scheme(io.swagger.models.Scheme) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) Swagger(io.swagger.models.Swagger) ArrayList(java.util.ArrayList) SecuritySchemeDefinition(io.swagger.models.auth.SecuritySchemeDefinition) Info(io.swagger.models.Info) SecurityRequirement(io.swagger.models.SecurityRequirement)

Example 14 with Info

use of io.swagger.models.Info in project syndesis by syndesisio.

the class BaseSwaggerConnectorGenerator method determineConnectorDescription.

@Override
protected final String determineConnectorDescription(final ConnectorTemplate connectorTemplate, final ConnectorSettings connectorSettings) {
    final Swagger swagger = parseSpecification(connectorSettings, false).getModel();
    final Info info = swagger.getInfo();
    if (info == null) {
        return super.determineConnectorDescription(connectorTemplate, connectorSettings);
    }
    final String description = info.getDescription();
    if (description == null) {
        return super.determineConnectorDescription(connectorTemplate, connectorSettings);
    }
    return description;
}
Also used : Swagger(io.swagger.models.Swagger) Info(io.swagger.models.Info)

Example 15 with Info

use of io.swagger.models.Info in project syndesis by syndesisio.

the class BaseSwaggerConnectorGenerator method info.

@Override
public final ConnectorSummary info(final ConnectorTemplate connectorTemplate, final ConnectorSettings connectorSettings) {
    final SwaggerModelInfo swaggerInfo = parseSpecification(connectorSettings, true);
    try {
        // No matter if the validation fails, try to process the swagger
        final Connector connector = basicConnector(connectorTemplate, connectorSettings);
        final Map<String, Path> paths = swaggerInfo.getModel().getPaths();
        final AtomicInteger total = new AtomicInteger(0);
        final Map<String, Integer> tagCounts = // 
        paths.entrySet().stream().flatMap(// 
        p -> p.getValue().getOperations().stream()).peek(// 
        o -> total.incrementAndGet()).flatMap(// 
        o -> o.getTags().stream().distinct()).collect(// 
        Collectors.groupingBy(// 
        Function.identity(), // 
        Collectors.reducing(0, (e) -> 1, Integer::sum)));
        final ActionsSummary actionsSummary = // 
        new ActionsSummary.Builder().totalActions(// 
        total.intValue()).actionCountByTags(// 
        tagCounts).build();
        return new ConnectorSummary.Builder().createFrom(connector).actionsSummary(actionsSummary).errors(swaggerInfo.getErrors()).warnings(swaggerInfo.getWarnings()).build();
    } catch (@SuppressWarnings("PMD.AvoidCatchingGenericException") final Exception ex) {
        if (!swaggerInfo.getErrors().isEmpty()) {
            // Just log and return the validation errors if any
            LOG.error("An error occurred while trying to create a swagger connector", ex);
            return new ConnectorSummary.Builder().errors(swaggerInfo.getErrors()).warnings(swaggerInfo.getWarnings()).build();
        }
        throw SyndesisServerException.launderThrowable("An error occurred while trying to create a swagger connector", ex);
    }
}
Also used : Path(io.swagger.models.Path) ConnectorDescriptor(io.syndesis.common.model.action.ConnectorDescriptor) SwaggerHelper(io.syndesis.server.connector.generator.swagger.util.SwaggerHelper) ConnectorAction(io.syndesis.common.model.action.ConnectorAction) ActionComparator(io.syndesis.server.connector.generator.util.ActionComparator) Action(io.syndesis.common.model.action.Action) Swagger(io.swagger.models.Swagger) AbstractSerializableParameter(io.swagger.models.parameters.AbstractSerializableParameter) LoggerFactory(org.slf4j.LoggerFactory) ConfigurationProperty(io.syndesis.common.model.connection.ConfigurationProperty) PropertyValue(io.syndesis.common.model.connection.ConfigurationProperty.PropertyValue) Function(java.util.function.Function) ArrayList(java.util.ArrayList) RefParameter(io.swagger.models.parameters.RefParameter) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Path(io.swagger.models.Path) Map(java.util.Map) ConnectorTemplate(io.syndesis.common.model.connection.ConnectorTemplate) URI(java.net.URI) Operation(io.swagger.models.Operation) JsonSchemaHelper(io.syndesis.server.connector.generator.swagger.util.JsonSchemaHelper) ConnectorSummary(io.syndesis.common.model.connection.ConnectorSummary) StringUtils.trimToNull(org.apache.commons.lang3.StringUtils.trimToNull) Logger(org.slf4j.Logger) BodyParameter(io.swagger.models.parameters.BodyParameter) ConnectorGenerator(io.syndesis.server.connector.generator.ConnectorGenerator) DataShape(io.syndesis.common.model.DataShape) Optional.ofNullable(java.util.Optional.ofNullable) Connector(io.syndesis.common.model.connection.Connector) ConnectorSettings(io.syndesis.common.model.connection.ConnectorSettings) Parameter(io.swagger.models.parameters.Parameter) Collectors(java.util.stream.Collectors) Info(io.swagger.models.Info) DataShapeKinds(io.syndesis.common.model.DataShapeKinds) List(java.util.List) OperationDescription(io.syndesis.server.connector.generator.swagger.util.OperationDescription) SyndesisServerException(io.syndesis.common.util.SyndesisServerException) Entry(java.util.Map.Entry) Optional(java.util.Optional) HttpMethod(io.swagger.models.HttpMethod) Collections(java.util.Collections) ActionsSummary(io.syndesis.common.model.action.ActionsSummary) Connector(io.syndesis.common.model.connection.Connector) ActionsSummary(io.syndesis.common.model.action.ActionsSummary) SyndesisServerException(io.syndesis.common.util.SyndesisServerException) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ConnectorSummary(io.syndesis.common.model.connection.ConnectorSummary) AtomicInteger(java.util.concurrent.atomic.AtomicInteger)

Aggregations

Info (io.swagger.models.Info)39 Swagger (io.swagger.models.Swagger)26 Contact (io.swagger.models.Contact)12 Operation (io.swagger.models.Operation)10 Path (io.swagger.models.Path)9 Test (org.testng.annotations.Test)8 License (io.swagger.models.License)7 QueryParameter (io.swagger.models.parameters.QueryParameter)7 ArrayList (java.util.ArrayList)7 HashMap (java.util.HashMap)7 ApiKeyAuthDefinition (io.swagger.models.auth.ApiKeyAuthDefinition)5 PathParameter (io.swagger.models.parameters.PathParameter)5 Model (io.swagger.models.Model)4 OAuth2Definition (io.swagger.models.auth.OAuth2Definition)4 Parameter (io.swagger.models.parameters.Parameter)4 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)4 UriTemplate (org.wso2.carbon.apimgt.core.models.UriTemplate)4 ServiceMethodInfo (org.wso2.msf4j.ServiceMethodInfo)4 Response (io.swagger.models.Response)3 Scheme (io.swagger.models.Scheme)3