From be2fa729040999aa9cce77432c7e7f2616d35a39 Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Tue, 11 Aug 2020 16:44:17 +0200 Subject: [PATCH] DATAREST-1552 - Removed deprecated HAL Browser module. --- pom.xml | 3 +- spring-data-rest-hal-browser/pom.xml | 191 ---------------- .../rest/webmvc/halbrowser/HalBrowser.java | 93 -------- .../halbrowser/HalBrowserConfiguration.java | 43 ---- .../hal-browser/js/CustomPostForm.js | 203 ------------------ .../main/resources/META-INF/spring.factories | 1 - .../HalBrowserIntegrationTests.java | 122 ----------- .../halbrowser/HalBrowserUnitTests.java | 88 -------- .../src/test/resources/logback.xml | 16 -- 9 files changed, 1 insertion(+), 759 deletions(-) delete mode 100644 spring-data-rest-hal-browser/pom.xml delete mode 100644 spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowser.java delete mode 100644 spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserConfiguration.java delete mode 100644 spring-data-rest-hal-browser/src/main/resources/META-INF/spring-data-rest/hal-browser/js/CustomPostForm.js delete mode 100644 spring-data-rest-hal-browser/src/main/resources/META-INF/spring.factories delete mode 100755 spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserIntegrationTests.java delete mode 100755 spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserUnitTests.java delete mode 100644 spring-data-rest-hal-browser/src/test/resources/logback.xml diff --git a/pom.xml b/pom.xml index 003f5c7b2..91b60f68c 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,6 @@ spring-data-rest-core spring-data-rest-webmvc spring-data-rest-distribution - spring-data-rest-hal-browser spring-data-rest-hal-explorer @@ -77,7 +76,7 @@ spring-data-rest-core spring-data-rest-webmvc spring-data-rest-distribution - spring-data-rest-hal-browser + spring-data-rest-hal-explorer spring-data-rest-tests diff --git a/spring-data-rest-hal-browser/pom.xml b/spring-data-rest-hal-browser/pom.xml deleted file mode 100644 index 7976f2c40..000000000 --- a/spring-data-rest-hal-browser/pom.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - 4.0.0 - - - org.springframework.data - spring-data-rest-parent - 3.4.0-SNAPSHOT - - - spring-data-rest-hal-browser - - Spring Data REST - HAL Browser - - - ad9b865 - 0.7.21 - spring.data.rest.hal.browser - - - true - ${basedir}/.. - - - - - - ${project.groupId} - spring-data-rest-webmvc - ${project.version} - - - - javax.servlet - javax.servlet-api - 3.0.1 - provided - - - - org.webjars - hal-browser - ${browser.version} - provided - - - - org.webjars - json-editor - ${json-editor.version} - provided - - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - empty-javadoc-jar - package - - jar - - - javadoc - ${basedir}/javadoc - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-hal-browser - process-resources - - unpack - - - - - org.webjars - hal-browser - - - ${project.build.directory}/hal-browser - - - - unpack-json-editor - process-resources - - unpack - - - - - org.webjars - json-editor - - - ${project.build.directory}/json-editor - - - - - - - org.apache.maven.plugins - maven-antrun-plugin - - - process-resources - - run - - - - - - - - - - - - - ]]> - - - -
- - -
- - - - - -]]> -
-
-
- - - The HAL Browser - The HAL Browser (for Spring Data REST) - - - -
-
-
-
-
-
-
- -
diff --git a/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowser.java b/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowser.java deleted file mode 100644 index cfe2e92bb..000000000 --- a/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowser.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2015-2020 the original author or authors. - * - * 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 - * - * https://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 org.springframework.data.rest.webmvc.halbrowser; - -import lombok.extern.slf4j.Slf4j; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.data.rest.webmvc.BasePathAwareController; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.servlet.View; -import org.springframework.web.servlet.support.ServletUriComponentsBuilder; -import org.springframework.web.servlet.view.RedirectView; -import org.springframework.web.util.UriComponents; - -/** - * Controller with a few convenience redirects to expose the HAL browser shipped as static content. - * - * @author Oliver Gierke - * @soundtrack Miles Davis - So what (Kind of blue) - */ -@Slf4j -@BasePathAwareController -class HalBrowser { - - static final String BROWSER = "/browser"; - static final String INDEX = "/index.html"; - - HalBrowser() { - LOG.warn("---"); - LOG.warn( - "Spring Data REST HAL Browser is deprecated! Prefer the HAL Explorer (artifactId: spring-data-rest-hal-explorer)!"); - LOG.warn("---"); - } - - /** - * Redirects requests to the API root asking for HTML to the HAL browser. - * - * @return - */ - @GetMapping(path = { "/", "" }, produces = MediaType.TEXT_HTML_VALUE) - View index(HttpServletRequest request) { - return getRedirectView(request, false); - } - - /** - * Redirects to the actual {@code index.html}. - * - * @return - */ - @GetMapping(path = BROWSER) - View browser(HttpServletRequest request) { - return getRedirectView(request, request.getRequestURI().endsWith(BROWSER)); - } - - /** - * Returns the View to redirect to to access the HAL browser. - * - * @param request must not be {@literal null}. - * @param browserRelative - * @return - */ - private View getRedirectView(HttpServletRequest request, boolean browserRelative) { - - ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromRequest(request); - - UriComponents components = builder.build(); - String path = components.getPath() == null ? "" : components.getPath(); - - if (!browserRelative) { - builder.path(BROWSER); - } - - builder.path(INDEX); - builder.fragment(browserRelative ? path.substring(0, path.lastIndexOf(BROWSER)) : path); - - return new RedirectView(builder.build().toUriString()); - } -} diff --git a/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserConfiguration.java b/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserConfiguration.java deleted file mode 100644 index 3dc8cbe0e..000000000 --- a/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserConfiguration.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2019-2020 the original author or authors. - * - * 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 - * - * https://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 org.springframework.data.rest.webmvc.halbrowser; - -import org.springframework.data.rest.core.config.RepositoryRestConfiguration; -import org.springframework.data.rest.webmvc.config.StaticResourceProvider; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; - -/** - * {@link StaticResourceProvider} to expose the HAL Browser WebJar content via a static resource route. - * - * @author Oliver Drotbohm - * @since 3.2 - * @soundtrack Tedeschi Trucks Band - Signs, High Times (Signs) - */ -class HalBrowserConfiguration implements StaticResourceProvider { - - /* - * (non-Javadoc) - * @see org.springframework.data.rest.webmvc.config.StaticResourceProvider#customizeResources(org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry, org.springframework.data.rest.core.config.RepositoryRestConfiguration) - */ - @Override - public void customizeResources(ResourceHandlerRegistry registry, RepositoryRestConfiguration configuration) { - - String basePath = configuration.getBasePath().toString().concat(HalBrowser.BROWSER); - String rootLocation = "classpath:META-INF/spring-data-rest/hal-browser/"; - - registry.addResourceHandler(basePath.concat("/**")).addResourceLocations(rootLocation); - } -} diff --git a/spring-data-rest-hal-browser/src/main/resources/META-INF/spring-data-rest/hal-browser/js/CustomPostForm.js b/spring-data-rest-hal-browser/src/main/resources/META-INF/spring-data-rest/hal-browser/js/CustomPostForm.js deleted file mode 100644 index 4a9ec51a1..000000000 --- a/spring-data-rest-hal-browser/src/main/resources/META-INF/spring-data-rest/hal-browser/js/CustomPostForm.js +++ /dev/null @@ -1,203 +0,0 @@ -/** - * Custom Backbone view that uses JSON Schema metadata to create pop-up dialog with actual field names instead of - * asking user to input raw JSON. - * - * NOTE: Because JSON Schema lists all properties, including those that are links, they have to be filtered out. - * Links have to be set via a PUT operation with the proper media type. - * - * @author Greg Turnquist - * @author Gregory Frank - * @since 2.4 - * @see DATAREST-627, DATAREST-1077 - */ -/* jshint strict: true */ -/* globals HAL, Backbone, _, $, window, jqxhr */ - -'use strict'; - -var CustomPostForm = Backbone.View.extend({ - initialize: function (opts) { - this.href = opts.href.split('{')[0]; - this.vent = opts.vent; - _.bindAll(this, 'createNewResource'); - }, - - events: { - 'submit form': 'createNewResource' - }, - - className: 'modal fade', - - /** - * Perform a POST/PUT operation on the resource. - * - * @param e - */ - createNewResource: function (e) { - e.preventDefault(); - - var self = this; - - var opts = { - url: this.$('.url').val(), - headers: _.defaults({'Content-Type': 'application/json'}, HAL.client.getHeaders()), - method: this.$('.method').val(), - data: this.getNewResourceData() - }; - - HAL.client.request(opts).done(function (response) { - self.vent.trigger('response', {resource: response, jqxhr: jqxhr}); - }).fail(function (e) { - self.vent.trigger('fail-response', {jqxhr: jqxhr}); - }).always(function (e) { - self.vent.trigger('response-headers', {jqxhr: jqxhr}); - window.location.hash = 'NON-GET:' + opts.url; - }); - - this.$el.modal('hide'); - }, - - /** - * Draw the dialog after fetching the resource's JSON Schema metadata. If no metadata is available, use the - * fallback editor. - * - * @param opts - * @returns {CustomPostForm} - */ - render: function (opts) { - var self = this; - - try { - HAL.client.request({ - method: 'HEAD', - headers: HAL.client.getHeaders(), - url: this.href - }).done(function (message, text, jqXHR) { - self.$el.html(self.template({href: self.href})); - - try { - var hal = self.w3cLinksToHalLinks(jqXHR.getResponseHeader('Link')); - - HAL.client.request({ - method: 'GET', - url: hal._links.profile.href, - headers: _.defaults({'Accept': 'application/schema+json'}, HAL.client.getHeaders()) - }).done(function (schema) { - self.loadJsonEditor(schema); - }); - } catch (e) { - self.loadFallbackEditor(); - } - - self.$el.modal(); - }); - } catch (e) { - self.loadFallbackEditor(); - self.$el.modal(); - } - - - return this; - }, - - /** - * Load the JSON Schema-driven editor. - * - * @see https://github.com/jdorn/json-editor - */ - loadJsonEditor: function (schema) { - var self = this; - - /** - * Remove URI-based fields since this dialog doesn't handle relationships. - */ - Object.keys(schema.properties).forEach(function (property) { - if (schema.properties[property].hasOwnProperty('format') && - schema.properties[property].format === 'uri') { - delete schema.properties[property]; - } - }); - - /** - * See https://github.com/jdorn/json-editor#options for more customizing options. - */ - this.editor = new window.JSONEditor(this.$('#jsoneditor')[0], { - theme: 'bootstrap2', - schema: schema, - disable_collapse: true, - disable_edit_json: true, - disable_properties: true - }); - - this.getNewResourceData = function() { - return JSON.stringify(self.editor.getValue()); - } - }, - - /** - * Load fallback editor that doesn't depend on any form of metadata. - */ - loadFallbackEditor: function () { - var editor = this.$('#jsoneditor'); - - editor.append($('

