All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aol.micro.server.rest.swagger.SwaggerPlugin Maven / Gradle / Ivy

package com.aol.micro.server.rest.swagger;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Function;

import javax.servlet.ServletContextListener;


import com.aol.micro.server.Plugin;
import com.aol.micro.server.servers.model.ServerData;
import com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON;
import com.wordnik.swagger.jersey.listing.JerseyApiDeclarationProvider;
import com.wordnik.swagger.jersey.listing.JerseyResourceListingProvider;
import cyclops.collections.immutable.PersistentSetX;
import cyclops.function.Lambda;

/**
 * 
 * Collections of Spring configuration classes (Classes annotated with @Configuration)
 * that configure various useful pieces of functionality - such as property file loading,
 * datasources, scheduling etc
 * 
 * @author johnmcclean
 *
 */
public class SwaggerPlugin implements Plugin{
	
	@Override
	public PersistentSetX springClasses() {
		return PersistentSetX.empty();
	}

	@Override
	public PersistentSetX> servletContextListeners(){
		return PersistentSetX.of(Lambda.l1(serverData -> new SwaggerInitializer(serverData)));
		
	}

	@Override
	public PersistentSetX> jaxRsResources() {
		return PersistentSetX.of(ApiListingResourceJSON.class,JerseyApiDeclarationProvider.class,
				JerseyResourceListingProvider.class);
	}

	@Override
	public PersistentSetX jaxRsPackages() {
		return PersistentSetX.of("com.wordnik.swagger.sample.resource",
				"com.wordnik.swagger.sample.util"	);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy