mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-10-13 16:03:43 +00:00
added files, updated parser version
This commit is contained in:
parent
956a3c024c
commit
e6efcdb6af
12
.gitignore
vendored
12
.gitignore
vendored
@ -22,7 +22,17 @@ samples/server-generator/scalatra/output
|
||||
samples/server-generator/node/output/node_modules
|
||||
samples/server-generator/scalatra/target
|
||||
samples/server-generator/scalatra/output/.history
|
||||
|
||||
samples/client/petstore/qt5cpp/PetStore/moc_*
|
||||
samples/client/petstore/qt5cpp/PetStore/*.o
|
||||
samples/client/petstore/objc/PetstoreClient.xcworkspace/xcuserdata
|
||||
samples/client/petstore/qt5cpp/build-*
|
||||
samples/client/petstore/qt5cpp/PetStore/PetStore
|
||||
samples/client/petstore/qt5cpp/PetStore/Makefile
|
||||
samples/client/petstore/java/hello.txt
|
||||
samples/client/petstore/android-java/hello.txt
|
||||
samples/client/petstore/objc/Build
|
||||
samples/client/petstore/objc/Pods
|
||||
samples/server/petstore/nodejs/node_modules
|
||||
target
|
||||
.idea
|
||||
.lib
|
||||
|
2
pom.xml
2
pom.xml
@ -450,7 +450,7 @@
|
||||
</repository>
|
||||
</repositories>
|
||||
<properties>
|
||||
<swagger-parser-version>1.0.6-SNAPSHOT</swagger-parser-version>
|
||||
<swagger-parser-version>1.0.7</swagger-parser-version>
|
||||
<scala-version>2.10.4</scala-version>
|
||||
<felix-version>2.3.4</felix-version>
|
||||
<swagger-core-version>1.5.2-M2</swagger-core-version>
|
||||
|
@ -0,0 +1,195 @@
|
||||
package io.swagger.client
|
||||
|
||||
import com.sun.jersey.api.client.Client
|
||||
import com.sun.jersey.api.client.ClientResponse
|
||||
import com.sun.jersey.api.client.config.ClientConfig
|
||||
import com.sun.jersey.api.client.config.DefaultClientConfig
|
||||
import com.sun.jersey.api.client.filter.LoggingFilter
|
||||
|
||||
import com.sun.jersey.multipart.FormDataMultiPart
|
||||
import com.sun.jersey.multipart.file.FileDataBodyPart
|
||||
|
||||
import java.io.File
|
||||
import java.net.URLEncoder
|
||||
import javax.ws.rs.core.MediaType
|
||||
|
||||
import scala.collection.JavaConverters._
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
import com.fasterxml.jackson.module.scala.DefaultScalaModule
|
||||
import com.fasterxml.jackson.datatype.joda.JodaModule
|
||||
import com.fasterxml.jackson.core.JsonGenerator.Feature
|
||||
import com.fasterxml.jackson.databind._
|
||||
import com.fasterxml.jackson.annotation._
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize
|
||||
|
||||
object ScalaJsonUtil {
|
||||
def getJsonMapper = {
|
||||
val mapper = new ObjectMapper()
|
||||
mapper.registerModule(new DefaultScalaModule())
|
||||
mapper.registerModule(new JodaModule());
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT)
|
||||
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
|
||||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY)
|
||||
mapper
|
||||
}
|
||||
}
|
||||
|
||||
class ApiInvoker(val mapper: ObjectMapper = ScalaJsonUtil.getJsonMapper,
|
||||
httpHeaders: HashMap[String, String] = HashMap(),
|
||||
hostMap: HashMap[String, Client] = HashMap(),
|
||||
asyncHttpClient: Boolean = false,
|
||||
authScheme: String = "",
|
||||
authPreemptive: Boolean = false) {
|
||||
|
||||
var defaultHeaders: HashMap[String, String] = httpHeaders
|
||||
|
||||
def escape(value: String): String = {
|
||||
URLEncoder.encode(value, "utf-8").replaceAll("\\+", "%20")
|
||||
}
|
||||
|
||||
def escape(value: Long): String = value.toString
|
||||
def escape(value: Double): String = value.toString
|
||||
def escape(value: Float): String = value.toString
|
||||
|
||||
def deserialize(json: String, containerType: String, cls: Class[_]) = {
|
||||
if (cls == classOf[String]) {
|
||||
json match {
|
||||
case s: String => {
|
||||
if (s.startsWith("\"") && s.endsWith("\"") && s.length > 1) s.substring(1, s.length - 2)
|
||||
else s
|
||||
}
|
||||
case _ => null
|
||||
}
|
||||
} else {
|
||||
containerType.toLowerCase match {
|
||||
case "array" => {
|
||||
val typeInfo = mapper.getTypeFactory().constructCollectionType(classOf[java.util.List[_]], cls)
|
||||
val response = mapper.readValue(json, typeInfo).asInstanceOf[java.util.List[_]]
|
||||
response.asScala.toList
|
||||
}
|
||||
case "list" => {
|
||||
val typeInfo = mapper.getTypeFactory().constructCollectionType(classOf[java.util.List[_]], cls)
|
||||
val response = mapper.readValue(json, typeInfo).asInstanceOf[java.util.List[_]]
|
||||
response.asScala.toList
|
||||
}
|
||||
case _ => {
|
||||
json match {
|
||||
case e: String if ("\"\"" == e) => null
|
||||
case _ => mapper.readValue(json, cls)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def serialize(obj: AnyRef): String = {
|
||||
if (obj != null) {
|
||||
obj match {
|
||||
case e: List[_] => mapper.writeValueAsString(obj.asInstanceOf[List[_]].asJava)
|
||||
case _ => mapper.writeValueAsString(obj)
|
||||
}
|
||||
} else null
|
||||
}
|
||||
|
||||
def invokeApi(host: String, path: String, method: String, queryParams: Map[String, String], body: AnyRef, headerParams: Map[String, String], contentType: String): String = {
|
||||
val client = getClient(host)
|
||||
|
||||
val querystring = queryParams.filter(k => k._2 != null).map(k => (escape(k._1) + "=" + escape(k._2))).mkString("?", "&", "")
|
||||
val builder = client.resource(host + path + querystring).accept(contentType)
|
||||
headerParams.map(p => builder.header(p._1, p._2))
|
||||
defaultHeaders.map(p => {
|
||||
headerParams.contains(p._1) match {
|
||||
case true => // override default with supplied header
|
||||
case false => if (p._2 != null) builder.header(p._1, p._2)
|
||||
}
|
||||
})
|
||||
|
||||
val response: ClientResponse = method match {
|
||||
case "GET" => {
|
||||
builder.get(classOf[ClientResponse]).asInstanceOf[ClientResponse]
|
||||
}
|
||||
case "POST" => {
|
||||
if(body != null && body.isInstanceOf[File]) {
|
||||
val file = body.asInstanceOf[File]
|
||||
val form = new FormDataMultiPart()
|
||||
form.field("filename", file.getName())
|
||||
form.bodyPart(new FileDataBodyPart("file", file, MediaType.MULTIPART_FORM_DATA_TYPE))
|
||||
builder.post(classOf[ClientResponse], form)
|
||||
}
|
||||
else {
|
||||
if(body == null) builder.post(classOf[ClientResponse], serialize(body))
|
||||
else builder.`type`(contentType).post(classOf[ClientResponse], serialize(body))
|
||||
}
|
||||
}
|
||||
case "PUT" => {
|
||||
if(body == null) builder.put(classOf[ClientResponse], null)
|
||||
else builder.`type`(contentType).put(classOf[ClientResponse], serialize(body))
|
||||
}
|
||||
case "DELETE" => {
|
||||
builder.delete(classOf[ClientResponse])
|
||||
}
|
||||
case _ => null
|
||||
}
|
||||
response.getClientResponseStatus().getStatusCode() match {
|
||||
case 204 => ""
|
||||
case code: Int if (Range(200, 299).contains(code)) => {
|
||||
response.hasEntity() match {
|
||||
case true => response.getEntity(classOf[String])
|
||||
case false => ""
|
||||
}
|
||||
}
|
||||
case _ => {
|
||||
val entity = response.hasEntity() match {
|
||||
case true => response.getEntity(classOf[String])
|
||||
case false => "no data"
|
||||
}
|
||||
throw new ApiException(
|
||||
response.getClientResponseStatus().getStatusCode(),
|
||||
entity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def getClient(host: String): Client = {
|
||||
hostMap.contains(host) match {
|
||||
case true => hostMap(host)
|
||||
case false => {
|
||||
val client = newClient(host)
|
||||
// client.addFilter(new LoggingFilter())
|
||||
hostMap += host -> client
|
||||
client
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def newClient(host: String): Client = asyncHttpClient match {
|
||||
case true => {
|
||||
import org.sonatype.spice.jersey.client.ahc.config.DefaultAhcConfig
|
||||
import org.sonatype.spice.jersey.client.ahc.AhcHttpClient
|
||||
import com.ning.http.client.Realm
|
||||
|
||||
val config: DefaultAhcConfig = new DefaultAhcConfig()
|
||||
if (!authScheme.isEmpty) {
|
||||
val authSchemeEnum = Realm.AuthScheme.valueOf(authScheme)
|
||||
config.getAsyncHttpClientConfigBuilder
|
||||
.setRealm(new Realm.RealmBuilder().setScheme(authSchemeEnum)
|
||||
.setUsePreemptiveAuth(authPreemptive).build)
|
||||
}
|
||||
AhcHttpClient.create(config)
|
||||
}
|
||||
case _ => Client.create()
|
||||
}
|
||||
}
|
||||
|
||||
object ApiInvoker extends ApiInvoker(mapper = ScalaJsonUtil.getJsonMapper,
|
||||
httpHeaders = HashMap(),
|
||||
hostMap = HashMap(),
|
||||
asyncHttpClient = false,
|
||||
authScheme = "",
|
||||
authPreemptive = false)
|
||||
|
||||
class ApiException(val code: Int, msg: String) extends RuntimeException(msg)
|
||||
|
@ -0,0 +1,201 @@
|
||||
package io.swagger.client.api
|
||||
|
||||
import io.swagger.client.model.ApiTokenStatus
|
||||
import io.swagger.client.model.AuthenticationToken
|
||||
import io.swagger.client.model.User
|
||||
import io.swagger.client.model.WordList
|
||||
import io.swagger.client.ApiInvoker
|
||||
import io.swagger.client.ApiException
|
||||
|
||||
import java.io.File
|
||||
import java.util.Date
|
||||
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
class AccountApi(val defBasePath: String = "https://api.wordnik.com/v4",
|
||||
defApiInvoker: ApiInvoker = ApiInvoker) {
|
||||
var basePath = defBasePath
|
||||
var apiInvoker = defApiInvoker
|
||||
|
||||
def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value
|
||||
|
||||
|
||||
def getApiTokenStatus (api_key: String) : Option[ApiTokenStatus] = {
|
||||
// create path and map variables
|
||||
val path = "/account.json/apiTokenStatus".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "api_key" -> api_key
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[ApiTokenStatus]).asInstanceOf[ApiTokenStatus])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def authenticate (username: String, password: String) : Option[AuthenticationToken] = {
|
||||
// create path and map variables
|
||||
val path = "/account.json/authenticate/{username}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "username" + "\\}",apiInvoker.escape(username))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(password) != "null") queryParams += "password" -> password.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[AuthenticationToken]).asInstanceOf[AuthenticationToken])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def authenticatePost (username: String, body: String) : Option[AuthenticationToken] = {
|
||||
// create path and map variables
|
||||
val path = "/account.json/authenticate/{username}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "username" + "\\}",apiInvoker.escape(username))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
if(body != null && body.isInstanceOf[File] )
|
||||
"multipart/form-data"
|
||||
else "application/json"
|
||||
|
||||
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "POST", queryParams.toMap, body, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[AuthenticationToken]).asInstanceOf[AuthenticationToken])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getLoggedInUser (auth_token: String) : Option[User] = {
|
||||
// create path and map variables
|
||||
val path = "/account.json/user".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[User]).asInstanceOf[User])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getWordListsForLoggedInUser (auth_token: String, skip: Integer, limit: Integer) : Option[List[WordList]] = {
|
||||
// create path and map variables
|
||||
val path = "/account.json/wordLists".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(skip) != "null") queryParams += "skip" -> skip.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "array", classOf[WordList]).asInstanceOf[List[WordList]])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,438 @@
|
||||
package io.swagger.client.api
|
||||
|
||||
import io.swagger.client.model.WordObject
|
||||
import io.swagger.client.model.AudioFile
|
||||
import io.swagger.client.model.Definition
|
||||
import io.swagger.client.model.FrequencySummary
|
||||
import io.swagger.client.model.Bigram
|
||||
import io.swagger.client.model.Example
|
||||
import io.swagger.client.ApiInvoker
|
||||
import io.swagger.client.ApiException
|
||||
|
||||
import java.io.File
|
||||
import java.util.Date
|
||||
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
class WordApi(val defBasePath: String = "https://api.wordnik.com/v4",
|
||||
defApiInvoker: ApiInvoker = ApiInvoker) {
|
||||
var basePath = defBasePath
|
||||
var apiInvoker = defApiInvoker
|
||||
|
||||
def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value
|
||||
|
||||
|
||||
def getWord (word: String, useCanonical: String, includeSuggestions: String) : Option[WordObject] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(includeSuggestions) != "null") queryParams += "includeSuggestions" -> includeSuggestions.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[WordObject]).asInstanceOf[WordObject])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getAudio (word: String, useCanonical: String, limit: Integer) : Option[List[AudioFile]] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/audio".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "array", classOf[AudioFile]).asInstanceOf[List[AudioFile]])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getDefinitions (word: String, limit: Integer, partOfSpeech: String, includeRelated: String, sourceDictionaries: List[String], useCanonical: String, includeTags: String) : Option[List[Definition]] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/definitions".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
if(String.valueOf(partOfSpeech) != "null") queryParams += "partOfSpeech" -> partOfSpeech.toString
|
||||
if(String.valueOf(includeRelated) != "null") queryParams += "includeRelated" -> includeRelated.toString
|
||||
if(String.valueOf(sourceDictionaries) != "null") queryParams += "sourceDictionaries" -> sourceDictionaries.toString
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(includeTags) != "null") queryParams += "includeTags" -> includeTags.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "array", classOf[Definition]).asInstanceOf[List[Definition]])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getEtymologies (word: String, useCanonical: String) : Option[List[String]] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/etymologies".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "array", classOf[String]).asInstanceOf[List[String]])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getExamples (word: String, includeDuplicates: String, useCanonical: String, skip: Integer, limit: Integer) = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/examples".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(includeDuplicates) != "null") queryParams += "includeDuplicates" -> includeDuplicates.toString
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(skip) != "null") queryParams += "skip" -> skip.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getWordFrequency (word: String, useCanonical: String, startYear: Integer, endYear: Integer) : Option[FrequencySummary] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/frequency".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(startYear) != "null") queryParams += "startYear" -> startYear.toString
|
||||
if(String.valueOf(endYear) != "null") queryParams += "endYear" -> endYear.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[FrequencySummary]).asInstanceOf[FrequencySummary])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getHyphenation (word: String, useCanonical: String, sourceDictionary: String, limit: Integer) = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/hyphenation".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(sourceDictionary) != "null") queryParams += "sourceDictionary" -> sourceDictionary.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getPhrases (word: String, limit: Integer, wlmi: Integer, useCanonical: String) : Option[List[Bigram]] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/phrases".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
if(String.valueOf(wlmi) != "null") queryParams += "wlmi" -> wlmi.toString
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "array", classOf[Bigram]).asInstanceOf[List[Bigram]])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getTextPronunciations (word: String, useCanonical: String, sourceDictionary: String, typeFormat: String, limit: Integer) = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/pronunciations".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(sourceDictionary) != "null") queryParams += "sourceDictionary" -> sourceDictionary.toString
|
||||
if(String.valueOf(typeFormat) != "null") queryParams += "typeFormat" -> typeFormat.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getRelatedWords (word: String, useCanonical: String, relationshipTypes: String, limitPerRelationshipType: Integer) = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/relatedWords".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
if(String.valueOf(relationshipTypes) != "null") queryParams += "relationshipTypes" -> relationshipTypes.toString
|
||||
if(String.valueOf(limitPerRelationshipType) != "null") queryParams += "limitPerRelationshipType" -> limitPerRelationshipType.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getTopExample (word: String, useCanonical: String) : Option[Example] = {
|
||||
// create path and map variables
|
||||
val path = "/word.json/{word}/topExample".replaceAll("\\{format\\}","json").replaceAll("\\{" + "word" + "\\}",apiInvoker.escape(word))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[Example]).asInstanceOf[Example])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,245 @@
|
||||
package io.swagger.client.api
|
||||
|
||||
import io.swagger.client.model.WordList
|
||||
import io.swagger.client.model.StringValue
|
||||
import io.swagger.client.ApiInvoker
|
||||
import io.swagger.client.ApiException
|
||||
|
||||
import java.io.File
|
||||
import java.util.Date
|
||||
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
class WordListApi(val defBasePath: String = "https://api.wordnik.com/v4",
|
||||
defApiInvoker: ApiInvoker = ApiInvoker) {
|
||||
var basePath = defBasePath
|
||||
var apiInvoker = defApiInvoker
|
||||
|
||||
def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value
|
||||
|
||||
|
||||
def getWordListByPermalink (permalink: String, auth_token: String) : Option[WordList] = {
|
||||
// create path and map variables
|
||||
val path = "/wordList.json/{permalink}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "permalink" + "\\}",apiInvoker.escape(permalink))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[WordList]).asInstanceOf[WordList])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def updateWordList (permalink: String, body: WordList, auth_token: String) = {
|
||||
// create path and map variables
|
||||
val path = "/wordList.json/{permalink}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "permalink" + "\\}",apiInvoker.escape(permalink))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
if(body != null && body.isInstanceOf[File] )
|
||||
"multipart/form-data"
|
||||
else "application/json"
|
||||
|
||||
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "PUT", queryParams.toMap, body, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def deleteWordList (permalink: String, auth_token: String) = {
|
||||
// create path and map variables
|
||||
val path = "/wordList.json/{permalink}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "permalink" + "\\}",apiInvoker.escape(permalink))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "DELETE", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def deleteWordsFromWordList (permalink: String, body: List[StringValue], auth_token: String) = {
|
||||
// create path and map variables
|
||||
val path = "/wordList.json/{permalink}/deleteWords".replaceAll("\\{format\\}","json").replaceAll("\\{" + "permalink" + "\\}",apiInvoker.escape(permalink))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
if(body != null && body.isInstanceOf[File] )
|
||||
"multipart/form-data"
|
||||
else "application/json"
|
||||
|
||||
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "POST", queryParams.toMap, body, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getWordListWords (permalink: String, sortBy: String, sortOrder: String, skip: Integer, limit: Integer, auth_token: String) = {
|
||||
// create path and map variables
|
||||
val path = "/wordList.json/{permalink}/words".replaceAll("\\{format\\}","json").replaceAll("\\{" + "permalink" + "\\}",apiInvoker.escape(permalink))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(sortBy) != "null") queryParams += "sortBy" -> sortBy.toString
|
||||
if(String.valueOf(sortOrder) != "null") queryParams += "sortOrder" -> sortOrder.toString
|
||||
if(String.valueOf(skip) != "null") queryParams += "skip" -> skip.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def addWordsToWordList (permalink: String, body: List[StringValue], auth_token: String) = {
|
||||
// create path and map variables
|
||||
val path = "/wordList.json/{permalink}/words".replaceAll("\\{format\\}","json").replaceAll("\\{" + "permalink" + "\\}",apiInvoker.escape(permalink))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
if(body != null && body.isInstanceOf[File] )
|
||||
"multipart/form-data"
|
||||
else "application/json"
|
||||
|
||||
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "POST", queryParams.toMap, body, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package io.swagger.client.api
|
||||
|
||||
import io.swagger.client.model.WordList
|
||||
import io.swagger.client.ApiInvoker
|
||||
import io.swagger.client.ApiException
|
||||
|
||||
import java.io.File
|
||||
import java.util.Date
|
||||
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
class WordListsApi(val defBasePath: String = "https://api.wordnik.com/v4",
|
||||
defApiInvoker: ApiInvoker = ApiInvoker) {
|
||||
var basePath = defBasePath
|
||||
var apiInvoker = defApiInvoker
|
||||
|
||||
def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value
|
||||
|
||||
|
||||
def createWordList (body: WordList, auth_token: String) : Option[WordList] = {
|
||||
// create path and map variables
|
||||
val path = "/wordLists.json".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
if(body != null && body.isInstanceOf[File] )
|
||||
"multipart/form-data"
|
||||
else "application/json"
|
||||
|
||||
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
headerParams += "auth_token" -> auth_token
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "POST", queryParams.toMap, body, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[WordList]).asInstanceOf[WordList])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,238 @@
|
||||
package io.swagger.client.api
|
||||
|
||||
import io.swagger.client.model.WordObject
|
||||
import io.swagger.client.model.DefinitionSearchResults
|
||||
import io.swagger.client.model.WordSearchResults
|
||||
import io.swagger.client.model.WordOfTheDay
|
||||
import io.swagger.client.ApiInvoker
|
||||
import io.swagger.client.ApiException
|
||||
|
||||
import java.io.File
|
||||
import java.util.Date
|
||||
|
||||
import scala.collection.mutable.HashMap
|
||||
|
||||
class WordsApi(val defBasePath: String = "https://api.wordnik.com/v4",
|
||||
defApiInvoker: ApiInvoker = ApiInvoker) {
|
||||
var basePath = defBasePath
|
||||
var apiInvoker = defApiInvoker
|
||||
|
||||
def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value
|
||||
|
||||
|
||||
def getRandomWord (hasDictionaryDef: String, includePartOfSpeech: String, excludePartOfSpeech: String, minCorpusCount: Integer, maxCorpusCount: Integer, minDictionaryCount: Integer, maxDictionaryCount: Integer, minLength: Integer, maxLength: Integer) : Option[WordObject] = {
|
||||
// create path and map variables
|
||||
val path = "/words.json/randomWord".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(hasDictionaryDef) != "null") queryParams += "hasDictionaryDef" -> hasDictionaryDef.toString
|
||||
if(String.valueOf(includePartOfSpeech) != "null") queryParams += "includePartOfSpeech" -> includePartOfSpeech.toString
|
||||
if(String.valueOf(excludePartOfSpeech) != "null") queryParams += "excludePartOfSpeech" -> excludePartOfSpeech.toString
|
||||
if(String.valueOf(minCorpusCount) != "null") queryParams += "minCorpusCount" -> minCorpusCount.toString
|
||||
if(String.valueOf(maxCorpusCount) != "null") queryParams += "maxCorpusCount" -> maxCorpusCount.toString
|
||||
if(String.valueOf(minDictionaryCount) != "null") queryParams += "minDictionaryCount" -> minDictionaryCount.toString
|
||||
if(String.valueOf(maxDictionaryCount) != "null") queryParams += "maxDictionaryCount" -> maxDictionaryCount.toString
|
||||
if(String.valueOf(minLength) != "null") queryParams += "minLength" -> minLength.toString
|
||||
if(String.valueOf(maxLength) != "null") queryParams += "maxLength" -> maxLength.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[WordObject]).asInstanceOf[WordObject])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getRandomWords (hasDictionaryDef: String, includePartOfSpeech: String, excludePartOfSpeech: String, minCorpusCount: Integer, maxCorpusCount: Integer, minDictionaryCount: Integer, maxDictionaryCount: Integer, minLength: Integer, maxLength: Integer, sortBy: String, sortOrder: String, limit: Integer) = {
|
||||
// create path and map variables
|
||||
val path = "/words.json/randomWords".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(hasDictionaryDef) != "null") queryParams += "hasDictionaryDef" -> hasDictionaryDef.toString
|
||||
if(String.valueOf(includePartOfSpeech) != "null") queryParams += "includePartOfSpeech" -> includePartOfSpeech.toString
|
||||
if(String.valueOf(excludePartOfSpeech) != "null") queryParams += "excludePartOfSpeech" -> excludePartOfSpeech.toString
|
||||
if(String.valueOf(minCorpusCount) != "null") queryParams += "minCorpusCount" -> minCorpusCount.toString
|
||||
if(String.valueOf(maxCorpusCount) != "null") queryParams += "maxCorpusCount" -> maxCorpusCount.toString
|
||||
if(String.valueOf(minDictionaryCount) != "null") queryParams += "minDictionaryCount" -> minDictionaryCount.toString
|
||||
if(String.valueOf(maxDictionaryCount) != "null") queryParams += "maxDictionaryCount" -> maxDictionaryCount.toString
|
||||
if(String.valueOf(minLength) != "null") queryParams += "minLength" -> minLength.toString
|
||||
if(String.valueOf(maxLength) != "null") queryParams += "maxLength" -> maxLength.toString
|
||||
if(String.valueOf(sortBy) != "null") queryParams += "sortBy" -> sortBy.toString
|
||||
if(String.valueOf(sortOrder) != "null") queryParams += "sortOrder" -> sortOrder.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def reverseDictionary (query: String, findSenseForWord: String, includeSourceDictionaries: String, excludeSourceDictionaries: String, includePartOfSpeech: String, excludePartOfSpeech: String, minCorpusCount: Integer, maxCorpusCount: Integer, minLength: Integer, maxLength: Integer, expandTerms: String, includeTags: String, sortBy: String, sortOrder: String, skip: String, limit: Integer) : Option[DefinitionSearchResults] = {
|
||||
// create path and map variables
|
||||
val path = "/words.json/reverseDictionary".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(query) != "null") queryParams += "query" -> query.toString
|
||||
if(String.valueOf(findSenseForWord) != "null") queryParams += "findSenseForWord" -> findSenseForWord.toString
|
||||
if(String.valueOf(includeSourceDictionaries) != "null") queryParams += "includeSourceDictionaries" -> includeSourceDictionaries.toString
|
||||
if(String.valueOf(excludeSourceDictionaries) != "null") queryParams += "excludeSourceDictionaries" -> excludeSourceDictionaries.toString
|
||||
if(String.valueOf(includePartOfSpeech) != "null") queryParams += "includePartOfSpeech" -> includePartOfSpeech.toString
|
||||
if(String.valueOf(excludePartOfSpeech) != "null") queryParams += "excludePartOfSpeech" -> excludePartOfSpeech.toString
|
||||
if(String.valueOf(minCorpusCount) != "null") queryParams += "minCorpusCount" -> minCorpusCount.toString
|
||||
if(String.valueOf(maxCorpusCount) != "null") queryParams += "maxCorpusCount" -> maxCorpusCount.toString
|
||||
if(String.valueOf(minLength) != "null") queryParams += "minLength" -> minLength.toString
|
||||
if(String.valueOf(maxLength) != "null") queryParams += "maxLength" -> maxLength.toString
|
||||
if(String.valueOf(expandTerms) != "null") queryParams += "expandTerms" -> expandTerms.toString
|
||||
if(String.valueOf(includeTags) != "null") queryParams += "includeTags" -> includeTags.toString
|
||||
if(String.valueOf(sortBy) != "null") queryParams += "sortBy" -> sortBy.toString
|
||||
if(String.valueOf(sortOrder) != "null") queryParams += "sortOrder" -> sortOrder.toString
|
||||
if(String.valueOf(skip) != "null") queryParams += "skip" -> skip.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[DefinitionSearchResults]).asInstanceOf[DefinitionSearchResults])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def searchWords (query: String, caseSensitive: String, includePartOfSpeech: String, excludePartOfSpeech: String, minCorpusCount: Integer, maxCorpusCount: Integer, minDictionaryCount: Integer, maxDictionaryCount: Integer, minLength: Integer, maxLength: Integer, skip: Integer, limit: Integer) : Option[WordSearchResults] = {
|
||||
// create path and map variables
|
||||
val path = "/words.json/search/{query}".replaceAll("\\{format\\}","json").replaceAll("\\{" + "query" + "\\}",apiInvoker.escape(query))
|
||||
|
||||
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(caseSensitive) != "null") queryParams += "caseSensitive" -> caseSensitive.toString
|
||||
if(String.valueOf(includePartOfSpeech) != "null") queryParams += "includePartOfSpeech" -> includePartOfSpeech.toString
|
||||
if(String.valueOf(excludePartOfSpeech) != "null") queryParams += "excludePartOfSpeech" -> excludePartOfSpeech.toString
|
||||
if(String.valueOf(minCorpusCount) != "null") queryParams += "minCorpusCount" -> minCorpusCount.toString
|
||||
if(String.valueOf(maxCorpusCount) != "null") queryParams += "maxCorpusCount" -> maxCorpusCount.toString
|
||||
if(String.valueOf(minDictionaryCount) != "null") queryParams += "minDictionaryCount" -> minDictionaryCount.toString
|
||||
if(String.valueOf(maxDictionaryCount) != "null") queryParams += "maxDictionaryCount" -> maxDictionaryCount.toString
|
||||
if(String.valueOf(minLength) != "null") queryParams += "minLength" -> minLength.toString
|
||||
if(String.valueOf(maxLength) != "null") queryParams += "maxLength" -> maxLength.toString
|
||||
if(String.valueOf(skip) != "null") queryParams += "skip" -> skip.toString
|
||||
if(String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[WordSearchResults]).asInstanceOf[WordSearchResults])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
def getWordOfTheDay (date: String) : Option[WordOfTheDay] = {
|
||||
// create path and map variables
|
||||
val path = "/words.json/wordOfTheDay".replaceAll("\\{format\\}","json")
|
||||
|
||||
|
||||
val contentType = {
|
||||
|
||||
"application/json"
|
||||
}
|
||||
|
||||
// query params
|
||||
val queryParams = new HashMap[String, String]
|
||||
val headerParams = new HashMap[String, String]
|
||||
|
||||
|
||||
|
||||
if(String.valueOf(date) != "null") queryParams += "date" -> date.toString
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
|
||||
case s: String =>
|
||||
Some(ApiInvoker.deserialize(s, "", classOf[WordOfTheDay]).asInstanceOf[WordOfTheDay])
|
||||
|
||||
case _ => None
|
||||
}
|
||||
} catch {
|
||||
case ex: ApiException if ex.code == 404 => None
|
||||
case ex: ApiException => throw ex
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class ApiTokenStatus (
|
||||
valid: Boolean,
|
||||
token: String,
|
||||
resetsInMillis: Long,
|
||||
remainingCalls: Long,
|
||||
expiresInMillis: Long,
|
||||
totalRequests: Long)
|
||||
|
@ -0,0 +1,22 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import org.joda.time.DateTime
|
||||
|
||||
|
||||
|
||||
case class AudioFile (
|
||||
attributionUrl: String,
|
||||
commentCount: Integer,
|
||||
voteCount: Integer,
|
||||
fileUrl: String,
|
||||
audioType: String,
|
||||
id: Long,
|
||||
duration: Double,
|
||||
attributionText: String,
|
||||
createdBy: String,
|
||||
description: String,
|
||||
createdAt: DateTime,
|
||||
voteWeightedAverage: Float,
|
||||
voteAverage: Float,
|
||||
word: String)
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class AudioType (
|
||||
id: Integer,
|
||||
name: String)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class AuthenticationToken (
|
||||
token: String,
|
||||
userId: Long,
|
||||
userSignature: String)
|
||||
|
@ -0,0 +1,12 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Bigram (
|
||||
count: Long,
|
||||
gram2: String,
|
||||
gram1: String,
|
||||
wlmi: Double,
|
||||
mi: Double)
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Category (
|
||||
id: Long,
|
||||
name: String)
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Citation (
|
||||
cite: String,
|
||||
source: String)
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class ContentProvider (
|
||||
id: Integer,
|
||||
name: String)
|
||||
|
@ -0,0 +1,29 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.ExampleUsage
|
||||
import io.swagger.client.model.Note
|
||||
import io.swagger.client.model.Label
|
||||
import io.swagger.client.model.Related
|
||||
import io.swagger.client.model.Citation
|
||||
import io.swagger.client.model.TextPron
|
||||
|
||||
|
||||
|
||||
case class Definition (
|
||||
extendedText: String,
|
||||
text: String,
|
||||
sourceDictionary: String,
|
||||
citations: List[Citation],
|
||||
labels: List[Label],
|
||||
score: Float,
|
||||
exampleUses: List[ExampleUsage],
|
||||
attributionUrl: String,
|
||||
seqString: String,
|
||||
attributionText: String,
|
||||
relatedWords: List[Related],
|
||||
sequence: String,
|
||||
word: String,
|
||||
notes: List[Note],
|
||||
textProns: List[TextPron],
|
||||
partOfSpeech: String)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.Definition
|
||||
|
||||
|
||||
|
||||
case class DefinitionSearchResults (
|
||||
results: List[Definition],
|
||||
totalResults: Integer)
|
||||
|
@ -0,0 +1,22 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.Sentence
|
||||
import io.swagger.client.model.ContentProvider
|
||||
import io.swagger.client.model.ScoredWord
|
||||
|
||||
|
||||
|
||||
case class Example (
|
||||
id: Long,
|
||||
exampleId: Long,
|
||||
title: String,
|
||||
text: String,
|
||||
score: ScoredWord,
|
||||
sentence: Sentence,
|
||||
word: String,
|
||||
provider: ContentProvider,
|
||||
year: Integer,
|
||||
rating: Float,
|
||||
documentId: Long,
|
||||
url: String)
|
||||
|
@ -0,0 +1,11 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.Example
|
||||
import io.swagger.client.model.Facet
|
||||
|
||||
|
||||
|
||||
case class ExampleSearchResults (
|
||||
facets: List[Facet],
|
||||
examples: List[Example])
|
||||
|
@ -0,0 +1,8 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class ExampleUsage (
|
||||
text: String)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.FacetValue
|
||||
|
||||
|
||||
|
||||
case class Facet (
|
||||
facetValues: List[FacetValue],
|
||||
name: String)
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class FacetValue (
|
||||
count: Long,
|
||||
value: String)
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Frequency (
|
||||
count: Long,
|
||||
year: Integer)
|
||||
|
@ -0,0 +1,13 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.Frequency
|
||||
|
||||
|
||||
|
||||
case class FrequencySummary (
|
||||
unknownYearCount: Integer,
|
||||
totalCount: Long,
|
||||
frequencyString: String,
|
||||
word: String,
|
||||
frequency: List[Frequency])
|
||||
|
@ -0,0 +1,9 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Label (
|
||||
text: String,
|
||||
_type: String)
|
||||
|
@ -0,0 +1,11 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Note (
|
||||
noteType: String,
|
||||
appliesTo: List[String],
|
||||
value: String,
|
||||
pos: Integer)
|
||||
|
@ -0,0 +1,12 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.Category
|
||||
import io.swagger.client.model.Root
|
||||
|
||||
|
||||
|
||||
case class PartOfSpeech (
|
||||
roots: List[Root],
|
||||
storageAbbr: List[String],
|
||||
allCategories: List[Category])
|
||||
|
@ -0,0 +1,14 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Related (
|
||||
label1: String,
|
||||
relationshipType: String,
|
||||
label2: String,
|
||||
label3: String,
|
||||
words: List[String],
|
||||
gram: String,
|
||||
label4: String)
|
||||
|
@ -0,0 +1,11 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.Category
|
||||
|
||||
|
||||
|
||||
case class Root (
|
||||
id: Long,
|
||||
name: String,
|
||||
categories: List[Category])
|
||||
|
@ -0,0 +1,18 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class ScoredWord (
|
||||
position: Integer,
|
||||
id: Long,
|
||||
docTermCount: Integer,
|
||||
lemma: String,
|
||||
wordType: String,
|
||||
score: Float,
|
||||
sentenceId: Long,
|
||||
word: String,
|
||||
stopword: Boolean,
|
||||
baseWordScore: Double,
|
||||
partOfSpeech: String)
|
||||
|
@ -0,0 +1,14 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.ScoredWord
|
||||
|
||||
|
||||
|
||||
case class Sentence (
|
||||
hasScoredWords: Boolean,
|
||||
id: Long,
|
||||
scoredWords: List[ScoredWord],
|
||||
display: String,
|
||||
rating: Integer,
|
||||
documentMetadataId: Long)
|
||||
|
@ -0,0 +1,11 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class SimpleDefinition (
|
||||
text: String,
|
||||
source: String,
|
||||
note: String,
|
||||
partOfSpeech: String)
|
||||
|
@ -0,0 +1,11 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class SimpleExample (
|
||||
id: Long,
|
||||
title: String,
|
||||
text: String,
|
||||
url: String)
|
||||
|
@ -0,0 +1,8 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class StringValue (
|
||||
word: String)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class Syllable (
|
||||
text: String,
|
||||
seq: Integer,
|
||||
_type: String)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class TextPron (
|
||||
raw: String,
|
||||
seq: Integer,
|
||||
rawType: String)
|
||||
|
@ -0,0 +1,15 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class User (
|
||||
id: Long,
|
||||
username: String,
|
||||
email: String,
|
||||
status: Integer,
|
||||
faceBookId: String,
|
||||
userName: String,
|
||||
displayName: String,
|
||||
password: String)
|
||||
|
@ -0,0 +1,19 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import org.joda.time.DateTime
|
||||
|
||||
|
||||
|
||||
case class WordList (
|
||||
id: Long,
|
||||
permalink: String,
|
||||
name: String,
|
||||
createdAt: DateTime,
|
||||
updatedAt: DateTime,
|
||||
lastActivityAt: DateTime,
|
||||
username: String,
|
||||
userId: Long,
|
||||
description: String,
|
||||
numberWordsInList: Long,
|
||||
_type: String)
|
||||
|
@ -0,0 +1,15 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import org.joda.time.DateTime
|
||||
|
||||
|
||||
|
||||
case class WordListWord (
|
||||
id: Long,
|
||||
word: String,
|
||||
username: String,
|
||||
userId: Long,
|
||||
createdAt: DateTime,
|
||||
numberCommentsOnWord: Long,
|
||||
numberLists: Long)
|
||||
|
@ -0,0 +1,13 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class WordObject (
|
||||
id: Long,
|
||||
word: String,
|
||||
originalWord: String,
|
||||
suggestions: List[String],
|
||||
canonicalForm: String,
|
||||
vulgar: String)
|
||||
|
@ -0,0 +1,23 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import org.joda.time.DateTime
|
||||
import io.swagger.client.model.SimpleDefinition
|
||||
import io.swagger.client.model.ContentProvider
|
||||
import io.swagger.client.model.SimpleExample
|
||||
|
||||
|
||||
|
||||
case class WordOfTheDay (
|
||||
id: Long,
|
||||
parentId: String,
|
||||
category: String,
|
||||
createdBy: String,
|
||||
createdAt: DateTime,
|
||||
contentProvider: ContentProvider,
|
||||
htmlExtra: String,
|
||||
word: String,
|
||||
definitions: List[SimpleDefinition],
|
||||
examples: List[SimpleExample],
|
||||
note: String,
|
||||
publishDate: DateTime)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
|
||||
|
||||
|
||||
case class WordSearchResult (
|
||||
count: Long,
|
||||
lexicality: Double,
|
||||
word: String)
|
||||
|
@ -0,0 +1,10 @@
|
||||
package io.swagger.client.model
|
||||
|
||||
import io.swagger.client.model.WordSearchResult
|
||||
|
||||
|
||||
|
||||
case class WordSearchResults (
|
||||
searchResults: List[WordSearchResult],
|
||||
totalResults: Integer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user