Skip to content

Commit

Permalink
Merge pull request #47 from monarch-initiative/46-swagger-update
Browse files Browse the repository at this point in the history
swagger update
  • Loading branch information
jnguyenx committed Jan 26, 2017
2 parents de98aab + 5a03133 commit 0d8a4e2
Show file tree
Hide file tree
Showing 65 changed files with 26,193 additions and 9,998 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@ or for some versions of dropwizard:
* http://localhost:8080/api/docs/
* http://localhost:8080/api/match/matchers

Example query using default config (TODO: map URIs to CURIEs)
Example query using default config:

http://localhost:8080/api/match/jaccard?id=http%3A%2F%2Fx.org%2Fheart-morphology&http%3A%2F%2Fx.org%2Fbrain-morphology
http://localhost:8080/api/match/jaccard?id=X:heart-morphology&id=X:brain-morphology
10 changes: 5 additions & 5 deletions owlsim-services/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@
<version>${dropwizard.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.10</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.12</version>
</dependency>
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,38 +15,36 @@
*/
package org.monarchinitiative.owlsim.services;

import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;

import java.util.EnumSet;
import java.util.Set;

import javax.servlet.DispatcherType;
import javax.servlet.FilterRegistration;

import org.apache.log4j.Logger;
import org.eclipse.jetty.servlets.CrossOriginFilter;
import org.monarchinitiative.owlsim.compute.enrich.EnrichmentMapModule;
import org.monarchinitiative.owlsim.compute.matcher.MatcherMapModule;
import org.monarchinitiative.owlsim.kb.KnowledgeBaseModule;
import org.monarchinitiative.owlsim.services.configuration.ApplicationConfiguration;
import org.semanticweb.owlapi.OWLAPIParsersModule;
import org.semanticweb.owlapi.OWLAPIServiceLoaderModule;

import uk.ac.manchester.cs.owl.owlapi.OWLAPIImplModule;
import uk.ac.manchester.cs.owl.owlapi.concurrent.Concurrency;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.google.common.reflect.ClassPath;
import com.google.common.reflect.ClassPath.ClassInfo;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.wordnik.swagger.config.ConfigFactory;
import com.wordnik.swagger.config.ScannerFactory;
import com.wordnik.swagger.config.SwaggerConfig;
import com.wordnik.swagger.jaxrs.config.DefaultJaxrsScanner;
import com.wordnik.swagger.jaxrs.listing.ApiDeclarationProvider;
import com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON;
import com.wordnik.swagger.jaxrs.listing.ResourceListingProvider;
import com.wordnik.swagger.jaxrs.reader.DefaultJaxrsApiReader;
import com.wordnik.swagger.reader.ClassReaders;

import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import io.swagger.jaxrs.config.BeanConfig;
import io.swagger.jaxrs.listing.ApiListingResource;
import uk.ac.manchester.cs.owl.owlapi.OWLAPIImplModule;
import uk.ac.manchester.cs.owl.owlapi.concurrent.Concurrency;

public class OwlSimServiceApplication extends Application<ApplicationConfiguration> {

Expand Down Expand Up @@ -75,14 +73,27 @@ void initializeSwaggger(Bootstrap<ApplicationConfiguration> bootstrap) {
* @param environment
*/
void configureSwagger(Environment environment) {
environment.jersey().register(new ApiListingResourceJSON());
environment.jersey().register(new ApiDeclarationProvider());
environment.jersey().register(new ResourceListingProvider());
ScannerFactory.setScanner(new DefaultJaxrsScanner());
ClassReaders.setReader(new DefaultJaxrsApiReader());
SwaggerConfig config = ConfigFactory.config();
config.setApiVersion("1.0.1");
config.setBasePath(".." + environment.getApplicationContext().getContextPath());
environment.jersey().register(new ApiListingResource());
environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);

BeanConfig config = new BeanConfig();
config.setTitle("owlsim - Web Services");
config.setVersion("1.0.0");
config.setResourcePackage("org.monarchinitiative.owlsim.services.resources");
config.setScan(true);
config.setBasePath(environment.getApplicationContext().getContextPath());
}

void configureCors(Environment environment) {
final FilterRegistration.Dynamic cors = environment.servlets().addFilter("CORS", CrossOriginFilter.class);

// Configure CORS parameters
cors.setInitParameter("allowedOrigins", "*");
cors.setInitParameter("allowedHeaders", "X-Requested-With,Content-Type,Accept,Origin");
cors.setInitParameter("allowedMethods", "OPTIONS,GET,PUT,POST,DELETE,HEAD");

// Add URL mapping
cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
}

/***
Expand All @@ -100,6 +111,7 @@ public void run(ApplicationConfiguration configuration, Environment environment)
environment.getApplicationContext().setContextPath("/api");
configureSwagger(environment);
configureJackson(environment);
configureCors(environment);

Concurrency concurrency = Concurrency.CONCURRENT;
LOG.info("Creating injector...");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@

import com.codahale.metrics.annotation.Timed;
import com.googlecode.javaewah.EWAHCompressedBitmap;
import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
import com.wordnik.swagger.annotations.ApiParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import io.dropwizard.jersey.caching.CacheControl;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@
import org.monarchinitiative.owlsim.services.exceptions.UnknownMatcherException;

import com.codahale.metrics.annotation.Timed;
import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
import com.wordnik.swagger.annotations.ApiParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

@Path("/enrichment")
@Api(value = "/enrichment", description = "enrichment services")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
import org.monarchinitiative.owlsim.services.exceptions.UnknownMatcherException;

import com.codahale.metrics.annotation.Timed;
import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
import com.wordnik.swagger.annotations.ApiParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import io.dropwizard.jersey.caching.CacheControl;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
import org.monarchinitiative.owlsim.services.exceptions.UnknownMatcherException;

import com.codahale.metrics.annotation.Timed;
import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
import com.wordnik.swagger.annotations.ApiParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

import io.dropwizard.jersey.caching.CacheControl;

Expand Down
135 changes: 0 additions & 135 deletions owlsim-services/src/main/resources/swagger/css/highlight.default.css

This file was deleted.

1 change: 1 addition & 0 deletions owlsim-services/src/main/resources/swagger/css/print.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions owlsim-services/src/main/resources/swagger/css/reset.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 0d8a4e2

Please sign in to comment.