Skip to content

Commit

Permalink
Remove guava and use java8 constructs
Browse files Browse the repository at this point in the history
  • Loading branch information
copa2 committed Dec 3, 2017
1 parent ef61361 commit bb8b7f3
Show file tree
Hide file tree
Showing 338 changed files with 3,575 additions and 3,315 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ target
.settings
.classpath
.project
.factorypath
.apt_generated
.DS_Store
build/
.gradle/
Expand All @@ -16,3 +18,4 @@ generated-src
.env
out/
*.hprof
bin/
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ apply plugin: 'springfox-multi-release'

ext {
apiKey = System.getenv('GIT_HUB_API_KEY')
jdkVersion = 1.6
jdkVersion = 1.8
}

allprojects {
Expand Down
4 changes: 2 additions & 2 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ general:

machine:
java:
version: oraclejdk7
version: oraclejdk8
environment:
TERM: dumb
CI_NAME: Circle-CI
CI_BRANCH: $CIRCLE_BRANCH
CI_BUILD_NUMBER: $CIRCLE_BUILD_NUM
CI_BUILD_URL: $CIRCLE_COMPARE_URL
_JAVA_OPTIONS: "-Xmx1024M -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512M"
_JAVA_OPTIONS: "-Xmx1024M -XX:ReservedCodeCacheSize=512M"
GRADLE_OPTS: '-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xmx3840m -XX:+HeapDumpOnOutOfMemoryError"'

checkout:
Expand Down
17 changes: 8 additions & 9 deletions docs/asciidoc/current-documentation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ to this is the ability to provide an expressive predicate based for api selectio

```java
import static springfox.documentation.builders.PathSelectors.*;
import static com.google.common.base.Predicates.*;
@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("business-api")
.select()
//Ignores controllers annotated with @CustomIgnore
.apis(not(withClassAnnotation(CustomIgnore.class)) //Selection by RequestHandler
.apis(withClassAnnotation(CustomIgnore.class).negate()) //Selection by RequestHandler
.paths(paths()) // and by paths
.build()
.apiInfo(apiInfo())
Expand All @@ -36,13 +35,13 @@ to this is the ability to provide an expressive predicate based for api selectio
//Here is an example where we select any api that matches one of these paths
private Predicate<String> paths() {
return or(
regex("/business.*"),
regex("/some.*"),
regex("/contacts.*"),
regex("/pet.*"),
regex("/springsRestController.*"),
regex("/test.*"));
return
regex("/business.*")
.or(regex("/some.*"))
.or(regex("/contacts.*"))
.or(regex("/pet.*"))
.or(regex("/springsRestController.*"))
.or(regex("/test.*")));
}
```
Expand Down
13 changes: 0 additions & 13 deletions docs/asciidoc/getting_started.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -99,19 +99,6 @@ include::../../springfox-spring-config/src/main/java/springfox/springconfig/Swag
----

=== Configuration explained
IMPORTANT: This library extensively uses https://github.com/google/guava[googles guava library]. For e.g. when you
see `newArrayList(...)` its actually the guava equivalent of creating an normal array list and adding item(s) to it.

[source,groovy]
[subs="verbatim,attributes"]
----
//This guava code snippet
List<Something> guavaList = newArrayList(new Something);
//... is equivalent to
List<Something> list = new ArrayList<Something>();
list.add(new Something());
----

<1> Enables Springfox swagger 2
<2> Instructs spring where to scan for API controllers
Expand Down
17 changes: 8 additions & 9 deletions docs/transitioning-to-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,14 @@ to provide an expressive predicate based for api selection.

```java
import static springfox.documentation.builders.PathSelectors.regex;
import static com.google.common.base.Predicates.or;

@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("business-api")
.select()
//Ignores controllers annotated with @CustomIgnore
.apis(not(withClassAnnotation(CustomIgnore.class)) //Selection by RequestHandler
.apis(withClassAnnotation(CustomIgnore.class).negate()) //Selection by RequestHandler
.paths(paths()) // and by paths
.build()
.apiInfo(apiInfo())
Expand All @@ -103,13 +102,13 @@ to provide an expressive predicate based for api selection.

//Here is an example where we select any api that matches one of these paths
private Predicate<String> paths() {
return or(
regex("/business.*"),
regex("/some.*"),
regex("/contacts.*"),
regex("/pet.*"),
regex("/springsRestController.*"),
regex("/test.*"));
return
regex("/business.*"))
.or(regex("/some.*"))
.or(regex("/contacts.*"))
.or(regex("/pet.*"))
.or(regex("/springsRestController.*"))
.or(regex("/test.*")));
}

```
Expand Down
3 changes: 0 additions & 3 deletions gradle/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@ ext {
cglib = "3.2.5"
classmate = "1.3.3"
groovy = "2.4.8"
guava = "20.0"
jackson = '2.8.7'
joda = "2.9.9"
jsonPath = "2.3.0"
jsonAssert = "1.5.0"
mapstruct = "1.1.0.Final"
mockito = "1.10.19"
objenesis = "2.5.1"
reflections = "0.9.11"
servlet = "3.1.0"
slf4j = "1.7.24"
snakeyaml = '1.18'
Expand Down Expand Up @@ -64,7 +62,6 @@ ext {
"joda-time:joda-time:$joda"
],
core : [
"com.google.guava:guava:${guava}",
"com.fasterxml:classmate:${classmate}",
"org.slf4j:slf4j-api:${slf4j}",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,17 @@

package springfox.bean.validators.plugins;

import com.google.common.base.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import springfox.documentation.service.AllowableRangeValues;
import java.util.Optional;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import springfox.documentation.service.AllowableRangeValues;

public class RangeAnnotations {
private static final Logger LOG = LoggerFactory.getLogger(RangeAnnotations.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,22 @@
*/
package springfox.bean.validators.plugins;

import com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition;
import com.google.common.base.Optional;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Optional;

import org.springframework.core.Ordered;
import org.springframework.core.annotation.AnnotationUtils;

import com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition;

import springfox.documentation.service.ResolvedMethodParameter;
import springfox.documentation.spi.schema.contexts.ModelPropertyContext;
import springfox.documentation.spi.service.contexts.ParameterContext;
import springfox.documentation.spi.service.contexts.ParameterExpansionContext;

import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import springfox.documentation.util.Predicates;

/**
* Utility methods for Validators
Expand All @@ -45,20 +48,20 @@ private Validators() {
public static <T extends Annotation> Optional<T> extractAnnotation(
ModelPropertyContext context,
Class<T> annotationType) {
return annotationFromBean(context, annotationType)
.or(annotationFromField(context, annotationType));
return Predicates.or(annotationFromBean(context, annotationType),
annotationFromField(context, annotationType));
}

public static <T extends Annotation> Optional<T> annotationFromBean(
ModelPropertyContext context,
Class<T> annotationType) {

Optional<BeanPropertyDefinition> propertyDefinition = context.getBeanPropertyDefinition();
Optional<T> notNull = Optional.absent();
Optional<T> notNull = Optional.empty();
if (propertyDefinition.isPresent()) {
Optional<Method> getter = extractGetterFromPropertyDefinition(propertyDefinition.get());
Optional<Field> field = extractFieldFromPropertyDefinition(propertyDefinition.get());
notNull = findAnnotation(getter, annotationType).or(findAnnotation(field, annotationType));
notNull = Predicates.or(findAnnotation(getter, annotationType), findAnnotation(field, annotationType));
}

return notNull;
Expand All @@ -83,30 +86,30 @@ public static <T extends Annotation> Optional<T> validatorFromExpandedParameter(
Class<T> annotationType) {

Field field = context.getField().getRawMember();
return Optional.fromNullable(field.getAnnotation(annotationType));
return Optional.ofNullable(field.getAnnotation(annotationType));
}

private static Optional<Field> extractFieldFromPropertyDefinition(BeanPropertyDefinition propertyDefinition) {
if (propertyDefinition.getField() != null) {
return Optional.fromNullable(propertyDefinition.getField().getAnnotated());
return Optional.ofNullable(propertyDefinition.getField().getAnnotated());
}
return Optional.absent();
return Optional.empty();
}

private static Optional<Method> extractGetterFromPropertyDefinition(BeanPropertyDefinition propertyDefinition) {
if (propertyDefinition.getGetter() != null) {
return Optional.fromNullable(propertyDefinition.getGetter().getMember());
return Optional.ofNullable(propertyDefinition.getGetter().getMember());
}
return Optional.absent();
return Optional.empty();
}

private static <T extends Annotation> Optional<T> findAnnotation(
Optional<? extends AnnotatedElement> annotatedElement,
Class<T> annotationType) {
if (annotatedElement.isPresent()) {
return Optional.fromNullable(AnnotationUtils.findAnnotation(annotatedElement.get(), annotationType));
return Optional.ofNullable(AnnotationUtils.findAnnotation(annotatedElement.get(), annotationType));
} else {
return Optional.absent();
return Optional.empty();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,25 @@
*/
package springfox.bean.validators.plugins.parameter;

import com.google.common.base.Optional;
import static springfox.bean.validators.plugins.RangeAnnotations.allowableRange;
import static springfox.bean.validators.plugins.Validators.validatorFromExpandedParameter;

import java.util.Optional;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import springfox.bean.validators.plugins.Validators;
import springfox.documentation.service.AllowableRangeValues;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.ExpandedParameterBuilderPlugin;
import springfox.documentation.spi.service.contexts.ParameterExpansionContext;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;

import static springfox.bean.validators.plugins.RangeAnnotations.*;
import static springfox.bean.validators.plugins.Validators.*;

@Component
@Order(Validators.BEAN_VALIDATOR_PLUGIN_ORDER)
public class ExpandedParameterMinMaxAnnotationPlugin implements ExpandedParameterBuilderPlugin {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,22 @@
*/
package springfox.bean.validators.plugins.parameter;

import com.google.common.base.Optional;
import static springfox.bean.validators.plugins.Validators.validatorFromExpandedParameter;

import java.util.Optional;

import javax.validation.constraints.NotNull;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import springfox.bean.validators.plugins.Validators;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.ExpandedParameterBuilderPlugin;
import springfox.documentation.spi.service.contexts.ParameterExpansionContext;

import javax.validation.constraints.NotNull;

import static springfox.bean.validators.plugins.Validators.*;

@Component
@Order(Validators.BEAN_VALIDATOR_PLUGIN_ORDER)
public class ExpandedParameterNotNullAnnotationPlugin implements ExpandedParameterBuilderPlugin {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,22 @@
*/
package springfox.bean.validators.plugins.parameter;

import com.google.common.base.Optional;
import static springfox.bean.validators.plugins.Validators.validatorFromExpandedParameter;

import java.util.Optional;

import javax.validation.constraints.Pattern;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import springfox.bean.validators.plugins.Validators;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.ExpandedParameterBuilderPlugin;
import springfox.documentation.spi.service.contexts.ParameterExpansionContext;

import javax.validation.constraints.Pattern;

import static springfox.bean.validators.plugins.Validators.*;

@Component
@Order(Validators.BEAN_VALIDATOR_PLUGIN_ORDER)
public class ExpandedParameterPatternAnnotationPlugin implements ExpandedParameterBuilderPlugin {
Expand Down

0 comments on commit bb8b7f3

Please sign in to comment.