From 67b7c7d06bb107433fb4346d8403284b45f93c34 Mon Sep 17 00:00:00 2001 From: lhannest Date: Tue, 23 May 2017 10:15:23 -0700 Subject: [PATCH] deleted everything --- .gitignore | 31 - README.md | 5 +- .../aggregator/GenericKnowledgeService.java | 134 -- api/knowledge-beacon-api.yaml | 526 ------- build.gradle | 61 - client/.gitignore | 22 - client/.swagger-codegen-ignore | 23 - client/.travis.yml | 17 - client/README.md | 127 -- client/build.gradle | 103 -- client/build.sbt | 20 - client/docs/ConceptsApi.md | 106 -- client/docs/ConceptsconceptIdDetails.md | 11 - client/docs/EvidenceApi.md | 60 - client/docs/ExactmatchesApi.md | 100 -- client/docs/InlineResponse200.md | 12 - client/docs/InlineResponse2001.md | 15 - client/docs/InlineResponse2002.md | 14 - client/docs/InlineResponse2003.md | 13 - client/docs/InlineResponse2004.md | 12 - client/docs/StatementsApi.md | 62 - client/docs/StatementsObject.md | 11 - client/docs/StatementsPredicate.md | 11 - client/docs/StatementsSubject.md | 11 - client/docs/SummaryApi.md | 50 - client/git_push.sh | 52 - client/gradle.properties | 2 - client/gradle/wrapper/gradle-wrapper.jar | Bin 53639 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - client/gradlew | 160 -- client/gradlew.bat | 90 -- client/pom.xml | 217 --- client/settings.gradle | 1 - client/src/main/AndroidManifest.xml | 3 - .../bio/knowledge/client/ApiCallback.java | 62 - .../java/bio/knowledge/client/ApiClient.java | 1312 ----------------- .../bio/knowledge/client/ApiException.java | 91 -- .../bio/knowledge/client/ApiResponse.java | 59 - .../bio/knowledge/client/Configuration.java | 39 - .../main/java/bio/knowledge/client/JSON.java | 225 --- .../main/java/bio/knowledge/client/Pair.java | 52 - .../knowledge/client/ProgressRequestBody.java | 83 -- .../client/ProgressResponseBody.java | 76 - .../java/bio/knowledge/client/StringUtil.java | 55 - .../bio/knowledge/client/api/ConceptsApi.java | 312 ---- .../bio/knowledge/client/api/EvidenceApi.java | 191 --- .../knowledge/client/api/ExactmatchesApi.java | 295 ---- .../knowledge/client/api/StatementsApi.java | 197 --- .../bio/knowledge/client/api/SummaryApi.java | 167 --- .../bio/knowledge/client/auth/ApiKeyAuth.java | 75 - .../knowledge/client/auth/Authentication.java | 29 - .../knowledge/client/auth/HttpBasicAuth.java | 54 - .../java/bio/knowledge/client/auth/OAuth.java | 39 - .../bio/knowledge/client/auth/OAuthFlow.java | 18 - .../model/ConceptsconceptIdDetails.java | 111 -- .../client/model/InlineResponse200.java | 134 -- .../client/model/InlineResponse2001.java | 216 --- .../client/model/InlineResponse2002.java | 187 --- .../client/model/InlineResponse2003.java | 160 -- .../client/model/InlineResponse2004.java | 134 -- .../client/model/StatementsObject.java | 111 -- .../client/model/StatementsPredicate.java | 111 -- .../client/model/StatementsSubject.java | 111 -- .../knowledge/client/api/ConceptsApiTest.java | 71 - .../knowledge/client/api/EvidenceApiTest.java | 54 - .../client/api/ExactmatchesApiTest.java | 66 - .../client/api/StatementsApiTest.java | 55 - .../knowledge/client/api/SummaryApiTest.java | 50 - generate.sh | 55 - server/.swagger-codegen-ignore | 23 - server/README.md | 18 - server/pom.xml | 73 - .../knowledge/server/RFC3339DateFormat.java | 20 - .../knowledge/server/Swagger2SpringBoot.java | 36 - .../knowledge/server/api/ApiException.java | 11 - .../knowledge/server/api/ApiOriginFilter.java | 28 - .../server/api/ApiResponseMessage.java | 70 - .../bio/knowledge/server/api/ConceptsApi.java | 44 - .../server/api/ConceptsApiController.java | 41 - .../bio/knowledge/server/api/EvidenceApi.java | 34 - .../server/api/EvidenceApiController.java | 35 - .../knowledge/server/api/ExactmatchesApi.java | 39 - .../server/api/ExactmatchesApiController.java | 36 - .../server/api/NotFoundException.java | 11 - .../knowledge/server/api/StatementsApi.java | 35 - .../server/api/StatementsApiController.java | 36 - .../bio/knowledge/server/api/TypesApi.java | 31 - .../server/api/TypesApiController.java | 32 - .../server/configuration/HomeController.java | 16 - .../SwaggerDocumentationConfig.java | 41 - .../model/ConceptsconceptIdDetails.java | 98 -- .../server/model/InlineResponse200.java | 121 -- .../server/model/InlineResponse2001.java | 203 --- .../server/model/InlineResponse2002.java | 174 --- .../server/model/InlineResponse2003.java | 147 -- .../server/model/InlineResponse2004.java | 121 -- .../server/model/StatementsObject.java | 98 -- .../server/model/StatementsPredicate.java | 98 -- .../server/model/StatementsSubject.java | 98 -- .../src/main/resources/application.properties | 5 - settings.gradle | 1 - 101 files changed, 3 insertions(+), 9016 deletions(-) delete mode 100644 .gitignore delete mode 100644 aggregator/src/main/java/bio/knowledge/aggregator/GenericKnowledgeService.java delete mode 100644 api/knowledge-beacon-api.yaml delete mode 100644 build.gradle delete mode 100644 client/.gitignore delete mode 100644 client/.swagger-codegen-ignore delete mode 100644 client/.travis.yml delete mode 100644 client/README.md delete mode 100644 client/build.gradle delete mode 100644 client/build.sbt delete mode 100644 client/docs/ConceptsApi.md delete mode 100644 client/docs/ConceptsconceptIdDetails.md delete mode 100644 client/docs/EvidenceApi.md delete mode 100644 client/docs/ExactmatchesApi.md delete mode 100644 client/docs/InlineResponse200.md delete mode 100644 client/docs/InlineResponse2001.md delete mode 100644 client/docs/InlineResponse2002.md delete mode 100644 client/docs/InlineResponse2003.md delete mode 100644 client/docs/InlineResponse2004.md delete mode 100644 client/docs/StatementsApi.md delete mode 100644 client/docs/StatementsObject.md delete mode 100644 client/docs/StatementsPredicate.md delete mode 100644 client/docs/StatementsSubject.md delete mode 100644 client/docs/SummaryApi.md delete mode 100644 client/git_push.sh delete mode 100644 client/gradle.properties delete mode 100644 client/gradle/wrapper/gradle-wrapper.jar delete mode 100644 client/gradle/wrapper/gradle-wrapper.properties delete mode 100644 client/gradlew delete mode 100644 client/gradlew.bat delete mode 100644 client/pom.xml delete mode 100644 client/settings.gradle delete mode 100644 client/src/main/AndroidManifest.xml delete mode 100644 client/src/main/java/bio/knowledge/client/ApiCallback.java delete mode 100644 client/src/main/java/bio/knowledge/client/ApiClient.java delete mode 100644 client/src/main/java/bio/knowledge/client/ApiException.java delete mode 100644 client/src/main/java/bio/knowledge/client/ApiResponse.java delete mode 100644 client/src/main/java/bio/knowledge/client/Configuration.java delete mode 100644 client/src/main/java/bio/knowledge/client/JSON.java delete mode 100644 client/src/main/java/bio/knowledge/client/Pair.java delete mode 100644 client/src/main/java/bio/knowledge/client/ProgressRequestBody.java delete mode 100644 client/src/main/java/bio/knowledge/client/ProgressResponseBody.java delete mode 100644 client/src/main/java/bio/knowledge/client/StringUtil.java delete mode 100644 client/src/main/java/bio/knowledge/client/api/ConceptsApi.java delete mode 100644 client/src/main/java/bio/knowledge/client/api/EvidenceApi.java delete mode 100644 client/src/main/java/bio/knowledge/client/api/ExactmatchesApi.java delete mode 100644 client/src/main/java/bio/knowledge/client/api/StatementsApi.java delete mode 100644 client/src/main/java/bio/knowledge/client/api/SummaryApi.java delete mode 100644 client/src/main/java/bio/knowledge/client/auth/ApiKeyAuth.java delete mode 100644 client/src/main/java/bio/knowledge/client/auth/Authentication.java delete mode 100644 client/src/main/java/bio/knowledge/client/auth/HttpBasicAuth.java delete mode 100644 client/src/main/java/bio/knowledge/client/auth/OAuth.java delete mode 100644 client/src/main/java/bio/knowledge/client/auth/OAuthFlow.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/ConceptsconceptIdDetails.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/InlineResponse200.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/InlineResponse2001.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/InlineResponse2002.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/InlineResponse2003.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/InlineResponse2004.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/StatementsObject.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/StatementsPredicate.java delete mode 100644 client/src/main/java/bio/knowledge/client/model/StatementsSubject.java delete mode 100644 client/src/test/java/bio/knowledge/client/api/ConceptsApiTest.java delete mode 100644 client/src/test/java/bio/knowledge/client/api/EvidenceApiTest.java delete mode 100644 client/src/test/java/bio/knowledge/client/api/ExactmatchesApiTest.java delete mode 100644 client/src/test/java/bio/knowledge/client/api/StatementsApiTest.java delete mode 100644 client/src/test/java/bio/knowledge/client/api/SummaryApiTest.java delete mode 100644 generate.sh delete mode 100644 server/.swagger-codegen-ignore delete mode 100644 server/README.md delete mode 100644 server/pom.xml delete mode 100644 server/src/main/java/bio/knowledge/server/RFC3339DateFormat.java delete mode 100644 server/src/main/java/bio/knowledge/server/Swagger2SpringBoot.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ApiException.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ApiOriginFilter.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ApiResponseMessage.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ConceptsApi.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ConceptsApiController.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/EvidenceApi.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/EvidenceApiController.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ExactmatchesApi.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/ExactmatchesApiController.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/NotFoundException.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/StatementsApi.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/StatementsApiController.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/TypesApi.java delete mode 100644 server/src/main/java/bio/knowledge/server/api/TypesApiController.java delete mode 100644 server/src/main/java/bio/knowledge/server/configuration/HomeController.java delete mode 100644 server/src/main/java/bio/knowledge/server/configuration/SwaggerDocumentationConfig.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/ConceptsconceptIdDetails.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/InlineResponse200.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/InlineResponse2001.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/InlineResponse2002.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/InlineResponse2003.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/InlineResponse2004.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/StatementsObject.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/StatementsPredicate.java delete mode 100644 server/src/main/java/bio/knowledge/server/model/StatementsSubject.java delete mode 100644 server/src/main/resources/application.properties delete mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5c3bb1f0..00000000 --- a/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -# Hidden files and temporary files -.* -*~ - -# Build files - -/build/ -/bin/ diff --git a/README.md b/README.md index 35607678..3a4bd4ed 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -# beacon-aggregator -A web service that operates over the Beacon network to provide a single software interface over the all the Beacons +# We have moved ## + +This project is now at [https://github.com/NCATS-Tangerine/beacon-aggregator](https://github.com/NCATS-Tangerine/beacon-aggregator). diff --git a/aggregator/src/main/java/bio/knowledge/aggregator/GenericKnowledgeService.java b/aggregator/src/main/java/bio/knowledge/aggregator/GenericKnowledgeService.java deleted file mode 100644 index 3dd83a06..00000000 --- a/aggregator/src/main/java/bio/knowledge/aggregator/GenericKnowledgeService.java +++ /dev/null @@ -1,134 +0,0 @@ -package bio.knowledge.aggregator; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.function.Supplier; - -import org.springframework.beans.factory.annotation.Autowired; - -import bio.knowledge.client.ApiClient; - -public class GenericKnowledgeService { - - // This works because {@code GenericKnowledgeService} is extended by {@code - // KnowledgeBeaconService}, which is a Spring service. - @Autowired - KnowledgeBeaconRegistry registry; - - protected CompletableFuture> query(SupplierBuilder builder) { - - List>> futures = new ArrayList>>(); - - for (KnowledgeBeacon beacon : registry.getKnowledgeBeacons()) { - if (beacon.isEnabled()) { - ListSupplier supplier = builder.build(beacon.getApiClient()); - CompletableFuture> future = CompletableFuture.supplyAsync(supplier); - futures.add(future); - } - } - - @SuppressWarnings("unchecked") - CompletableFuture>[] futureArray = futures.toArray(new CompletableFuture[futures.size()]); - - CompletableFuture> combinedFuture = combineFutures(futureArray); - - return combinedFuture; - } - - /** - * Here we take all of the CompletableFuture objects in futures, and combine - * them into a single CompletableFuture object. This combined future is of - * type Void, so we need thenApply() to get the proper sort of - * CompletableFuture. Also this combinedFuture completes exceptionally if - * any of the items in {@code futures} completes exceptionally. Because of - * this, we also need to tell it what to do if it completes exceptionally, - * which is done with exceptionally(). - * - * @param - * @param futures - * @return - */ - private CompletableFuture> combineFutures(CompletableFuture>[] futures) { - return CompletableFuture.allOf(futures).thenApply(x -> { - - List combinedResults = new ArrayList(); - - for (CompletableFuture> f : futures) { - List results = f.join(); - if (results != null) { - for (T c : results) { - System.out.println(c); - } - combinedResults.addAll(results); - } - } - - return combinedResults; - }).exceptionally((error) -> { - List combinedResults = new ArrayList(); - - for (CompletableFuture> f : futures) { - if (!f.isCompletedExceptionally()) { - List results = f.join(); - if (results != null) { - combinedResults.addAll(results); - } - } - } - return combinedResults; - }); - } - - /** - * Wraps {@code wraps Supplier>}, used for the sake of generic - * queries in {@code GenericKnowledgeService}. The {@code get()} method - * must return a List. It may not return {@code null} or throw an exception - * (so that nothing is returned). The list that it returns is concatenated - * with the lists returned by other suppliers, and so if there is no data to - * return simply return an empty list. - * - * @author Lance Hannestad - * - * @param - */ - public abstract class ListSupplier implements Supplier> { - - /** - * The {@code get()} method must return a List, otherwise the - * CompletableFuture combining in {@code combineFutures()}. will not - * work. To ensure that get() will never return null, I have wrapped it - * another method that will be overridden by extended classes. Now even - * if the author of those extended classes makes a mistake and allows - * for {@code null} to be returned or exceptions be thrown, it should - * get caught here and not harm the combining of completable futures. - */ - @Override - public List get() { - try { - List result = getList(); - if (result != null) { - return result; - } else { - return new ArrayList(); - } - } catch (Exception e) { - return new ArrayList(); - } - } - - public abstract List getList(); - } - - /** - * A class that builds custom ListSupplier objects, for the use of - * generating CompletableFutures within {@code GenericKnowledgeService.query()}. - * - * @author Lance Hannestad - * - * @param - */ - public abstract class SupplierBuilder { - public abstract ListSupplier build(ApiClient apiClient); - } -} diff --git a/api/knowledge-beacon-api.yaml b/api/knowledge-beacon-api.yaml deleted file mode 100644 index bd76f6ff..00000000 --- a/api/knowledge-beacon-api.yaml +++ /dev/null @@ -1,526 +0,0 @@ -swagger: '2.0' -info: - title: Translator Knowledge Beacon API - version: 1.0.11 - contact: - responsibleDeveloper: Richard Bruskiewich - responsibleOrganization: STAR Informatics/Delphinai Corporation - url: 'http://starinformatics.com' - email: richard@starinformatics.com - description: > - This is the Translator Knowledge Beacon web service application programming - interface (API). This OpenAPI ("Swagger") document may be used as the input - specification into a tool like - [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) - to generate client and server code stubs implementing the API, in any one of - several supported computer languages and frameworks. In order to customize - usage to your web site, you should change the 'host' directive below to your - hostname. -host: api.knowledge.bio -basePath: /api -schemes: - - http -produces: - - application/json -tags: - - name: summary - description: Summary statistics about the knowledge source - - name: concepts - description: Queries for concepts - - name: exactmatches - description: >- - Queries for exactly matching concepts *sensa*-SKOS; - http://www.w3.org/2004/02/skos/core#exactMatch - - name: statements - description: Queries for concept-relationship statements - - name: evidence - description: Queries for references cited as evidence for statements - -paths: - '/types': - get: - description: > - Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology - tags: - - summary - operationId: linkedTypes - responses: - '200': - schema: - type: array - items: - type: object - properties: - id: - type: string - description: > - the type - idmap: - type: string - description: - The URL to execute the exactmatches API call on the id - frequency: - type: integer - description: | - the number of instances of the specified type - description: | - Successful response with types and frequency returned - examples: - application/json: - - id: CHEM - frequency: 12355 - idmap: http://myservice.net/api/v1/exactmatches/CHEM - - id: ANAT - frequency: 1234 - idmap: http://myservice.net/api/v1/exactmatches/ANAT - - '/concepts/{conceptId}': - get: - description: > - Retrieves details for a specified concepts in the system, as specified - by a (url-encoded) CURIE identifier of a concept known the given knowledge source. - tags: - - concepts - parameters: - - name: conceptId - in: path - description: (url-encoded) CURIE identifier of concept of interest - required: true - type: string - operationId: getConceptDetails - responses: - '200': - schema: - type: array - items: - type: object - properties: - id: - type: string - description: > - local object identifier for the concept in the specified - knowledge source database - name: - type: string - description: | - canonical human readable name of the concept - semanticGroup: - type: string - description: | - concept semantic type - synonyms: - type: array - description: | - list of synonyms for concept - items: - type: string - definition: - type: string - description: | - concept definition - details: - type: array - items: - type: object - properties: - tag: - type: string - description: | - property name - value: - type: string - description: | - property value - description: | - Successful response with concept details returned - examples: - application/json: - - id: 'wd:Q14883734' - name: WRN - semanticGroup: GENE - synonyms: [] - definition: Werner Syndrome Gene - details: [] - /concepts: - get: - description: | - Retrieves a (paged) list of concepts in the system - tags: - - concepts - parameters: - - name: keywords - in: query - description: >- - a (urlencoded) space delimited set of keywords or substrings against - which to match concept names and synonyms - required: true - type: string - - name: semgroups - in: query - description: > - a (url-encoded) space-delimited set of semantic groups (specified as - codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched - by the main keyword search (see - [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for - the full list of codes) - required: false - type: string - - name: pageNumber - in: query - description: | - (1-based) number of the page to be returned in a paged set of query - results - required: false - type: integer - - name: pageSize - in: query - description: | - number of concepts per page to be returned in a paged set of query - results - required: false - type: integer - operationId: getConcepts - responses: - '200': - schema: - type: array - items: - type: object - properties: - id: - type: string - description: > - local object identifier for the concept in the specified knowledge source database - name: - type: string - description: | - canonical human readable name of the concept - semanticGroup: - type: string - description: | - concept semantic type - synonyms: - type: array - description: | - list of synonyms for concept - items: - type: string - definition: - type: string - description: | - concept definition - description: | - Successful response with concept list returned - examples: - application/json: - - id: 'wd:Q6591532' - name: 'WRN protein, human' - semanticGroup: CHEM - synonyms: - - RecQ3 - - Werner Syndrome ATP-Dependent Helicase - - 'RECQL2 protein, human' - - EC 3.1.-.- - - 'WRN protein, human' - - WRN - - Exonuclease WRN - - Werner Syndrome Protein - - RecQ Protein-Like 2 - - EC 3.6.4.12 - - 'RECQ3 protein, human' - - 'Werner syndrome helicase, human' - - WRN Protein - - 'DNA Helicase, RecQ-Like Type 3' - definition: 'Werner syndrome ATP-dependent helicase (1432 aa, ~162 kDa) is encoded by the human WRN gene. This protein plays a role in both magnesium and ATP-dependent DNA-helicase activity and 3\''->5\'' exonuclease activity towards double-stranded DNA with a 5\''-overhang.' - - id: 'wd:Q18042562' - name: WRNIP1 - semanticGroup: GENE - synonyms: - - WHIP - - Werner helicase interacting protein 1 - - WRNIP1 - - bA420G6.2 - definition: human gene - - id: 'wd:Q14883734' - name: WRN - semanticGroup: GENE - synonyms: - - RECQ3 - - RECQL3 - - Werner syndrome RecQ like helicase - - RECQL2 - definition: human gene - - id: 'wd:Q1154619' - name: Werner Syndrome - semanticGroup: DISO - synonyms: - - Werner Syndrome - - Pangeria - - 'Syndrome, Werner' - - 'Progeria, Adult' - - 'Werner Syndrome [Disease/Finding]' - - Werner syndrome (disorder) - - adult progeria - - Werner - - syndromes werner - - 'Syndrome, Werner\''s' - - WRN - - Werner\'s syndrome - - adults progeria - - Werner syndrome (adult progeria) (diagnosis) - - Werner syndrome (adult progeria) - - 'Syndrome, Werners' - - Adult premature aging syndrome - - syndromes werner\'s - - Werners Syndrome - - syndrome werner - - Progeria of the adult - - WS - - syndromes werners - - Adult premature ageing syndrome - definition: 'autosomal recessive disorder that causes premature aging in adults, characterized by sclerodermal skin changes, cataracts, subcutaneous calcifications, muscular atrophy, a tendency to diabetes mellitus, aged appearance of the face, baldness, and a high incidence of neoplastic disease.' - - '/exactmatches/{conceptId}': - get: - description: > - Retrieves a list of qualified identifiers of "exact match" concepts, - [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a - specified (url-encoded) CURIE (without brackets) concept object identifier, - typically, of a concept selected from the list of concepts originally returned by a - /concepts API call on a given KS. - tags: - - exactmatches - parameters: - - name: conceptId - in: path - description: (url-encoded) CURIE identifier of the concept to be matched - required: true - type: string - operationId: getExactMatchesToConcept - responses: - '200': - description: > - Successful response returns a set of - [CURIE](https://www.w3.org/TR/curie/) identifiers to 3rd party - concepts defined outside of the local KS, which are deemed semantic - exact matches [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) to the specified identified concept (maybe an empty set?) - schema: - type: array - items: - type: string - examples: - application/json: - [ 'wd:Q14883734', 'NCBIGene:7486' ] - /exactmatches: - get: - description: > - Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers - of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. - tags: - - exactmatches - parameters: - - name: c - in: query - description: > - set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly - matching concepts, to be used in a search for additional exactly - matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). - required: true - type: array - items: - type: string - operationId: getExactMatchesToConceptList - responses: - '200': - description: > - Successful response returns a set of - [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of - concepts (with supporting evidence code and reference) matching at - least one identifier in the input list of known exactly matched - concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). Each concept - identifier is returned with the full list of any additional - associated [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers - of exact match concepts known to the given Knowledge Source. - schema: - type: array - items: - type: string - description: > - [CURIE](https://www.w3.org/TR/curie/) identifier of an exact matching concept not yet listed in the input set of exact matching concepts. - examples: - application/json: - [ 'wd:Q14883734', 'NCBIGene:7486' ] - /statements: - get: - description: > - Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) - identifiers of exactly matching concepts, retrieves a paged list of - concept-relations where either the subject or object concept matches at - least one concept in the input list - tags: - - statements - parameters: - - name: c - in: query - description: > - set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly - matching concepts to be used in a search for associated - concept-relation statements - required: true - type: array - items: - type: string - - name: pageNumber - in: query - description: | - (1-based) number of the page to be returned in a paged set of query - results - required: false - type: integer - - name: pageSize - in: query - description: | - number of concepts per page to be returned in a paged set of query - results - required: false - type: integer - - name: keywords - in: query - description: > - a (url-encoded, space-delimited) string of keywords or substrings against - which to match the subject, predicate or object names of the - set of concept-relations matched by any of the input exact matching - concepts - required: false - type: string - - name: semgroups - in: query - description: > - a (url-encoded, space-delimited) string of semantic groups (specified as - codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or - object concepts associated with the query seed concept (see - [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for - the full list of codes) - required: false - type: string - operationId: getStatements - responses: - '200': - description: > - Successful response returns a list of concept-relations where there is an exact match of an input concept identifier either to the subject or object concepts of the statement - schema: - type: array - items: - type: object - properties: - id: - type: string - description: CURIE-encoded identifier for statement (can be used to retrieve associated evidence) - subject: - type: object - properties: - id: - type: string - description: | - CURIE-encoded identifier of concept - name: - type: string - description: human readable label of subject concept - predicate: - type: object - properties: - id: - type: string - description: | - CURIE-encoded identifier of predicate resource - name: - type: string - description: human readable label of concept - object: - type: object - properties: - id: - type: string - description: | - CURIE-encoded identifier of object concept - name: - type: string - description: human readable label of object concept - examples: - application/json: - - source: semmeddb - id: kb:12345 - subject: - id: - - 'wd:Q14912054' - name: KCNJ11 - predicate: - id: - - 'kbp:10' - name: Causes - object: - id: - - 'wd:Q2898645' - name: Neonatal diabetes mellitus - '/evidence/{statementId}': - get: - description: > - Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement - tags: - - evidence - parameters: - - name: statementId - in: path - description: > - (url-encoded) CURIE identifier of the concept-relationship statement ("assertion", "claim") for which associated evidence is sought - required: true - type: string - - name: keywords - in: query - description: > - (url-encoded, space delimited) keyword filter to apply against the label field of the annotation - required: false - type: string - - name: pageNumber - in: query - description: | - (1-based) number of the page to be returned in a paged set of query - results - required: false - type: integer - - name: pageSize - in: query - description: > - number of cited references per page to be returned in a paged set of query results - required: false - type: integer - operationId: getEvidence - responses: - '200': - description: > - successful call returns a list of annotation with metadata - schema: - type: array - items: - type: object - properties: - id: - type: string - description: | - CURIE-encoded identifier to an associated external resources (e.g. PMID of a pubmed citation) - label: - type: string - description: | - canonical human readable and searchable label of the annotation (i.e. comment, matched sentence, etc.) - date: - type: string - description: | - publication date of annotation (generally of format 'yyyy-mm-dd') - examples: - application/json: - - id: - - 'pmid:22781086' - label: >- - Neonatal diabetes mellitus and congenital diaphragmatic hernia - coincidence or concurrent etiology? - date: 2012-07-10 diff --git a/build.gradle b/build.gradle deleted file mode 100644 index adfa3b71..00000000 --- a/build.gradle +++ /dev/null @@ -1,61 +0,0 @@ -allprojects { - task hello << { task -> println "I'm $task.project.name" } -} - -subprojects { - apply plugin: "java" - repositories { - mavenCentral() - } -} - -project(':server') { - dependencies { - compile project(':aggregator') - compile("org.springframework:spring-context:4.2.6.RELEASE") - compile("org.springframework.boot:spring-boot-starter-web") - - // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent - compile group: 'org.springframework.boot', name: 'spring-boot-starter-parent', version: '1.5.2.RELEASE' - - // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web - compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.5.2.RELEASE' - - // https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 - compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0' - - // https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui - compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.5.0' - - // https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-joda - compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-joda', version: '2.9.0.pr2' - - // https://mvnrepository.com/artifact/joda-time/joda-time - compile group: 'joda-time', name: 'joda-time', version: '2.9.9' - - // https://mvnrepository.com/artifact/javax.validation/validation-api - compile group: 'javax.validation', name: 'validation-api', version: '1.1.0.Final' - - // https://mvnrepository.com/artifact/io.swagger/swagger-jaxrs - compile group: 'io.swagger', name: 'swagger-jaxrs', version: '1.5.0' - - compile 'javax.validation:validation-api:1.1.0.Final' - compile 'org.hibernate:hibernate-validator:5.2.2.Final' - compile 'commons-cli:commons-cli:1.1' - } -} - -project(':aggregator') { - dependencies { - compile project(':client') - - compile("org.springframework:spring-context:4.2.6.RELEASE") - compile("org.springframework.boot:spring-boot-starter-web") - - // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent - compile group: 'org.springframework.boot', name: 'spring-boot-starter-parent', version: '1.5.2.RELEASE' - - // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web - compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.5.2.RELEASE' - } -} diff --git a/client/.gitignore b/client/.gitignore deleted file mode 100644 index e59285e5..00000000 --- a/client/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -*.class - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# exclude jar for gradle wrapper -!gradle/wrapper/*.jar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -# build files -**/target -target -.gradle -build -/bin/ diff --git a/client/.swagger-codegen-ignore b/client/.swagger-codegen-ignore deleted file mode 100644 index c5fa491b..00000000 --- a/client/.swagger-codegen-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# Swagger Codegen Ignore -# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/client/.travis.yml b/client/.travis.yml deleted file mode 100644 index 70cb81a6..00000000 --- a/client/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -# -# Generated by: https://github.com/swagger-api/swagger-codegen.git -# -language: java -jdk: - - oraclejdk8 - - oraclejdk7 -before_install: - # ensure gradlew has proper permission - - chmod a+x ./gradlew -script: - # test using maven - - mvn test - # uncomment below to test using gradle - # - gradle test - # uncomment below to test using sbt - # - sbt test diff --git a/client/README.md b/client/README.md deleted file mode 100644 index 15271586..00000000 --- a/client/README.md +++ /dev/null @@ -1,127 +0,0 @@ -# swagger-java-client - -## Requirements - -Building the API client library requires [Maven](https://maven.apache.org/) to be installed. - -## Installation - -To install the API client library to your local Maven repository, simply execute: - -```shell -mvn install -``` - -To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: - -```shell -mvn deploy -``` - -Refer to the [official documentation](https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) for more information. - -### Maven users - -Add this dependency to your project's POM: - -```xml - - io.swagger - swagger-java-client - 1.0.0 - compile - -``` - -### Gradle users - -Add this dependency to your project's build file: - -```groovy -compile "io.swagger:swagger-java-client:1.0.0" -``` - -### Others - -At first generate the JAR by executing: - - mvn package - -Then manually install the following JARs: - -* target/swagger-java-client-1.0.0.jar -* target/lib/*.jar - -## Getting Started - -Please follow the [installation](#installation) instruction and execute the following Java code: - -```java - -import bio.knowledge.client.*; -import bio.knowledge.client.auth.*; -import bio.knowledge.client.model.*; -import bio.knowledge.client.api.ConceptsApi; - -import java.io.File; -import java.util.*; - -public class ConceptsApiExample { - - public static void main(String[] args) { - - ConceptsApi apiInstance = new ConceptsApi(); - String conceptId = "conceptId_example"; // String | (url-encoded) CURIE identifier of concept of interest - try { - List result = apiInstance.getConceptDetails(conceptId); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling ConceptsApi#getConceptDetails"); - e.printStackTrace(); - } - } -} - -``` - -## Documentation for API Endpoints - -All URIs are relative to *http://api.knowledge.bio/api* - -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*ConceptsApi* | [**getConceptDetails**](docs/ConceptsApi.md#getConceptDetails) | **GET** /concepts/{conceptId} | -*ConceptsApi* | [**getConcepts**](docs/ConceptsApi.md#getConcepts) | **GET** /concepts | -*EvidenceApi* | [**getEvidence**](docs/EvidenceApi.md#getEvidence) | **GET** /evidence/{statementId} | -*ExactmatchesApi* | [**getExactMatchesToConcept**](docs/ExactmatchesApi.md#getExactMatchesToConcept) | **GET** /exactmatches/{conceptId} | -*ExactmatchesApi* | [**getExactMatchesToConceptList**](docs/ExactmatchesApi.md#getExactMatchesToConceptList) | **GET** /exactmatches | -*StatementsApi* | [**getStatements**](docs/StatementsApi.md#getStatements) | **GET** /statements | -*SummaryApi* | [**linkedTypes**](docs/SummaryApi.md#linkedTypes) | **GET** /types | - - -## Documentation for Models - - - [ConceptsconceptIdDetails](docs/ConceptsconceptIdDetails.md) - - [InlineResponse200](docs/InlineResponse200.md) - - [InlineResponse2001](docs/InlineResponse2001.md) - - [InlineResponse2002](docs/InlineResponse2002.md) - - [InlineResponse2003](docs/InlineResponse2003.md) - - [InlineResponse2004](docs/InlineResponse2004.md) - - [StatementsObject](docs/StatementsObject.md) - - [StatementsPredicate](docs/StatementsPredicate.md) - - [StatementsSubject](docs/StatementsSubject.md) - - -## Documentation for Authorization - -All endpoints do not require authorization. -Authentication schemes defined for the API: - -## Recommendation - -It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. - -## Author - -richard@starinformatics.com - diff --git a/client/build.gradle b/client/build.gradle deleted file mode 100644 index 0ec352a1..00000000 --- a/client/build.gradle +++ /dev/null @@ -1,103 +0,0 @@ -apply plugin: 'idea' -apply plugin: 'eclipse' - -group = 'io.swagger' -version = '1.0.0' - -buildscript { - repositories { - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:1.5.+' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' - } -} - -repositories { - jcenter() -} - - -if(hasProperty('target') && target == 'android') { - - apply plugin: 'com.android.library' - apply plugin: 'com.github.dcendents.android-maven' - - android { - compileSdkVersion 23 - buildToolsVersion '23.0.2' - defaultConfig { - minSdkVersion 14 - targetSdkVersion 23 - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 - } - - // Rename the aar correctly - libraryVariants.all { variant -> - variant.outputs.each { output -> - def outputFile = output.outputFile - if (outputFile != null && outputFile.name.endsWith('.aar')) { - def fileName = "${project.name}-${variant.baseName}-${version}.aar" - output.outputFile = new File(outputFile.parent, fileName) - } - } - } - - dependencies { - provided 'javax.annotation:jsr250-api:1.0' - } - } - - afterEvaluate { - android.libraryVariants.all { variant -> - def task = project.tasks.create "jar${variant.name.capitalize()}", Jar - task.description = "Create jar artifact for ${variant.name}" - task.dependsOn variant.javaCompile - task.from variant.javaCompile.destinationDir - task.destinationDir = project.file("${project.buildDir}/outputs/jar") - task.archiveName = "${project.name}-${variant.baseName}-${version}.jar" - artifacts.add('archives', task); - } - } - - task sourcesJar(type: Jar) { - from android.sourceSets.main.java.srcDirs - classifier = 'sources' - } - - artifacts { - archives sourcesJar - } - -} else { - - apply plugin: 'java' - apply plugin: 'maven' - - sourceCompatibility = JavaVersion.VERSION_1_7 - targetCompatibility = JavaVersion.VERSION_1_7 - - install { - repositories.mavenInstaller { - pom.artifactId = 'swagger-java-client' - } - } - - task execute(type:JavaExec) { - main = System.getProperty('mainClass') - classpath = sourceSets.main.runtimeClasspath - } -} - -dependencies { - compile 'io.swagger:swagger-annotations:1.5.8' - compile 'com.squareup.okhttp:okhttp:2.7.5' - compile 'com.squareup.okhttp:logging-interceptor:2.7.5' - compile 'com.google.code.gson:gson:2.6.2' - compile 'joda-time:joda-time:2.9.3' - testCompile 'junit:junit:4.12' -} diff --git a/client/build.sbt b/client/build.sbt deleted file mode 100644 index 59bf09eb..00000000 --- a/client/build.sbt +++ /dev/null @@ -1,20 +0,0 @@ -lazy val root = (project in file(".")). - settings( - organization := "io.swagger", - name := "swagger-java-client", - version := "1.0.0", - scalaVersion := "2.11.4", - scalacOptions ++= Seq("-feature"), - javacOptions in compile ++= Seq("-Xlint:deprecation"), - publishArtifact in (Compile, packageDoc) := false, - resolvers += Resolver.mavenLocal, - libraryDependencies ++= Seq( - "io.swagger" % "swagger-annotations" % "1.5.8", - "com.squareup.okhttp" % "okhttp" % "2.7.5", - "com.squareup.okhttp" % "logging-interceptor" % "2.7.5", - "com.google.code.gson" % "gson" % "2.6.2", - "joda-time" % "joda-time" % "2.9.3" % "compile", - "junit" % "junit" % "4.12" % "test", - "com.novocode" % "junit-interface" % "0.10" % "test" - ) - ) diff --git a/client/docs/ConceptsApi.md b/client/docs/ConceptsApi.md deleted file mode 100644 index 6488fabb..00000000 --- a/client/docs/ConceptsApi.md +++ /dev/null @@ -1,106 +0,0 @@ -# ConceptsApi - -All URIs are relative to *http://api.knowledge.bio/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getConceptDetails**](ConceptsApi.md#getConceptDetails) | **GET** /concepts/{conceptId} | -[**getConcepts**](ConceptsApi.md#getConcepts) | **GET** /concepts | - - - -# **getConceptDetails** -> List<InlineResponse2001> getConceptDetails(conceptId) - - - -Retrieves details for a specified concepts in the system, as specified by a (url-encoded) CURIE identifier of a concept known the given knowledge source. - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.ConceptsApi; - - -ConceptsApi apiInstance = new ConceptsApi(); -String conceptId = "conceptId_example"; // String | (url-encoded) CURIE identifier of concept of interest -try { - List result = apiInstance.getConceptDetails(conceptId); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling ConceptsApi#getConceptDetails"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **conceptId** | **String**| (url-encoded) CURIE identifier of concept of interest | - -### Return type - -[**List<InlineResponse2001>**](InlineResponse2001.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -# **getConcepts** -> List<InlineResponse2002> getConcepts(keywords, semgroups, pageNumber, pageSize) - - - -Retrieves a (paged) list of concepts in the system - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.ConceptsApi; - - -ConceptsApi apiInstance = new ConceptsApi(); -String keywords = "keywords_example"; // String | a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms -String semgroups = "semgroups_example"; // String | a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) -Integer pageNumber = 56; // Integer | (1-based) number of the page to be returned in a paged set of query results -Integer pageSize = 56; // Integer | number of concepts per page to be returned in a paged set of query results -try { - List result = apiInstance.getConcepts(keywords, semgroups, pageNumber, pageSize); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling ConceptsApi#getConcepts"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **keywords** | **String**| a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms | - **semgroups** | **String**| a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) | [optional] - **pageNumber** | **Integer**| (1-based) number of the page to be returned in a paged set of query results | [optional] - **pageSize** | **Integer**| number of concepts per page to be returned in a paged set of query results | [optional] - -### Return type - -[**List<InlineResponse2002>**](InlineResponse2002.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - diff --git a/client/docs/ConceptsconceptIdDetails.md b/client/docs/ConceptsconceptIdDetails.md deleted file mode 100644 index 943f7ae9..00000000 --- a/client/docs/ConceptsconceptIdDetails.md +++ /dev/null @@ -1,11 +0,0 @@ - -# ConceptsconceptIdDetails - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**tag** | **String** | property name | [optional] -**value** | **String** | property value | [optional] - - - diff --git a/client/docs/EvidenceApi.md b/client/docs/EvidenceApi.md deleted file mode 100644 index fe4bb980..00000000 --- a/client/docs/EvidenceApi.md +++ /dev/null @@ -1,60 +0,0 @@ -# EvidenceApi - -All URIs are relative to *http://api.knowledge.bio/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getEvidence**](EvidenceApi.md#getEvidence) | **GET** /evidence/{statementId} | - - - -# **getEvidence** -> List<InlineResponse2004> getEvidence(statementId, keywords, pageNumber, pageSize) - - - -Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.EvidenceApi; - - -EvidenceApi apiInstance = new EvidenceApi(); -String statementId = "statementId_example"; // String | (url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought -String keywords = "keywords_example"; // String | (url-encoded, space delimited) keyword filter to apply against the label field of the annotation -Integer pageNumber = 56; // Integer | (1-based) number of the page to be returned in a paged set of query results -Integer pageSize = 56; // Integer | number of cited references per page to be returned in a paged set of query results -try { - List result = apiInstance.getEvidence(statementId, keywords, pageNumber, pageSize); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling EvidenceApi#getEvidence"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **statementId** | **String**| (url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought | - **keywords** | **String**| (url-encoded, space delimited) keyword filter to apply against the label field of the annotation | [optional] - **pageNumber** | **Integer**| (1-based) number of the page to be returned in a paged set of query results | [optional] - **pageSize** | **Integer**| number of cited references per page to be returned in a paged set of query results | [optional] - -### Return type - -[**List<InlineResponse2004>**](InlineResponse2004.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - diff --git a/client/docs/ExactmatchesApi.md b/client/docs/ExactmatchesApi.md deleted file mode 100644 index e51b68ed..00000000 --- a/client/docs/ExactmatchesApi.md +++ /dev/null @@ -1,100 +0,0 @@ -# ExactmatchesApi - -All URIs are relative to *http://api.knowledge.bio/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getExactMatchesToConcept**](ExactmatchesApi.md#getExactMatchesToConcept) | **GET** /exactmatches/{conceptId} | -[**getExactMatchesToConceptList**](ExactmatchesApi.md#getExactMatchesToConceptList) | **GET** /exactmatches | - - - -# **getExactMatchesToConcept** -> List<String> getExactMatchesToConcept(conceptId) - - - -Retrieves a list of qualified identifiers of \"exact match\" concepts, [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a specified (url-encoded) CURIE (without brackets) concept object identifier, typically, of a concept selected from the list of concepts originally returned by a /concepts API call on a given KS. - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.ExactmatchesApi; - - -ExactmatchesApi apiInstance = new ExactmatchesApi(); -String conceptId = "conceptId_example"; // String | (url-encoded) CURIE identifier of the concept to be matched -try { - List result = apiInstance.getExactMatchesToConcept(conceptId); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling ExactmatchesApi#getExactMatchesToConcept"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **conceptId** | **String**| (url-encoded) CURIE identifier of the concept to be matched | - -### Return type - -**List<String>** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -# **getExactMatchesToConceptList** -> List<String> getExactMatchesToConceptList(c) - - - -Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.ExactmatchesApi; - - -ExactmatchesApi apiInstance = new ExactmatchesApi(); -List c = Arrays.asList("c_example"); // List | set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). -try { - List result = apiInstance.getExactMatchesToConceptList(c); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling ExactmatchesApi#getExactMatchesToConceptList"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **c** | [**List<String>**](String.md)| set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). | - -### Return type - -**List<String>** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - diff --git a/client/docs/InlineResponse200.md b/client/docs/InlineResponse200.md deleted file mode 100644 index 32990689..00000000 --- a/client/docs/InlineResponse200.md +++ /dev/null @@ -1,12 +0,0 @@ - -# InlineResponse200 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | the type | [optional] -**idmap** | **String** | The URL to execute the exactmatches API call on the id | [optional] -**frequency** | **Integer** | the number of instances of the specified type | [optional] - - - diff --git a/client/docs/InlineResponse2001.md b/client/docs/InlineResponse2001.md deleted file mode 100644 index 6ce6c1dc..00000000 --- a/client/docs/InlineResponse2001.md +++ /dev/null @@ -1,15 +0,0 @@ - -# InlineResponse2001 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | local object identifier for the concept in the specified knowledge source database | [optional] -**name** | **String** | canonical human readable name of the concept | [optional] -**semanticGroup** | **String** | concept semantic type | [optional] -**synonyms** | **List<String>** | list of synonyms for concept | [optional] -**definition** | **String** | concept definition | [optional] -**details** | [**List<ConceptsconceptIdDetails>**](ConceptsconceptIdDetails.md) | | [optional] - - - diff --git a/client/docs/InlineResponse2002.md b/client/docs/InlineResponse2002.md deleted file mode 100644 index a7947798..00000000 --- a/client/docs/InlineResponse2002.md +++ /dev/null @@ -1,14 +0,0 @@ - -# InlineResponse2002 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | local object identifier for the concept in the specified knowledge source database | [optional] -**name** | **String** | canonical human readable name of the concept | [optional] -**semanticGroup** | **String** | concept semantic type | [optional] -**synonyms** | **List<String>** | list of synonyms for concept | [optional] -**definition** | **String** | concept definition | [optional] - - - diff --git a/client/docs/InlineResponse2003.md b/client/docs/InlineResponse2003.md deleted file mode 100644 index 8cd337e7..00000000 --- a/client/docs/InlineResponse2003.md +++ /dev/null @@ -1,13 +0,0 @@ - -# InlineResponse2003 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | CURIE-encoded identifier for statement (can be used to retrieve associated evidence) | [optional] -**subject** | [**StatementsSubject**](StatementsSubject.md) | | [optional] -**predicate** | [**StatementsPredicate**](StatementsPredicate.md) | | [optional] -**object** | [**StatementsObject**](StatementsObject.md) | | [optional] - - - diff --git a/client/docs/InlineResponse2004.md b/client/docs/InlineResponse2004.md deleted file mode 100644 index 0a48bd39..00000000 --- a/client/docs/InlineResponse2004.md +++ /dev/null @@ -1,12 +0,0 @@ - -# InlineResponse2004 - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | CURIE-encoded identifier to an associated external resources (e.g. PMID of a pubmed citation) | [optional] -**label** | **String** | canonical human readable and searchable label of the annotation (i.e. comment, matched sentence, etc.) | [optional] -**date** | **String** | publication date of annotation (generally of format 'yyyy-mm-dd') | [optional] - - - diff --git a/client/docs/StatementsApi.md b/client/docs/StatementsApi.md deleted file mode 100644 index 9280ad97..00000000 --- a/client/docs/StatementsApi.md +++ /dev/null @@ -1,62 +0,0 @@ -# StatementsApi - -All URIs are relative to *http://api.knowledge.bio/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**getStatements**](StatementsApi.md#getStatements) | **GET** /statements | - - - -# **getStatements** -> List<InlineResponse2003> getStatements(c, pageNumber, pageSize, keywords, semgroups) - - - -Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, retrieves a paged list of concept-relations where either the subject or object concept matches at least one concept in the input list - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.StatementsApi; - - -StatementsApi apiInstance = new StatementsApi(); -List c = Arrays.asList("c_example"); // List | set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements -Integer pageNumber = 56; // Integer | (1-based) number of the page to be returned in a paged set of query results -Integer pageSize = 56; // Integer | number of concepts per page to be returned in a paged set of query results -String keywords = "keywords_example"; // String | a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts -String semgroups = "semgroups_example"; // String | a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) -try { - List result = apiInstance.getStatements(c, pageNumber, pageSize, keywords, semgroups); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling StatementsApi#getStatements"); - e.printStackTrace(); -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **c** | [**List<String>**](String.md)| set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements | - **pageNumber** | **Integer**| (1-based) number of the page to be returned in a paged set of query results | [optional] - **pageSize** | **Integer**| number of concepts per page to be returned in a paged set of query results | [optional] - **keywords** | **String**| a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts | [optional] - **semgroups** | **String**| a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) | [optional] - -### Return type - -[**List<InlineResponse2003>**](InlineResponse2003.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - diff --git a/client/docs/StatementsObject.md b/client/docs/StatementsObject.md deleted file mode 100644 index fcb70578..00000000 --- a/client/docs/StatementsObject.md +++ /dev/null @@ -1,11 +0,0 @@ - -# StatementsObject - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | CURIE-encoded identifier of object concept | [optional] -**name** | **String** | human readable label of object concept | [optional] - - - diff --git a/client/docs/StatementsPredicate.md b/client/docs/StatementsPredicate.md deleted file mode 100644 index d1ff5d62..00000000 --- a/client/docs/StatementsPredicate.md +++ /dev/null @@ -1,11 +0,0 @@ - -# StatementsPredicate - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | CURIE-encoded identifier of predicate resource | [optional] -**name** | **String** | human readable label of concept | [optional] - - - diff --git a/client/docs/StatementsSubject.md b/client/docs/StatementsSubject.md deleted file mode 100644 index b28b59e7..00000000 --- a/client/docs/StatementsSubject.md +++ /dev/null @@ -1,11 +0,0 @@ - -# StatementsSubject - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | CURIE-encoded identifier of concept | [optional] -**name** | **String** | human readable label of subject concept | [optional] - - - diff --git a/client/docs/SummaryApi.md b/client/docs/SummaryApi.md deleted file mode 100644 index 75b41f2d..00000000 --- a/client/docs/SummaryApi.md +++ /dev/null @@ -1,50 +0,0 @@ -# SummaryApi - -All URIs are relative to *http://api.knowledge.bio/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**linkedTypes**](SummaryApi.md#linkedTypes) | **GET** /types | - - - -# **linkedTypes** -> List<InlineResponse200> linkedTypes() - - - -Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology - -### Example -```java -// Import classes: -//import bio.knowledge.client.ApiException; -//import bio.knowledge.client.api.SummaryApi; - - -SummaryApi apiInstance = new SummaryApi(); -try { - List result = apiInstance.linkedTypes(); - System.out.println(result); -} catch (ApiException e) { - System.err.println("Exception when calling SummaryApi#linkedTypes"); - e.printStackTrace(); -} -``` - -### Parameters -This endpoint does not need any parameter. - -### Return type - -[**List<InlineResponse200>**](InlineResponse200.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - diff --git a/client/git_push.sh b/client/git_push.sh deleted file mode 100644 index ed374619..00000000 --- a/client/git_push.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=`git remote` -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git crediential in your environment." - git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' - diff --git a/client/gradle.properties b/client/gradle.properties deleted file mode 100644 index 05644f07..00000000 --- a/client/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -# Uncomment to build for Android -#target = android \ No newline at end of file diff --git a/client/gradle/wrapper/gradle-wrapper.jar b/client/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 2c6137b87896c8f70315ae454e00a969ef5f6019..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53639 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 F{{tUq7iIte diff --git a/client/gradle/wrapper/gradle-wrapper.properties b/client/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index b7a36473..00000000 --- a/client/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Tue May 17 23:08:05 CST 2016 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-bin.zip diff --git a/client/gradlew b/client/gradlew deleted file mode 100644 index 9d82f789..00000000 --- a/client/gradlew +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/client/gradlew.bat b/client/gradlew.bat deleted file mode 100644 index 5f192121..00000000 --- a/client/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/client/pom.xml b/client/pom.xml deleted file mode 100644 index 44cbf28b..00000000 --- a/client/pom.xml +++ /dev/null @@ -1,217 +0,0 @@ - - 4.0.0 - io.swagger - swagger-java-client - jar - swagger-java-client - 1.0.0 - https://github.com/swagger-api/swagger-codegen - Swagger Java - - scm:git:git@github.com:swagger-api/swagger-codegen.git - scm:git:git@github.com:swagger-api/swagger-codegen.git - https://github.com/swagger-api/swagger-codegen - - - 2.2.0 - - - - - Unlicense - http://unlicense.org - repo - - - - - - Swagger - apiteam@swagger.io - Swagger - http://swagger.io - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.12 - - - - loggerPath - conf/log4j.properties - - - -Xms512m -Xmx1500m - methods - pertest - - - - maven-dependency-plugin - - - package - - copy-dependencies - - - ${project.build.directory}/lib - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - 2.2 - - - - jar - test-jar - - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.10 - - - add_sources - generate-sources - - add-source - - - - src/main/java - - - - - add_test_sources - generate-test-sources - - add-test-source - - - - src/test/java - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.4 - - - attach-javadocs - - jar - - - - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - attach-sources - - jar-no-fork - - - - - - - - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - io.swagger - swagger-annotations - ${swagger-core-version} - - - com.squareup.okhttp - okhttp - ${okhttp-version} - - - com.squareup.okhttp - logging-interceptor - ${okhttp-version} - - - com.google.code.gson - gson - ${gson-version} - - - joda-time - joda-time - ${jodatime-version} - - - - junit - junit - ${junit-version} - test - - - - 1.7 - ${java.version} - ${java.version} - 1.5.12 - 2.7.5 - 2.6.2 - 2.9.3 - 1.0.0 - 4.12 - UTF-8 - - diff --git a/client/settings.gradle b/client/settings.gradle deleted file mode 100644 index 55640f75..00000000 --- a/client/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "swagger-java-client" \ No newline at end of file diff --git a/client/src/main/AndroidManifest.xml b/client/src/main/AndroidManifest.xml deleted file mode 100644 index 789890d4..00000000 --- a/client/src/main/AndroidManifest.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/client/src/main/java/bio/knowledge/client/ApiCallback.java b/client/src/main/java/bio/knowledge/client/ApiCallback.java deleted file mode 100644 index b7da529e..00000000 --- a/client/src/main/java/bio/knowledge/client/ApiCallback.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import java.io.IOException; - -import java.util.Map; -import java.util.List; - -/** - * Callback for asynchronous API call. - * - * @param The return type - */ -public interface ApiCallback { - /** - * This is called when the API call fails. - * - * @param e The exception causing the failure - * @param statusCode Status code of the response if available, otherwise it would be 0 - * @param responseHeaders Headers of the response if available, otherwise it would be null - */ - void onFailure(ApiException e, int statusCode, Map> responseHeaders); - - /** - * This is called when the API call succeeded. - * - * @param result The result deserialized from response - * @param statusCode Status code of the response - * @param responseHeaders Headers of the response - */ - void onSuccess(T result, int statusCode, Map> responseHeaders); - - /** - * This is called when the API upload processing. - * - * @param bytesWritten bytes Written - * @param contentLength content length of request body - * @param done write end - */ - void onUploadProgress(long bytesWritten, long contentLength, boolean done); - - /** - * This is called when the API downlond processing. - * - * @param bytesRead bytes Read - * @param contentLength content lenngth of the response - * @param done Read end - */ - void onDownloadProgress(long bytesRead, long contentLength, boolean done); -} diff --git a/client/src/main/java/bio/knowledge/client/ApiClient.java b/client/src/main/java/bio/knowledge/client/ApiClient.java deleted file mode 100644 index a8454549..00000000 --- a/client/src/main/java/bio/knowledge/client/ApiClient.java +++ /dev/null @@ -1,1312 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import com.squareup.okhttp.Call; -import com.squareup.okhttp.Callback; -import com.squareup.okhttp.OkHttpClient; -import com.squareup.okhttp.Request; -import com.squareup.okhttp.Response; -import com.squareup.okhttp.RequestBody; -import com.squareup.okhttp.FormEncodingBuilder; -import com.squareup.okhttp.MultipartBuilder; -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.Headers; -import com.squareup.okhttp.internal.http.HttpMethod; -import com.squareup.okhttp.logging.HttpLoggingInterceptor; -import com.squareup.okhttp.logging.HttpLoggingInterceptor.Level; - -import java.lang.reflect.Type; - -import java.util.Collection; -import java.util.Collections; -import java.util.Map; -import java.util.Map.Entry; -import java.util.HashMap; -import java.util.List; -import java.util.ArrayList; -import java.util.Date; -import java.util.TimeZone; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import java.net.URLEncoder; -import java.net.URLConnection; - -import java.io.File; -import java.io.InputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -import java.security.GeneralSecurityException; -import java.security.KeyStore; -import java.security.SecureRandom; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.security.cert.CertificateFactory; -import java.security.cert.X509Certificate; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.text.ParseException; - -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.KeyManager; -import javax.net.ssl.KeyManagerFactory; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLSession; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509TrustManager; - -import okio.BufferedSink; -import okio.Okio; - -import bio.knowledge.client.auth.Authentication; -import bio.knowledge.client.auth.HttpBasicAuth; -import bio.knowledge.client.auth.ApiKeyAuth; -import bio.knowledge.client.auth.OAuth; - -public class ApiClient { - public static final double JAVA_VERSION; - public static final boolean IS_ANDROID; - public static final int ANDROID_SDK_VERSION; - - static { - JAVA_VERSION = Double.parseDouble(System.getProperty("java.specification.version")); - boolean isAndroid; - try { - Class.forName("android.app.Activity"); - isAndroid = true; - } catch (ClassNotFoundException e) { - isAndroid = false; - } - IS_ANDROID = isAndroid; - int sdkVersion = 0; - if (IS_ANDROID) { - try { - sdkVersion = Class.forName("android.os.Build$VERSION").getField("SDK_INT").getInt(null); - } catch (Exception e) { - try { - sdkVersion = Integer.parseInt((String) Class.forName("android.os.Build$VERSION").getField("SDK").get(null)); - } catch (Exception e2) { } - } - } - ANDROID_SDK_VERSION = sdkVersion; - } - - /** - * The datetime format to be used when lenientDatetimeFormat is enabled. - */ - public static final String LENIENT_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; - - private String basePath = "http://api.knowledge.bio/api"; - private boolean lenientOnJson = false; - private boolean debugging = false; - private Map defaultHeaderMap = new HashMap(); - private String tempFolderPath = null; - - private Map authentications; - - private DateFormat dateFormat; - private DateFormat datetimeFormat; - private boolean lenientDatetimeFormat; - private int dateLength; - - private InputStream sslCaCert; - private boolean verifyingSsl; - - private OkHttpClient httpClient; - private JSON json; - - private HttpLoggingInterceptor loggingInterceptor; - - /* - * Constructor for ApiClient - */ - public ApiClient() { - httpClient = new OkHttpClient(); - - verifyingSsl = true; - - json = new JSON(this); - - /* - * Use RFC3339 format for date and datetime. - * See http://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14 - */ - this.dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - // Always use UTC as the default time zone when dealing with date (without time). - this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - initDatetimeFormat(); - - // Be lenient on datetime formats when parsing datetime from string. - // See parseDatetime. - this.lenientDatetimeFormat = true; - - // Set default User-Agent. - setUserAgent("Swagger-Codegen/1.0.0/java"); - - // Setup authentications (key: authentication name, value: authentication). - authentications = new HashMap(); - // Prevent the authentications from being modified. - authentications = Collections.unmodifiableMap(authentications); - } - - /** - * Get base path - * - * @return Baes path - */ - public String getBasePath() { - return basePath; - } - - /** - * Set base path - * - * @param basePath Base path of the URL (e.g http://api.knowledge.bio/api - * @return An instance of OkHttpClient - */ - public ApiClient setBasePath(String basePath) { - this.basePath = basePath; - return this; - } - - /** - * Get HTTP client - * - * @return An instance of OkHttpClient - */ - public OkHttpClient getHttpClient() { - return httpClient; - } - - /** - * Set HTTP client - * - * @param httpClient An instance of OkHttpClient - * @return Api Client - */ - public ApiClient setHttpClient(OkHttpClient httpClient) { - this.httpClient = httpClient; - return this; - } - - /** - * Get JSON - * - * @return JSON object - */ - public JSON getJSON() { - return json; - } - - /** - * Set JSON - * - * @param json JSON object - * @return Api client - */ - public ApiClient setJSON(JSON json) { - this.json = json; - return this; - } - - /** - * True if isVerifyingSsl flag is on - * - * @return True if isVerifySsl flag is on - */ - public boolean isVerifyingSsl() { - return verifyingSsl; - } - - /** - * Configure whether to verify certificate and hostname when making https requests. - * Default to true. - * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks. - * - * @param verifyingSsl True to verify TLS/SSL connection - * @return ApiClient - */ - public ApiClient setVerifyingSsl(boolean verifyingSsl) { - this.verifyingSsl = verifyingSsl; - applySslSettings(); - return this; - } - - /** - * Get SSL CA cert. - * - * @return Input stream to the SSL CA cert - */ - public InputStream getSslCaCert() { - return sslCaCert; - } - - /** - * Configure the CA certificate to be trusted when making https requests. - * Use null to reset to default. - * - * @param sslCaCert input stream for SSL CA cert - * @return ApiClient - */ - public ApiClient setSslCaCert(InputStream sslCaCert) { - this.sslCaCert = sslCaCert; - applySslSettings(); - return this; - } - - public DateFormat getDateFormat() { - return dateFormat; - } - - public ApiClient setDateFormat(DateFormat dateFormat) { - this.dateFormat = dateFormat; - this.dateLength = this.dateFormat.format(new Date()).length(); - return this; - } - - public DateFormat getDatetimeFormat() { - return datetimeFormat; - } - - public ApiClient setDatetimeFormat(DateFormat datetimeFormat) { - this.datetimeFormat = datetimeFormat; - return this; - } - - /** - * Whether to allow various ISO 8601 datetime formats when parsing a datetime string. - * @see #parseDatetime(String) - * @return True if lenientDatetimeFormat flag is set to true - */ - public boolean isLenientDatetimeFormat() { - return lenientDatetimeFormat; - } - - public ApiClient setLenientDatetimeFormat(boolean lenientDatetimeFormat) { - this.lenientDatetimeFormat = lenientDatetimeFormat; - return this; - } - - /** - * Parse the given date string into Date object. - * The default dateFormat supports these ISO 8601 date formats: - * 2015-08-16 - * 2015-8-16 - * @param str String to be parsed - * @return Date - */ - public Date parseDate(String str) { - if (str == null) - return null; - try { - return dateFormat.parse(str); - } catch (ParseException e) { - throw new RuntimeException(e); - } - } - - /** - * Parse the given datetime string into Date object. - * When lenientDatetimeFormat is enabled, the following ISO 8601 datetime formats are supported: - * 2015-08-16T08:20:05Z - * 2015-8-16T8:20:05Z - * 2015-08-16T08:20:05+00:00 - * 2015-08-16T08:20:05+0000 - * 2015-08-16T08:20:05.376Z - * 2015-08-16T08:20:05.376+00:00 - * 2015-08-16T08:20:05.376+00 - * Note: The 3-digit milli-seconds is optional. Time zone is required and can be in one of - * these formats: - * Z (same with +0000) - * +08:00 (same with +0800) - * -02 (same with -0200) - * -0200 - * @see ISO 8601 - * @param str Date time string to be parsed - * @return Date representation of the string - */ - public Date parseDatetime(String str) { - if (str == null) - return null; - - DateFormat format; - if (lenientDatetimeFormat) { - /* - * When lenientDatetimeFormat is enabled, normalize the date string - * into LENIENT_DATETIME_FORMAT to support various formats - * defined by ISO 8601. - */ - // normalize time zone - // trailing "Z": 2015-08-16T08:20:05Z => 2015-08-16T08:20:05+0000 - str = str.replaceAll("[zZ]\\z", "+0000"); - // remove colon in time zone: 2015-08-16T08:20:05+00:00 => 2015-08-16T08:20:05+0000 - str = str.replaceAll("([+-]\\d{2}):(\\d{2})\\z", "$1$2"); - // expand time zone: 2015-08-16T08:20:05+00 => 2015-08-16T08:20:05+0000 - str = str.replaceAll("([+-]\\d{2})\\z", "$100"); - // add milliseconds when missing - // 2015-08-16T08:20:05+0000 => 2015-08-16T08:20:05.000+0000 - str = str.replaceAll("(:\\d{1,2})([+-]\\d{4})\\z", "$1.000$2"); - format = new SimpleDateFormat(LENIENT_DATETIME_FORMAT); - } else { - format = this.datetimeFormat; - } - - try { - return format.parse(str); - } catch (ParseException e) { - throw new RuntimeException(e); - } - } - - /* - * Parse date or date time in string format into Date object. - * - * @param str Date time string to be parsed - * @return Date representation of the string - */ - public Date parseDateOrDatetime(String str) { - if (str == null) - return null; - else if (str.length() <= dateLength) - return parseDate(str); - else - return parseDatetime(str); - } - - /** - * Format the given Date object into string (Date format). - * - * @param date Date object - * @return Formatted date in string representation - */ - public String formatDate(Date date) { - return dateFormat.format(date); - } - - /** - * Format the given Date object into string (Datetime format). - * - * @param date Date object - * @return Formatted datetime in string representation - */ - public String formatDatetime(Date date) { - return datetimeFormat.format(date); - } - - /** - * Get authentications (key: authentication name, value: authentication). - * - * @return Map of authentication objects - */ - public Map getAuthentications() { - return authentications; - } - - /** - * Get authentication for the given name. - * - * @param authName The authentication name - * @return The authentication, null if not found - */ - public Authentication getAuthentication(String authName) { - return authentications.get(authName); - } - - /** - * Helper method to set username for the first HTTP basic authentication. - * - * @param username Username - */ - public void setUsername(String username) { - for (Authentication auth : authentications.values()) { - if (auth instanceof HttpBasicAuth) { - ((HttpBasicAuth) auth).setUsername(username); - return; - } - } - throw new RuntimeException("No HTTP basic authentication configured!"); - } - - /** - * Helper method to set password for the first HTTP basic authentication. - * - * @param password Password - */ - public void setPassword(String password) { - for (Authentication auth : authentications.values()) { - if (auth instanceof HttpBasicAuth) { - ((HttpBasicAuth) auth).setPassword(password); - return; - } - } - throw new RuntimeException("No HTTP basic authentication configured!"); - } - - /** - * Helper method to set API key value for the first API key authentication. - * - * @param apiKey API key - */ - public void setApiKey(String apiKey) { - for (Authentication auth : authentications.values()) { - if (auth instanceof ApiKeyAuth) { - ((ApiKeyAuth) auth).setApiKey(apiKey); - return; - } - } - throw new RuntimeException("No API key authentication configured!"); - } - - /** - * Helper method to set API key prefix for the first API key authentication. - * - * @param apiKeyPrefix API key prefix - */ - public void setApiKeyPrefix(String apiKeyPrefix) { - for (Authentication auth : authentications.values()) { - if (auth instanceof ApiKeyAuth) { - ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix); - return; - } - } - throw new RuntimeException("No API key authentication configured!"); - } - - /** - * Helper method to set access token for the first OAuth2 authentication. - * - * @param accessToken Access token - */ - public void setAccessToken(String accessToken) { - for (Authentication auth : authentications.values()) { - if (auth instanceof OAuth) { - ((OAuth) auth).setAccessToken(accessToken); - return; - } - } - throw new RuntimeException("No OAuth2 authentication configured!"); - } - - /** - * Set the User-Agent header's value (by adding to the default header map). - * - * @param userAgent HTTP request's user agent - * @return ApiClient - */ - public ApiClient setUserAgent(String userAgent) { - addDefaultHeader("User-Agent", userAgent); - return this; - } - - /** - * Add a default header. - * - * @param key The header's key - * @param value The header's value - * @return ApiClient - */ - public ApiClient addDefaultHeader(String key, String value) { - defaultHeaderMap.put(key, value); - return this; - } - - /** - * @see setLenient - * - * @return True if lenientOnJson is enabled, false otherwise. - */ - public boolean isLenientOnJson() { - return lenientOnJson; - } - - /** - * Set LenientOnJson - * - * @param lenient True to enable lenientOnJson - * @return ApiClient - */ - public ApiClient setLenientOnJson(boolean lenient) { - this.lenientOnJson = lenient; - return this; - } - - /** - * Check that whether debugging is enabled for this API client. - * - * @return True if debugging is enabled, false otherwise. - */ - public boolean isDebugging() { - return debugging; - } - - /** - * Enable/disable debugging for this API client. - * - * @param debugging To enable (true) or disable (false) debugging - * @return ApiClient - */ - public ApiClient setDebugging(boolean debugging) { - if (debugging != this.debugging) { - if (debugging) { - loggingInterceptor = new HttpLoggingInterceptor(); - loggingInterceptor.setLevel(Level.BODY); - httpClient.interceptors().add(loggingInterceptor); - } else { - httpClient.interceptors().remove(loggingInterceptor); - loggingInterceptor = null; - } - } - this.debugging = debugging; - return this; - } - - /** - * The path of temporary folder used to store downloaded files from endpoints - * with file response. The default value is null, i.e. using - * the system's default tempopary folder. - * - * @see createTempFile - * @return Temporary folder path - */ - public String getTempFolderPath() { - return tempFolderPath; - } - - /** - * Set the tempoaray folder path (for downloading files) - * - * @param tempFolderPath Temporary folder path - * @return ApiClient - */ - public ApiClient setTempFolderPath(String tempFolderPath) { - this.tempFolderPath = tempFolderPath; - return this; - } - - /** - * Get connection timeout (in milliseconds). - * - * @return Timeout in milliseconds - */ - public int getConnectTimeout() { - return httpClient.getConnectTimeout(); - } - - /** - * Sets the connect timeout (in milliseconds). - * A value of 0 means no timeout, otherwise values must be between 1 and - * - * @param connectionTimeout connection timeout in milliseconds - * @return Api client - */ - public ApiClient setConnectTimeout(int connectionTimeout) { - httpClient.setConnectTimeout(connectionTimeout, TimeUnit.MILLISECONDS); - return this; - } - - /** - * Format the given parameter object into string. - * - * @param param Parameter - * @return String representation of the parameter - */ - public String parameterToString(Object param) { - if (param == null) { - return ""; - } else if (param instanceof Date) { - return formatDatetime((Date) param); - } else if (param instanceof Collection) { - StringBuilder b = new StringBuilder(); - for (Object o : (Collection)param) { - if (b.length() > 0) { - b.append(","); - } - b.append(String.valueOf(o)); - } - return b.toString(); - } else { - return String.valueOf(param); - } - } - - /** - * Format to {@code Pair} objects. - * - * @param collectionFormat collection format (e.g. csv, tsv) - * @param name Name - * @param value Value - * @return A list of Pair objects - */ - public List parameterToPairs(String collectionFormat, String name, Object value){ - List params = new ArrayList(); - - // preconditions - if (name == null || name.isEmpty() || value == null) return params; - - Collection valueCollection = null; - if (value instanceof Collection) { - valueCollection = (Collection) value; - } else { - params.add(new Pair(name, parameterToString(value))); - return params; - } - - if (valueCollection.isEmpty()){ - return params; - } - - // get the collection format - collectionFormat = (collectionFormat == null || collectionFormat.isEmpty() ? "csv" : collectionFormat); // default: csv - - // create the params based on the collection format - if (collectionFormat.equals("multi")) { - for (Object item : valueCollection) { - params.add(new Pair(name, parameterToString(item))); - } - - return params; - } - - String delimiter = ","; - - if (collectionFormat.equals("csv")) { - delimiter = ","; - } else if (collectionFormat.equals("ssv")) { - delimiter = " "; - } else if (collectionFormat.equals("tsv")) { - delimiter = "\t"; - } else if (collectionFormat.equals("pipes")) { - delimiter = "|"; - } - - StringBuilder sb = new StringBuilder() ; - for (Object item : valueCollection) { - sb.append(delimiter); - sb.append(parameterToString(item)); - } - - params.add(new Pair(name, sb.substring(1))); - - return params; - } - - /** - * Sanitize filename by removing path. - * e.g. ../../sun.gif becomes sun.gif - * - * @param filename The filename to be sanitized - * @return The sanitized filename - */ - public String sanitizeFilename(String filename) { - return filename.replaceAll(".*[/\\\\]", ""); - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * - * @param mime MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public boolean isJsonMime(String mime) { - return mime != null && mime.matches("(?i)application\\/json(;.*)?"); - } - - /** - * Select the Accept header's value from the given accepts array: - * if JSON exists in the given array, use it; - * otherwise use all of them (joining into a string) - * - * @param accepts The accepts array to select from - * @return The Accept header to use. If the given array is empty, - * null will be returned (not to set the Accept header explicitly). - */ - public String selectHeaderAccept(String[] accepts) { - if (accepts.length == 0) { - return null; - } - for (String accept : accepts) { - if (isJsonMime(accept)) { - return accept; - } - } - return StringUtil.join(accepts, ","); - } - - /** - * Select the Content-Type header's value from the given array: - * if JSON exists in the given array, use it; - * otherwise use the first one of the array. - * - * @param contentTypes The Content-Type array to select from - * @return The Content-Type header to use. If the given array is empty, - * JSON will be used. - */ - public String selectHeaderContentType(String[] contentTypes) { - if (contentTypes.length == 0) { - return "application/json"; - } - for (String contentType : contentTypes) { - if (isJsonMime(contentType)) { - return contentType; - } - } - return contentTypes[0]; - } - - /** - * Escape the given string to be used as URL query value. - * - * @param str String to be escaped - * @return Escaped string - */ - public String escapeString(String str) { - try { - return URLEncoder.encode(str, "utf8").replaceAll("\\+", "%20"); - } catch (UnsupportedEncodingException e) { - return str; - } - } - - /** - * Deserialize response body to Java object, according to the return type and - * the Content-Type response header. - * - * @param Type - * @param response HTTP response - * @param returnType The type of the Java object - * @return The deserialized Java object - * @throws ApiException If fail to deserialize response body, i.e. cannot read response body - * or the Content-Type of the response is not supported. - */ - @SuppressWarnings("unchecked") - public T deserialize(Response response, Type returnType) throws ApiException { - if (response == null || returnType == null) { - return null; - } - - if ("byte[]".equals(returnType.toString())) { - // Handle binary response (byte array). - try { - return (T) response.body().bytes(); - } catch (IOException e) { - throw new ApiException(e); - } - } else if (returnType.equals(File.class)) { - // Handle file downloading. - return (T) downloadFileFromResponse(response); - } - - String respBody; - try { - if (response.body() != null) - respBody = response.body().string(); - else - respBody = null; - } catch (IOException e) { - throw new ApiException(e); - } - - if (respBody == null || "".equals(respBody)) { - return null; - } - - String contentType = response.headers().get("Content-Type"); - if (contentType == null) { - // ensuring a default content type - contentType = "application/json"; - } - if (isJsonMime(contentType)) { - return json.deserialize(respBody, returnType); - } else if (returnType.equals(String.class)) { - // Expecting string, return the raw response body. - return (T) respBody; - } else { - throw new ApiException( - "Content type \"" + contentType + "\" is not supported for type: " + returnType, - response.code(), - response.headers().toMultimap(), - respBody); - } - } - - /** - * Serialize the given Java object into request body according to the object's - * class and the request Content-Type. - * - * @param obj The Java object - * @param contentType The request Content-Type - * @return The serialized request body - * @throws ApiException If fail to serialize the given object - */ - public RequestBody serialize(Object obj, String contentType) throws ApiException { - if (obj instanceof byte[]) { - // Binary (byte array) body parameter support. - return RequestBody.create(MediaType.parse(contentType), (byte[]) obj); - } else if (obj instanceof File) { - // File body parameter support. - return RequestBody.create(MediaType.parse(contentType), (File) obj); - } else if (isJsonMime(contentType)) { - String content; - if (obj != null) { - content = json.serialize(obj); - } else { - content = null; - } - return RequestBody.create(MediaType.parse(contentType), content); - } else { - throw new ApiException("Content type \"" + contentType + "\" is not supported"); - } - } - - /** - * Download file from the given response. - * - * @param response An instance of the Response object - * @throws ApiException If fail to read file content from response and write to disk - * @return Downloaded file - */ - public File downloadFileFromResponse(Response response) throws ApiException { - try { - File file = prepareDownloadFile(response); - BufferedSink sink = Okio.buffer(Okio.sink(file)); - sink.writeAll(response.body().source()); - sink.close(); - return file; - } catch (IOException e) { - throw new ApiException(e); - } - } - - /** - * Prepare file for download - * - * @param response An instance of the Response object - * @throws IOException If fail to prepare file for download - * @return Prepared file for the download - */ - public File prepareDownloadFile(Response response) throws IOException { - String filename = null; - String contentDisposition = response.header("Content-Disposition"); - if (contentDisposition != null && !"".equals(contentDisposition)) { - // Get filename from the Content-Disposition header. - Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?"); - Matcher matcher = pattern.matcher(contentDisposition); - if (matcher.find()) { - filename = sanitizeFilename(matcher.group(1)); - } - } - - String prefix = null; - String suffix = null; - if (filename == null) { - prefix = "download-"; - suffix = ""; - } else { - int pos = filename.lastIndexOf("."); - if (pos == -1) { - prefix = filename + "-"; - } else { - prefix = filename.substring(0, pos) + "-"; - suffix = filename.substring(pos); - } - // File.createTempFile requires the prefix to be at least three characters long - if (prefix.length() < 3) - prefix = "download-"; - } - - if (tempFolderPath == null) - return File.createTempFile(prefix, suffix); - else - return File.createTempFile(prefix, suffix, new File(tempFolderPath)); - } - - /** - * {@link #execute(Call, Type)} - * - * @param Type - * @param call An instance of the Call object - * @throws ApiException If fail to execute the call - * @return ApiResponse<T> - */ - public ApiResponse execute(Call call) throws ApiException { - return execute(call, null); - } - - /** - * Execute HTTP call and deserialize the HTTP response body into the given return type. - * - * @param returnType The return type used to deserialize HTTP response body - * @param The return type corresponding to (same with) returnType - * @param call Call - * @return ApiResponse object containing response status, headers and - * data, which is a Java object deserialized from response body and would be null - * when returnType is null. - * @throws ApiException If fail to execute the call - */ - public ApiResponse execute(Call call, Type returnType) throws ApiException { - try { - Response response = call.execute(); - T data = handleResponse(response, returnType); - return new ApiResponse(response.code(), response.headers().toMultimap(), data); - } catch (IOException e) { - throw new ApiException(e); - } - } - - /** - * {@link #executeAsync(Call, Type, ApiCallback)} - * - * @param Type - * @param call An instance of the Call object - * @param callback ApiCallback<T> - */ - public void executeAsync(Call call, ApiCallback callback) { - executeAsync(call, null, callback); - } - - /** - * Execute HTTP call asynchronously. - * - * @see #execute(Call, Type) - * @param Type - * @param call The callback to be executed when the API call finishes - * @param returnType Return type - * @param callback ApiCallback - */ - @SuppressWarnings("unchecked") - public void executeAsync(Call call, final Type returnType, final ApiCallback callback) { - call.enqueue(new Callback() { - @Override - public void onFailure(Request request, IOException e) { - callback.onFailure(new ApiException(e), 0, null); - } - - @Override - public void onResponse(Response response) throws IOException { - T result; - try { - result = (T) handleResponse(response, returnType); - } catch (ApiException e) { - callback.onFailure(e, response.code(), response.headers().toMultimap()); - return; - } - callback.onSuccess(result, response.code(), response.headers().toMultimap()); - } - }); - } - - /** - * Handle the given response, return the deserialized object when the response is successful. - * - * @param Type - * @param response Response - * @param returnType Return type - * @throws ApiException If the response has a unsuccessful status code or - * fail to deserialize the response body - * @return Type - */ - public T handleResponse(Response response, Type returnType) throws ApiException { - if (response.isSuccessful()) { - if (returnType == null || response.code() == 204) { - // returning null if the returnType is not defined, - // or the status code is 204 (No Content) - return null; - } else { - return deserialize(response, returnType); - } - } else { - String respBody = null; - if (response.body() != null) { - try { - respBody = response.body().string(); - } catch (IOException e) { - throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); - } - } - throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody); - } - } - - /** - * Build HTTP call with the given options. - * - * @param path The sub-path of the HTTP URL - * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" - * @param queryParams The query parameters - * @param body The request body object - * @param headerParams The header parameters - * @param formParams The form parameters - * @param authNames The authentications to apply - * @param progressRequestListener Progress request listener - * @return The HTTP call - * @throws ApiException If fail to serialize the request body object - */ - public Call buildCall(String path, String method, List queryParams, Object body, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - updateParamsForAuth(authNames, queryParams, headerParams); - - final String url = buildUrl(path, queryParams); - final Request.Builder reqBuilder = new Request.Builder().url(url); - processHeaderParams(headerParams, reqBuilder); - - String contentType = (String) headerParams.get("Content-Type"); - // ensuring a default content type - if (contentType == null) { - contentType = "application/json"; - } - - RequestBody reqBody; - if (!HttpMethod.permitsRequestBody(method)) { - reqBody = null; - } else if ("application/x-www-form-urlencoded".equals(contentType)) { - reqBody = buildRequestBodyFormEncoding(formParams); - } else if ("multipart/form-data".equals(contentType)) { - reqBody = buildRequestBodyMultipart(formParams); - } else if (body == null) { - if ("DELETE".equals(method)) { - // allow calling DELETE without sending a request body - reqBody = null; - } else { - // use an empty request body (for POST, PUT and PATCH) - reqBody = RequestBody.create(MediaType.parse(contentType), ""); - } - } else { - reqBody = serialize(body, contentType); - } - - Request request = null; - - if(progressRequestListener != null && reqBody != null) { - ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener); - request = reqBuilder.method(method, progressRequestBody).build(); - } else { - request = reqBuilder.method(method, reqBody).build(); - } - - return httpClient.newCall(request); - } - - /** - * Build full URL by concatenating base path, the given sub path and query parameters. - * - * @param path The sub path - * @param queryParams The query parameters - * @return The full URL - */ - public String buildUrl(String path, List queryParams) { - final StringBuilder url = new StringBuilder(); - url.append(basePath).append(path); - - if (queryParams != null && !queryParams.isEmpty()) { - // support (constant) query string in `path`, e.g. "/posts?draft=1" - String prefix = path.contains("?") ? "&" : "?"; - for (Pair param : queryParams) { - if (param.getValue() != null) { - if (prefix != null) { - url.append(prefix); - prefix = null; - } else { - url.append("&"); - } - String value = parameterToString(param.getValue()); - url.append(escapeString(param.getName())).append("=").append(escapeString(value)); - } - } - } - - return url.toString(); - } - - /** - * Set header parameters to the request builder, including default headers. - * - * @param headerParams Header parameters in the ofrm of Map - * @param reqBuilder Reqeust.Builder - */ - public void processHeaderParams(Map headerParams, Request.Builder reqBuilder) { - for (Entry param : headerParams.entrySet()) { - reqBuilder.header(param.getKey(), parameterToString(param.getValue())); - } - for (Entry header : defaultHeaderMap.entrySet()) { - if (!headerParams.containsKey(header.getKey())) { - reqBuilder.header(header.getKey(), parameterToString(header.getValue())); - } - } - } - - /** - * Update query and header parameters based on authentication settings. - * - * @param authNames The authentications to apply - * @param queryParams List of query parameters - * @param headerParams Map of header parameters - */ - public void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams) { - for (String authName : authNames) { - Authentication auth = authentications.get(authName); - if (auth == null) throw new RuntimeException("Authentication undefined: " + authName); - auth.applyToParams(queryParams, headerParams); - } - } - - /** - * Build a form-encoding request body with the given form parameters. - * - * @param formParams Form parameters in the form of Map - * @return RequestBody - */ - public RequestBody buildRequestBodyFormEncoding(Map formParams) { - FormEncodingBuilder formBuilder = new FormEncodingBuilder(); - for (Entry param : formParams.entrySet()) { - formBuilder.add(param.getKey(), parameterToString(param.getValue())); - } - return formBuilder.build(); - } - - /** - * Build a multipart (file uploading) request body with the given form parameters, - * which could contain text fields and file fields. - * - * @param formParams Form parameters in the form of Map - * @return RequestBody - */ - public RequestBody buildRequestBodyMultipart(Map formParams) { - MultipartBuilder mpBuilder = new MultipartBuilder().type(MultipartBuilder.FORM); - for (Entry param : formParams.entrySet()) { - if (param.getValue() instanceof File) { - File file = (File) param.getValue(); - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"; filename=\"" + file.getName() + "\""); - MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); - mpBuilder.addPart(partHeaders, RequestBody.create(mediaType, file)); - } else { - Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\""); - mpBuilder.addPart(partHeaders, RequestBody.create(null, parameterToString(param.getValue()))); - } - } - return mpBuilder.build(); - } - - /** - * Guess Content-Type header from the given file (defaults to "application/octet-stream"). - * - * @param file The given file - * @return The guessed Content-Type - */ - public String guessContentTypeFromFile(File file) { - String contentType = URLConnection.guessContentTypeFromName(file.getName()); - if (contentType == null) { - return "application/octet-stream"; - } else { - return contentType; - } - } - - /** - * Initialize datetime format according to the current environment, e.g. Java 1.7 and Android. - */ - private void initDatetimeFormat() { - String formatWithTimeZone = null; - if (IS_ANDROID) { - if (ANDROID_SDK_VERSION >= 18) { - // The time zone format "ZZZZZ" is available since Android 4.3 (SDK version 18) - formatWithTimeZone = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"; - } - } else if (JAVA_VERSION >= 1.7) { - // The time zone format "XXX" is available since Java 1.7 - formatWithTimeZone = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"; - } - if (formatWithTimeZone != null) { - this.datetimeFormat = new SimpleDateFormat(formatWithTimeZone); - // NOTE: Use the system's default time zone (mainly for datetime formatting). - } else { - // Use a common format that works across all systems. - this.datetimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); - // Always use the UTC time zone as we are using a constant trailing "Z" here. - this.datetimeFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - } - } - - /** - * Apply SSL related settings to httpClient according to the current values of - * verifyingSsl and sslCaCert. - */ - private void applySslSettings() { - try { - KeyManager[] keyManagers = null; - TrustManager[] trustManagers = null; - HostnameVerifier hostnameVerifier = null; - if (!verifyingSsl) { - TrustManager trustAll = new X509TrustManager() { - @Override - public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {} - @Override - public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {} - @Override - public X509Certificate[] getAcceptedIssuers() { return null; } - }; - SSLContext sslContext = SSLContext.getInstance("TLS"); - trustManagers = new TrustManager[]{ trustAll }; - hostnameVerifier = new HostnameVerifier() { - @Override - public boolean verify(String hostname, SSLSession session) { return true; } - }; - } else if (sslCaCert != null) { - char[] password = null; // Any password will work. - CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); - Collection certificates = certificateFactory.generateCertificates(sslCaCert); - if (certificates.isEmpty()) { - throw new IllegalArgumentException("expected non-empty set of trusted certificates"); - } - KeyStore caKeyStore = newEmptyKeyStore(password); - int index = 0; - for (Certificate certificate : certificates) { - String certificateAlias = "ca" + Integer.toString(index++); - caKeyStore.setCertificateEntry(certificateAlias, certificate); - } - TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); - trustManagerFactory.init(caKeyStore); - trustManagers = trustManagerFactory.getTrustManagers(); - } - - if (keyManagers != null || trustManagers != null) { - SSLContext sslContext = SSLContext.getInstance("TLS"); - sslContext.init(keyManagers, trustManagers, new SecureRandom()); - httpClient.setSslSocketFactory(sslContext.getSocketFactory()); - } else { - httpClient.setSslSocketFactory(null); - } - httpClient.setHostnameVerifier(hostnameVerifier); - } catch (GeneralSecurityException e) { - throw new RuntimeException(e); - } - } - - private KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException { - try { - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); - keyStore.load(null, password); - return keyStore; - } catch (IOException e) { - throw new AssertionError(e); - } - } -} diff --git a/client/src/main/java/bio/knowledge/client/ApiException.java b/client/src/main/java/bio/knowledge/client/ApiException.java deleted file mode 100644 index 3b8d146d..00000000 --- a/client/src/main/java/bio/knowledge/client/ApiException.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import java.util.Map; -import java.util.List; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class ApiException extends Exception { - private int code = 0; - private Map> responseHeaders = null; - private String responseBody = null; - - public ApiException() {} - - public ApiException(Throwable throwable) { - super(throwable); - } - - public ApiException(String message) { - super(message); - } - - public ApiException(String message, Throwable throwable, int code, Map> responseHeaders, String responseBody) { - super(message, throwable); - this.code = code; - this.responseHeaders = responseHeaders; - this.responseBody = responseBody; - } - - public ApiException(String message, int code, Map> responseHeaders, String responseBody) { - this(message, (Throwable) null, code, responseHeaders, responseBody); - } - - public ApiException(String message, Throwable throwable, int code, Map> responseHeaders) { - this(message, throwable, code, responseHeaders, null); - } - - public ApiException(int code, Map> responseHeaders, String responseBody) { - this((String) null, (Throwable) null, code, responseHeaders, responseBody); - } - - public ApiException(int code, String message) { - super(message); - this.code = code; - } - - public ApiException(int code, String message, Map> responseHeaders, String responseBody) { - this(code, message); - this.responseHeaders = responseHeaders; - this.responseBody = responseBody; - } - - /** - * Get the HTTP status code. - * - * @return HTTP status code - */ - public int getCode() { - return code; - } - - /** - * Get the HTTP response headers. - * - * @return A map of list of string - */ - public Map> getResponseHeaders() { - return responseHeaders; - } - - /** - * Get the HTTP response body. - * - * @return Response body in the form of string - */ - public String getResponseBody() { - return responseBody; - } -} diff --git a/client/src/main/java/bio/knowledge/client/ApiResponse.java b/client/src/main/java/bio/knowledge/client/ApiResponse.java deleted file mode 100644 index cd505ef4..00000000 --- a/client/src/main/java/bio/knowledge/client/ApiResponse.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import java.util.List; -import java.util.Map; - -/** - * API response returned by API call. - * - * @param The type of data that is deserialized from response body - */ -public class ApiResponse { - final private int statusCode; - final private Map> headers; - final private T data; - - /** - * @param statusCode The status code of HTTP response - * @param headers The headers of HTTP response - */ - public ApiResponse(int statusCode, Map> headers) { - this(statusCode, headers, null); - } - - /** - * @param statusCode The status code of HTTP response - * @param headers The headers of HTTP response - * @param data The object deserialized from response bod - */ - public ApiResponse(int statusCode, Map> headers, T data) { - this.statusCode = statusCode; - this.headers = headers; - this.data = data; - } - - public int getStatusCode() { - return statusCode; - } - - public Map> getHeaders() { - return headers; - } - - public T getData() { - return data; - } -} diff --git a/client/src/main/java/bio/knowledge/client/Configuration.java b/client/src/main/java/bio/knowledge/client/Configuration.java deleted file mode 100644 index 11ffbf1f..00000000 --- a/client/src/main/java/bio/knowledge/client/Configuration.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class Configuration { - private static ApiClient defaultApiClient = new ApiClient(); - - /** - * Get the default API client, which would be used when creating API - * instances without providing an API client. - * - * @return Default API client - */ - public static ApiClient getDefaultApiClient() { - return defaultApiClient; - } - - /** - * Set the default API client, which would be used when creating API - * instances without providing an API client. - * - * @param apiClient API client - */ - public static void setDefaultApiClient(ApiClient apiClient) { - defaultApiClient = apiClient; - } -} diff --git a/client/src/main/java/bio/knowledge/client/JSON.java b/client/src/main/java/bio/knowledge/client/JSON.java deleted file mode 100644 index 7649d932..00000000 --- a/client/src/main/java/bio/knowledge/client/JSON.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonNull; -import com.google.gson.JsonParseException; -import com.google.gson.JsonPrimitive; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.google.gson.TypeAdapter; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; -import java.io.StringReader; -import java.lang.reflect.Type; -import java.util.Date; - -import org.joda.time.DateTime; -import org.joda.time.LocalDate; -import org.joda.time.format.DateTimeFormatter; -import org.joda.time.format.ISODateTimeFormat; - -public class JSON { - private ApiClient apiClient; - private Gson gson; - - /** - * JSON constructor. - * - * @param apiClient An instance of ApiClient - */ - public JSON(ApiClient apiClient) { - this.apiClient = apiClient; - gson = new GsonBuilder() - .registerTypeAdapter(Date.class, new DateAdapter(apiClient)) - .registerTypeAdapter(DateTime.class, new DateTimeTypeAdapter()) - .registerTypeAdapter(LocalDate.class, new LocalDateTypeAdapter()) - .create(); - } - - /** - * Get Gson. - * - * @return Gson - */ - public Gson getGson() { - return gson; - } - - /** - * Set Gson. - * - * @param gson Gson - */ - public void setGson(Gson gson) { - this.gson = gson; - } - - /** - * Serialize the given Java object into JSON string. - * - * @param obj Object - * @return String representation of the JSON - */ - public String serialize(Object obj) { - return gson.toJson(obj); - } - - /** - * Deserialize the given JSON string to Java object. - * - * @param Type - * @param body The JSON string - * @param returnType The type to deserialize into - * @return The deserialized Java object - */ - @SuppressWarnings("unchecked") - public T deserialize(String body, Type returnType) { - try { - if (apiClient.isLenientOnJson()) { - JsonReader jsonReader = new JsonReader(new StringReader(body)); - // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean) - jsonReader.setLenient(true); - return gson.fromJson(jsonReader, returnType); - } else { - return gson.fromJson(body, returnType); - } - } catch (JsonParseException e) { - // Fallback processing when failed to parse JSON form response body: - // return the response body string directly for the String return type; - // parse response body into date or datetime for the Date return type. - if (returnType.equals(String.class)) - return (T) body; - else if (returnType.equals(Date.class)) - return (T) apiClient.parseDateOrDatetime(body); - else throw(e); - } - } -} - -class DateAdapter implements JsonSerializer, JsonDeserializer { - private final ApiClient apiClient; - - /** - * Constructor for DateAdapter - * - * @param apiClient Api client - */ - public DateAdapter(ApiClient apiClient) { - super(); - this.apiClient = apiClient; - } - - /** - * Serialize - * - * @param src Date - * @param typeOfSrc Type - * @param context Json Serialization Context - * @return Json Element - */ - @Override - public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { - if (src == null) { - return JsonNull.INSTANCE; - } else { - return new JsonPrimitive(apiClient.formatDatetime(src)); - } - } - - /** - * Deserialize - * - * @param json Json element - * @param date Type - * @param context Json Serialization Context - * @return Date - * @throws JsonParseException if fail to parse - */ - @Override - public Date deserialize(JsonElement json, Type date, JsonDeserializationContext context) throws JsonParseException { - String str = json.getAsJsonPrimitive().getAsString(); - try { - return apiClient.parseDateOrDatetime(str); - } catch (RuntimeException e) { - throw new JsonParseException(e); - } - } -} - -/** - * Gson TypeAdapter for Joda DateTime type - */ -class DateTimeTypeAdapter extends TypeAdapter { - - private final DateTimeFormatter parseFormatter = ISODateTimeFormat.dateOptionalTimeParser(); - private final DateTimeFormatter printFormatter = ISODateTimeFormat.dateTime(); - - @Override - public void write(JsonWriter out, DateTime date) throws IOException { - if (date == null) { - out.nullValue(); - } else { - out.value(printFormatter.print(date)); - } - } - - @Override - public DateTime read(JsonReader in) throws IOException { - switch (in.peek()) { - case NULL: - in.nextNull(); - return null; - default: - String date = in.nextString(); - return parseFormatter.parseDateTime(date); - } - } -} - -/** - * Gson TypeAdapter for Joda LocalDate type - */ -class LocalDateTypeAdapter extends TypeAdapter { - - private final DateTimeFormatter formatter = ISODateTimeFormat.date(); - - @Override - public void write(JsonWriter out, LocalDate date) throws IOException { - if (date == null) { - out.nullValue(); - } else { - out.value(formatter.print(date)); - } - } - - @Override - public LocalDate read(JsonReader in) throws IOException { - switch (in.peek()) { - case NULL: - in.nextNull(); - return null; - default: - String date = in.nextString(); - return formatter.parseLocalDate(date); - } - } -} diff --git a/client/src/main/java/bio/knowledge/client/Pair.java b/client/src/main/java/bio/knowledge/client/Pair.java deleted file mode 100644 index fbfb0228..00000000 --- a/client/src/main/java/bio/knowledge/client/Pair.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class Pair { - private String name = ""; - private String value = ""; - - public Pair (String name, String value) { - setName(name); - setValue(value); - } - - private void setName(String name) { - if (!isValidString(name)) return; - - this.name = name; - } - - private void setValue(String value) { - if (!isValidString(value)) return; - - this.value = value; - } - - public String getName() { - return this.name; - } - - public String getValue() { - return this.value; - } - - private boolean isValidString(String arg) { - if (arg == null) return false; - if (arg.trim().isEmpty()) return false; - - return true; - } -} diff --git a/client/src/main/java/bio/knowledge/client/ProgressRequestBody.java b/client/src/main/java/bio/knowledge/client/ProgressRequestBody.java deleted file mode 100644 index 2f4f4341..00000000 --- a/client/src/main/java/bio/knowledge/client/ProgressRequestBody.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.RequestBody; - -import java.io.IOException; - -import okio.Buffer; -import okio.BufferedSink; -import okio.ForwardingSink; -import okio.Okio; -import okio.Sink; - -public class ProgressRequestBody extends RequestBody { - - public interface ProgressRequestListener { - void onRequestProgress(long bytesWritten, long contentLength, boolean done); - } - - private final RequestBody requestBody; - - private final ProgressRequestListener progressListener; - - private BufferedSink bufferedSink; - - public ProgressRequestBody(RequestBody requestBody, ProgressRequestListener progressListener) { - this.requestBody = requestBody; - this.progressListener = progressListener; - } - - @Override - public MediaType contentType() { - return requestBody.contentType(); - } - - @Override - public long contentLength() throws IOException { - return requestBody.contentLength(); - } - - @Override - public void writeTo(BufferedSink sink) throws IOException { - if (bufferedSink == null) { - bufferedSink = Okio.buffer(sink(sink)); - } - - requestBody.writeTo(bufferedSink); - bufferedSink.flush(); - - } - - private Sink sink(Sink sink) { - return new ForwardingSink(sink) { - - long bytesWritten = 0L; - long contentLength = 0L; - - @Override - public void write(Buffer source, long byteCount) throws IOException { - super.write(source, byteCount); - if (contentLength == 0) { - contentLength = contentLength(); - } - - bytesWritten += byteCount; - progressListener.onRequestProgress(bytesWritten, contentLength, bytesWritten == contentLength); - } - }; - } -} diff --git a/client/src/main/java/bio/knowledge/client/ProgressResponseBody.java b/client/src/main/java/bio/knowledge/client/ProgressResponseBody.java deleted file mode 100644 index 895c95b1..00000000 --- a/client/src/main/java/bio/knowledge/client/ProgressResponseBody.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.ResponseBody; - -import java.io.IOException; - -import okio.Buffer; -import okio.BufferedSource; -import okio.ForwardingSource; -import okio.Okio; -import okio.Source; - -public class ProgressResponseBody extends ResponseBody { - - public interface ProgressListener { - void update(long bytesRead, long contentLength, boolean done); - } - - private final ResponseBody responseBody; - private final ProgressListener progressListener; - private BufferedSource bufferedSource; - - public ProgressResponseBody(ResponseBody responseBody, ProgressListener progressListener) { - this.responseBody = responseBody; - this.progressListener = progressListener; - } - - @Override - public MediaType contentType() { - return responseBody.contentType(); - } - - @Override - public long contentLength() throws IOException { - return responseBody.contentLength(); - } - - @Override - public BufferedSource source() throws IOException { - if (bufferedSource == null) { - bufferedSource = Okio.buffer(source(responseBody.source())); - } - return bufferedSource; - } - - private Source source(Source source) { - return new ForwardingSource(source) { - long totalBytesRead = 0L; - - @Override - public long read(Buffer sink, long byteCount) throws IOException { - long bytesRead = super.read(sink, byteCount); - // read() returns the number of bytes read, or -1 if this source is exhausted. - totalBytesRead += bytesRead != -1 ? bytesRead : 0; - progressListener.update(totalBytesRead, responseBody.contentLength(), bytesRead == -1); - return bytesRead; - } - }; - } -} - - diff --git a/client/src/main/java/bio/knowledge/client/StringUtil.java b/client/src/main/java/bio/knowledge/client/StringUtil.java deleted file mode 100644 index f7ef86c0..00000000 --- a/client/src/main/java/bio/knowledge/client/StringUtil.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class StringUtil { - /** - * Check if the given array contains the given value (with case-insensitive comparison). - * - * @param array The array - * @param value The value to search - * @return true if the array contains the value - */ - public static boolean containsIgnoreCase(String[] array, String value) { - for (String str : array) { - if (value == null && str == null) return true; - if (value != null && value.equalsIgnoreCase(str)) return true; - } - return false; - } - - /** - * Join an array of strings with the given separator. - *

