
com.reprezen.genflow.swagger.doc.TopMatter.xtend Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright © 2013, 2016 Modelsolv, Inc.
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains the property
* of ModelSolv, Inc. See the file license.html in the root directory of
* this project for further information.
*******************************************************************************/
package com.reprezen.genflow.swagger.doc
import io.swagger.models.Swagger
class TopMatter {
extension DocHelper = HelperHelper.docHelper
def get(Swagger swagger) {
'''
«swagger.info?.title» «swagger.baseUri»
«swagger.info?.description?.docHtml»
Version «swagger.info?.version»
Contact «swagger.contactInfoHtml»
Terms of Service «swagger.info?.termsOfService.docHtml»
License «swagger.licenseInfoHtml»
'''
}
def private getScheme(Swagger swagger) {
val schemes = swagger.schemes.map[it.toString.toLowerCase] // Swagger model api uses ugly upper-case scheme names
for (preferredScheme : #["https", "http"]) {
if (schemes.contains(preferredScheme)) {
return preferredScheme
}
}
if(schemes.size > 0) swagger.schemes.get(0) else "http"
}
def private getBaseUri(Swagger swagger) {
'''(«swagger.getScheme»://«swagger.host»«swagger.basePath»)'''
}
def private getContactInfoHtml(Swagger swagger) {
val contact = swagger.info?.contact
if (contact !== null) {
val primaryText = contact.name ?: contact.url
val primary = if (contact.url !== null) '''«primaryText»''' else primaryText
val email = if (contact.email !== null) '''«contact.email»'''
'''«primary» «email»'''
}
}
def private getLicenseInfoHtml(Swagger swagger) {
val license = swagger.info?.license
if (license !== null) {
val text = license.name ?: license.url
if (license.url !== null) '''«text»''' else text
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy