From 0648a9cbea2b339cb37a4f0faa00b5110235e0c7 Mon Sep 17 00:00:00 2001 From: Robert Winkler Date: Wed, 16 Mar 2016 15:50:48 +0100 Subject: [PATCH 1/3] Added two getPath methods to Swagger2MarkupProperties. --- .../builder/Swagger2MarkupProperties.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java b/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java index a27dd83e..769092d6 100644 --- a/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java +++ b/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java @@ -26,6 +26,8 @@ import org.apache.commons.configuration.ConfigurationConverter; import org.apache.commons.configuration.MapConfiguration; import java.net.URI; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; import java.util.Map; import java.util.Properties; @@ -145,6 +147,34 @@ public class Swagger2MarkupProperties { } } + /** + * Return the Path property value associated with the given key, or + * {@code defaultValue} if the key cannot be resolved. + * @param key the property name to resolve + * @throws IllegalStateException if the value cannot be mapped to the enum + */ + public Optional getPath(String key){ + Optional property = getString(key); + if(property.isPresent()){ + return Optional.of(Paths.get(property.get())); + }else{ + return Optional.absent(); + } + } + + /** + * Return the Path property value associated with the given key (never {@code null}). + * @throws IllegalStateException if the key cannot be resolved + */ + public Path getRequiredPath(String key){ + Optional property = getString(key); + if(property.isPresent()){ + return Paths.get(property.get()); + }else{ + throw new IllegalStateException(String.format("required key [%s] not found", key)); + } + } + /** * Return the MarkupLanguage property value associated with the given key, or * {@code defaultValue} if the key cannot be resolved. From 365d3278ffea1e6afbe2dad91d104f22847eafe0 Mon Sep 17 00:00:00 2001 From: Robert Winkler Date: Wed, 16 Mar 2016 16:09:01 +0100 Subject: [PATCH 2/3] Added getRequiredMarkupLanguage method to Swagger2MarkupProperties --- .../builder/Swagger2MarkupConfigBuilder.java | 2 +- .../builder/Swagger2MarkupProperties.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupConfigBuilder.java b/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupConfigBuilder.java index 9570ad7d..db205760 100644 --- a/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupConfigBuilder.java +++ b/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupConfigBuilder.java @@ -107,7 +107,7 @@ public class Swagger2MarkupConfigBuilder { Configuration swagger2markupConfiguration = compositeConfiguration.subset(PROPERTIES_PREFIX); Swagger2MarkupProperties swagger2MarkupProperties = new Swagger2MarkupProperties(swagger2markupConfiguration); - config.markupLanguage = swagger2MarkupProperties.getMarkupLanguage("markupLanguage"); + config.markupLanguage = swagger2MarkupProperties.getRequiredMarkupLanguage("markupLanguage"); config.generatedExamplesEnabled = swagger2MarkupProperties.getRequiredBoolean("generatedExamplesEnabled"); config.operationDescriptionsEnabled = swagger2MarkupProperties.getRequiredBoolean("operationDescriptionsEnabled"); config.definitionDescriptionsEnabled = swagger2MarkupProperties.getRequiredBoolean("definitionDescriptionsEnabled"); diff --git a/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java b/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java index 769092d6..53bc64df 100644 --- a/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java +++ b/src/main/java/io/github/swagger2markup/builder/Swagger2MarkupProperties.java @@ -180,7 +180,20 @@ public class Swagger2MarkupProperties { * {@code defaultValue} if the key cannot be resolved. * @param key the property name to resolve */ - public MarkupLanguage getMarkupLanguage(String key){ + public Optional getMarkupLanguage(String key){ + Optional property = getString(key); + if(property.isPresent()){ + return Optional.of(MarkupLanguage.valueOf(property.get())); + }else{ + return Optional.absent(); + } + } + + /** + * Return the MarkupLanguage property value associated with the given key (never {@code null}). + * @throws IllegalStateException if the key cannot be resolved + */ + public MarkupLanguage getRequiredMarkupLanguage(String key){ return MarkupLanguage.valueOf(configuration.getString(key)); } From 3775f26458ba4de196e73ba4a9093e23f1590000 Mon Sep 17 00:00:00 2001 From: Hugo de Paix de Coeur Date: Wed, 16 Mar 2016 16:29:42 +0100 Subject: [PATCH 3/3] fixed refactoring bug in PathsDocumentBuilder::DefinitionDocumentResolverFromOperation --- .../internal/document/builder/PathsDocumentBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/github/swagger2markup/internal/document/builder/PathsDocumentBuilder.java b/src/main/java/io/github/swagger2markup/internal/document/builder/PathsDocumentBuilder.java index 5245893a..b2d070c7 100644 --- a/src/main/java/io/github/swagger2markup/internal/document/builder/PathsDocumentBuilder.java +++ b/src/main/java/io/github/swagger2markup/internal/document/builder/PathsDocumentBuilder.java @@ -794,7 +794,7 @@ public class PathsDocumentBuilder extends MarkupDocumentBuilder { String defaultResolver = super.apply(definitionName); if (defaultResolver != null && config.isSeparatedOperationsEnabled()) - return defaultString(config.getInterDocumentCrossReferencesPrefix()) + new File("src/main", defaultResolver).getPath(); + return defaultString(config.getInterDocumentCrossReferencesPrefix()) + new File("..", defaultResolver).getPath(); else return defaultResolver; }