- * Note: This might be replaced by utility method from commons-lang or guava someday - * if one of those libraries is added as dependency. - *

- * - * @param array The array of strings - * @param separator The separator - * @return the resulting string - */ - public static String join(String[] array, String separator) { - int len = array.length; - if (len == 0) return ""; - - StringBuilder out = new StringBuilder(); - out.append(array[0]); - for (int i = 1; i < len; i++) { - out.append(separator).append(array[i]); - } - return out.toString(); - } -} diff --git a/client/src/main/java/bio/knowledge/client/api/ConceptsApi.java b/client/src/main/java/bio/knowledge/client/api/ConceptsApi.java deleted file mode 100644 index ee99a8ac..00000000 --- a/client/src/main/java/bio/knowledge/client/api/ConceptsApi.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiCallback; -import bio.knowledge.client.ApiClient; -import bio.knowledge.client.ApiException; -import bio.knowledge.client.ApiResponse; -import bio.knowledge.client.Configuration; -import bio.knowledge.client.Pair; -import bio.knowledge.client.ProgressRequestBody; -import bio.knowledge.client.ProgressResponseBody; - -import com.google.gson.reflect.TypeToken; - -import java.io.IOException; - - -import bio.knowledge.client.model.InlineResponse2001; -import bio.knowledge.client.model.InlineResponse2002; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class ConceptsApi { - private ApiClient apiClient; - - public ConceptsApi() { - this(Configuration.getDefaultApiClient()); - } - - public ConceptsApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - public ApiClient getApiClient() { - return apiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /* Build call for getConceptDetails */ - private com.squareup.okhttp.Call getConceptDetailsCall(String conceptId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/concepts/{conceptId}".replaceAll("\\{format\\}","json") - .replaceAll("\\{" + "conceptId" + "\\}", apiClient.escapeString(conceptId.toString())); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call getConceptDetailsValidateBeforeCall(String conceptId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'conceptId' is set - if (conceptId == null) { - throw new ApiException("Missing the required parameter 'conceptId' when calling getConceptDetails(Async)"); - } - - - com.squareup.okhttp.Call call = getConceptDetailsCall(conceptId, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Retrieves details for a specified concepts in the system, as specified by a (url-encoded) CURIE identifier of a concept known the given knowledge source. - * @param conceptId (url-encoded) CURIE identifier of concept of interest (required) - * @return List<InlineResponse2001> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List getConceptDetails(String conceptId) throws ApiException { - ApiResponse> resp = getConceptDetailsWithHttpInfo(conceptId); - return resp.getData(); - } - - /** - * - * Retrieves details for a specified concepts in the system, as specified by a (url-encoded) CURIE identifier of a concept known the given knowledge source. - * @param conceptId (url-encoded) CURIE identifier of concept of interest (required) - * @return ApiResponse<List<InlineResponse2001>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> getConceptDetailsWithHttpInfo(String conceptId) throws ApiException { - com.squareup.okhttp.Call call = getConceptDetailsValidateBeforeCall(conceptId, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Retrieves details for a specified concepts in the system, as specified by a (url-encoded) CURIE identifier of a concept known the given knowledge source. - * @param conceptId (url-encoded) CURIE identifier of concept of interest (required) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call getConceptDetailsAsync(String conceptId, final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = getConceptDetailsValidateBeforeCall(conceptId, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } - /* Build call for getConcepts */ - private com.squareup.okhttp.Call getConceptsCall(String keywords, String semgroups, Integer pageNumber, Integer pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/concepts".replaceAll("\\{format\\}","json"); - - List localVarQueryParams = new ArrayList(); - if (keywords != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "keywords", keywords)); - if (semgroups != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "semgroups", semgroups)); - if (pageNumber != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "pageNumber", pageNumber)); - if (pageSize != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "pageSize", pageSize)); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call getConceptsValidateBeforeCall(String keywords, String semgroups, Integer pageNumber, Integer pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'keywords' is set - if (keywords == null) { - throw new ApiException("Missing the required parameter 'keywords' when calling getConcepts(Async)"); - } - - - com.squareup.okhttp.Call call = getConceptsCall(keywords, semgroups, pageNumber, pageSize, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Retrieves a (paged) list of concepts in the system - * @param keywords a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms (required) - * @param semgroups a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) (optional) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of concepts per page to be returned in a paged set of query results (optional) - * @return List<InlineResponse2002> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List getConcepts(String keywords, String semgroups, Integer pageNumber, Integer pageSize) throws ApiException { - ApiResponse> resp = getConceptsWithHttpInfo(keywords, semgroups, pageNumber, pageSize); - return resp.getData(); - } - - /** - * - * Retrieves a (paged) list of concepts in the system - * @param keywords a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms (required) - * @param semgroups a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) (optional) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of concepts per page to be returned in a paged set of query results (optional) - * @return ApiResponse<List<InlineResponse2002>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> getConceptsWithHttpInfo(String keywords, String semgroups, Integer pageNumber, Integer pageSize) throws ApiException { - com.squareup.okhttp.Call call = getConceptsValidateBeforeCall(keywords, semgroups, pageNumber, pageSize, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Retrieves a (paged) list of concepts in the system - * @param keywords a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms (required) - * @param semgroups a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) (optional) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of concepts per page to be returned in a paged set of query results (optional) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call getConceptsAsync(String keywords, String semgroups, Integer pageNumber, Integer pageSize, final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = getConceptsValidateBeforeCall(keywords, semgroups, pageNumber, pageSize, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } -} diff --git a/client/src/main/java/bio/knowledge/client/api/EvidenceApi.java b/client/src/main/java/bio/knowledge/client/api/EvidenceApi.java deleted file mode 100644 index 2793eb84..00000000 --- a/client/src/main/java/bio/knowledge/client/api/EvidenceApi.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiCallback; -import bio.knowledge.client.ApiClient; -import bio.knowledge.client.ApiException; -import bio.knowledge.client.ApiResponse; -import bio.knowledge.client.Configuration; -import bio.knowledge.client.Pair; -import bio.knowledge.client.ProgressRequestBody; -import bio.knowledge.client.ProgressResponseBody; - -import com.google.gson.reflect.TypeToken; - -import java.io.IOException; - - -import bio.knowledge.client.model.InlineResponse2004; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class EvidenceApi { - private ApiClient apiClient; - - public EvidenceApi() { - this(Configuration.getDefaultApiClient()); - } - - public EvidenceApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - public ApiClient getApiClient() { - return apiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /* Build call for getEvidence */ - private com.squareup.okhttp.Call getEvidenceCall(String statementId, String keywords, Integer pageNumber, Integer pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/evidence/{statementId}".replaceAll("\\{format\\}","json") - .replaceAll("\\{" + "statementId" + "\\}", apiClient.escapeString(statementId.toString())); - - List localVarQueryParams = new ArrayList(); - if (keywords != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "keywords", keywords)); - if (pageNumber != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "pageNumber", pageNumber)); - if (pageSize != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "pageSize", pageSize)); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call getEvidenceValidateBeforeCall(String statementId, String keywords, Integer pageNumber, Integer pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'statementId' is set - if (statementId == null) { - throw new ApiException("Missing the required parameter 'statementId' when calling getEvidence(Async)"); - } - - - com.squareup.okhttp.Call call = getEvidenceCall(statementId, keywords, pageNumber, pageSize, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement - * @param statementId (url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought (required) - * @param keywords (url-encoded, space delimited) keyword filter to apply against the label field of the annotation (optional) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of cited references per page to be returned in a paged set of query results (optional) - * @return List<InlineResponse2004> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List getEvidence(String statementId, String keywords, Integer pageNumber, Integer pageSize) throws ApiException { - ApiResponse> resp = getEvidenceWithHttpInfo(statementId, keywords, pageNumber, pageSize); - return resp.getData(); - } - - /** - * - * Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement - * @param statementId (url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought (required) - * @param keywords (url-encoded, space delimited) keyword filter to apply against the label field of the annotation (optional) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of cited references per page to be returned in a paged set of query results (optional) - * @return ApiResponse<List<InlineResponse2004>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> getEvidenceWithHttpInfo(String statementId, String keywords, Integer pageNumber, Integer pageSize) throws ApiException { - com.squareup.okhttp.Call call = getEvidenceValidateBeforeCall(statementId, keywords, pageNumber, pageSize, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement - * @param statementId (url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought (required) - * @param keywords (url-encoded, space delimited) keyword filter to apply against the label field of the annotation (optional) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of cited references per page to be returned in a paged set of query results (optional) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call getEvidenceAsync(String statementId, String keywords, Integer pageNumber, Integer pageSize, final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = getEvidenceValidateBeforeCall(statementId, keywords, pageNumber, pageSize, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } -} diff --git a/client/src/main/java/bio/knowledge/client/api/ExactmatchesApi.java b/client/src/main/java/bio/knowledge/client/api/ExactmatchesApi.java deleted file mode 100644 index ec9ff6a8..00000000 --- a/client/src/main/java/bio/knowledge/client/api/ExactmatchesApi.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiCallback; -import bio.knowledge.client.ApiClient; -import bio.knowledge.client.ApiException; -import bio.knowledge.client.ApiResponse; -import bio.knowledge.client.Configuration; -import bio.knowledge.client.Pair; -import bio.knowledge.client.ProgressRequestBody; -import bio.knowledge.client.ProgressResponseBody; - -import com.google.gson.reflect.TypeToken; - -import java.io.IOException; - - - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class ExactmatchesApi { - private ApiClient apiClient; - - public ExactmatchesApi() { - this(Configuration.getDefaultApiClient()); - } - - public ExactmatchesApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - public ApiClient getApiClient() { - return apiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /* Build call for getExactMatchesToConcept */ - private com.squareup.okhttp.Call getExactMatchesToConceptCall(String conceptId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/exactmatches/{conceptId}".replaceAll("\\{format\\}","json") - .replaceAll("\\{" + "conceptId" + "\\}", apiClient.escapeString(conceptId.toString())); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call getExactMatchesToConceptValidateBeforeCall(String conceptId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'conceptId' is set - if (conceptId == null) { - throw new ApiException("Missing the required parameter 'conceptId' when calling getExactMatchesToConcept(Async)"); - } - - - com.squareup.okhttp.Call call = getExactMatchesToConceptCall(conceptId, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Retrieves a list of qualified identifiers of \"exact match\" concepts, [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a specified (url-encoded) CURIE (without brackets) concept object identifier, typically, of a concept selected from the list of concepts originally returned by a /concepts API call on a given KS. - * @param conceptId (url-encoded) CURIE identifier of the concept to be matched (required) - * @return List<String> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List getExactMatchesToConcept(String conceptId) throws ApiException { - ApiResponse> resp = getExactMatchesToConceptWithHttpInfo(conceptId); - return resp.getData(); - } - - /** - * - * Retrieves a list of qualified identifiers of \"exact match\" concepts, [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a specified (url-encoded) CURIE (without brackets) concept object identifier, typically, of a concept selected from the list of concepts originally returned by a /concepts API call on a given KS. - * @param conceptId (url-encoded) CURIE identifier of the concept to be matched (required) - * @return ApiResponse<List<String>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> getExactMatchesToConceptWithHttpInfo(String conceptId) throws ApiException { - com.squareup.okhttp.Call call = getExactMatchesToConceptValidateBeforeCall(conceptId, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Retrieves a list of qualified identifiers of \"exact match\" concepts, [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a specified (url-encoded) CURIE (without brackets) concept object identifier, typically, of a concept selected from the list of concepts originally returned by a /concepts API call on a given KS. - * @param conceptId (url-encoded) CURIE identifier of the concept to be matched (required) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call getExactMatchesToConceptAsync(String conceptId, final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = getExactMatchesToConceptValidateBeforeCall(conceptId, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } - /* Build call for getExactMatchesToConceptList */ - private com.squareup.okhttp.Call getExactMatchesToConceptListCall(List c, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/exactmatches".replaceAll("\\{format\\}","json"); - - List localVarQueryParams = new ArrayList(); - if (c != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("csv", "c", c)); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call getExactMatchesToConceptListValidateBeforeCall(List c, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'c' is set - if (c == null) { - throw new ApiException("Missing the required parameter 'c' when calling getExactMatchesToConceptList(Async)"); - } - - - com.squareup.okhttp.Call call = getExactMatchesToConceptListCall(c, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. - * @param c set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). (required) - * @return List<String> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List getExactMatchesToConceptList(List c) throws ApiException { - ApiResponse> resp = getExactMatchesToConceptListWithHttpInfo(c); - return resp.getData(); - } - - /** - * - * Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. - * @param c set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). (required) - * @return ApiResponse<List<String>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> getExactMatchesToConceptListWithHttpInfo(List c) throws ApiException { - com.squareup.okhttp.Call call = getExactMatchesToConceptListValidateBeforeCall(c, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. - * @param c set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). (required) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call getExactMatchesToConceptListAsync(List c, final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = getExactMatchesToConceptListValidateBeforeCall(c, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } -} diff --git a/client/src/main/java/bio/knowledge/client/api/StatementsApi.java b/client/src/main/java/bio/knowledge/client/api/StatementsApi.java deleted file mode 100644 index 0b905124..00000000 --- a/client/src/main/java/bio/knowledge/client/api/StatementsApi.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiCallback; -import bio.knowledge.client.ApiClient; -import bio.knowledge.client.ApiException; -import bio.knowledge.client.ApiResponse; -import bio.knowledge.client.Configuration; -import bio.knowledge.client.Pair; -import bio.knowledge.client.ProgressRequestBody; -import bio.knowledge.client.ProgressResponseBody; - -import com.google.gson.reflect.TypeToken; - -import java.io.IOException; - - -import bio.knowledge.client.model.InlineResponse2003; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class StatementsApi { - private ApiClient apiClient; - - public StatementsApi() { - this(Configuration.getDefaultApiClient()); - } - - public StatementsApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - public ApiClient getApiClient() { - return apiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /* Build call for getStatements */ - private com.squareup.okhttp.Call getStatementsCall(List c, Integer pageNumber, Integer pageSize, String keywords, String semgroups, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/statements".replaceAll("\\{format\\}","json"); - - List localVarQueryParams = new ArrayList(); - if (c != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("csv", "c", c)); - if (pageNumber != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "pageNumber", pageNumber)); - if (pageSize != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "pageSize", pageSize)); - if (keywords != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "keywords", keywords)); - if (semgroups != null) - localVarQueryParams.addAll(apiClient.parameterToPairs("", "semgroups", semgroups)); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call getStatementsValidateBeforeCall(List c, Integer pageNumber, Integer pageSize, String keywords, String semgroups, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - // verify the required parameter 'c' is set - if (c == null) { - throw new ApiException("Missing the required parameter 'c' when calling getStatements(Async)"); - } - - - com.squareup.okhttp.Call call = getStatementsCall(c, pageNumber, pageSize, keywords, semgroups, progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, retrieves a paged list of concept-relations where either the subject or object concept matches at least one concept in the input list - * @param c set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements (required) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of concepts per page to be returned in a paged set of query results (optional) - * @param keywords a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts (optional) - * @param semgroups a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) (optional) - * @return List<InlineResponse2003> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List getStatements(List c, Integer pageNumber, Integer pageSize, String keywords, String semgroups) throws ApiException { - ApiResponse> resp = getStatementsWithHttpInfo(c, pageNumber, pageSize, keywords, semgroups); - return resp.getData(); - } - - /** - * - * Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, retrieves a paged list of concept-relations where either the subject or object concept matches at least one concept in the input list - * @param c set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements (required) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of concepts per page to be returned in a paged set of query results (optional) - * @param keywords a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts (optional) - * @param semgroups a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) (optional) - * @return ApiResponse<List<InlineResponse2003>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> getStatementsWithHttpInfo(List c, Integer pageNumber, Integer pageSize, String keywords, String semgroups) throws ApiException { - com.squareup.okhttp.Call call = getStatementsValidateBeforeCall(c, pageNumber, pageSize, keywords, semgroups, null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, retrieves a paged list of concept-relations where either the subject or object concept matches at least one concept in the input list - * @param c set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements (required) - * @param pageNumber (1-based) number of the page to be returned in a paged set of query results (optional) - * @param pageSize number of concepts per page to be returned in a paged set of query results (optional) - * @param keywords a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts (optional) - * @param semgroups a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) (optional) - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call getStatementsAsync(List c, Integer pageNumber, Integer pageSize, String keywords, String semgroups, final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = getStatementsValidateBeforeCall(c, pageNumber, pageSize, keywords, semgroups, progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } -} diff --git a/client/src/main/java/bio/knowledge/client/api/SummaryApi.java b/client/src/main/java/bio/knowledge/client/api/SummaryApi.java deleted file mode 100644 index 4290d016..00000000 --- a/client/src/main/java/bio/knowledge/client/api/SummaryApi.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiCallback; -import bio.knowledge.client.ApiClient; -import bio.knowledge.client.ApiException; -import bio.knowledge.client.ApiResponse; -import bio.knowledge.client.Configuration; -import bio.knowledge.client.Pair; -import bio.knowledge.client.ProgressRequestBody; -import bio.knowledge.client.ProgressResponseBody; - -import com.google.gson.reflect.TypeToken; - -import java.io.IOException; - - -import bio.knowledge.client.model.InlineResponse200; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class SummaryApi { - private ApiClient apiClient; - - public SummaryApi() { - this(Configuration.getDefaultApiClient()); - } - - public SummaryApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - public ApiClient getApiClient() { - return apiClient; - } - - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /* Build call for linkedTypes */ - private com.squareup.okhttp.Call linkedTypesCall(final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - Object localVarPostBody = null; - - // create path and map variables - String localVarPath = "/types".replaceAll("\\{format\\}","json"); - - List localVarQueryParams = new ArrayList(); - - Map localVarHeaderParams = new HashMap(); - - Map localVarFormParams = new HashMap(); - - final String[] localVarAccepts = { - "application/json" - }; - final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); - if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept); - - final String[] localVarContentTypes = { - - }; - final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); - localVarHeaderParams.put("Content-Type", localVarContentType); - - if(progressListener != null) { - apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() { - @Override - public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException { - com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request()); - return originalResponse.newBuilder() - .body(new ProgressResponseBody(originalResponse.body(), progressListener)) - .build(); - } - }); - } - - String[] localVarAuthNames = new String[] { }; - return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener); - } - - @SuppressWarnings("rawtypes") - private com.squareup.okhttp.Call linkedTypesValidateBeforeCall(final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - - - com.squareup.okhttp.Call call = linkedTypesCall(progressListener, progressRequestListener); - return call; - - - - - - } - - /** - * - * Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology - * @return List<InlineResponse200> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public List linkedTypes() throws ApiException { - ApiResponse> resp = linkedTypesWithHttpInfo(); - return resp.getData(); - } - - /** - * - * Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology - * @return ApiResponse<List<InlineResponse200>> - * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body - */ - public ApiResponse> linkedTypesWithHttpInfo() throws ApiException { - com.squareup.okhttp.Call call = linkedTypesValidateBeforeCall(null, null); - Type localVarReturnType = new TypeToken>(){}.getType(); - return apiClient.execute(call, localVarReturnType); - } - - /** - * (asynchronously) - * Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology - * @param callback The callback to be executed when the API call finishes - * @return The request call - * @throws ApiException If fail to process the API call, e.g. serializing the request body object - */ - public com.squareup.okhttp.Call linkedTypesAsync(final ApiCallback> callback) throws ApiException { - - ProgressResponseBody.ProgressListener progressListener = null; - ProgressRequestBody.ProgressRequestListener progressRequestListener = null; - - if (callback != null) { - progressListener = new ProgressResponseBody.ProgressListener() { - @Override - public void update(long bytesRead, long contentLength, boolean done) { - callback.onDownloadProgress(bytesRead, contentLength, done); - } - }; - - progressRequestListener = new ProgressRequestBody.ProgressRequestListener() { - @Override - public void onRequestProgress(long bytesWritten, long contentLength, boolean done) { - callback.onUploadProgress(bytesWritten, contentLength, done); - } - }; - } - - com.squareup.okhttp.Call call = linkedTypesValidateBeforeCall(progressListener, progressRequestListener); - Type localVarReturnType = new TypeToken>(){}.getType(); - apiClient.executeAsync(call, localVarReturnType, callback); - return call; - } -} diff --git a/client/src/main/java/bio/knowledge/client/auth/ApiKeyAuth.java b/client/src/main/java/bio/knowledge/client/auth/ApiKeyAuth.java deleted file mode 100644 index 775f58dc..00000000 --- a/client/src/main/java/bio/knowledge/client/auth/ApiKeyAuth.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.auth; - -import bio.knowledge.client.Pair; - -import java.util.Map; -import java.util.List; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class ApiKeyAuth implements Authentication { - private final String location; - private final String paramName; - - private String apiKey; - private String apiKeyPrefix; - - public ApiKeyAuth(String location, String paramName) { - this.location = location; - this.paramName = paramName; - } - - public String getLocation() { - return location; - } - - public String getParamName() { - return paramName; - } - - public String getApiKey() { - return apiKey; - } - - public void setApiKey(String apiKey) { - this.apiKey = apiKey; - } - - public String getApiKeyPrefix() { - return apiKeyPrefix; - } - - public void setApiKeyPrefix(String apiKeyPrefix) { - this.apiKeyPrefix = apiKeyPrefix; - } - - @Override - public void applyToParams(List queryParams, Map headerParams) { - if (apiKey == null) { - return; - } - String value; - if (apiKeyPrefix != null) { - value = apiKeyPrefix + " " + apiKey; - } else { - value = apiKey; - } - if ("query".equals(location)) { - queryParams.add(new Pair(paramName, value)); - } else if ("header".equals(location)) { - headerParams.put(paramName, value); - } - } -} diff --git a/client/src/main/java/bio/knowledge/client/auth/Authentication.java b/client/src/main/java/bio/knowledge/client/auth/Authentication.java deleted file mode 100644 index ddc651f3..00000000 --- a/client/src/main/java/bio/knowledge/client/auth/Authentication.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.auth; - -import bio.knowledge.client.Pair; - -import java.util.Map; -import java.util.List; - -public interface Authentication { - /** - * Apply authentication settings to header and query params. - * - * @param queryParams List of query parameters - * @param headerParams Map of header parameters - */ - void applyToParams(List queryParams, Map headerParams); -} diff --git a/client/src/main/java/bio/knowledge/client/auth/HttpBasicAuth.java b/client/src/main/java/bio/knowledge/client/auth/HttpBasicAuth.java deleted file mode 100644 index dff0f7a4..00000000 --- a/client/src/main/java/bio/knowledge/client/auth/HttpBasicAuth.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.auth; - -import bio.knowledge.client.Pair; - -import com.squareup.okhttp.Credentials; - -import java.util.Map; -import java.util.List; - -import java.io.UnsupportedEncodingException; - -public class HttpBasicAuth implements Authentication { - private String username; - private String password; - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - @Override - public void applyToParams(List queryParams, Map headerParams) { - if (username == null && password == null) { - return; - } - headerParams.put("Authorization", Credentials.basic( - username == null ? "" : username, - password == null ? "" : password)); - } -} diff --git a/client/src/main/java/bio/knowledge/client/auth/OAuth.java b/client/src/main/java/bio/knowledge/client/auth/OAuth.java deleted file mode 100644 index 7012315c..00000000 --- a/client/src/main/java/bio/knowledge/client/auth/OAuth.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.auth; - -import bio.knowledge.client.Pair; - -import java.util.Map; -import java.util.List; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class OAuth implements Authentication { - private String accessToken; - - public String getAccessToken() { - return accessToken; - } - - public void setAccessToken(String accessToken) { - this.accessToken = accessToken; - } - - @Override - public void applyToParams(List queryParams, Map headerParams) { - if (accessToken != null) { - headerParams.put("Authorization", "Bearer " + accessToken); - } - } -} diff --git a/client/src/main/java/bio/knowledge/client/auth/OAuthFlow.java b/client/src/main/java/bio/knowledge/client/auth/OAuthFlow.java deleted file mode 100644 index ae11ee9b..00000000 --- a/client/src/main/java/bio/knowledge/client/auth/OAuthFlow.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.auth; - -public enum OAuthFlow { - accessCode, implicit, password, application -} diff --git a/client/src/main/java/bio/knowledge/client/model/ConceptsconceptIdDetails.java b/client/src/main/java/bio/knowledge/client/model/ConceptsconceptIdDetails.java deleted file mode 100644 index 7e71f339..00000000 --- a/client/src/main/java/bio/knowledge/client/model/ConceptsconceptIdDetails.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * ConceptsconceptIdDetails - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class ConceptsconceptIdDetails { - @SerializedName("tag") - private String tag = null; - - @SerializedName("value") - private String value = null; - - public ConceptsconceptIdDetails tag(String tag) { - this.tag = tag; - return this; - } - - /** - * property name - * @return tag - **/ - @ApiModelProperty(example = "null", value = "property name ") - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public ConceptsconceptIdDetails value(String value) { - this.value = value; - return this; - } - - /** - * property value - * @return value - **/ - @ApiModelProperty(example = "null", value = "property value ") - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ConceptsconceptIdDetails conceptsconceptIdDetails = (ConceptsconceptIdDetails) o; - return Objects.equals(this.tag, conceptsconceptIdDetails.tag) && - Objects.equals(this.value, conceptsconceptIdDetails.value); - } - - @Override - public int hashCode() { - return Objects.hash(tag, value); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ConceptsconceptIdDetails {\n"); - - sb.append(" tag: ").append(toIndentedString(tag)).append("\n"); - sb.append(" value: ").append(toIndentedString(value)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/InlineResponse200.java b/client/src/main/java/bio/knowledge/client/model/InlineResponse200.java deleted file mode 100644 index 587d75ae..00000000 --- a/client/src/main/java/bio/knowledge/client/model/InlineResponse200.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * InlineResponse200 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class InlineResponse200 { - @SerializedName("id") - private String id = null; - - @SerializedName("idmap") - private String idmap = null; - - @SerializedName("frequency") - private Integer frequency = null; - - public InlineResponse200 id(String id) { - this.id = id; - return this; - } - - /** - * the type - * @return id - **/ - @ApiModelProperty(example = "null", value = "the type ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse200 idmap(String idmap) { - this.idmap = idmap; - return this; - } - - /** - * The URL to execute the exactmatches API call on the id - * @return idmap - **/ - @ApiModelProperty(example = "null", value = "The URL to execute the exactmatches API call on the id") - public String getIdmap() { - return idmap; - } - - public void setIdmap(String idmap) { - this.idmap = idmap; - } - - public InlineResponse200 frequency(Integer frequency) { - this.frequency = frequency; - return this; - } - - /** - * the number of instances of the specified type - * @return frequency - **/ - @ApiModelProperty(example = "null", value = "the number of instances of the specified type ") - public Integer getFrequency() { - return frequency; - } - - public void setFrequency(Integer frequency) { - this.frequency = frequency; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse200 inlineResponse200 = (InlineResponse200) o; - return Objects.equals(this.id, inlineResponse200.id) && - Objects.equals(this.idmap, inlineResponse200.idmap) && - Objects.equals(this.frequency, inlineResponse200.frequency); - } - - @Override - public int hashCode() { - return Objects.hash(id, idmap, frequency); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse200 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" idmap: ").append(toIndentedString(idmap)).append("\n"); - sb.append(" frequency: ").append(toIndentedString(frequency)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/InlineResponse2001.java b/client/src/main/java/bio/knowledge/client/model/InlineResponse2001.java deleted file mode 100644 index 628baf12..00000000 --- a/client/src/main/java/bio/knowledge/client/model/InlineResponse2001.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import bio.knowledge.client.model.ConceptsconceptIdDetails; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.ArrayList; -import java.util.List; - -/** - * InlineResponse2001 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class InlineResponse2001 { - @SerializedName("id") - private String id = null; - - @SerializedName("name") - private String name = null; - - @SerializedName("semanticGroup") - private String semanticGroup = null; - - @SerializedName("synonyms") - private List synonyms = new ArrayList(); - - @SerializedName("definition") - private String definition = null; - - @SerializedName("details") - private List details = new ArrayList(); - - public InlineResponse2001 id(String id) { - this.id = id; - return this; - } - - /** - * local object identifier for the concept in the specified knowledge source database - * @return id - **/ - @ApiModelProperty(example = "null", value = "local object identifier for the concept in the specified knowledge source database ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2001 name(String name) { - this.name = name; - return this; - } - - /** - * canonical human readable name of the concept - * @return name - **/ - @ApiModelProperty(example = "null", value = "canonical human readable name of the concept ") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InlineResponse2001 semanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - return this; - } - - /** - * concept semantic type - * @return semanticGroup - **/ - @ApiModelProperty(example = "null", value = "concept semantic type ") - public String getSemanticGroup() { - return semanticGroup; - } - - public void setSemanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - } - - public InlineResponse2001 synonyms(List synonyms) { - this.synonyms = synonyms; - return this; - } - - public InlineResponse2001 addSynonymsItem(String synonymsItem) { - this.synonyms.add(synonymsItem); - return this; - } - - /** - * list of synonyms for concept - * @return synonyms - **/ - @ApiModelProperty(example = "null", value = "list of synonyms for concept ") - public List getSynonyms() { - return synonyms; - } - - public void setSynonyms(List synonyms) { - this.synonyms = synonyms; - } - - public InlineResponse2001 definition(String definition) { - this.definition = definition; - return this; - } - - /** - * concept definition - * @return definition - **/ - @ApiModelProperty(example = "null", value = "concept definition ") - public String getDefinition() { - return definition; - } - - public void setDefinition(String definition) { - this.definition = definition; - } - - public InlineResponse2001 details(List details) { - this.details = details; - return this; - } - - public InlineResponse2001 addDetailsItem(ConceptsconceptIdDetails detailsItem) { - this.details.add(detailsItem); - return this; - } - - /** - * Get details - * @return details - **/ - @ApiModelProperty(example = "null", value = "") - public List getDetails() { - return details; - } - - public void setDetails(List details) { - this.details = details; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2001 inlineResponse2001 = (InlineResponse2001) o; - return Objects.equals(this.id, inlineResponse2001.id) && - Objects.equals(this.name, inlineResponse2001.name) && - Objects.equals(this.semanticGroup, inlineResponse2001.semanticGroup) && - Objects.equals(this.synonyms, inlineResponse2001.synonyms) && - Objects.equals(this.definition, inlineResponse2001.definition) && - Objects.equals(this.details, inlineResponse2001.details); - } - - @Override - public int hashCode() { - return Objects.hash(id, name, semanticGroup, synonyms, definition, details); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2001 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" semanticGroup: ").append(toIndentedString(semanticGroup)).append("\n"); - sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); - sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); - sb.append(" details: ").append(toIndentedString(details)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/InlineResponse2002.java b/client/src/main/java/bio/knowledge/client/model/InlineResponse2002.java deleted file mode 100644 index 8e1499f1..00000000 --- a/client/src/main/java/bio/knowledge/client/model/InlineResponse2002.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.ArrayList; -import java.util.List; - -/** - * InlineResponse2002 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class InlineResponse2002 { - @SerializedName("id") - private String id = null; - - @SerializedName("name") - private String name = null; - - @SerializedName("semanticGroup") - private String semanticGroup = null; - - @SerializedName("synonyms") - private List synonyms = new ArrayList(); - - @SerializedName("definition") - private String definition = null; - - public InlineResponse2002 id(String id) { - this.id = id; - return this; - } - - /** - * local object identifier for the concept in the specified knowledge source database - * @return id - **/ - @ApiModelProperty(example = "null", value = "local object identifier for the concept in the specified knowledge source database ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2002 name(String name) { - this.name = name; - return this; - } - - /** - * canonical human readable name of the concept - * @return name - **/ - @ApiModelProperty(example = "null", value = "canonical human readable name of the concept ") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InlineResponse2002 semanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - return this; - } - - /** - * concept semantic type - * @return semanticGroup - **/ - @ApiModelProperty(example = "null", value = "concept semantic type ") - public String getSemanticGroup() { - return semanticGroup; - } - - public void setSemanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - } - - public InlineResponse2002 synonyms(List synonyms) { - this.synonyms = synonyms; - return this; - } - - public InlineResponse2002 addSynonymsItem(String synonymsItem) { - this.synonyms.add(synonymsItem); - return this; - } - - /** - * list of synonyms for concept - * @return synonyms - **/ - @ApiModelProperty(example = "null", value = "list of synonyms for concept ") - public List getSynonyms() { - return synonyms; - } - - public void setSynonyms(List synonyms) { - this.synonyms = synonyms; - } - - public InlineResponse2002 definition(String definition) { - this.definition = definition; - return this; - } - - /** - * concept definition - * @return definition - **/ - @ApiModelProperty(example = "null", value = "concept definition ") - public String getDefinition() { - return definition; - } - - public void setDefinition(String definition) { - this.definition = definition; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2002 inlineResponse2002 = (InlineResponse2002) o; - return Objects.equals(this.id, inlineResponse2002.id) && - Objects.equals(this.name, inlineResponse2002.name) && - Objects.equals(this.semanticGroup, inlineResponse2002.semanticGroup) && - Objects.equals(this.synonyms, inlineResponse2002.synonyms) && - Objects.equals(this.definition, inlineResponse2002.definition); - } - - @Override - public int hashCode() { - return Objects.hash(id, name, semanticGroup, synonyms, definition); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2002 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" semanticGroup: ").append(toIndentedString(semanticGroup)).append("\n"); - sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); - sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/InlineResponse2003.java b/client/src/main/java/bio/knowledge/client/model/InlineResponse2003.java deleted file mode 100644 index d673f031..00000000 --- a/client/src/main/java/bio/knowledge/client/model/InlineResponse2003.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import bio.knowledge.client.model.StatementsObject; -import bio.knowledge.client.model.StatementsPredicate; -import bio.knowledge.client.model.StatementsSubject; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * InlineResponse2003 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class InlineResponse2003 { - @SerializedName("id") - private String id = null; - - @SerializedName("subject") - private StatementsSubject subject = null; - - @SerializedName("predicate") - private StatementsPredicate predicate = null; - - @SerializedName("object") - private StatementsObject object = null; - - public InlineResponse2003 id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier for statement (can be used to retrieve associated evidence) - * @return id - **/ - @ApiModelProperty(example = "null", value = "CURIE-encoded identifier for statement (can be used to retrieve associated evidence)") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2003 subject(StatementsSubject subject) { - this.subject = subject; - return this; - } - - /** - * Get subject - * @return subject - **/ - @ApiModelProperty(example = "null", value = "") - public StatementsSubject getSubject() { - return subject; - } - - public void setSubject(StatementsSubject subject) { - this.subject = subject; - } - - public InlineResponse2003 predicate(StatementsPredicate predicate) { - this.predicate = predicate; - return this; - } - - /** - * Get predicate - * @return predicate - **/ - @ApiModelProperty(example = "null", value = "") - public StatementsPredicate getPredicate() { - return predicate; - } - - public void setPredicate(StatementsPredicate predicate) { - this.predicate = predicate; - } - - public InlineResponse2003 object(StatementsObject object) { - this.object = object; - return this; - } - - /** - * Get object - * @return object - **/ - @ApiModelProperty(example = "null", value = "") - public StatementsObject getObject() { - return object; - } - - public void setObject(StatementsObject object) { - this.object = object; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2003 inlineResponse2003 = (InlineResponse2003) o; - return Objects.equals(this.id, inlineResponse2003.id) && - Objects.equals(this.subject, inlineResponse2003.subject) && - Objects.equals(this.predicate, inlineResponse2003.predicate) && - Objects.equals(this.object, inlineResponse2003.object); - } - - @Override - public int hashCode() { - return Objects.hash(id, subject, predicate, object); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2003 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" subject: ").append(toIndentedString(subject)).append("\n"); - sb.append(" predicate: ").append(toIndentedString(predicate)).append("\n"); - sb.append(" object: ").append(toIndentedString(object)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/InlineResponse2004.java b/client/src/main/java/bio/knowledge/client/model/InlineResponse2004.java deleted file mode 100644 index 0f163204..00000000 --- a/client/src/main/java/bio/knowledge/client/model/InlineResponse2004.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * InlineResponse2004 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class InlineResponse2004 { - @SerializedName("id") - private String id = null; - - @SerializedName("label") - private String label = null; - - @SerializedName("date") - private String date = null; - - public InlineResponse2004 id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier to an associated external resources (e.g. PMID of a pubmed citation) - * @return id - **/ - @ApiModelProperty(example = "null", value = "CURIE-encoded identifier to an associated external resources (e.g. PMID of a pubmed citation) ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2004 label(String label) { - this.label = label; - return this; - } - - /** - * canonical human readable and searchable label of the annotation (i.e. comment, matched sentence, etc.) - * @return label - **/ - @ApiModelProperty(example = "null", value = "canonical human readable and searchable label of the annotation (i.e. comment, matched sentence, etc.) ") - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public InlineResponse2004 date(String date) { - this.date = date; - return this; - } - - /** - * publication date of annotation (generally of format 'yyyy-mm-dd') - * @return date - **/ - @ApiModelProperty(example = "null", value = "publication date of annotation (generally of format 'yyyy-mm-dd') ") - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2004 inlineResponse2004 = (InlineResponse2004) o; - return Objects.equals(this.id, inlineResponse2004.id) && - Objects.equals(this.label, inlineResponse2004.label) && - Objects.equals(this.date, inlineResponse2004.date); - } - - @Override - public int hashCode() { - return Objects.hash(id, label, date); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2004 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" date: ").append(toIndentedString(date)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/StatementsObject.java b/client/src/main/java/bio/knowledge/client/model/StatementsObject.java deleted file mode 100644 index 4c0fee53..00000000 --- a/client/src/main/java/bio/knowledge/client/model/StatementsObject.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * StatementsObject - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class StatementsObject { - @SerializedName("id") - private String id = null; - - @SerializedName("name") - private String name = null; - - public StatementsObject id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier of object concept - * @return id - **/ - @ApiModelProperty(example = "null", value = "CURIE-encoded identifier of object concept ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public StatementsObject name(String name) { - this.name = name; - return this; - } - - /** - * human readable label of object concept - * @return name - **/ - @ApiModelProperty(example = "null", value = "human readable label of object concept") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatementsObject statementsObject = (StatementsObject) o; - return Objects.equals(this.id, statementsObject.id) && - Objects.equals(this.name, statementsObject.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class StatementsObject {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/StatementsPredicate.java b/client/src/main/java/bio/knowledge/client/model/StatementsPredicate.java deleted file mode 100644 index 1fb74e50..00000000 --- a/client/src/main/java/bio/knowledge/client/model/StatementsPredicate.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * StatementsPredicate - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class StatementsPredicate { - @SerializedName("id") - private String id = null; - - @SerializedName("name") - private String name = null; - - public StatementsPredicate id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier of predicate resource - * @return id - **/ - @ApiModelProperty(example = "null", value = "CURIE-encoded identifier of predicate resource ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public StatementsPredicate name(String name) { - this.name = name; - return this; - } - - /** - * human readable label of concept - * @return name - **/ - @ApiModelProperty(example = "null", value = "human readable label of concept") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatementsPredicate statementsPredicate = (StatementsPredicate) o; - return Objects.equals(this.id, statementsPredicate.id) && - Objects.equals(this.name, statementsPredicate.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class StatementsPredicate {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/main/java/bio/knowledge/client/model/StatementsSubject.java b/client/src/main/java/bio/knowledge/client/model/StatementsSubject.java deleted file mode 100644 index a2e7bab8..00000000 --- a/client/src/main/java/bio/knowledge/client/model/StatementsSubject.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.model; - -import java.util.Objects; -import com.google.gson.annotations.SerializedName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -/** - * StatementsSubject - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-05-19T15:08:41.571-07:00") -public class StatementsSubject { - @SerializedName("id") - private String id = null; - - @SerializedName("name") - private String name = null; - - public StatementsSubject id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier of concept - * @return id - **/ - @ApiModelProperty(example = "null", value = "CURIE-encoded identifier of concept ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public StatementsSubject name(String name) { - this.name = name; - return this; - } - - /** - * human readable label of subject concept - * @return name - **/ - @ApiModelProperty(example = "null", value = "human readable label of subject concept") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatementsSubject statementsSubject = (StatementsSubject) o; - return Objects.equals(this.id, statementsSubject.id) && - Objects.equals(this.name, statementsSubject.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class StatementsSubject {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } - -} - diff --git a/client/src/test/java/bio/knowledge/client/api/ConceptsApiTest.java b/client/src/test/java/bio/knowledge/client/api/ConceptsApiTest.java deleted file mode 100644 index 6fed2bd0..00000000 --- a/client/src/test/java/bio/knowledge/client/api/ConceptsApiTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiException; -import bio.knowledge.client.model.InlineResponse2001; -import bio.knowledge.client.model.InlineResponse2002; -import org.junit.Test; -import org.junit.Ignore; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * API tests for ConceptsApi - */ -@Ignore -public class ConceptsApiTest { - - private final ConceptsApi api = new ConceptsApi(); - - - /** - * - * - * Retrieves details for a specified concepts in the system, as specified by a (url-encoded) CURIE identifier of a concept known the given knowledge source. - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getConceptDetailsTest() throws ApiException { - String conceptId = null; - List response = api.getConceptDetails(conceptId); - - // TODO: test validations - } - - /** - * - * - * Retrieves a (paged) list of concepts in the system - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getConceptsTest() throws ApiException { - String keywords = null; - String semgroups = null; - Integer pageNumber = null; - Integer pageSize = null; - List response = api.getConcepts(keywords, semgroups, pageNumber, pageSize); - - // TODO: test validations - } - -} diff --git a/client/src/test/java/bio/knowledge/client/api/EvidenceApiTest.java b/client/src/test/java/bio/knowledge/client/api/EvidenceApiTest.java deleted file mode 100644 index 18f3895a..00000000 --- a/client/src/test/java/bio/knowledge/client/api/EvidenceApiTest.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiException; -import bio.knowledge.client.model.InlineResponse2004; -import org.junit.Test; -import org.junit.Ignore; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * API tests for EvidenceApi - */ -@Ignore -public class EvidenceApiTest { - - private final EvidenceApi api = new EvidenceApi(); - - - /** - * - * - * Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getEvidenceTest() throws ApiException { - String statementId = null; - String keywords = null; - Integer pageNumber = null; - Integer pageSize = null; - List response = api.getEvidence(statementId, keywords, pageNumber, pageSize); - - // TODO: test validations - } - -} diff --git a/client/src/test/java/bio/knowledge/client/api/ExactmatchesApiTest.java b/client/src/test/java/bio/knowledge/client/api/ExactmatchesApiTest.java deleted file mode 100644 index a126fae2..00000000 --- a/client/src/test/java/bio/knowledge/client/api/ExactmatchesApiTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiException; -import org.junit.Test; -import org.junit.Ignore; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * API tests for ExactmatchesApi - */ -@Ignore -public class ExactmatchesApiTest { - - private final ExactmatchesApi api = new ExactmatchesApi(); - - - /** - * - * - * Retrieves a list of qualified identifiers of \"exact match\" concepts, [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a specified (url-encoded) CURIE (without brackets) concept object identifier, typically, of a concept selected from the list of concepts originally returned by a /concepts API call on a given KS. - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getExactMatchesToConceptTest() throws ApiException { - String conceptId = null; - List response = api.getExactMatchesToConcept(conceptId); - - // TODO: test validations - } - - /** - * - * - * Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getExactMatchesToConceptListTest() throws ApiException { - List c = null; - List response = api.getExactMatchesToConceptList(c); - - // TODO: test validations - } - -} diff --git a/client/src/test/java/bio/knowledge/client/api/StatementsApiTest.java b/client/src/test/java/bio/knowledge/client/api/StatementsApiTest.java deleted file mode 100644 index f59089ef..00000000 --- a/client/src/test/java/bio/knowledge/client/api/StatementsApiTest.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiException; -import bio.knowledge.client.model.InlineResponse2003; -import org.junit.Test; -import org.junit.Ignore; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * API tests for StatementsApi - */ -@Ignore -public class StatementsApiTest { - - private final StatementsApi api = new StatementsApi(); - - - /** - * - * - * Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, retrieves a paged list of concept-relations where either the subject or object concept matches at least one concept in the input list - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void getStatementsTest() throws ApiException { - List c = null; - Integer pageNumber = null; - Integer pageSize = null; - String keywords = null; - String semgroups = null; - List response = api.getStatements(c, pageNumber, pageSize, keywords, semgroups); - - // TODO: test validations - } - -} diff --git a/client/src/test/java/bio/knowledge/client/api/SummaryApiTest.java b/client/src/test/java/bio/knowledge/client/api/SummaryApiTest.java deleted file mode 100644 index 0ba87743..00000000 --- a/client/src/test/java/bio/knowledge/client/api/SummaryApiTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Translator Knowledge Beacon API - * This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. - * - * OpenAPI spec version: 1.0.11 - * Contact: richard@starinformatics.com - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - - -package bio.knowledge.client.api; - -import bio.knowledge.client.ApiException; -import bio.knowledge.client.model.InlineResponse200; -import org.junit.Test; -import org.junit.Ignore; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * API tests for SummaryApi - */ -@Ignore -public class SummaryApiTest { - - private final SummaryApi api = new SummaryApi(); - - - /** - * - * - * Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology - * - * @throws ApiException - * if the Api call fails - */ - @Test - public void linkedTypesTest() throws ApiException { - List response = api.linkedTypes(); - - // TODO: test validations - } - -} diff --git a/generate.sh b/generate.sh deleted file mode 100644 index 754d462f..00000000 --- a/generate.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -# This script attempts to download swagger-codegen-cli.jar and then use -# it to generate a SpringBoot server stub - -usage="usage: $(basename "$0") -- program to generate a swagger server stub -\n\n -where:\n -\tspecification\t the path to a json or yaml specification file\n" - -# Here we define the package structure of the server and client -SERVER_BASE_PACKAGE="bio.knowledge.server" -SERVER_CONFIG_PACKAGE="bio.knowledge.server.configuration" -SERVER_MODEL_PACKAGE="bio.knowledge.server.model" -SERVER_API_PACKAGE="bio.knowledge.server.api" - -CLIENT_BASE_PACKAGE="bio.knowledge.client" -CLIENT_CONFIG_PACKAGE="bio.knowledge.client.configuration" -CLIENT_MODEL_PACKAGE="bio.knowledge.client.model" -CLIENT_API_PACKAGE="bio.knowledge.client.api" - -SERVER_OUTPUT_DIR="server" -CLIENT_OUTPUT_DIR="client" - -# Get the specification file -if [ -z "$1" ]; then - echo $usage - exit 1 -else - SPECIFICATION_FILE_PATH="$1" - echo "Using specification file at: "$SPECIFICATION_FILE_PATH -fi - -# Attempt to download swagger-codegen-cli.jar if it doesn't already exist -if [ -f "./swagger-codegen-cli.jar" ]; then - echo "swagger-codegen-cli.jar already downloaded\n" -else - - echo "downloading swagger-codegen-cli.jar\n" - # wget creates a file whether or not it's able to download it or not. So if there's a download error we want to delete the file created. - wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.2/swagger-codegen-cli-2.2.2.jar -O swagger-codegen-cli.jar || rm -f api/swagger-codegen-cli.jar -fi - -# Use swagger-codegen-cli.jar to generate the server and client stub -if [ -f "./swagger-codegen-cli.jar" ]; then - java -jar swagger-codegen-cli.jar generate -i $SPECIFICATION_FILE_PATH -l spring -o $SERVER_OUTPUT_DIR --model-package $SERVER_MODEL_PACKAGE --api-package $SERVER_API_PACKAGE --additional-properties basePackage=$SERVER_BASE_PACKAGE,configPackage=$SERVER_CONFIG_PACKAGE - - java -jar swagger-codegen-cli.jar generate -i $SPECIFICATION_FILE_PATH -l java -o $CLIENT_OUTPUT_DIR --model-package $CLIENT_MODEL_PACKAGE --api-package $CLIENT_API_PACKAGE --additional-properties basePackage=$CLIENT_BASE_PACKAGE,configPackage=$CLIENT_CONFIG_PACKAGE -else - - echo "\nDownload failed! Aborting.\n" - exit 1 -fi - -exit 0 - diff --git a/server/.swagger-codegen-ignore b/server/.swagger-codegen-ignore deleted file mode 100644 index c5fa491b..00000000 --- a/server/.swagger-codegen-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# Swagger Codegen Ignore -# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/server/README.md b/server/README.md deleted file mode 100644 index a2e8a9f7..00000000 --- a/server/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Swagger generated server - -Spring Boot Server - - -## Overview -This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. -By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate a server stub. -This is an example of building a swagger-enabled server in Java using the SpringBoot framework. - -The underlying library integrating swagger to SpringBoot is [springfox](https://github.com/springfox/springfox) - -Start your server as an simple java application - -You can view the api documentation in swagger-ui by pointing to -http://localhost:8080/ - -Change default port value in application.properties \ No newline at end of file diff --git a/server/pom.xml b/server/pom.xml deleted file mode 100644 index d777f7d3..00000000 --- a/server/pom.xml +++ /dev/null @@ -1,73 +0,0 @@ - - 4.0.0 - io.swagger - swagger-spring - jar - swagger-spring - 1.0.0 - - 1.7 - ${java.version} - ${java.version} - 2.5.0 - - - org.springframework.boot - spring-boot-starter-parent - 1.3.5.RELEASE - - - src/main/java - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - - - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-tomcat - provided - - - - io.springfox - springfox-swagger2 - ${springfox-version} - - - io.springfox - springfox-swagger-ui - ${springfox-version} - - - - com.fasterxml.jackson.datatype - jackson-datatype-joda - - - joda-time - joda-time - - - - javax.validation - validation-api - 1.1.0.Final - provided - - - \ No newline at end of file diff --git a/server/src/main/java/bio/knowledge/server/RFC3339DateFormat.java b/server/src/main/java/bio/knowledge/server/RFC3339DateFormat.java deleted file mode 100644 index d0d81e64..00000000 --- a/server/src/main/java/bio/knowledge/server/RFC3339DateFormat.java +++ /dev/null @@ -1,20 +0,0 @@ -package bio.knowledge.server; - -import com.fasterxml.jackson.databind.util.ISO8601DateFormat; -import com.fasterxml.jackson.databind.util.ISO8601Utils; - -import java.text.FieldPosition; -import java.util.Date; - - -public class RFC3339DateFormat extends ISO8601DateFormat { - - // Same as ISO8601DateFormat but serializing milliseconds. - @Override - public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { - String value = ISO8601Utils.format(date, true); - toAppendTo.append(value); - return toAppendTo; - } - -} \ No newline at end of file diff --git a/server/src/main/java/bio/knowledge/server/Swagger2SpringBoot.java b/server/src/main/java/bio/knowledge/server/Swagger2SpringBoot.java deleted file mode 100644 index c01d7255..00000000 --- a/server/src/main/java/bio/knowledge/server/Swagger2SpringBoot.java +++ /dev/null @@ -1,36 +0,0 @@ -package bio.knowledge.server; - -import org.springframework.boot.CommandLineRunner; -import org.springframework.boot.ExitCodeGenerator; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; - -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -@SpringBootApplication -@EnableSwagger2 -@ComponentScan(basePackages = "bio.knowledge.server") -public class Swagger2SpringBoot implements CommandLineRunner { - - @Override - public void run(String... arg0) throws Exception { - if (arg0.length > 0 && arg0[0].equals("exitcode")) { - throw new ExitException(); - } - } - - public static void main(String[] args) throws Exception { - new SpringApplication(Swagger2SpringBoot.class).run(args); - } - - class ExitException extends RuntimeException implements ExitCodeGenerator { - private static final long serialVersionUID = 1L; - - @Override - public int getExitCode() { - return 10; - } - - } -} diff --git a/server/src/main/java/bio/knowledge/server/api/ApiException.java b/server/src/main/java/bio/knowledge/server/api/ApiException.java deleted file mode 100644 index 3a92cc3b..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ApiException.java +++ /dev/null @@ -1,11 +0,0 @@ -package bio.knowledge.server.api; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class ApiException extends Exception{ - private int code; - public ApiException (int code, String msg) { - super(msg); - this.code = code; - } -} diff --git a/server/src/main/java/bio/knowledge/server/api/ApiOriginFilter.java b/server/src/main/java/bio/knowledge/server/api/ApiOriginFilter.java deleted file mode 100644 index a066135d..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ApiOriginFilter.java +++ /dev/null @@ -1,28 +0,0 @@ -package bio.knowledge.server.api; - -import java.io.IOException; - -import javax.servlet.*; -import javax.servlet.http.HttpServletResponse; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class ApiOriginFilter implements javax.servlet.Filter { - @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - HttpServletResponse res = (HttpServletResponse) response; - res.addHeader("Access-Control-Allow-Origin", "*"); - res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT"); - res.addHeader("Access-Control-Allow-Headers", "Content-Type"); - chain.doFilter(request, response); - } - - @Override - public void destroy() { - } - - @Override - public void init(FilterConfig filterConfig) throws ServletException { - } -} \ No newline at end of file diff --git a/server/src/main/java/bio/knowledge/server/api/ApiResponseMessage.java b/server/src/main/java/bio/knowledge/server/api/ApiResponseMessage.java deleted file mode 100644 index 371272eb..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ApiResponseMessage.java +++ /dev/null @@ -1,70 +0,0 @@ -package bio.knowledge.server.api; - -import javax.xml.bind.annotation.XmlTransient; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@javax.xml.bind.annotation.XmlRootElement -public class ApiResponseMessage { - public static final int ERROR = 1; - public static final int WARNING = 2; - public static final int INFO = 3; - public static final int OK = 4; - public static final int TOO_BUSY = 5; - - int code; - String type; - String message; - - public ApiResponseMessage(){} - - public ApiResponseMessage(int code, String message){ - this.code = code; - switch(code){ - case ERROR: - setType("error"); - break; - case WARNING: - setType("warning"); - break; - case INFO: - setType("info"); - break; - case OK: - setType("ok"); - break; - case TOO_BUSY: - setType("too busy"); - break; - default: - setType("unknown"); - break; - } - this.message = message; - } - - @XmlTransient - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/server/src/main/java/bio/knowledge/server/api/ConceptsApi.java b/server/src/main/java/bio/knowledge/server/api/ConceptsApi.java deleted file mode 100644 index 1b6291f9..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ConceptsApi.java +++ /dev/null @@ -1,44 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse2001; -import bio.knowledge.server.model.InlineResponse2002; - -import io.swagger.annotations.*; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Api(value = "concepts", description = "the concepts API") -public interface ConceptsApi { - - @ApiOperation(value = "", notes = "Retrieves details for a specified concepts in the system, as specified by a (url-encoded) CURIE identifier of a concept known the given knowledge source. ", response = InlineResponse2001.class, responseContainer = "List", tags={ "concepts", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Successful response with concept details returned ", response = InlineResponse2001.class) }) - @RequestMapping(value = "/concepts/{conceptId}", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> getConceptDetails(@ApiParam(value = "(url-encoded) CURIE identifier of concept of interest",required=true ) @PathVariable("conceptId") String conceptId); - - - @ApiOperation(value = "", notes = "Retrieves a (paged) list of concepts in the system ", response = InlineResponse2002.class, responseContainer = "List", tags={ "concepts", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Successful response with concept list returned ", response = InlineResponse2002.class) }) - @RequestMapping(value = "/concepts", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> getConcepts( @NotNull @ApiParam(value = "a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms", required = true) @RequestParam(value = "keywords", required = true) String keywords, - @ApiParam(value = "a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) ") @RequestParam(value = "semgroups", required = false) String semgroups, - @ApiParam(value = "(1-based) number of the page to be returned in a paged set of query results ") @RequestParam(value = "pageNumber", required = false) Integer pageNumber, - @ApiParam(value = "number of concepts per page to be returned in a paged set of query results ") @RequestParam(value = "pageSize", required = false) Integer pageSize); - -} diff --git a/server/src/main/java/bio/knowledge/server/api/ConceptsApiController.java b/server/src/main/java/bio/knowledge/server/api/ConceptsApiController.java deleted file mode 100644 index 4cbd8161..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ConceptsApiController.java +++ /dev/null @@ -1,41 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse2001; -import bio.knowledge.server.model.InlineResponse2002; - -import io.swagger.annotations.*; - -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Controller -public class ConceptsApiController implements ConceptsApi { - - - - public ResponseEntity> getConceptDetails(@ApiParam(value = "(url-encoded) CURIE identifier of concept of interest",required=true ) @PathVariable("conceptId") String conceptId) { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - - public ResponseEntity> getConcepts( @NotNull @ApiParam(value = "a (urlencoded) space delimited set of keywords or substrings against which to match concept names and synonyms", required = true) @RequestParam(value = "keywords", required = true) String keywords, - @ApiParam(value = "a (url-encoded) space-delimited set of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain concepts matched by the main keyword search (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) ") @RequestParam(value = "semgroups", required = false) String semgroups, - @ApiParam(value = "(1-based) number of the page to be returned in a paged set of query results ") @RequestParam(value = "pageNumber", required = false) Integer pageNumber, - @ApiParam(value = "number of concepts per page to be returned in a paged set of query results ") @RequestParam(value = "pageSize", required = false) Integer pageSize) { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - -} diff --git a/server/src/main/java/bio/knowledge/server/api/EvidenceApi.java b/server/src/main/java/bio/knowledge/server/api/EvidenceApi.java deleted file mode 100644 index b3f848fa..00000000 --- a/server/src/main/java/bio/knowledge/server/api/EvidenceApi.java +++ /dev/null @@ -1,34 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse2004; - -import io.swagger.annotations.*; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Api(value = "evidence", description = "the evidence API") -public interface EvidenceApi { - - @ApiOperation(value = "", notes = "Retrieves a (paged) list of annotations cited as evidence for a specified concept-relationship statement ", response = InlineResponse2004.class, responseContainer = "List", tags={ "evidence", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "successful call returns a list of annotation with metadata ", response = InlineResponse2004.class) }) - @RequestMapping(value = "/evidence/{statementId}", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> getEvidence(@ApiParam(value = "(url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought ",required=true ) @PathVariable("statementId") String statementId, - @ApiParam(value = "(url-encoded, space delimited) keyword filter to apply against the label field of the annotation ") @RequestParam(value = "keywords", required = false) String keywords, - @ApiParam(value = "(1-based) number of the page to be returned in a paged set of query results ") @RequestParam(value = "pageNumber", required = false) Integer pageNumber, - @ApiParam(value = "number of cited references per page to be returned in a paged set of query results ") @RequestParam(value = "pageSize", required = false) Integer pageSize); - -} diff --git a/server/src/main/java/bio/knowledge/server/api/EvidenceApiController.java b/server/src/main/java/bio/knowledge/server/api/EvidenceApiController.java deleted file mode 100644 index f1f63655..00000000 --- a/server/src/main/java/bio/knowledge/server/api/EvidenceApiController.java +++ /dev/null @@ -1,35 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse2004; - -import io.swagger.annotations.*; - -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Controller -public class EvidenceApiController implements EvidenceApi { - - - - public ResponseEntity> getEvidence(@ApiParam(value = "(url-encoded) CURIE identifier of the concept-relationship statement (\"assertion\", \"claim\") for which associated evidence is sought ",required=true ) @PathVariable("statementId") String statementId, - @ApiParam(value = "(url-encoded, space delimited) keyword filter to apply against the label field of the annotation ") @RequestParam(value = "keywords", required = false) String keywords, - @ApiParam(value = "(1-based) number of the page to be returned in a paged set of query results ") @RequestParam(value = "pageNumber", required = false) Integer pageNumber, - @ApiParam(value = "number of cited references per page to be returned in a paged set of query results ") @RequestParam(value = "pageSize", required = false) Integer pageSize) { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - -} diff --git a/server/src/main/java/bio/knowledge/server/api/ExactmatchesApi.java b/server/src/main/java/bio/knowledge/server/api/ExactmatchesApi.java deleted file mode 100644 index 7b48b3f1..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ExactmatchesApi.java +++ /dev/null @@ -1,39 +0,0 @@ -package bio.knowledge.server.api; - - -import io.swagger.annotations.*; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Api(value = "exactmatches", description = "the exactmatches API") -public interface ExactmatchesApi { - - @ApiOperation(value = "", notes = "Retrieves a list of qualified identifiers of \"exact match\" concepts, [sensa SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) associated with a specified (url-encoded) CURIE (without brackets) concept object identifier, typically, of a concept selected from the list of concepts originally returned by a /concepts API call on a given KS. ", response = String.class, responseContainer = "List", tags={ "exactmatches", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Successful response returns a set of [CURIE](https://www.w3.org/TR/curie/) identifiers to 3rd party concepts defined outside of the local KS, which are deemed semantic exact matches [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch) to the specified identified concept (maybe an empty set?) ", response = String.class) }) - @RequestMapping(value = "/exactmatches/{conceptId}", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> getExactMatchesToConcept(@ApiParam(value = "(url-encoded) CURIE identifier of the concept to be matched",required=true ) @PathVariable("conceptId") String conceptId); - - - @ApiOperation(value = "", notes = "Given an input list of [CURIE](https://www.w3.org/TR/curie/) identifiers of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch), retrieves the list of [CURIE](https://www.w3.org/TR/curie/) identifiers of **additional** concepts that are deemed by the given knowledge source to be exact matches to one or more of the input concepts. If an empty set is returned, the it can be assumed that the given knowledge source does not know of any new equivalent concepts to add to the input set. ", response = String.class, responseContainer = "List", tags={ "exactmatches", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Successful response returns a set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of concepts (with supporting evidence code and reference) matching at least one identifier in the input list of known exactly matched concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). Each concept identifier is returned with the full list of any additional associated [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exact match concepts known to the given Knowledge Source. ", response = String.class) }) - @RequestMapping(value = "/exactmatches", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> getExactMatchesToConceptList( @NotNull @ApiParam(value = "set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). ", required = true) @RequestParam(value = "c", required = true) List c); - -} diff --git a/server/src/main/java/bio/knowledge/server/api/ExactmatchesApiController.java b/server/src/main/java/bio/knowledge/server/api/ExactmatchesApiController.java deleted file mode 100644 index ee7f3a6e..00000000 --- a/server/src/main/java/bio/knowledge/server/api/ExactmatchesApiController.java +++ /dev/null @@ -1,36 +0,0 @@ -package bio.knowledge.server.api; - - -import io.swagger.annotations.*; - -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Controller -public class ExactmatchesApiController implements ExactmatchesApi { - - - - public ResponseEntity> getExactMatchesToConcept(@ApiParam(value = "(url-encoded) CURIE identifier of the concept to be matched",required=true ) @PathVariable("conceptId") String conceptId) { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - - public ResponseEntity> getExactMatchesToConceptList( @NotNull @ApiParam(value = "set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, to be used in a search for additional exactly matching concepts [*sensa*-SKOS](http://www.w3.org/2004/02/skos/core#exactMatch). ", required = true) @RequestParam(value = "c", required = true) List c) { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - -} diff --git a/server/src/main/java/bio/knowledge/server/api/NotFoundException.java b/server/src/main/java/bio/knowledge/server/api/NotFoundException.java deleted file mode 100644 index 11373496..00000000 --- a/server/src/main/java/bio/knowledge/server/api/NotFoundException.java +++ /dev/null @@ -1,11 +0,0 @@ -package bio.knowledge.server.api; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class NotFoundException extends ApiException { - private int code; - public NotFoundException (int code, String msg) { - super(code, msg); - this.code = code; - } -} diff --git a/server/src/main/java/bio/knowledge/server/api/StatementsApi.java b/server/src/main/java/bio/knowledge/server/api/StatementsApi.java deleted file mode 100644 index 7198a109..00000000 --- a/server/src/main/java/bio/knowledge/server/api/StatementsApi.java +++ /dev/null @@ -1,35 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse2003; - -import io.swagger.annotations.*; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Api(value = "statements", description = "the statements API") -public interface StatementsApi { - - @ApiOperation(value = "", notes = "Given a list of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts, retrieves a paged list of concept-relations where either the subject or object concept matches at least one concept in the input list ", response = InlineResponse2003.class, responseContainer = "List", tags={ "statements", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Successful response returns a list of concept-relations where there is an exact match of an input concept identifier either to the subject or object concepts of the statement ", response = InlineResponse2003.class) }) - @RequestMapping(value = "/statements", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> getStatements( @NotNull @ApiParam(value = "set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements ", required = true) @RequestParam(value = "c", required = true) List c, - @ApiParam(value = "(1-based) number of the page to be returned in a paged set of query results ") @RequestParam(value = "pageNumber", required = false) Integer pageNumber, - @ApiParam(value = "number of concepts per page to be returned in a paged set of query results ") @RequestParam(value = "pageSize", required = false) Integer pageSize, - @ApiParam(value = "a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts ") @RequestParam(value = "keywords", required = false) String keywords, - @ApiParam(value = "a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) ") @RequestParam(value = "semgroups", required = false) String semgroups); - -} diff --git a/server/src/main/java/bio/knowledge/server/api/StatementsApiController.java b/server/src/main/java/bio/knowledge/server/api/StatementsApiController.java deleted file mode 100644 index a10c14fc..00000000 --- a/server/src/main/java/bio/knowledge/server/api/StatementsApiController.java +++ /dev/null @@ -1,36 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse2003; - -import io.swagger.annotations.*; - -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Controller -public class StatementsApiController implements StatementsApi { - - - - public ResponseEntity> getStatements( @NotNull @ApiParam(value = "set of [CURIE-encoded](https://www.w3.org/TR/curie/) identifiers of exactly matching concepts to be used in a search for associated concept-relation statements ", required = true) @RequestParam(value = "c", required = true) List c, - @ApiParam(value = "(1-based) number of the page to be returned in a paged set of query results ") @RequestParam(value = "pageNumber", required = false) Integer pageNumber, - @ApiParam(value = "number of concepts per page to be returned in a paged set of query results ") @RequestParam(value = "pageSize", required = false) Integer pageSize, - @ApiParam(value = "a (url-encoded, space-delimited) string of keywords or substrings against which to match the subject, predicate or object names of the set of concept-relations matched by any of the input exact matching concepts ") @RequestParam(value = "keywords", required = false) String keywords, - @ApiParam(value = "a (url-encoded, space-delimited) string of semantic groups (specified as codes CHEM, GENE, ANAT, etc.) to which to constrain the subject or object concepts associated with the query seed concept (see [SemGroups](https://metamap.nlm.nih.gov/Docs/SemGroups_2013.txt) for the full list of codes) ") @RequestParam(value = "semgroups", required = false) String semgroups) { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - -} diff --git a/server/src/main/java/bio/knowledge/server/api/TypesApi.java b/server/src/main/java/bio/knowledge/server/api/TypesApi.java deleted file mode 100644 index b7168344..00000000 --- a/server/src/main/java/bio/knowledge/server/api/TypesApi.java +++ /dev/null @@ -1,31 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse200; - -import io.swagger.annotations.*; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Api(value = "types", description = "the types API") -public interface TypesApi { - - @ApiOperation(value = "", notes = "Get a list of types and # of instances in the knowledge source, and a link to the API call for the list of equivalent terminology ", response = InlineResponse200.class, responseContainer = "List", tags={ "summary", }) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "Successful response with types and frequency returned ", response = InlineResponse200.class) }) - @RequestMapping(value = "/types", - produces = { "application/json" }, - method = RequestMethod.GET) - ResponseEntity> linkedTypes(); - -} diff --git a/server/src/main/java/bio/knowledge/server/api/TypesApiController.java b/server/src/main/java/bio/knowledge/server/api/TypesApiController.java deleted file mode 100644 index e4050311..00000000 --- a/server/src/main/java/bio/knowledge/server/api/TypesApiController.java +++ /dev/null @@ -1,32 +0,0 @@ -package bio.knowledge.server.api; - -import bio.knowledge.server.model.InlineResponse200; - -import io.swagger.annotations.*; - -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -import javax.validation.constraints.*; -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Controller -public class TypesApiController implements TypesApi { - - - - public ResponseEntity> linkedTypes() { - // do some magic! - return new ResponseEntity>(HttpStatus.OK); - } - -} diff --git a/server/src/main/java/bio/knowledge/server/configuration/HomeController.java b/server/src/main/java/bio/knowledge/server/configuration/HomeController.java deleted file mode 100644 index 97ee4bf1..00000000 --- a/server/src/main/java/bio/knowledge/server/configuration/HomeController.java +++ /dev/null @@ -1,16 +0,0 @@ -package bio.knowledge.server.configuration; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * Home redirection to swagger api documentation - */ -@Controller -public class HomeController { - @RequestMapping(value = "/") - public String index() { - System.out.println("swagger-ui.html"); - return "redirect:swagger-ui.html"; - } -} diff --git a/server/src/main/java/bio/knowledge/server/configuration/SwaggerDocumentationConfig.java b/server/src/main/java/bio/knowledge/server/configuration/SwaggerDocumentationConfig.java deleted file mode 100644 index 0d329cb7..00000000 --- a/server/src/main/java/bio/knowledge/server/configuration/SwaggerDocumentationConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package bio.knowledge.server.configuration; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.Contact; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; - -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -@Configuration -public class SwaggerDocumentationConfig { - - ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("Translator Knowledge Beacon API") - .description("This is the Translator Knowledge Beacon web service application programming interface (API). This OpenAPI (\"Swagger\") document may be used as the input specification into a tool like [Swagger-Codegen](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) to generate client and server code stubs implementing the API, in any one of several supported computer languages and frameworks. In order to customize usage to your web site, you should change the 'host' directive below to your hostname. ") - .license("") - .licenseUrl("http://unlicense.org") - .termsOfServiceUrl("http://starinformatics.com") - .version("1.0.11") - .contact(new Contact("","", "richard@starinformatics.com")) - .build(); - } - - @Bean - public Docket customImplementation(){ - return new Docket(DocumentationType.SWAGGER_2) - .select() - .apis(RequestHandlerSelectors.basePackage("bio.knowledge.server.api")) - .build() - .directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class) - .directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class) - .apiInfo(apiInfo()); - } - -} diff --git a/server/src/main/java/bio/knowledge/server/model/ConceptsconceptIdDetails.java b/server/src/main/java/bio/knowledge/server/model/ConceptsconceptIdDetails.java deleted file mode 100644 index 5db10160..00000000 --- a/server/src/main/java/bio/knowledge/server/model/ConceptsconceptIdDetails.java +++ /dev/null @@ -1,98 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * ConceptsconceptIdDetails - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class ConceptsconceptIdDetails { - @JsonProperty("tag") - private String tag = null; - - @JsonProperty("value") - private String value = null; - - public ConceptsconceptIdDetails tag(String tag) { - this.tag = tag; - return this; - } - - /** - * property name - * @return tag - **/ - @ApiModelProperty(value = "property name ") - public String getTag() { - return tag; - } - - public void setTag(String tag) { - this.tag = tag; - } - - public ConceptsconceptIdDetails value(String value) { - this.value = value; - return this; - } - - /** - * property value - * @return value - **/ - @ApiModelProperty(value = "property value ") - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ConceptsconceptIdDetails conceptsconceptIdDetails = (ConceptsconceptIdDetails) o; - return Objects.equals(this.tag, conceptsconceptIdDetails.tag) && - Objects.equals(this.value, conceptsconceptIdDetails.value); - } - - @Override - public int hashCode() { - return Objects.hash(tag, value); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class ConceptsconceptIdDetails {\n"); - - sb.append(" tag: ").append(toIndentedString(tag)).append("\n"); - sb.append(" value: ").append(toIndentedString(value)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/InlineResponse200.java b/server/src/main/java/bio/knowledge/server/model/InlineResponse200.java deleted file mode 100644 index a9d68a45..00000000 --- a/server/src/main/java/bio/knowledge/server/model/InlineResponse200.java +++ /dev/null @@ -1,121 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * InlineResponse200 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class InlineResponse200 { - @JsonProperty("id") - private String id = null; - - @JsonProperty("idmap") - private String idmap = null; - - @JsonProperty("frequency") - private Integer frequency = null; - - public InlineResponse200 id(String id) { - this.id = id; - return this; - } - - /** - * the type - * @return id - **/ - @ApiModelProperty(value = "the type ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse200 idmap(String idmap) { - this.idmap = idmap; - return this; - } - - /** - * The URL to execute the exactmatches API call on the id - * @return idmap - **/ - @ApiModelProperty(value = "The URL to execute the exactmatches API call on the id") - public String getIdmap() { - return idmap; - } - - public void setIdmap(String idmap) { - this.idmap = idmap; - } - - public InlineResponse200 frequency(Integer frequency) { - this.frequency = frequency; - return this; - } - - /** - * the number of instances of the specified type - * @return frequency - **/ - @ApiModelProperty(value = "the number of instances of the specified type ") - public Integer getFrequency() { - return frequency; - } - - public void setFrequency(Integer frequency) { - this.frequency = frequency; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse200 inlineResponse200 = (InlineResponse200) o; - return Objects.equals(this.id, inlineResponse200.id) && - Objects.equals(this.idmap, inlineResponse200.idmap) && - Objects.equals(this.frequency, inlineResponse200.frequency); - } - - @Override - public int hashCode() { - return Objects.hash(id, idmap, frequency); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse200 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" idmap: ").append(toIndentedString(idmap)).append("\n"); - sb.append(" frequency: ").append(toIndentedString(frequency)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/InlineResponse2001.java b/server/src/main/java/bio/knowledge/server/model/InlineResponse2001.java deleted file mode 100644 index 9ef47607..00000000 --- a/server/src/main/java/bio/knowledge/server/model/InlineResponse2001.java +++ /dev/null @@ -1,203 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import bio.knowledge.server.model.ConceptsconceptIdDetails; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.ArrayList; -import java.util.List; -import javax.validation.constraints.*; -/** - * InlineResponse2001 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class InlineResponse2001 { - @JsonProperty("id") - private String id = null; - - @JsonProperty("name") - private String name = null; - - @JsonProperty("semanticGroup") - private String semanticGroup = null; - - @JsonProperty("synonyms") - private List synonyms = new ArrayList(); - - @JsonProperty("definition") - private String definition = null; - - @JsonProperty("details") - private List details = new ArrayList(); - - public InlineResponse2001 id(String id) { - this.id = id; - return this; - } - - /** - * local object identifier for the concept in the specified knowledge source database - * @return id - **/ - @ApiModelProperty(value = "local object identifier for the concept in the specified knowledge source database ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2001 name(String name) { - this.name = name; - return this; - } - - /** - * canonical human readable name of the concept - * @return name - **/ - @ApiModelProperty(value = "canonical human readable name of the concept ") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InlineResponse2001 semanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - return this; - } - - /** - * concept semantic type - * @return semanticGroup - **/ - @ApiModelProperty(value = "concept semantic type ") - public String getSemanticGroup() { - return semanticGroup; - } - - public void setSemanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - } - - public InlineResponse2001 synonyms(List synonyms) { - this.synonyms = synonyms; - return this; - } - - public InlineResponse2001 addSynonymsItem(String synonymsItem) { - this.synonyms.add(synonymsItem); - return this; - } - - /** - * list of synonyms for concept - * @return synonyms - **/ - @ApiModelProperty(value = "list of synonyms for concept ") - public List getSynonyms() { - return synonyms; - } - - public void setSynonyms(List synonyms) { - this.synonyms = synonyms; - } - - public InlineResponse2001 definition(String definition) { - this.definition = definition; - return this; - } - - /** - * concept definition - * @return definition - **/ - @ApiModelProperty(value = "concept definition ") - public String getDefinition() { - return definition; - } - - public void setDefinition(String definition) { - this.definition = definition; - } - - public InlineResponse2001 details(List details) { - this.details = details; - return this; - } - - public InlineResponse2001 addDetailsItem(ConceptsconceptIdDetails detailsItem) { - this.details.add(detailsItem); - return this; - } - - /** - * Get details - * @return details - **/ - @ApiModelProperty(value = "") - public List getDetails() { - return details; - } - - public void setDetails(List details) { - this.details = details; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2001 inlineResponse2001 = (InlineResponse2001) o; - return Objects.equals(this.id, inlineResponse2001.id) && - Objects.equals(this.name, inlineResponse2001.name) && - Objects.equals(this.semanticGroup, inlineResponse2001.semanticGroup) && - Objects.equals(this.synonyms, inlineResponse2001.synonyms) && - Objects.equals(this.definition, inlineResponse2001.definition) && - Objects.equals(this.details, inlineResponse2001.details); - } - - @Override - public int hashCode() { - return Objects.hash(id, name, semanticGroup, synonyms, definition, details); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2001 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" semanticGroup: ").append(toIndentedString(semanticGroup)).append("\n"); - sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); - sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); - sb.append(" details: ").append(toIndentedString(details)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/InlineResponse2002.java b/server/src/main/java/bio/knowledge/server/model/InlineResponse2002.java deleted file mode 100644 index e49ba918..00000000 --- a/server/src/main/java/bio/knowledge/server/model/InlineResponse2002.java +++ /dev/null @@ -1,174 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.ArrayList; -import java.util.List; -import javax.validation.constraints.*; -/** - * InlineResponse2002 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class InlineResponse2002 { - @JsonProperty("id") - private String id = null; - - @JsonProperty("name") - private String name = null; - - @JsonProperty("semanticGroup") - private String semanticGroup = null; - - @JsonProperty("synonyms") - private List synonyms = new ArrayList(); - - @JsonProperty("definition") - private String definition = null; - - public InlineResponse2002 id(String id) { - this.id = id; - return this; - } - - /** - * local object identifier for the concept in the specified knowledge source database - * @return id - **/ - @ApiModelProperty(value = "local object identifier for the concept in the specified knowledge source database ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2002 name(String name) { - this.name = name; - return this; - } - - /** - * canonical human readable name of the concept - * @return name - **/ - @ApiModelProperty(value = "canonical human readable name of the concept ") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InlineResponse2002 semanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - return this; - } - - /** - * concept semantic type - * @return semanticGroup - **/ - @ApiModelProperty(value = "concept semantic type ") - public String getSemanticGroup() { - return semanticGroup; - } - - public void setSemanticGroup(String semanticGroup) { - this.semanticGroup = semanticGroup; - } - - public InlineResponse2002 synonyms(List synonyms) { - this.synonyms = synonyms; - return this; - } - - public InlineResponse2002 addSynonymsItem(String synonymsItem) { - this.synonyms.add(synonymsItem); - return this; - } - - /** - * list of synonyms for concept - * @return synonyms - **/ - @ApiModelProperty(value = "list of synonyms for concept ") - public List getSynonyms() { - return synonyms; - } - - public void setSynonyms(List synonyms) { - this.synonyms = synonyms; - } - - public InlineResponse2002 definition(String definition) { - this.definition = definition; - return this; - } - - /** - * concept definition - * @return definition - **/ - @ApiModelProperty(value = "concept definition ") - public String getDefinition() { - return definition; - } - - public void setDefinition(String definition) { - this.definition = definition; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2002 inlineResponse2002 = (InlineResponse2002) o; - return Objects.equals(this.id, inlineResponse2002.id) && - Objects.equals(this.name, inlineResponse2002.name) && - Objects.equals(this.semanticGroup, inlineResponse2002.semanticGroup) && - Objects.equals(this.synonyms, inlineResponse2002.synonyms) && - Objects.equals(this.definition, inlineResponse2002.definition); - } - - @Override - public int hashCode() { - return Objects.hash(id, name, semanticGroup, synonyms, definition); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2002 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" semanticGroup: ").append(toIndentedString(semanticGroup)).append("\n"); - sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); - sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/InlineResponse2003.java b/server/src/main/java/bio/knowledge/server/model/InlineResponse2003.java deleted file mode 100644 index c5af98a4..00000000 --- a/server/src/main/java/bio/knowledge/server/model/InlineResponse2003.java +++ /dev/null @@ -1,147 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import bio.knowledge.server.model.StatementsObject; -import bio.knowledge.server.model.StatementsPredicate; -import bio.knowledge.server.model.StatementsSubject; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * InlineResponse2003 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class InlineResponse2003 { - @JsonProperty("id") - private String id = null; - - @JsonProperty("subject") - private StatementsSubject subject = null; - - @JsonProperty("predicate") - private StatementsPredicate predicate = null; - - @JsonProperty("object") - private StatementsObject object = null; - - public InlineResponse2003 id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier for statement (can be used to retrieve associated evidence) - * @return id - **/ - @ApiModelProperty(value = "CURIE-encoded identifier for statement (can be used to retrieve associated evidence)") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2003 subject(StatementsSubject subject) { - this.subject = subject; - return this; - } - - /** - * Get subject - * @return subject - **/ - @ApiModelProperty(value = "") - public StatementsSubject getSubject() { - return subject; - } - - public void setSubject(StatementsSubject subject) { - this.subject = subject; - } - - public InlineResponse2003 predicate(StatementsPredicate predicate) { - this.predicate = predicate; - return this; - } - - /** - * Get predicate - * @return predicate - **/ - @ApiModelProperty(value = "") - public StatementsPredicate getPredicate() { - return predicate; - } - - public void setPredicate(StatementsPredicate predicate) { - this.predicate = predicate; - } - - public InlineResponse2003 object(StatementsObject object) { - this.object = object; - return this; - } - - /** - * Get object - * @return object - **/ - @ApiModelProperty(value = "") - public StatementsObject getObject() { - return object; - } - - public void setObject(StatementsObject object) { - this.object = object; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2003 inlineResponse2003 = (InlineResponse2003) o; - return Objects.equals(this.id, inlineResponse2003.id) && - Objects.equals(this.subject, inlineResponse2003.subject) && - Objects.equals(this.predicate, inlineResponse2003.predicate) && - Objects.equals(this.object, inlineResponse2003.object); - } - - @Override - public int hashCode() { - return Objects.hash(id, subject, predicate, object); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2003 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" subject: ").append(toIndentedString(subject)).append("\n"); - sb.append(" predicate: ").append(toIndentedString(predicate)).append("\n"); - sb.append(" object: ").append(toIndentedString(object)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/InlineResponse2004.java b/server/src/main/java/bio/knowledge/server/model/InlineResponse2004.java deleted file mode 100644 index 74835db9..00000000 --- a/server/src/main/java/bio/knowledge/server/model/InlineResponse2004.java +++ /dev/null @@ -1,121 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * InlineResponse2004 - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class InlineResponse2004 { - @JsonProperty("id") - private String id = null; - - @JsonProperty("label") - private String label = null; - - @JsonProperty("date") - private String date = null; - - public InlineResponse2004 id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier to an associated external resources (e.g. PMID of a pubmed citation) - * @return id - **/ - @ApiModelProperty(value = "CURIE-encoded identifier to an associated external resources (e.g. PMID of a pubmed citation) ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public InlineResponse2004 label(String label) { - this.label = label; - return this; - } - - /** - * canonical human readable and searchable label of the annotation (i.e. comment, matched sentence, etc.) - * @return label - **/ - @ApiModelProperty(value = "canonical human readable and searchable label of the annotation (i.e. comment, matched sentence, etc.) ") - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - public InlineResponse2004 date(String date) { - this.date = date; - return this; - } - - /** - * publication date of annotation (generally of format 'yyyy-mm-dd') - * @return date - **/ - @ApiModelProperty(value = "publication date of annotation (generally of format 'yyyy-mm-dd') ") - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InlineResponse2004 inlineResponse2004 = (InlineResponse2004) o; - return Objects.equals(this.id, inlineResponse2004.id) && - Objects.equals(this.label, inlineResponse2004.label) && - Objects.equals(this.date, inlineResponse2004.date); - } - - @Override - public int hashCode() { - return Objects.hash(id, label, date); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class InlineResponse2004 {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" date: ").append(toIndentedString(date)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/StatementsObject.java b/server/src/main/java/bio/knowledge/server/model/StatementsObject.java deleted file mode 100644 index 9c1e7d6a..00000000 --- a/server/src/main/java/bio/knowledge/server/model/StatementsObject.java +++ /dev/null @@ -1,98 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * StatementsObject - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class StatementsObject { - @JsonProperty("id") - private String id = null; - - @JsonProperty("name") - private String name = null; - - public StatementsObject id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier of object concept - * @return id - **/ - @ApiModelProperty(value = "CURIE-encoded identifier of object concept ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public StatementsObject name(String name) { - this.name = name; - return this; - } - - /** - * human readable label of object concept - * @return name - **/ - @ApiModelProperty(value = "human readable label of object concept") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatementsObject statementsObject = (StatementsObject) o; - return Objects.equals(this.id, statementsObject.id) && - Objects.equals(this.name, statementsObject.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class StatementsObject {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/StatementsPredicate.java b/server/src/main/java/bio/knowledge/server/model/StatementsPredicate.java deleted file mode 100644 index 7a39d85b..00000000 --- a/server/src/main/java/bio/knowledge/server/model/StatementsPredicate.java +++ /dev/null @@ -1,98 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * StatementsPredicate - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class StatementsPredicate { - @JsonProperty("id") - private String id = null; - - @JsonProperty("name") - private String name = null; - - public StatementsPredicate id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier of predicate resource - * @return id - **/ - @ApiModelProperty(value = "CURIE-encoded identifier of predicate resource ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public StatementsPredicate name(String name) { - this.name = name; - return this; - } - - /** - * human readable label of concept - * @return name - **/ - @ApiModelProperty(value = "human readable label of concept") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatementsPredicate statementsPredicate = (StatementsPredicate) o; - return Objects.equals(this.id, statementsPredicate.id) && - Objects.equals(this.name, statementsPredicate.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class StatementsPredicate {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/java/bio/knowledge/server/model/StatementsSubject.java b/server/src/main/java/bio/knowledge/server/model/StatementsSubject.java deleted file mode 100644 index 9484d475..00000000 --- a/server/src/main/java/bio/knowledge/server/model/StatementsSubject.java +++ /dev/null @@ -1,98 +0,0 @@ -package bio.knowledge.server.model; - -import java.util.Objects; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonCreator; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.*; -/** - * StatementsSubject - */ -@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2017-05-19T15:08:40.849-07:00") - -public class StatementsSubject { - @JsonProperty("id") - private String id = null; - - @JsonProperty("name") - private String name = null; - - public StatementsSubject id(String id) { - this.id = id; - return this; - } - - /** - * CURIE-encoded identifier of concept - * @return id - **/ - @ApiModelProperty(value = "CURIE-encoded identifier of concept ") - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public StatementsSubject name(String name) { - this.name = name; - return this; - } - - /** - * human readable label of subject concept - * @return name - **/ - @ApiModelProperty(value = "human readable label of subject concept") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatementsSubject statementsSubject = (StatementsSubject) o; - return Objects.equals(this.id, statementsSubject.id) && - Objects.equals(this.name, statementsSubject.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class StatementsSubject {\n"); - - sb.append(" id: ").append(toIndentedString(id)).append("\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append("}"); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces - * (except the first line). - */ - private String toIndentedString(java.lang.Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} - diff --git a/server/src/main/resources/application.properties b/server/src/main/resources/application.properties deleted file mode 100644 index fe45b448..00000000 --- a/server/src/main/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -springfox.documentation.swagger.v2.path=/api-docs -server.contextPath=/api -server.port=8080 -spring.jackson.date-format=bio.knowledge.server.RFC3339DateFormat -spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false \ No newline at end of file diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 7ad237df..00000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include ":client", ":server", ":aggregator"