Refactored package structure into an API (root), a SPI (service provider interface) and internal classes which should not be used by a user directly.

This commit is contained in:
Robert Winkler
2016-03-07 15:28:46 +01:00
parent 9f01adfb25
commit 3189043b7f
46 changed files with 246 additions and 209 deletions

View File

@@ -13,14 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.config;
package io.github.robwin.swagger2markup;
import com.google.common.base.Function;
import com.google.common.collect.Ordering;
import io.github.robwin.markup.builder.LineSeparator;
import io.github.robwin.markup.builder.MarkupLanguage;
import io.github.robwin.swagger2markup.*;
import io.github.robwin.swagger2markup.utils.IOUtils;
import io.github.robwin.swagger2markup.internal.model.PathOperation;
import io.github.robwin.swagger2markup.internal.utils.IOUtils;
import io.swagger.models.HttpMethod;
import io.swagger.models.parameters.Parameter;
import org.apache.commons.lang3.StringUtils;
@@ -89,7 +89,7 @@ public class Swagger2MarkupConfig {
* @param globalContext Partially initialized global context (globalContext.extensionRegistry == null)
*/
public void setGlobalContext(Swagger2MarkupConverter.Context globalContext) {
configureDefaultContentPaths(globalContext.swaggerLocation);
configureDefaultContentPaths(globalContext.getSwaggerLocation());
}
/**

View File

@@ -15,14 +15,13 @@
*/
package io.github.robwin.swagger2markup;
import io.github.robwin.swagger2markup.builder.DefinitionsDocumentBuilder;
import io.github.robwin.swagger2markup.builder.OverviewDocumentBuilder;
import io.github.robwin.swagger2markup.builder.PathsDocumentBuilder;
import io.github.robwin.swagger2markup.builder.SecurityDocumentBuilder;
import io.github.robwin.swagger2markup.config.Swagger2MarkupConfig;
import io.github.robwin.swagger2markup.extension.Extension;
import io.github.robwin.swagger2markup.extension.Swagger2MarkupExtensionRegistry;
import io.github.robwin.swagger2markup.extension.SwaggerExtension;
import com.google.common.annotations.VisibleForTesting;
import io.github.robwin.swagger2markup.internal.builder.DefinitionsDocumentBuilder;
import io.github.robwin.swagger2markup.internal.builder.OverviewDocumentBuilder;
import io.github.robwin.swagger2markup.internal.builder.PathsDocumentBuilder;
import io.github.robwin.swagger2markup.internal.builder.SecurityDocumentBuilder;
import io.github.robwin.swagger2markup.spi.Extension;
import io.github.robwin.swagger2markup.spi.SwaggerExtension;
import io.swagger.models.Swagger;
import io.swagger.parser.SwaggerParser;
import org.apache.commons.io.IOUtils;
@@ -43,14 +42,21 @@ import java.nio.file.Path;
*/
public class Swagger2MarkupConverter {
public static class Context {
public Swagger2MarkupConfig config;
public Swagger2MarkupExtensionRegistry extensionRegistry;
public Swagger swagger;
public URI swaggerLocation;
private Context context;
public Swagger2MarkupConverter(Context globalContext) {
this.context = globalContext;
}
Context globalContext;
/**
* Returns the global Context
*
* @return the global Context
*/
@VisibleForTesting
Context getContext(){
return context;
}
/**
* Creates a Swagger2MarkupConverter.Builder using a remote URL.
@@ -113,12 +119,6 @@ public class Swagger2MarkupConverter {
return new Builder(swagger);
}
protected void applySwaggerExtensions() {
for (SwaggerExtension swaggerExtension : globalContext.extensionRegistry.getExtensions(SwaggerExtension.class)) {
swaggerExtension.apply(globalContext);
}
}
/**
* Builds the document with the given markup language and stores
* the files in the given folder.
@@ -144,6 +144,12 @@ public class Swagger2MarkupConverter {
return buildDocuments();
}
private void applySwaggerExtensions() {
for (SwaggerExtension swaggerExtension : context.extensionRegistry.getExtensions(SwaggerExtension.class)) {
swaggerExtension.apply(context);
}
}
/**
* Builds all documents and writes them to a directory
*
@@ -151,10 +157,10 @@ public class Swagger2MarkupConverter {
* @throws IOException if a file cannot be written
*/
private void buildDocuments(Path outputPath) throws IOException {
new OverviewDocumentBuilder(globalContext, outputPath).build().writeToFile(outputPath.resolve(globalContext.config.getOverviewDocument()), StandardCharsets.UTF_8);
new PathsDocumentBuilder(globalContext, outputPath).build().writeToFile(outputPath.resolve(globalContext.config.getPathsDocument()), StandardCharsets.UTF_8);
new DefinitionsDocumentBuilder(globalContext, outputPath).build().writeToFile(outputPath.resolve(globalContext.config.getDefinitionsDocument()), StandardCharsets.UTF_8);
new SecurityDocumentBuilder(globalContext, outputPath).build().writeToFile(outputPath.resolve(globalContext.config.getSecurityDocument()), StandardCharsets.UTF_8);
new OverviewDocumentBuilder(context, outputPath).build().writeToFile(outputPath.resolve(context.config.getOverviewDocument()), StandardCharsets.UTF_8);
new PathsDocumentBuilder(context, outputPath).build().writeToFile(outputPath.resolve(context.config.getPathsDocument()), StandardCharsets.UTF_8);
new DefinitionsDocumentBuilder(context, outputPath).build().writeToFile(outputPath.resolve(context.config.getDefinitionsDocument()), StandardCharsets.UTF_8);
new SecurityDocumentBuilder(context, outputPath).build().writeToFile(outputPath.resolve(context.config.getSecurityDocument()), StandardCharsets.UTF_8);
}
/**
@@ -164,10 +170,10 @@ public class Swagger2MarkupConverter {
*/
private String buildDocuments() {
StringBuilder sb = new StringBuilder();
sb.append(new OverviewDocumentBuilder(globalContext, null).build().toString());
sb.append(new PathsDocumentBuilder(globalContext, null).build().toString());
sb.append(new DefinitionsDocumentBuilder(globalContext, null).build().toString());
sb.append(new SecurityDocumentBuilder(globalContext, null).build().toString());
sb.append(new OverviewDocumentBuilder(context, null).build().toString());
sb.append(new PathsDocumentBuilder(context, null).build().toString());
sb.append(new DefinitionsDocumentBuilder(context, null).build().toString());
sb.append(new SecurityDocumentBuilder(context, null).build().toString());
return sb.toString();
}
@@ -238,30 +244,49 @@ public class Swagger2MarkupConverter {
}
public Swagger2MarkupConverter build() {
Context context = new Context();
context.swagger = this.swagger;
context.swaggerLocation = this.swaggerLocation;
if (config == null)
context.config = Swagger2MarkupConfig.ofDefaults().build();
else
context.config = config;
context.config.setGlobalContext(context);
config = Swagger2MarkupConfig.ofDefaults().build();
if (extensionRegistry == null)
context.extensionRegistry = Swagger2MarkupExtensionRegistry.ofDefaults().build();
else
context.extensionRegistry = extensionRegistry;
for (Extension extension : context.extensionRegistry.getExtensions())
extensionRegistry = Swagger2MarkupExtensionRegistry.ofDefaults().build();
Context context = new Context(config, extensionRegistry, swagger, swaggerLocation);
config.setGlobalContext(context);
for (Extension extension : extensionRegistry.getExtensions())
extension.setGlobalContext(context);
return new Swagger2MarkupConverter(context);
}
}
Swagger2MarkupConverter converter = new Swagger2MarkupConverter();
converter.globalContext = context;
public static class Context {
private Swagger2MarkupConfig config;
private Swagger2MarkupExtensionRegistry extensionRegistry;
private Swagger swagger;
private URI swaggerLocation;
return converter;
Context(Swagger2MarkupConfig config, Swagger2MarkupExtensionRegistry extensionRegistry, Swagger swagger, URI swaggerLocation) {
this.config = config;
this.extensionRegistry = extensionRegistry;
this.swagger = swagger;
this.swaggerLocation = swaggerLocation;
}
public Swagger2MarkupConfig getConfig() {
return config;
}
public Swagger2MarkupExtensionRegistry getExtensionRegistry() {
return extensionRegistry;
}
public Swagger getSwagger() {
return swagger;
}
public URI getSwaggerLocation() {
return swaggerLocation;
}
}
}

View File

@@ -14,14 +14,15 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import io.github.robwin.swagger2markup.extension.repository.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.extension.repository.DynamicOperationsContentExtension;
import io.github.robwin.swagger2markup.extension.repository.DynamicOverviewContentExtension;
import io.github.robwin.swagger2markup.extension.repository.DynamicSecurityContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicOperationsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicOverviewContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicSecurityContentExtension;
import io.github.robwin.swagger2markup.spi.*;
import java.util.ArrayList;
import java.util.Arrays;

View File

@@ -13,16 +13,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.builder;
package io.github.robwin.swagger2markup.internal.builder;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableMap;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.document.MarkupDocument;
import io.github.robwin.swagger2markup.extension.DefinitionsContentExtension;
import io.github.robwin.swagger2markup.type.ObjectType;
import io.github.robwin.swagger2markup.type.Type;
import io.github.robwin.swagger2markup.internal.document.MarkupDocument;
import io.github.robwin.swagger2markup.spi.DefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.type.ObjectType;
import io.github.robwin.swagger2markup.internal.type.Type;
import io.swagger.models.ComposedModel;
import io.swagger.models.Model;
import io.swagger.models.RefModel;
@@ -41,7 +41,7 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.util.*;
import static io.github.robwin.swagger2markup.utils.IOUtils.normalizeName;
import static io.github.robwin.swagger2markup.internal.utils.IOUtils.normalizeName;
import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
@@ -89,7 +89,7 @@ public class DefinitionsDocumentBuilder extends MarkupDocumentBuilder {
*/
@Override
public MarkupDocument build() {
definitions(globalContext.swagger.getDefinitions());
definitions(globalContext.getSwagger().getDefinitions());
return new MarkupDocument(markupDocBuilder);
}
@@ -142,7 +142,7 @@ public class DefinitionsDocumentBuilder extends MarkupDocumentBuilder {
* @param context context
*/
private void applyDefinitionExtension(DefinitionsContentExtension.Context context) {
for (DefinitionsContentExtension extension : globalContext.extensionRegistry.getExtensions(DefinitionsContentExtension.class)) {
for (DefinitionsContentExtension extension : globalContext.getExtensionRegistry().getExtensions(DefinitionsContentExtension.class)) {
extension.apply(context);
}
}
@@ -338,7 +338,7 @@ public class DefinitionsDocumentBuilder extends MarkupDocumentBuilder {
for (String fileNameExtension : config.getMarkupLanguage().getFileNameExtensions()) {
URI contentUri = config.getDefinitionDescriptionsUri().resolve(descriptionFolder).resolve(descriptionFileName + fileNameExtension);
try (Reader reader = io.github.robwin.swagger2markup.utils.IOUtils.uriReader(contentUri)) {
try (Reader reader = io.github.robwin.swagger2markup.internal.utils.IOUtils.uriReader(contentUri)) {
if (logger.isInfoEnabled()) {
logger.info("Definition description content processed {}", contentUri);
}

View File

@@ -13,21 +13,21 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.builder;
package io.github.robwin.swagger2markup.internal.builder;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.github.robwin.markup.builder.MarkupDocBuilders;
import io.github.robwin.markup.builder.MarkupLanguage;
import io.github.robwin.markup.builder.MarkupTableColumn;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.config.Swagger2MarkupConfig;
import io.github.robwin.swagger2markup.document.MarkupDocument;
import io.github.robwin.swagger2markup.type.DefinitionDocumentResolver;
import io.github.robwin.swagger2markup.type.ObjectType;
import io.github.robwin.swagger2markup.type.RefType;
import io.github.robwin.swagger2markup.type.Type;
import io.github.robwin.swagger2markup.utils.IOUtils;
import io.github.robwin.swagger2markup.utils.PropertyUtils;
import io.github.robwin.swagger2markup.Swagger2MarkupConfig;
import io.github.robwin.swagger2markup.internal.document.MarkupDocument;
import io.github.robwin.swagger2markup.internal.type.DefinitionDocumentResolver;
import io.github.robwin.swagger2markup.internal.type.ObjectType;
import io.github.robwin.swagger2markup.internal.type.RefType;
import io.github.robwin.swagger2markup.internal.type.Type;
import io.github.robwin.swagger2markup.internal.utils.IOUtils;
import io.github.robwin.swagger2markup.internal.utils.PropertyUtils;
import io.swagger.models.properties.Property;
import io.swagger.util.Json;
import org.apache.commons.collections.MapUtils;
@@ -68,7 +68,7 @@ public abstract class MarkupDocumentBuilder {
MarkupDocumentBuilder(Swagger2MarkupConverter.Context globalContext, Path outputPath) {
this.globalContext = globalContext;
this.config = globalContext.config;
this.config = globalContext.getConfig();
this.outputPath = outputPath;
this.markupDocBuilder = MarkupDocBuilders.documentBuilder(config.getMarkupLanguage(), config.getLineSeparator()).withAnchorPrefix(config.getAnchorPrefix());
@@ -140,7 +140,7 @@ public abstract class MarkupDocumentBuilder {
}
}
Object example = PropertyUtils.getExample(globalContext.config.isGeneratedExamplesEnabled(), property, markupDocBuilder);
Object example = PropertyUtils.getExample(config.isGeneratedExamplesEnabled(), property, markupDocBuilder);
List<String> content = Arrays.asList(
propertyName,

View File

@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.builder;
package io.github.robwin.swagger2markup.internal.builder;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.document.MarkupDocument;
import io.github.robwin.swagger2markup.extension.OverviewContentExtension;
import io.github.robwin.swagger2markup.internal.document.MarkupDocument;
import io.github.robwin.swagger2markup.spi.OverviewContentExtension;
import io.swagger.models.*;
import java.nio.file.Path;
@@ -86,7 +86,7 @@ public class OverviewDocumentBuilder extends MarkupDocumentBuilder {
* Builds the document header of the swagger model
*/
private void overview() {
Swagger swagger = globalContext.swagger;
Swagger swagger = globalContext.getSwagger();
Info info = swagger.getInfo();
this.markupDocBuilder.documentTitle(info.getTitle());
@@ -179,7 +179,7 @@ public class OverviewDocumentBuilder extends MarkupDocumentBuilder {
* @param context context
*/
private void applyOverviewExtension(OverviewContentExtension.Context context) {
for (OverviewContentExtension extension : globalContext.extensionRegistry.getExtensions(OverviewContentExtension.class)) {
for (OverviewContentExtension extension : globalContext.getExtensionRegistry().getExtensions(OverviewContentExtension.class)) {
extension.apply(context);
}
}

View File

@@ -13,24 +13,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.builder;
package io.github.robwin.swagger2markup.internal.builder;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.Multimap;
import io.github.robwin.markup.builder.*;
import io.github.robwin.swagger2markup.GroupBy;
import io.github.robwin.swagger2markup.PathOperation;
import io.github.robwin.swagger2markup.internal.model.PathOperation;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.document.MarkupDocument;
import io.github.robwin.swagger2markup.extension.OperationsContentExtension;
import io.github.robwin.swagger2markup.type.ObjectType;
import io.github.robwin.swagger2markup.type.RefType;
import io.github.robwin.swagger2markup.type.Type;
import io.github.robwin.swagger2markup.utils.ExamplesUtil;
import io.github.robwin.swagger2markup.utils.ParameterUtils;
import io.github.robwin.swagger2markup.utils.PropertyUtils;
import io.github.robwin.swagger2markup.utils.TagUtils;
import io.github.robwin.swagger2markup.internal.document.MarkupDocument;
import io.github.robwin.swagger2markup.spi.OperationsContentExtension;
import io.github.robwin.swagger2markup.internal.type.ObjectType;
import io.github.robwin.swagger2markup.internal.type.RefType;
import io.github.robwin.swagger2markup.internal.type.Type;
import io.github.robwin.swagger2markup.internal.utils.ExamplesUtil;
import io.github.robwin.swagger2markup.internal.utils.ParameterUtils;
import io.github.robwin.swagger2markup.internal.utils.PropertyUtils;
import io.github.robwin.swagger2markup.internal.utils.TagUtils;
import io.swagger.models.*;
import io.swagger.models.auth.SecuritySchemeDefinition;
import io.swagger.models.parameters.Parameter;
@@ -50,9 +50,9 @@ import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.*;
import static io.github.robwin.swagger2markup.utils.IOUtils.normalizeName;
import static io.github.robwin.swagger2markup.utils.TagUtils.convertTagsListToMap;
import static io.github.robwin.swagger2markup.utils.TagUtils.getTagDescription;
import static io.github.robwin.swagger2markup.internal.utils.IOUtils.normalizeName;
import static io.github.robwin.swagger2markup.internal.utils.TagUtils.convertTagsListToMap;
import static io.github.robwin.swagger2markup.internal.utils.TagUtils.getTagDescription;
import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.apache.commons.lang3.StringUtils.isNotBlank;
@@ -154,7 +154,7 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder {
*/
private void operations() {
Set<PathOperation> allOperations = new LinkedHashSet<>();
Map<String, Path> paths = globalContext.swagger.getPaths();
Map<String, Path> paths = globalContext.getSwagger().getPaths();
if (paths != null) {
for (Map.Entry<String, Path> path : paths.entrySet()) {
@@ -192,7 +192,7 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder {
} else {
Multimap<String, PathOperation> operationsGroupedByTag = TagUtils.groupOperationsByTag(allOperations, config.getTagOrdering(), config.getOperationOrdering());
Map<String, Tag> tagsMap = convertTagsListToMap(globalContext.swagger.getTags());
Map<String, Tag> tagsMap = convertTagsListToMap(globalContext.getSwagger().getTags());
for (String tagName : operationsGroupedByTag.keySet()) {
this.markupDocBuilder.sectionTitleLevel2(WordUtils.capitalize(tagName));
@@ -219,7 +219,7 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder {
* @param context context
*/
private void applyOperationExtension(OperationsContentExtension.Context context) {
for (OperationsContentExtension extension : globalContext.extensionRegistry.getExtensions(OperationsContentExtension.class)) {
for (OperationsContentExtension extension : globalContext.getExtensionRegistry().getExtensions(OperationsContentExtension.class)) {
extension.apply(context);
}
}
@@ -600,8 +600,8 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder {
*/
private void examplesSection(PathOperation operation, MarkupDocBuilder docBuilder) {
Map<String, Object> generatedRequestExampleMap = ExamplesUtil.generateRequestExampleMap(globalContext.config.isGeneratedExamplesEnabled(), operation, globalContext.swagger.getDefinitions(), markupDocBuilder);
Map<String, Object> generatedResponseExampleMap = ExamplesUtil.generateResponseExampleMap(globalContext.config.isGeneratedExamplesEnabled(), operation.getOperation(), globalContext.swagger.getDefinitions(), markupDocBuilder);
Map<String, Object> generatedRequestExampleMap = ExamplesUtil.generateRequestExampleMap(config.isGeneratedExamplesEnabled(), operation, globalContext.getSwagger().getDefinitions(), markupDocBuilder);
Map<String, Object> generatedResponseExampleMap = ExamplesUtil.generateResponseExampleMap(config.isGeneratedExamplesEnabled(), operation.getOperation(), globalContext.getSwagger().getDefinitions(), markupDocBuilder);
exampleMap(generatedRequestExampleMap, EXAMPLE_REQUEST, REQUEST, docBuilder);
exampleMap(generatedResponseExampleMap, EXAMPLE_RESPONSE, RESPONSE, docBuilder);
@@ -627,7 +627,7 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder {
List<Map<String, List<String>>> securitySchemes = operation.getOperation().getSecurity();
if (CollectionUtils.isNotEmpty(securitySchemes)) {
addOperationSectionTitle(SECURITY, docBuilder);
Map<String, SecuritySchemeDefinition> securityDefinitions = globalContext.swagger.getSecurityDefinitions();
Map<String, SecuritySchemeDefinition> securityDefinitions = globalContext.getSwagger().getSecurityDefinitions();
List<List<String>> cells = new ArrayList<>();
List<MarkupTableColumn> cols = Arrays.asList(
new MarkupTableColumn(TYPE_COLUMN, 1).withMarkupSpecifiers(MarkupLanguage.ASCIIDOC, ".^1"),
@@ -660,7 +660,7 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder {
for (String fileNameExtension : config.getMarkupLanguage().getFileNameExtensions()) {
URI contentUri = config.getOperationDescriptionsUri().resolve(descriptionFolder).resolve(descriptionFileName + fileNameExtension);
try (Reader reader = io.github.robwin.swagger2markup.utils.IOUtils.uriReader(contentUri)) {
try (Reader reader = io.github.robwin.swagger2markup.internal.utils.IOUtils.uriReader(contentUri)) {
if (logger.isInfoEnabled()) {
logger.info("Operation description content processed {}", contentUri);
}

View File

@@ -13,12 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.builder;
package io.github.robwin.swagger2markup.internal.builder;
import io.github.robwin.markup.builder.MarkupTableColumn;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.document.MarkupDocument;
import io.github.robwin.swagger2markup.extension.SecurityContentExtension;
import io.github.robwin.swagger2markup.internal.document.MarkupDocument;
import io.github.robwin.swagger2markup.spi.SecurityContentExtension;
import io.swagger.models.auth.ApiKeyAuthDefinition;
import io.swagger.models.auth.OAuth2Definition;
import io.swagger.models.auth.SecuritySchemeDefinition;
@@ -76,7 +76,7 @@ public class SecurityDocumentBuilder extends MarkupDocumentBuilder {
* Builds all security definition of the Swagger model.
*/
private void security() {
Map<String, SecuritySchemeDefinition> definitions = globalContext.swagger.getSecurityDefinitions();
Map<String, SecuritySchemeDefinition> definitions = globalContext.getSwagger().getSecurityDefinitions();
if (MapUtils.isNotEmpty(definitions)) {
applyOverviewExtension(new SecurityContentExtension.Context(SecurityContentExtension.Position.DOC_BEFORE, this.markupDocBuilder));
@@ -124,7 +124,7 @@ public class SecurityDocumentBuilder extends MarkupDocumentBuilder {
* @param context context
*/
private void applyOverviewExtension(SecurityContentExtension.Context context) {
for (SecurityContentExtension extension : globalContext.extensionRegistry.getExtensions(SecurityContentExtension.class)) {
for (SecurityContentExtension extension : globalContext.getExtensionRegistry().getExtensions(SecurityContentExtension.class)) {
extension.apply(context);
}
}

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.document;
package io.github.robwin.swagger2markup.internal.document;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,11 +14,11 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import com.google.common.base.Optional;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.ContentContext;
import io.github.robwin.swagger2markup.spi.ContentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -80,7 +80,7 @@ public class ContentExtension {
*/
protected Optional<Reader> readContentUri(URI contentUri) {
try {
Reader reader = io.github.robwin.swagger2markup.utils.IOUtils.uriReader(contentUri);
Reader reader = io.github.robwin.swagger2markup.internal.utils.IOUtils.uriReader(contentUri);
if (logger.isInfoEnabled()) {
logger.info("Content URI {} processed", contentUri);

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import com.google.common.base.Function;
import com.google.common.base.Optional;
@@ -22,7 +22,7 @@ import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.ContentContext;
import io.github.robwin.swagger2markup.spi.ContentContext;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -53,7 +53,7 @@ public class DynamicContentExtension extends ContentExtension {
* @param levelOffset import markup level offset
*/
public void extensionsSection(Path contentPath, final String prefix, int levelOffset) {
final Collection<String> filenameExtensions = Collections2.transform(globalContext.config.getMarkupLanguage().getFileNameExtensions(), new Function<String, String>() {
final Collection<String> filenameExtensions = Collections2.transform(globalContext.getConfig().getMarkupLanguage().getFileNameExtensions(), new Function<String, String>() {
public String apply(String input) {
return StringUtils.stripStart(input, ".");
}

View File

@@ -14,11 +14,11 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.DefinitionsContentExtension;
import io.github.robwin.swagger2markup.utils.IOUtils;
import io.github.robwin.swagger2markup.spi.DefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.utils.IOUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,11 +60,11 @@ public class DynamicDefinitionsContentExtension extends DefinitionsContentExtens
@Override
public void init(Swagger2MarkupConverter.Context globalContext) {
if (contentPath == null) {
if (globalContext.swaggerLocation == null || !globalContext.swaggerLocation.getScheme().equals("file")) {
if (globalContext.getSwaggerLocation() == null || !globalContext.getSwaggerLocation().getScheme().equals("file")) {
if (logger.isWarnEnabled())
logger.warn("Disable DynamicDefinitionsContentExtension > Can't set default contentPath from swaggerLocation. You have to explicitly configure the content path.");
} else {
contentPath = Paths.get(globalContext.swaggerLocation).getParent();
contentPath = Paths.get(globalContext.getSwaggerLocation()).getParent();
}
}
}

View File

@@ -14,11 +14,11 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.OperationsContentExtension;
import io.github.robwin.swagger2markup.utils.IOUtils;
import io.github.robwin.swagger2markup.spi.OperationsContentExtension;
import io.github.robwin.swagger2markup.internal.utils.IOUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,11 +60,11 @@ public class DynamicOperationsContentExtension extends OperationsContentExtensio
@Override
public void init(Swagger2MarkupConverter.Context globalContext) {
if (contentPath == null) {
if (globalContext.swaggerLocation == null || !globalContext.swaggerLocation.getScheme().equals("file")) {
if (globalContext.getSwaggerLocation() == null || !globalContext.getSwaggerLocation().getScheme().equals("file")) {
if (logger.isWarnEnabled())
logger.warn("Disable DynamicOperationsContentExtension > Can't set default contentPath from swaggerLocation. You have to explicitly configure the content path.");
} else {
contentPath = Paths.get(globalContext.swaggerLocation).getParent();
contentPath = Paths.get(globalContext.getSwaggerLocation()).getParent();
}
}
}

View File

@@ -14,10 +14,10 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.OverviewContentExtension;
import io.github.robwin.swagger2markup.spi.OverviewContentExtension;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,11 +57,11 @@ public class DynamicOverviewContentExtension extends OverviewContentExtension {
@Override
public void init(Swagger2MarkupConverter.Context globalContext) {
if (contentPath == null) {
if (globalContext.swaggerLocation == null || !globalContext.swaggerLocation.getScheme().equals("file")) {
if (globalContext.getSwaggerLocation() == null || !globalContext.getSwaggerLocation().getScheme().equals("file")) {
if (logger.isWarnEnabled())
logger.warn("Disable > DynamicOverviewContentExtension > Can't set default contentPath from swaggerLocation. You have to explicitly configure the content path.");
} else {
contentPath = Paths.get(globalContext.swaggerLocation).getParent();
contentPath = Paths.get(globalContext.getSwaggerLocation()).getParent();
}
}
}

View File

@@ -14,10 +14,10 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.SecurityContentExtension;
import io.github.robwin.swagger2markup.spi.SecurityContentExtension;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,11 +57,11 @@ public class DynamicSecurityContentExtension extends SecurityContentExtension {
@Override
public void init(Swagger2MarkupConverter.Context globalContext) {
if (contentPath == null) {
if (globalContext.swaggerLocation == null || !globalContext.swaggerLocation.getScheme().equals("file")) {
if (globalContext.getSwaggerLocation() == null || !globalContext.getSwaggerLocation().getScheme().equals("file")) {
if (logger.isWarnEnabled())
logger.warn("Disable > DynamicSecurityContentExtension > Can't set default contentPath from swaggerLocation. You have to explicitly configure the content path.");
} else {
contentPath = Paths.get(globalContext.swaggerLocation).getParent();
contentPath = Paths.get(globalContext.getSwaggerLocation()).getParent();
}
}
}

View File

@@ -14,12 +14,12 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import com.google.common.base.Optional;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.DefinitionsContentExtension;
import io.github.robwin.swagger2markup.utils.IOUtils;
import io.github.robwin.swagger2markup.spi.DefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.utils.IOUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -75,11 +75,11 @@ public class SchemaExtension extends DefinitionsContentExtension {
@Override
public void init(Swagger2MarkupConverter.Context globalContext) {
if (schemaBaseUri == null) {
if (globalContext.swaggerLocation == null) {
if (globalContext.getSwaggerLocation() == null) {
if (logger.isWarnEnabled())
logger.warn("Disable SchemaExtension > Can't set default schemaBaseUri from swaggerLocation. You have to explicitly configure the schemaBaseUri.");
} else {
schemaBaseUri = IOUtils.uriParent(globalContext.swaggerLocation);
schemaBaseUri = IOUtils.uriParent(globalContext.getSwaggerLocation());
}
}
}

View File

@@ -14,14 +14,14 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension.repository;
package io.github.robwin.swagger2markup.internal.extensions;
import com.google.common.base.Optional;
import com.google.common.base.Throwables;
import io.github.robwin.swagger2markup.PathOperation;
import io.github.robwin.swagger2markup.internal.model.PathOperation;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.OperationsContentExtension;
import io.github.robwin.swagger2markup.utils.IOUtils;
import io.github.robwin.swagger2markup.spi.OperationsContentExtension;
import io.github.robwin.swagger2markup.internal.utils.IOUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,11 +66,11 @@ public class SpringRestDocsExtension extends OperationsContentExtension {
@Override
public void init(Swagger2MarkupConverter.Context globalContext) {
if (snippetBaseUri == null) {
if (globalContext.swaggerLocation == null) {
if (globalContext.getSwaggerLocation() == null) {
if (logger.isWarnEnabled())
logger.warn("Disable SpringRestDocsExtension > Can't set default snippetBaseUri from swaggerLocation. You have to explicitly configure the snippetBaseUri.");
} else {
snippetBaseUri = IOUtils.uriParent(globalContext.swaggerLocation);
snippetBaseUri = IOUtils.uriParent(globalContext.getSwaggerLocation());
}
}
}

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup;
package io.github.robwin.swagger2markup.internal.model;
import io.swagger.models.HttpMethod;
import io.swagger.models.Operation;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import com.google.common.base.Function;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.swagger.models.properties.Property;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.type;
package io.github.robwin.swagger2markup.internal.type;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import org.apache.commons.lang3.Validate;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
/**
* Java 8 style Consumer functional interface

View File

@@ -14,10 +14,10 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.github.robwin.swagger2markup.PathOperation;
import io.github.robwin.swagger2markup.internal.model.PathOperation;
import io.swagger.models.*;
import io.swagger.models.parameters.*;
import io.swagger.models.properties.ArrayProperty;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
import org.apache.commons.lang3.StringUtils;

View File

@@ -13,13 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
import com.google.common.base.Function;
import io.github.robwin.swagger2markup.type.ArrayType;
import io.github.robwin.swagger2markup.type.ObjectType;
import io.github.robwin.swagger2markup.type.RefType;
import io.github.robwin.swagger2markup.type.Type;
import io.github.robwin.swagger2markup.internal.type.ArrayType;
import io.github.robwin.swagger2markup.internal.type.ObjectType;
import io.github.robwin.swagger2markup.internal.type.RefType;
import io.github.robwin.swagger2markup.internal.type.Type;
import io.swagger.models.ArrayModel;
import io.swagger.models.Model;
import io.swagger.models.ModelImpl;

View File

@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
import com.google.common.base.Function;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.github.robwin.swagger2markup.type.*;
import io.github.robwin.swagger2markup.internal.type.*;
import io.swagger.models.Model;
import io.swagger.models.parameters.AbstractSerializableParameter;
import io.swagger.models.parameters.BodyParameter;

View File

@@ -13,11 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
import com.google.common.base.Function;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.github.robwin.swagger2markup.type.*;
import io.github.robwin.swagger2markup.internal.type.*;
import io.swagger.models.properties.*;
import io.swagger.models.refs.RefFormat;
import org.apache.commons.collections.CollectionUtils;

View File

@@ -13,13 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.utils;
package io.github.robwin.swagger2markup.internal.utils;
import com.google.common.base.Optional;
import com.google.common.collect.Multimap;
import com.google.common.collect.MultimapBuilder;
import com.google.common.collect.Ordering;
import io.github.robwin.swagger2markup.PathOperation;
import io.github.robwin.swagger2markup.internal.model.PathOperation;
import io.swagger.models.Tag;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import org.apache.commons.lang3.Validate;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;

View File

@@ -14,11 +14,11 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.markup.builder.MarkupDocBuilder;
import io.github.robwin.swagger2markup.GroupBy;
import io.github.robwin.swagger2markup.PathOperation;
import io.github.robwin.swagger2markup.internal.model.PathOperation;
import org.apache.commons.lang3.Validate;
public abstract class OperationsContentExtension extends AbstractExtension {
@@ -82,7 +82,7 @@ public abstract class OperationsContentExtension extends AbstractExtension {
default:
throw new RuntimeException(String.format("Unknown position '%s'", context.position));
}
if (globalContext.config.getOperationsGroupedBy() == GroupBy.TAGS) {
if (globalContext.getConfig().getOperationsGroupedBy() == GroupBy.TAGS) {
levelOffset++;
}
return levelOffset;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.markup.builder.MarkupDocBuilder;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;

View File

@@ -16,12 +16,10 @@
package io.github.robwin.swagger2markup;
import io.github.robwin.swagger2markup.assertions.DiffUtils;
import io.github.robwin.swagger2markup.config.Swagger2MarkupConfig;
import io.github.robwin.swagger2markup.extension.Swagger2MarkupExtensionRegistry;
import io.github.robwin.swagger2markup.extension.repository.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.extension.repository.DynamicOperationsContentExtension;
import io.github.robwin.swagger2markup.extension.repository.SchemaExtension;
import io.github.robwin.swagger2markup.extension.repository.SpringRestDocsExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicOperationsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.SchemaExtension;
import io.github.robwin.swagger2markup.internal.extensions.SpringRestDocsExtension;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.junit.Before;

View File

@@ -15,7 +15,6 @@
*/
package io.github.robwin.swagger2markup;
import io.github.robwin.swagger2markup.config.Swagger2MarkupConfig;
import io.swagger.models.Swagger;
import org.junit.Test;
@@ -40,14 +39,14 @@ public class GeneralConverterTest {
.withOperationDescriptions()
.build();
Swagger2MarkupConverter converterBuilder = Swagger2MarkupConverter.from(file)
Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file)
.withConfig(config)
.build();
//Then
URI baseUri = io.github.robwin.swagger2markup.utils.IOUtils.uriParent(converterBuilder.globalContext.swaggerLocation);
assertThat(converterBuilder.globalContext.config.getDefinitionDescriptionsUri()).isEqualTo(baseUri);
assertThat(converterBuilder.globalContext.config.getOperationDescriptionsUri()).isEqualTo(baseUri);
URI baseUri = io.github.robwin.swagger2markup.internal.utils.IOUtils.uriParent(converter.getContext().getSwaggerLocation());
assertThat(converter.getContext().getConfig().getDefinitionDescriptionsUri()).isEqualTo(baseUri);
assertThat(converter.getContext().getConfig().getOperationDescriptionsUri()).isEqualTo(baseUri);
}
@Test
@@ -65,8 +64,8 @@ public class GeneralConverterTest {
.build();
//Then
assertThat(converterBuilder.globalContext.config.getDefinitionDescriptionsUri()).isNull();
assertThat(converterBuilder.globalContext.config.getOperationDescriptionsUri()).isNull();
assertThat(converterBuilder.getContext().getConfig().getDefinitionDescriptionsUri()).isNull();
assertThat(converterBuilder.getContext().getConfig().getOperationDescriptionsUri()).isNull();
}
@Test
@@ -81,6 +80,6 @@ public class GeneralConverterTest {
Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(new Swagger())
.withConfig(config)
.build();
assertThat(converter.globalContext.config.isDefinitionDescriptionsEnabled()).isFalse();
assertThat(converter.getContext().getConfig().isDefinitionDescriptionsEnabled()).isFalse();
}
}

View File

@@ -21,10 +21,8 @@ import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import io.github.robwin.markup.builder.MarkupLanguage;
import io.github.robwin.swagger2markup.assertions.DiffUtils;
import io.github.robwin.swagger2markup.config.Swagger2MarkupConfig;
import io.github.robwin.swagger2markup.extension.Swagger2MarkupExtensionRegistry;
import io.github.robwin.swagger2markup.extension.repository.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.extension.repository.DynamicOperationsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicOperationsContentExtension;
import org.apache.commons.io.FileUtils;
import org.junit.Before;
import org.junit.Test;

View File

@@ -13,13 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.config;
package io.github.robwin.swagger2markup;
import com.google.common.collect.Ordering;
import io.github.robwin.markup.builder.MarkupLanguage;
import io.github.robwin.swagger2markup.GroupBy;
import io.github.robwin.swagger2markup.Language;
import io.github.robwin.swagger2markup.OrderBy;
import org.junit.Test;
import java.io.IOException;

View File

@@ -0,0 +1,29 @@
/*
* Copyright 2016 Robert Winkler
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
public class MySwaggerExtension extends SwaggerExtension {
public MySwaggerExtension() {
super();
}
public void apply(Swagger2MarkupConverter.Context globalContext) {
globalContext.getSwagger().setHost("host.domain.tld");
}
}

View File

@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.robwin.swagger2markup.extension;
package io.github.robwin.swagger2markup.spi;
import io.github.robwin.swagger2markup.Swagger2MarkupConverter;
import io.github.robwin.swagger2markup.extension.repository.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.extension.repository.DynamicOperationsContentExtension;
import io.github.robwin.swagger2markup.Swagger2MarkupExtensionRegistry;
import io.github.robwin.swagger2markup.internal.extensions.DynamicDefinitionsContentExtension;
import io.github.robwin.swagger2markup.internal.extensions.DynamicOperationsContentExtension;
import org.junit.Test;
import java.nio.file.Paths;
@@ -27,17 +28,6 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
class MySwaggerExtension extends SwaggerExtension {
public MySwaggerExtension() {
super();
}
public void apply(Swagger2MarkupConverter.Context globalContext) {
globalContext.swagger.setHost("host.domain.tld");
}
}
public class Swagger2MarkupExtensionRegistryTest {
@Test