' + this.href + '

')); - - var inputBox = $(''); - editor.append(inputBox); - - this.getNewResourceData = function() { - return inputBox.val(); - } - }, - - /** - * Convert a W3C link header into a HAL-based set of _links. - * - * e.g. - * ; rel="persons",; rel="profile" - * to - * { - * _links: { - * persons: { - * href: http://localhost:8080/persons - * }, - * profile: { - * href: http://localhost:8080/profile/persons - * } - * } - * } - * - * @param linkHeader - HTTP Response header containing a list of W3C compliant links with rels. - * @see https://www.w3.org/wiki/LinkHeader - */ - w3cLinksToHalLinks: function (linkHeader) { - var w3cLinks = linkHeader.split(','); - - var halLinks = {_links: {}}; - - w3cLinks.forEach(function (w3cLink) { - var parts = w3cLink.split(';'); - - var hrefWrappedWithBrackets = parts[0]; - var href = hrefWrappedWithBrackets.slice(1, parts[0].length - 1); - - var w3cRel = parts[1]; - var relWrappedWithQuotes = w3cRel.split('=')[1]; - var rel = relWrappedWithQuotes.slice(1, relWrappedWithQuotes.length - 1); - - halLinks._links[rel] = { "href": href }; - }); - - return halLinks; - }, - - /** - * Look up the HTML template. - */ - template: _.template($('#dynamic-request-template').html()) -}); - -/** - * Inject the form into the HAL Browser. - */ -HAL.customPostForm = CustomPostForm; \ No newline at end of file diff --git a/spring-data-rest-hal-browser/src/main/resources/META-INF/spring.factories b/spring-data-rest-hal-browser/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 45fc8f7e9..000000000 --- a/spring-data-rest-hal-browser/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1 +0,0 @@ -org.springframework.data.rest.webmvc.config.StaticResourceProvider=org.springframework.data.rest.webmvc.halbrowser.HalBrowserConfiguration diff --git a/spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserIntegrationTests.java b/spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserIntegrationTests.java deleted file mode 100755 index 919c3e174..000000000 --- a/spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserIntegrationTests.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2015-2020 the original author or authors. - * - * 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 - * - * https://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 org.springframework.data.rest.webmvc.halbrowser; - -import static org.hamcrest.CoreMatchers.*; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.ObjectFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.convert.ConversionService; -import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurer; -import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; -import org.springframework.hateoas.MediaTypes; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.servlet.config.annotation.EnableWebMvc; - -/** - * Integration tests for {@link HalBrowser}. - * - * @author Oliver Gierke - * @soundtrack Miles Davis - Blue in green (Kind of blue) - */ -@RunWith(SpringRunner.class) -@WebAppConfiguration -@ContextConfiguration -public class HalBrowserIntegrationTests { - - static final String BASE_PATH = "/api"; - static final String BROWSER_INDEX = "/browser/index.html"; - static final String TARGET = BASE_PATH.concat(BROWSER_INDEX).concat("#").concat(BASE_PATH); - - @Configuration - @EnableWebMvc - static class TestConfiguration extends RepositoryRestMvcConfiguration { - - public TestConfiguration(ApplicationContext context, ObjectFactory conversionService) { - super(context, conversionService); - } - - @Bean - RepositoryRestConfigurer configExtension() { - return RepositoryRestConfigurer.withConfig(config -> config.setBasePath(BASE_PATH)); - } - } - - @Autowired WebApplicationContext context; - - MockMvc mvc; - - @Before - public void setUp() { - this.mvc = MockMvcBuilders.webAppContextSetup(context).// - defaultRequest(get(BASE_PATH).accept(MediaType.TEXT_HTML)).build(); - } - - @Test // DATAREST-293 - public void exposesJsonUnderApiRootByDefault() throws Exception { - - mvc.perform(get(BASE_PATH).accept(MediaType.ALL)).// - andExpect(status().isOk()).// - andExpect(header().string(HttpHeaders.CONTENT_TYPE, startsWith(MediaTypes.HAL_JSON.toString()))); - } - - @Test // DATAREST-293 - public void redirectsToBrowserForApiRootAndHtml() throws Exception { - - mvc.perform(get(BASE_PATH).accept(MediaType.TEXT_HTML)).// - andExpect(status().isFound()).// - andExpect(header().string(HttpHeaders.LOCATION, endsWith(TARGET))); - } - - @Test // DATAREST-293 - public void forwardsBrowserToIndexHtml() throws Exception { - - mvc.perform(get(BASE_PATH.concat("/browser"))).// - andExpect(status().isFound()).// - andExpect(header().string(HttpHeaders.LOCATION, endsWith(TARGET))); - } - - @Test // DATAREST-293 - public void exposesHalBrowser() throws Exception { - - mvc.perform(get(BASE_PATH.concat("/browser/index.html"))).// - andExpect(status().isOk()).// - andExpect(content().string(containsString("The HAL Browser"))); - } - - @Test // DATAREST-293 - public void retrunsApiIfHtmlIsNotExplicitlyListed() throws Exception { - - mvc.perform(get(BASE_PATH).accept(MediaType.APPLICATION_JSON, MediaType.ALL)).// - andExpect(status().isOk()).// - andExpect(header().string(HttpHeaders.CONTENT_TYPE, startsWith(MediaType.APPLICATION_JSON_VALUE))); - } -} diff --git a/spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserUnitTests.java b/spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserUnitTests.java deleted file mode 100755 index 442b59c49..000000000 --- a/spring-data-rest-hal-browser/src/test/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowserUnitTests.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2015-2020 the original author or authors. - * - * 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 - * - * https://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 org.springframework.data.rest.webmvc.halbrowser; - -import static org.assertj.core.api.Assertions.*; - -import java.io.IOException; -import java.util.Collections; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; - -import org.junit.Test; - -import org.springframework.http.HttpHeaders; -import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.mock.web.MockHttpServletResponse; -import org.springframework.web.filter.ForwardedHeaderFilter; -import org.springframework.web.servlet.View; -import org.springframework.web.servlet.view.AbstractView; -import org.springframework.web.servlet.view.RedirectView; -import org.springframework.web.util.UriComponents; -import org.springframework.web.util.UriComponentsBuilder; - -/** - * Unit tests for {@link HalBrowser}. - * - * @author Oliver Gierke - * @author Mark Paluch - * @soundtrack Nils Wülker - Homeless Diamond (feat. Lauren Flynn) - */ -public class HalBrowserUnitTests { - - @Test // DATAREST-565, DATAREST-720 - public void createsContextRelativeRedirectForBrowser() throws Exception { - - MockHttpServletResponse response = new MockHttpServletResponse(); - MockHttpServletRequest request = new MockHttpServletRequest(); - request.setRequestURI("/context"); - request.setContextPath("/context"); - - View view = new HalBrowser().browser(request); - - assertThat(view).isInstanceOf(RedirectView.class); - - ((AbstractView) view).render(Collections. emptyMap(), request, response); - - UriComponents components = UriComponentsBuilder.fromUriString(response.getHeader(HttpHeaders.LOCATION)).build(); - - assertThat(components.getPath()).startsWith("/context"); - assertThat(components.getFragment()).isEqualTo("/context"); - } - - @Test // DATAREST-1264 - public void producesProxyRelativeRedirectIfNecessary() throws ServletException, IOException { - - MockHttpServletResponse response = new MockHttpServletResponse(); - MockHttpServletRequest request = new MockHttpServletRequest("GET", "/browser"); - request.addHeader("X-Forwarded-Host", "somehost"); - request.addHeader("X-Forwarded-Port", "4711"); - request.addHeader("X-Forwarded-Proto", "https"); - request.addHeader("X-Forwarded-Prefix", "/prefix"); - ForwardedHeaderFilter filter = new ForwardedHeaderFilter(); - - filter.doFilter(request, response, (req, resp) -> { - View view = new HalBrowser().browser((HttpServletRequest) req); - - assertThat(view).isInstanceOf(RedirectView.class); - - String url = ((RedirectView) view).getUrl(); - - assertThat(url).startsWith("https://somehost:4711/prefix").endsWith("/prefix"); - }); - } -} diff --git a/spring-data-rest-hal-browser/src/test/resources/logback.xml b/spring-data-rest-hal-browser/src/test/resources/logback.xml deleted file mode 100644 index 19b6066c3..000000000 --- a/spring-data-rest-hal-browser/src/test/resources/logback.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - %d %5p %40.40c:%4L - %m%n - - - - - - - - - - \ No newline at end of file