diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpoint.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpoint.java index 5c2a86e2e9..5655ab9dcf 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpoint.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpoint.java @@ -110,11 +110,7 @@ public class RequestMappingEndpoint extends AbstractEndpoint .getBeansOfType(AbstractUrlHandlerMapping.class); for (String name : mappings.keySet()) { AbstractUrlHandlerMapping mapping = mappings.get(name); - if (AopUtils.isCglibProxy(mapping)) { - // The getHandlerMap() method is final so it cannot be cglibbed - continue; - } - Map handlers = mapping.getHandlerMap(); + Map handlers = getHandlerMap(mapping); for (String key : handlers.keySet()) { result.put(key, Collections.singletonMap("bean", name)); } @@ -122,6 +118,15 @@ public class RequestMappingEndpoint extends AbstractEndpoint } } + private Map getHandlerMap(AbstractUrlHandlerMapping mapping) { + if (AopUtils.isCglibProxy(mapping)) { + // If the AbstractUrlHandlerMapping is a cglib proxy we can't call + // the final getHandlerMap() method. + return Collections.emptyMap(); + } + return mapping.getHandlerMap(); + } + protected void extractHandlerMappings( Collection handlerMappings, Map result) { diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpointTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpointTests.java index 56fcc90890..5cf9d8eb17 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpointTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/RequestMappingEndpointTests.java @@ -38,6 +38,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** + * Tests for {@link RequestMappingEndpoint}. + * * @author Dave Syer */ public class RequestMappingEndpointTests { diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/MvcEndpointsTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/MvcEndpointsTests.java index cb9c64aab7..af4fcc4bd2 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/MvcEndpointsTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/MvcEndpointsTests.java @@ -23,11 +23,14 @@ import org.springframework.context.support.StaticApplicationContext; import static org.junit.Assert.assertEquals; /** + * Tests for {@link MvcEndpoints}. + * * @author Dave Syer */ public class MvcEndpointsTests { private MvcEndpoints endpoints = new MvcEndpoints(); + private StaticApplicationContext context = new StaticApplicationContext(); @Test diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerProperties.java index 0dbf59f0f0..91eedcd364 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerProperties.java @@ -48,23 +48,10 @@ public class FreeMarkerProperties extends AbstractTemplateViewResolverProperties */ private String[] templateLoaderPath = new String[] { DEFAULT_TEMPLATE_LOADER_PATH }; - /** - * Switches off MVC view resolution if set to false (default true). - */ - private boolean enabled = true; - public FreeMarkerProperties() { super(DEFAULT_PREFIX, DEFAULT_SUFFIX); } - public boolean isEnabled() { - return this.enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - public Map getSettings() { return this.settings; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateProperties.java index bfe5b672ae..e0dfd5183a 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateProperties.java @@ -50,19 +50,6 @@ public class GroovyTemplateProperties extends AbstractViewResolverProperties { */ private Map configuration = new HashMap(); - /** - * Switches off MVC view resolution if set to false (default true). - */ - private boolean enabled = true; - - public boolean isEnabled() { - return this.enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - public String getPrefix() { return this.prefix; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractViewResolverProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractViewResolverProperties.java index 1ed5c8e50e..38bd6d970d 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractViewResolverProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractViewResolverProperties.java @@ -29,6 +29,11 @@ import org.springframework.web.servlet.ViewResolver; */ public abstract class AbstractViewResolverProperties { + /** + * Enable MVC view resolution for this technology. + */ + private boolean enabled = true; + /** * Enable template caching. */ @@ -54,6 +59,14 @@ public abstract class AbstractViewResolverProperties { */ private boolean checkTemplateLocation = true; + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public boolean isEnabled() { + return this.enabled; + } + public void setCheckTemplateLocation(boolean checkTemplateLocation) { this.checkTemplateLocation = checkTemplateLocation; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafProperties.java index 95a9b83092..928d86f4b8 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafProperties.java @@ -77,7 +77,7 @@ public class ThymeleafProperties { private String[] excludedViewNames; /** - * Switches off MVC view resolution if set to false (default true). + * Enable MVC Thymeleaf view resolution. */ private boolean enabled = true; diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/velocity/VelocityProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/velocity/VelocityProperties.java index 57dd95541c..1e7b5317ec 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/velocity/VelocityProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/velocity/VelocityProperties.java @@ -71,23 +71,10 @@ public class VelocityProperties extends AbstractTemplateViewResolverProperties { */ private boolean preferFileSystemAccess = true; - /** - * Switches off MVC view resolution if set to false (default true). - */ - private boolean enabled = true; - public VelocityProperties() { super(DEFAULT_PREFIX, DEFAULT_SUFFIX); } - public boolean isEnabled() { - return this.enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - public String getDateToolAttribute() { return this.dateToolAttribute; } diff --git a/spring-boot/src/main/java/org/springframework/boot/bind/PropertiesConfigurationFactory.java b/spring-boot/src/main/java/org/springframework/boot/bind/PropertiesConfigurationFactory.java index 7e324aa2d3..fb65245782 100644 --- a/spring-boot/src/main/java/org/springframework/boot/bind/PropertiesConfigurationFactory.java +++ b/spring-boot/src/main/java/org/springframework/boot/bind/PropertiesConfigurationFactory.java @@ -234,7 +234,6 @@ public class PropertiesConfigurationFactory implements FactoryBean, } private void doBindPropertiesToTarget() throws BindException { - RelaxedDataBinder dataBinder = (this.targetName != null ? new RelaxedDataBinder( this.target, this.targetName) : new RelaxedDataBinder(this.target)); if (this.validator != null) { @@ -247,7 +246,15 @@ public class PropertiesConfigurationFactory implements FactoryBean, dataBinder.setIgnoreInvalidFields(this.ignoreInvalidFields); dataBinder.setIgnoreUnknownFields(this.ignoreUnknownFields); customizeBinder(dataBinder); + Set names = getNames(); + PropertyValues propertyValues = getPropertyValues(names); + dataBinder.bind(propertyValues); + if (this.validator != null) { + validate(dataBinder); + } + } + private Set getNames() { Set names = new HashSet(); if (this.target != null) { PropertyDescriptor[] descriptors = BeanUtils @@ -262,17 +269,15 @@ public class PropertiesConfigurationFactory implements FactoryBean, } } } - PropertyNamePatternsMatcher patterns = new DefaultPropertyNamePatternsMatcher( - names); + return names; + } - PropertyValues propertyValues = (this.properties != null ? new MutablePropertyValues( - this.properties) : new PropertySourcesPropertyValues( - this.propertySources, patterns, names)); - dataBinder.bind(propertyValues); - - if (this.validator != null) { - validate(dataBinder); + private PropertyValues getPropertyValues(Set names) { + if (this.properties != null) { + return new MutablePropertyValues(this.properties); } + return new PropertySourcesPropertyValues(this.propertySources, + new DefaultPropertyNamePatternsMatcher(names), names); } private void validate(RelaxedDataBinder dataBinder) throws BindException { diff --git a/spring-boot/src/main/java/org/springframework/boot/bind/SimplePropertyNamePatternsMatcher.java b/spring-boot/src/main/java/org/springframework/boot/bind/SimplePropertyNamePatternsMatcher.java index d3f554d4f6..b7fd6380e2 100644 --- a/spring-boot/src/main/java/org/springframework/boot/bind/SimplePropertyNamePatternsMatcher.java +++ b/spring-boot/src/main/java/org/springframework/boot/bind/SimplePropertyNamePatternsMatcher.java @@ -40,4 +40,5 @@ class SimplePropertyNamePatternsMatcher implements PropertyNamePatternsMatcher { public boolean matches(String propertyName) { return PatternMatchUtils.simpleMatch(this.patterns, propertyName); } + } diff --git a/spring-boot/src/main/java/org/springframework/boot/bind/YamlConfigurationFactory.java b/spring-boot/src/main/java/org/springframework/boot/bind/YamlConfigurationFactory.java index 60e39b97da..c5616c3e43 100644 --- a/spring-boot/src/main/java/org/springframework/boot/bind/YamlConfigurationFactory.java +++ b/spring-boot/src/main/java/org/springframework/boot/bind/YamlConfigurationFactory.java @@ -121,16 +121,13 @@ public class YamlConfigurationFactory implements FactoryBean, MessageSourc @Override @SuppressWarnings("unchecked") public void afterPropertiesSet() throws Exception { - if (this.yaml == null) { Assert.state(this.resource != null, "Resource should not be null"); this.yaml = StreamUtils.copyToString(this.resource.getInputStream(), Charset.defaultCharset()); } - Assert.state(this.yaml != null, "Yaml document should not be null: " + "either set it directly or set the resource to load it from"); - try { if (this.logger.isTraceEnabled()) { this.logger.trace("Yaml document is\n" + this.yaml); @@ -155,7 +152,6 @@ public class YamlConfigurationFactory implements FactoryBean, MessageSourc BindingResult errors = new BeanPropertyBindingResult(this.configuration, "configuration"); this.validator.validate(this.configuration, errors); - if (errors.hasErrors()) { this.logger.error("YAML configuration failed validation"); for (ObjectError error : errors.getAllErrors()) { diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/EmbeddedWebApplicationContext.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/EmbeddedWebApplicationContext.java index a4b56afa22..942ac1857c 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/EmbeddedWebApplicationContext.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/EmbeddedWebApplicationContext.java @@ -232,9 +232,7 @@ public class EmbeddedWebApplicationContext extends GenericWebApplicationContext "Cannot initialize context because there is already a root application context present - " + "check whether you have multiple ServletContextInitializers!"); } - else { - return; - } + return; } Log logger = LogFactory.getLog(ContextLoader.class); servletContext.log("Initializing Spring embedded WebApplicationContext"); diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainer.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainer.java index b82c0e3ae8..3c71500421 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainer.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainer.java @@ -96,7 +96,6 @@ public class JettyEmbeddedServletContainer implements EmbeddedServletContainer { @Override public void start() throws EmbeddedServletContainerException { this.server.setConnectors(this.connectors); - if (!this.autoStart) { return; } diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java index 7b49bd15d2..eef3ffea5d 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java @@ -143,11 +143,9 @@ public class TomcatEmbeddedServletContainerFactory extends tomcat.setConnector(connector); tomcat.getHost().setAutoDeploy(false); tomcat.getEngine().setBackgroundProcessorDelay(-1); - for (Connector additionalConnector : this.additionalTomcatConnectors) { tomcat.getService().addConnector(additionalConnector); } - prepareContext(tomcat.getHost(), initializers); return getTomcatEmbeddedServletContainer(tomcat); } diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java index 67d0604213..20ae60b630 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedWebappClassLoader.java @@ -46,7 +46,6 @@ public class TomcatEmbeddedWebappClassLoader extends WebappClassLoader { @Override public synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { - Class resultClass = null; // Check local class caches diff --git a/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java b/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java index eec7a3e1db..d29e09263d 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java @@ -324,7 +324,6 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc } loader.load(resource); } - MutablePropertySources loaded = loader.getPropertySources(); if (mergeDefaultSources) { for (PropertySource propertySource : this.propertySources) { diff --git a/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorRegistrar.java b/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorRegistrar.java index b292836bec..e3a6cef92c 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorRegistrar.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorRegistrar.java @@ -49,4 +49,5 @@ public class ConfigurationPropertiesBindingPostProcessorRegistrar implements registry.registerBeanDefinition(METADATA_BEAN_NAME, meta.getBeanDefinition()); } } + } diff --git a/spring-boot/src/main/java/org/springframework/boot/context/web/ErrorPageFilter.java b/spring-boot/src/main/java/org/springframework/boot/context/web/ErrorPageFilter.java index 55d6b66a75..92790608c6 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/web/ErrorPageFilter.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/web/ErrorPageFilter.java @@ -103,7 +103,6 @@ public class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContaine private void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { - ErrorWrapperResponse wrapped = new ErrorWrapperResponse(response); try { chain.doFilter(request, wrapped); @@ -125,7 +124,6 @@ public class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContaine private void handleErrorStatus(HttpServletRequest request, HttpServletResponse response, int status, String message) throws ServletException, IOException { - if (response.isCommitted()) { handleCommittedResponse(request, null); return; @@ -139,7 +137,6 @@ public class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContaine response.setStatus(status); setErrorAttributes(request, status, message); request.getRequestDispatcher(errorPath).forward(request, response); - } private void handleException(HttpServletRequest request, @@ -162,18 +159,15 @@ public class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContaine private void forwardToErrorPage(String path, HttpServletRequest request, HttpServletResponse response, Throwable ex) throws ServletException, IOException { - if (logger.isErrorEnabled()) { String message = "Forwarding to error page from request " + getDescription(request) + " due to exception [" + ex.getMessage() + "]"; logger.error(message, ex); } - setErrorAttributes(request, 500, ex.getMessage()); request.setAttribute(ERROR_EXCEPTION, ex); request.setAttribute(ERROR_EXCEPTION_TYPE, ex.getClass().getName()); - response.reset(); response.sendError(500, ex.getMessage()); request.getRequestDispatcher(path).forward(request, response); @@ -288,7 +282,6 @@ public class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContaine public void sendError(int status, String message) throws IOException { this.status = status; this.message = message; - this.errorToSend = true; } diff --git a/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java b/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java index 49e2be2bf6..5c141def83 100644 --- a/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java +++ b/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java @@ -77,29 +77,24 @@ public class BasicJsonParser implements JsonParser { if (json.startsWith("[")) { return parseListInternal(json); } - if (json.startsWith("{")) { return parseMapInternal(json); } - if (json.startsWith("\"")) { return trimTrailingCharacter(trimLeadingCharacter(json, '"'), '"'); } - try { return Long.valueOf(json); } catch (NumberFormatException ex) { // ignore } - try { return Double.valueOf(json); } catch (NumberFormatException ex) { // ignore } - return json; } diff --git a/spring-boot/src/main/java/org/springframework/boot/json/JsonSimpleJsonParser.java b/spring-boot/src/main/java/org/springframework/boot/json/JsonSimpleJsonParser.java index ccae1dff03..6a2ded4595 100644 --- a/spring-boot/src/main/java/org/springframework/boot/json/JsonSimpleJsonParser.java +++ b/spring-boot/src/main/java/org/springframework/boot/json/JsonSimpleJsonParser.java @@ -61,4 +61,5 @@ public class JsonSimpleJsonParser implements JsonParser { } return nested; } + } diff --git a/spring-boot/src/main/java/org/springframework/boot/json/SimpleJsonParser.java b/spring-boot/src/main/java/org/springframework/boot/json/SimpleJsonParser.java index 391c37712e..f21703861c 100644 --- a/spring-boot/src/main/java/org/springframework/boot/json/SimpleJsonParser.java +++ b/spring-boot/src/main/java/org/springframework/boot/json/SimpleJsonParser.java @@ -28,4 +28,5 @@ package org.springframework.boot.json; */ @Deprecated public class SimpleJsonParser extends BasicJsonParser { + } diff --git a/spring-boot/src/main/java/org/springframework/boot/orm/jpa/hibernate/SpringNamingStrategy.java b/spring-boot/src/main/java/org/springframework/boot/orm/jpa/hibernate/SpringNamingStrategy.java index 449994dda7..dc88b47ce0 100644 --- a/spring-boot/src/main/java/org/springframework/boot/orm/jpa/hibernate/SpringNamingStrategy.java +++ b/spring-boot/src/main/java/org/springframework/boot/orm/jpa/hibernate/SpringNamingStrategy.java @@ -17,15 +17,15 @@ package org.springframework.boot.orm.jpa.hibernate; import org.hibernate.cfg.ImprovedNamingStrategy; -import org.hibernate.cfg.NamingStrategy; import org.hibernate.internal.util.StringHelper; import org.springframework.util.Assert; import org.springframework.util.StringUtils; /** - * Hibernate {@link NamingStrategy} that follows Spring recommended naming conventions. - * Naming conventions implemented here are identical to {@link ImprovedNamingStrategy} - * with the exception that foreign key columns include the referenced column name. + * Hibernate {@link org.hibernate.cfg.NamingStrategy} that follows Spring recommended + * naming conventions. Naming conventions implemented here are identical to + * {@link ImprovedNamingStrategy} with the exception that foreign key columns include the + * referenced column name. * * @author Phillip Webb * @see "http://stackoverflow.com/questions/7689206/ejb3namingstrategy-vs-improvednamingstrategy-foreign-key-naming" diff --git a/spring-boot/src/main/java/org/springframework/boot/yaml/DefaultProfileDocumentMatcher.java b/spring-boot/src/main/java/org/springframework/boot/yaml/DefaultProfileDocumentMatcher.java index 08aa56008c..8a896a168e 100644 --- a/spring-boot/src/main/java/org/springframework/boot/yaml/DefaultProfileDocumentMatcher.java +++ b/spring-boot/src/main/java/org/springframework/boot/yaml/DefaultProfileDocumentMatcher.java @@ -34,9 +34,7 @@ public class DefaultProfileDocumentMatcher implements DocumentMatcher { if (!properties.containsKey("spring.profiles")) { return MatchStatus.FOUND; } - else { - return MatchStatus.NOT_FOUND; - } + return MatchStatus.NOT_FOUND; } }