diff --git a/solidify-client/src/main/java/ch/unige/solidify/service/CompositionResourceClientService.java b/solidify-client/src/main/java/ch/unige/solidify/service/CompositionResourceClientService.java index 26ebdd09a55895384eaee4b676ec85111fbd03db..6e95c9b1fb6e688e22382ed6e1494a3dc4e9a033 100644 --- a/solidify-client/src/main/java/ch/unige/solidify/service/CompositionResourceClientService.java +++ b/solidify-client/src/main/java/ch/unige/solidify/service/CompositionResourceClientService.java @@ -109,8 +109,8 @@ public abstract class CompositionResourceClientService<V extends Resource, T ext @Override public void delete(String parentId, String resId) { String url = this.getResourceUrl(); - url = url.replace(SolidifyConstants.URL_PARENT_ID, SolidifyConstants.URL_SEP + parentId + SolidifyConstants.URL_SEP); - url += SolidifyConstants.URL_SEP + resId; + url = url.replace(SolidifyConstants.URL_PARENT_ID, "/" + parentId + "/"); + url += "/" + resId; final RestTemplate restTemplate = this.restClientTool.getClient(); restTemplate.delete(url); diff --git a/solidify-client/src/main/java/ch/unige/solidify/service/ResourceClientService.java b/solidify-client/src/main/java/ch/unige/solidify/service/ResourceClientService.java index cad6ec37a913cc736aee292ec065e48f0e45d29f..40037149edbcb754b75f7426cf965f04990bfa0b 100644 --- a/solidify-client/src/main/java/ch/unige/solidify/service/ResourceClientService.java +++ b/solidify-client/src/main/java/ch/unige/solidify/service/ResourceClientService.java @@ -92,7 +92,7 @@ public abstract class ResourceClientService<T extends Resource> **/ @Override public T findOne(String resId) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + ID_PARAM; + final String url = this.getResourceUrl() + "/" + ID_PARAM; final Map<String, String> params = new HashMap<>(); params.put(ID_LABEL, resId); return this.getObjectFromUrl(url, params); @@ -100,7 +100,7 @@ public abstract class ResourceClientService<T extends Resource> public <V> V findByIdentifierType(String url, SolidifyIdentifierType identifierType, String identifierValue, Class<V> clazz) { StringBuilder urlBuilder = new StringBuilder(url); - urlBuilder.append(SolidifyConstants.URL_SEP) + urlBuilder.append("/") .append(ID_PARAM) .append("?") .append(SolidifyConstants.IDENTIFIER_TYPE_PARAM) @@ -153,7 +153,7 @@ public abstract class ResourceClientService<T extends Resource> **/ @Override public T update(String resId, T resource) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + ID_PARAM; + final String url = this.getResourceUrl() + "/" + ID_PARAM; final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); final Map<String, String> params = new HashMap<>(); params.put(ID_LABEL, resId); @@ -162,7 +162,7 @@ public abstract class ResourceClientService<T extends Resource> @Override public T update(String resId, T resource, List<String> propertiesToUpdate) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + ID_PARAM; + final String url = this.getResourceUrl() + "/" + ID_PARAM; final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); final Map<String, String> params = new HashMap<>(); params.put(ID_LABEL, resId); @@ -177,7 +177,7 @@ public abstract class ResourceClientService<T extends Resource> **/ @Override public void delete(String resId) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + ID_PARAM; + final String url = this.getResourceUrl() + "/" + ID_PARAM; final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); final Map<String, String> params = new HashMap<>(); params.put(ID_LABEL, resId); @@ -274,9 +274,9 @@ public abstract class ResourceClientService<T extends Resource> **/ protected <U> U findOneLinkedResource(String resId, String itemTypeLabel, Class<U> itemClass, String childId) { final String url = this.getResourceUrl() - + SolidifyConstants.URL_SEP + ID_PARAM - + SolidifyConstants.URL_SEP + itemTypeLabel - + SolidifyConstants.URL_SEP + childId; + + "/" + ID_PARAM + + "/" + itemTypeLabel + + "/" + childId; final Map<String, String> params = new HashMap<>(); params.put(ID_LABEL, resId); final RestTemplate restTemplate = this.restClientTool.getClient(); @@ -288,8 +288,8 @@ public abstract class ResourceClientService<T extends Resource> **/ protected <U> List<U> findAllLinkedResources(String resId, String itemTypeLabel, Class<U> itemClass) { final String url = this.getResourceUrl() - + SolidifyConstants.URL_SEP + ID_PARAM - + SolidifyConstants.URL_SEP + itemTypeLabel + SIZE_PARAM + RestCollectionPage.MAX_SIZE_PAGE; + + "/" + ID_PARAM + + "/" + itemTypeLabel + SIZE_PARAM + RestCollectionPage.MAX_SIZE_PAGE; final Map<String, String> params = new HashMap<>(); params.put(ID_LABEL, resId); final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); @@ -306,7 +306,7 @@ public abstract class ResourceClientService<T extends Resource> params.put(ID_LABEL, resId); final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); return restTemplate.patchForObject( - this.getAssociationUrl(subItemTypeLabel) + SolidifyConstants.URL_SEP + subItemId, + this.getAssociationUrl(subItemTypeLabel) + "/" + subItemId, new HttpEntity<>(mapProperties), subItemClass, params); @@ -317,9 +317,9 @@ public abstract class ResourceClientService<T extends Resource> **/ protected void removeItem(String parentId, String itemTypeLabel, String itemId) { final String url = this.getResourceUrl() - + SolidifyConstants.URL_SEP + parentId - + SolidifyConstants.URL_SEP + itemTypeLabel - + SolidifyConstants.URL_SEP + itemId; + + "/" + parentId + + "/" + itemTypeLabel + + "/" + itemId; final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); restTemplate.delete(url); } @@ -332,7 +332,7 @@ public abstract class ResourceClientService<T extends Resource> params.put(ID_LABEL, parentId); final RestTemplate restTemplate = this.getRestClientTool().getClient(this.getResourceUrl()); restTemplate.exchange( - this.getAssociationUrl(itemTypeLabel + SolidifyConstants.URL_SEP + itemId), + this.getAssociationUrl(itemTypeLabel + "/" + itemId), HttpMethod.DELETE, new HttpEntity<>(subItemIds), String.class, @@ -341,17 +341,17 @@ public abstract class ResourceClientService<T extends Resource> } protected T uploadImage(String resId, String uploadAction, org.springframework.core.io.Resource file) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + resId + SolidifyConstants.URL_SEP + uploadAction; + final String url = this.getResourceUrl() + "/" + resId + "/" + uploadAction; return this.uploadFile(url, file, this.getResourceClass()); } protected void downloadImage(String resId, String downloadAction, Path path) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + resId + SolidifyConstants.URL_SEP + downloadAction; + final String url = this.getResourceUrl() + "/" + resId + "/" + downloadAction; this.download(url, path); } protected void deleteAction(String resId, String deleteAction) { - final String url = this.getResourceUrl() + SolidifyConstants.URL_SEP + resId + SolidifyConstants.URL_SEP + deleteAction; + final String url = this.getResourceUrl() + "/" + resId + "/" + deleteAction; final RestTemplate restTemplate = this.restClientTool.getClient(); restTemplate.delete(url); } @@ -366,16 +366,16 @@ public abstract class ResourceClientService<T extends Resource> protected Result postAction(String resId, String action) { String url = this.getResourceUrl() - + SolidifyConstants.URL_SEP + resId - + SolidifyConstants.URL_SEP + action; + + "/" + resId + + "/" + action; final RestTemplate restTemplate = this.restClientTool.getClient(this.getResourceUrl()); return restTemplate.postForObject(url, null, Result.class); } protected <U> U postAction(String resId, String action, Class<U> itemClass) { String url = this.getResourceUrl() - + SolidifyConstants.URL_SEP + resId - + SolidifyConstants.URL_SEP + action; + + "/" + resId + + "/" + action; final RestTemplate restTemplate = this.restClientTool.getClient(this.getResourceUrl()); return restTemplate.postForObject(url, null, itemClass); } @@ -412,20 +412,18 @@ public abstract class ResourceClientService<T extends Resource> /** Protected methods **/ /***********************/ protected String getAssociationUrl(String resourceLabel) { - return this.getResourceUrl() + SolidifyConstants.URL_SEP + ID_PARAM + SolidifyConstants.URL_SEP + resourceLabel; + return this.getResourceUrl() + "/" + ID_PARAM + "/" + resourceLabel; } /*********************/ /** Private methods **/ /*********************/ private String getActionUrl(String actionLabel) { - return this.getResourceUrl() + SolidifyConstants.URL_SEP + actionLabel; + return this.getResourceUrl() + "/" + actionLabel; } private String getActionUrlWithId(String actionLabel) { - return this.getResourceUrl() - + SolidifyConstants.URL_SEP + actionLabel - + SolidifyConstants.URL_SEP + "{" + ID_LABEL + "}"; + return this.getResourceUrl() + "/" + actionLabel + "/{" + ID_LABEL + "}"; } } diff --git a/solidify-controller/src/main/java/ch/unige/solidify/controller/ApplicationController.java b/solidify-controller/src/main/java/ch/unige/solidify/controller/ApplicationController.java index afe0a787961f931443b8b9cef905973a9d12496f..fb82ba6fd9d37f2c29632cbc39acf2f20964235b 100644 --- a/solidify-controller/src/main/java/ch/unige/solidify/controller/ApplicationController.java +++ b/solidify-controller/src/main/java/ch/unige/solidify/controller/ApplicationController.java @@ -33,7 +33,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.config.SolidifyProperties; import ch.unige.solidify.model.Module; import ch.unige.solidify.rest.ActionName; @@ -53,7 +52,7 @@ public class ApplicationController { this.moduleService = moduleService; } - @GetMapping(SolidifyConstants.URL_SEP) + @GetMapping("/") public HttpEntity<Module> home() { final Module backend = new Module(this.config.getServerDisplayName()); backend.add(linkTo(methodOn(ApplicationController.class).home()).withSelfRel()); diff --git a/solidify-controller/src/main/java/ch/unige/solidify/controller/OrcidController.java b/solidify-controller/src/main/java/ch/unige/solidify/controller/OrcidController.java index 85065eeeca58e890c23b6f3044d5a663e1717b35..35644dbaf10ec734bf5df4a64a83848b46ce3981 100644 --- a/solidify-controller/src/main/java/ch/unige/solidify/controller/OrcidController.java +++ b/solidify-controller/src/main/java/ch/unige/solidify/controller/OrcidController.java @@ -96,7 +96,7 @@ public class OrcidController { } @EveryonePermissions - @GetMapping(SolidifyConstants.URL_SEP + ActionName.LANDING) + @GetMapping("/" + ActionName.LANDING) public ResponseEntity<Void> landingUrl(@RequestParam String code, @RequestParam String authTransactionId) throws JsonProcessingException { final PersonWithOrcid person = this.personService.findOne(this.mapPersonOrigin.get(authTransactionId).getPersonId()); @@ -121,7 +121,7 @@ public class OrcidController { } @UserPermissions - @GetMapping(SolidifyConstants.URL_SEP + ActionName.START_ORCID_AUTH) + @GetMapping("/" + ActionName.START_ORCID_AUTH) public ResponseEntity<String> startOrcidAuth(@RequestParam String originUrl) { final PersonWithOrcid person = this.getCurrentPerson(); final String authTransactionId = UUID.randomUUID().toString(); diff --git a/solidify-controller/src/main/java/ch/unige/solidify/controller/ResourceReadOnlyController.java b/solidify-controller/src/main/java/ch/unige/solidify/controller/ResourceReadOnlyController.java index 5285bf16d772cd9c13c3a6c691be9dc6d5f5a6da..3517cb376674676df4e854e3cb2bf364a9a42245 100644 --- a/solidify-controller/src/main/java/ch/unige/solidify/controller/ResourceReadOnlyController.java +++ b/solidify-controller/src/main/java/ch/unige/solidify/controller/ResourceReadOnlyController.java @@ -64,7 +64,7 @@ public abstract class ResourceReadOnlyController<T extends Resource> extends Sol @Autowired public ResourceService<T> itemService; - @PostMapping(SolidifyConstants.URL_SEP + ActionName.SEARCH) + @PostMapping("/" + ActionName.SEARCH) public HttpEntity<RestCollection<T>> advancedSearch(@RequestBody T search, @RequestParam(value = "match", required = false) String matchtype, Pageable pageable) { if (search instanceof Searchable) { @@ -78,7 +78,7 @@ public abstract class ResourceReadOnlyController<T extends Resource> extends Sol } } - @GetMapping(SolidifyConstants.URL_SEP + ActionName.SEARCH) + @GetMapping("/" + ActionName.SEARCH) @ResponseBody public HttpEntity<RestCollection<T>> advancedSearch(@ModelAttribute T resource, @RequestParam("search") String search, diff --git a/solidify-controller/src/main/java/ch/unige/solidify/controller/SolidifySitemapController.java b/solidify-controller/src/main/java/ch/unige/solidify/controller/SolidifySitemapController.java index 509f302e76892febaf30baddb38e4987d45ca981..6f3a1a55ccb1fcf1ffe6c04dd6e0201a700d0d11 100644 --- a/solidify-controller/src/main/java/ch/unige/solidify/controller/SolidifySitemapController.java +++ b/solidify-controller/src/main/java/ch/unige/solidify/controller/SolidifySitemapController.java @@ -76,13 +76,13 @@ public abstract class SolidifySitemapController { Sitemapindex sitemapIndex = new Sitemapindex(); for (int i = 0; i < total; i = i + this.pageSize) { sitemapIndex.getSitemap().add( - this.getNewSitemap(this.homePage + SolidifyConstants.URL_SEP + ActionName.SITEMAP + "?" + SolidifyConstants.FROM_PARAM + "=" + i)); + this.getNewSitemap(this.homePage + "/" + ActionName.SITEMAP + "?" + SolidifyConstants.FROM_PARAM + "=" + i)); } // Add extra links if (!this.getExtraUrls().isEmpty()) { sitemapIndex.getSitemap().add( - this.getNewSitemap(this.homePage + SolidifyConstants.URL_SEP + ActionName.SITEMAP + "?" + this.getNewSitemap(this.homePage + "/" + ActionName.SITEMAP + "?" + SolidifyConstants.EXTRA_PARAM + "=" + SolidifyConstants.URL_PARAM)); } return new ResponseEntity<>(sitemapIndex, HttpStatus.OK); @@ -107,7 +107,7 @@ public abstract class SolidifySitemapController { log.warn("No item"); } for (int i = 0; i < items.size(); i++) { - urlSet.getUrl().add(this.getNewUrl(this.homePage + SolidifyConstants.URL_SEP + items.get(i), TChangeFreq.NEVER)); + urlSet.getUrl().add(this.getNewUrl(this.homePage + "/" + items.get(i), TChangeFreq.NEVER)); } return new ResponseEntity<>(urlSet, HttpStatus.OK); @@ -132,7 +132,7 @@ public abstract class SolidifySitemapController { log.warn("No extra URL"); } for (int i = 0; i < urls.size(); i++) { - urlSet.getUrl().add(this.getNewUrl(this.homePage + SolidifyConstants.URL_SEP + urls.get(i), TChangeFreq.NEVER)); + urlSet.getUrl().add(this.getNewUrl(this.homePage + "/" + urls.get(i), TChangeFreq.NEVER)); } return new ResponseEntity<>(urlSet, HttpStatus.OK); diff --git a/solidify-doc/src/main/java/ch/unige/solidify/test/doc/RestDocsDocumentation.java b/solidify-doc/src/main/java/ch/unige/solidify/test/doc/RestDocsDocumentation.java index 6fd07188d68285406517e3f2edc1483ca17032ed..45744906b1b624f459cc4a6f6b82e8c623be5231 100644 --- a/solidify-doc/src/main/java/ch/unige/solidify/test/doc/RestDocsDocumentation.java +++ b/solidify-doc/src/main/java/ch/unige/solidify/test/doc/RestDocsDocumentation.java @@ -78,7 +78,6 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.controller.ModuleController; import ch.unige.solidify.exception.SolidifyRuntimeException; import ch.unige.solidify.test.exception.SolidifyTestRuntimeException; @@ -97,7 +96,6 @@ public abstract class RestDocsDocumentation { private static final Logger logger = LoggerFactory.getLogger(RestDocsDocumentation.class); private static final String RES_ID_FIELD = "resId"; - private static final String URL_SEPARATOR = "/"; protected Gson gson; protected List<String> urlIgnoreList = new ArrayList<>(); @@ -284,8 +282,7 @@ public abstract class RestDocsDocumentation { .andReturn().getResponse(); try { final String resId = this.getFirstResId(listResponse.getContentAsString()); - resourceResult = this.executeMockRequest(RestDocsType.RESOURCE, resource + SolidifyConstants.URL_SEP + resId, RequestMethod.GET, - docTemplate); + resourceResult = this.executeMockRequest(RestDocsType.RESOURCE, resource + "/" + resId, RequestMethod.GET, docTemplate); } catch (UnsupportedEncodingException e) { throw new SolidifyRuntimeException(e.getMessage(), e); } @@ -387,10 +384,10 @@ public abstract class RestDocsDocumentation { } private String getDirectoryPath(String outputFilePath) { - if (outputFilePath.endsWith(URL_SEPARATOR)) { + if (outputFilePath.endsWith("/")) { return outputFilePath; } - final int lastIndexOfSeparator = outputFilePath.lastIndexOf(URL_SEPARATOR); + final int lastIndexOfSeparator = outputFilePath.lastIndexOf("/"); return outputFilePath.substring(0, lastIndexOfSeparator); } @@ -437,7 +434,7 @@ public abstract class RestDocsDocumentation { } private String getModuleUrl(String module) { - return this.contextPath + SolidifyConstants.URL_SEP + module; + return this.contextPath + "/" + module; } /** diff --git a/solidify-doc/src/main/java/ch/unige/solidify/test/executor/SolidifyExecutorTestDoc.java b/solidify-doc/src/main/java/ch/unige/solidify/test/executor/SolidifyExecutorTestDoc.java index df91717f1e72b8fa23f6dba9870662a064752d31..0b7e095acd559e96bf0e924f801223d7d7ebea1a 100644 --- a/solidify-doc/src/main/java/ch/unige/solidify/test/executor/SolidifyExecutorTestDoc.java +++ b/solidify-doc/src/main/java/ch/unige/solidify/test/executor/SolidifyExecutorTestDoc.java @@ -51,7 +51,6 @@ import org.springframework.web.bind.annotation.RequestMethod; import com.epages.restdocs.apispec.MockMvcRestDocumentationWrapper; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.test.exception.SolidifyTestRuntimeException; import ch.unige.solidify.test.helper.FileUtils; @@ -99,7 +98,7 @@ public class SolidifyExecutorTestDoc { List<LinkDescriptor> linkDescriptorList) { String docRestName = getDocPath(restName); if (list) { - docRestName += SolidifyConstants.URL_SEP + "list"; + docRestName += "/list"; } try { final LinksSnippet linksSnippet = HypermediaDocumentation.links(HypermediaDocumentation.halLinks(), linkDescriptorList); diff --git a/solidify-doc/src/main/java/ch/unige/solidify/test/helper/FileUtils.java b/solidify-doc/src/main/java/ch/unige/solidify/test/helper/FileUtils.java index cc723e1677b7a049189f747905e29d68d76a6214..dcd76659b8d7cf272e45cecb41639b431ee06bb0 100644 --- a/solidify-doc/src/main/java/ch/unige/solidify/test/helper/FileUtils.java +++ b/solidify-doc/src/main/java/ch/unige/solidify/test/helper/FileUtils.java @@ -27,10 +27,8 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; -import ch.unige.solidify.SolidifyConstants; - public class FileUtils { - private static final String FILE_SEPARATOR = SolidifyConstants.URL_SEP; // Should be always slash, + private static final String FILE_SEPARATOR = "/"; // Should be always slash, // do not use // File.separator constant // because it's equals to diff --git a/solidify-doc/src/main/java/ch/unige/solidify/test/helper/RestDocsTemplates.java b/solidify-doc/src/main/java/ch/unige/solidify/test/helper/RestDocsTemplates.java index d246bb7ddd9542e0bdc341f4bdef17ca8b30c590..2c1ca5d7d5b9b961e064ddd518939eced8fa58b2 100644 --- a/solidify-doc/src/main/java/ch/unige/solidify/test/helper/RestDocsTemplates.java +++ b/solidify-doc/src/main/java/ch/unige/solidify/test/helper/RestDocsTemplates.java @@ -265,8 +265,8 @@ public class RestDocsTemplates { private Map<String, URI> getBaseApplicationFieldsTemplate() { final Map<String, URI> baseAttributes = new LinkedHashMap<>(); try { - baseAttributes.put(ActionName.SELF, new URI(this.applicationContext + SolidifyConstants.URL_SEP)); - baseAttributes.put(ActionName.DASHBOARD, new URI(this.applicationContext + SolidifyConstants.URL_SEP + ActionName.DASHBOARD)); + baseAttributes.put(ActionName.SELF, new URI(this.applicationContext + "/")); + baseAttributes.put(ActionName.DASHBOARD, new URI(this.applicationContext + "/" + ActionName.DASHBOARD)); } catch (final URISyntaxException e) { throw new SolidifyTestRuntimeException("Invalid URL.", e); } diff --git a/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexFielAliasRemoteResourceService.java b/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexFielAliasRemoteResourceService.java index fb16cae50eb8ba39427bd81d4df1626fcc897186..80c059963eacc01fce294da42c09f1aef1173cfe 100644 --- a/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexFielAliasRemoteResourceService.java +++ b/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexFielAliasRemoteResourceService.java @@ -30,7 +30,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import ch.unige.solidify.IndexConstants; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.dto.LabelDTO; import ch.unige.solidify.model.Label; import ch.unige.solidify.model.index.FacetProperties; @@ -46,7 +45,7 @@ public abstract class IndexFielAliasRemoteResourceService extends RemoteResource protected IndexFielAliasRemoteResourceService(String rootContext, SolidifyRestClientService restClientService) { super(restClientService); - this.indexUrl = rootContext + SolidifyConstants.URL_SEP + IndexConstants.INDEX_MODULE; + this.indexUrl = rootContext + "/" + IndexConstants.INDEX_MODULE; } @Override @@ -56,7 +55,7 @@ public abstract class IndexFielAliasRemoteResourceService extends RemoteResource @Override protected String getResourceUrl() { - return this.indexUrl + SolidifyConstants.URL_SEP + IndexConstants.INDEX_FIELD_ALIASES; + return this.indexUrl + "/" + IndexConstants.INDEX_FIELD_ALIASES; } public List<FacetProperties> getFacetProperties(String index) { diff --git a/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexMetadataRemoteResourceService.java b/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexMetadataRemoteResourceService.java index 70eb0e9098567471cdb4f2211e5e7c9730e03985..901fbfbf3afe96fa4030b1e366f6ffcf7f6f33cb 100644 --- a/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexMetadataRemoteResourceService.java +++ b/solidify-index-controller/src/main/java/ch/unige/solidify/service/rest/abstractservice/IndexMetadataRemoteResourceService.java @@ -35,7 +35,6 @@ import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.util.UriComponentsBuilder; import ch.unige.solidify.IndexConstants; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.exception.SolidifyResourceNotFoundException; import ch.unige.solidify.exception.SolidifyRestException; import ch.unige.solidify.exception.SolidifyValidationException; @@ -64,14 +63,14 @@ public abstract class IndexMetadataRemoteResourceService<I, T extends IndexMetad } public HttpStatus headIndexMetadata(I index, String id) { - String url = this.getIndexUrl(index) + SolidifyConstants.URL_SEP + id; + String url = this.getIndexUrl(index) + "/" + id; return this.restClientService.headResource(url); } public boolean updateIndexMetadata(I index, String id, T t) { try { this.restClientService.patchResource( - this.getIndexUrl(index) + SolidifyConstants.URL_SEP + id, + this.getIndexUrl(index) + "/" + id, t, indexResourceClass); } catch (SolidifyResourceNotFoundException | SolidifyRestException e) { @@ -83,7 +82,7 @@ public abstract class IndexMetadataRemoteResourceService<I, T extends IndexMetad public T getIndexMetadata(I index, String resId) { this.restClientService.checkResId(resId); - String url = this.getIndexUrl(index) + SolidifyConstants.URL_SEP + resId; + String url = this.getIndexUrl(index) + "/" + resId; return this.restClientService.getResource(url, this.indexResourceClass); } @@ -107,7 +106,7 @@ public abstract class IndexMetadataRemoteResourceService<I, T extends IndexMetad } public RestCollection<T> getIndexMetadataListWithConditions(I index, String query, String conditions, Pageable pageable) { - final String url = this.getIndexUrl(index) + SolidifyConstants.URL_SEP + ActionName.SEARCH; + final String url = this.getIndexUrl(index) + "/" + ActionName.SEARCH; final SearchRequest searchRequest = new SearchRequest(conditions, query, pageable.getPageSize(), pageable.getPageNumber(), pageable.getSort()); final String jsonResult = this.restClientService.postResourceOther(url, searchRequest, String.class); @@ -119,7 +118,7 @@ public abstract class IndexMetadataRemoteResourceService<I, T extends IndexMetad public boolean deleteIndexMetadata(I index, String id) { try { - this.restClientService.deleteResource(this.getIndexUrl(index) + SolidifyConstants.URL_SEP + id); + this.restClientService.deleteResource(this.getIndexUrl(index) + "/" + id); } catch (SolidifyResourceNotFoundException | SolidifyRestException e) { log.error("Error in deleting metadata index (" + id + ")", e); return false; @@ -163,7 +162,7 @@ public abstract class IndexMetadataRemoteResourceService<I, T extends IndexMetad protected String buildUrl(I index, Map<String, Object> parameters) { - String url = this.getIndexUrl(index) + SolidifyConstants.URL_SEP + ActionName.SEARCH; + String url = this.getIndexUrl(index) + "/" + ActionName.SEARCH; UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(url); if (parameters != null) { diff --git a/solidify-index-model/src/main/java/ch/unige/solidify/IndexUrlPath.java b/solidify-index-model/src/main/java/ch/unige/solidify/IndexUrlPath.java index ee764f3cbeff7e396a36ff833bc0e0c1bb3cd305..358300404ef269ff361756f328c46db2ca4335f8 100644 --- a/solidify-index-model/src/main/java/ch/unige/solidify/IndexUrlPath.java +++ b/solidify-index-model/src/main/java/ch/unige/solidify/IndexUrlPath.java @@ -28,11 +28,11 @@ public final class IndexUrlPath { // ========== // Index // ========== - public static final String INDEX = SolidifyConstants.URL_SEP + IndexConstants.INDEX_MODULE; + public static final String INDEX = "/" + IndexConstants.INDEX_MODULE; - public static final String INDEX_SETTING = INDEX + SolidifyConstants.URL_SEP + IndexConstants.SETTING; - public static final String INDEX_INDEX = INDEX + SolidifyConstants.URL_SEP + IndexConstants.INDEX; - public static final String INDEX_INDEX_FIELD_ALIAS = INDEX + SolidifyConstants.URL_SEP + IndexConstants.INDEX_FIELD_ALIASES; + public static final String INDEX_SETTING = INDEX + "/" + IndexConstants.SETTING; + public static final String INDEX_INDEX = INDEX + "/" + IndexConstants.INDEX; + public static final String INDEX_INDEX_FIELD_ALIAS = INDEX + "/" + IndexConstants.INDEX_FIELD_ALIASES; private IndexUrlPath() { throw new IllegalStateException(SolidifyConstants.TOOL_CLASS); diff --git a/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexSettingsController.java b/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexSettingsController.java index fe6c3b811739b69dd6596abe1af0a45df380ef21..ae0bec476414b5617f8b59830537814916c2afaf 100644 --- a/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexSettingsController.java +++ b/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexSettingsController.java @@ -87,7 +87,7 @@ public class IndexSettingsController extends NoSqlResourceController<IndexSettin return super.delete(id); } - @DeleteMapping(SolidifyConstants.URL_SEP + IndexConstants.DELETE_ALL) + @DeleteMapping("/" + IndexConstants.DELETE_ALL) public HttpStatus deleteAll(@RequestParam(defaultValue = "no") String confirm) { final List<IndexSettings> list = this.noSqlResourceService.findAll(null); if (list.isEmpty()) { diff --git a/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexingController.java b/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexingController.java index 5e5f7c7b4873784542b3773bfdc66afe7aa6d6cb..02defb81529367c07fc5a6e6f264428bd0eb3a81 100644 --- a/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexingController.java +++ b/solidify-index/src/main/java/ch/unige/solidify/controller/index/IndexingController.java @@ -46,7 +46,6 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.business.IndexFieldAliasService; import ch.unige.solidify.controller.IndexResourceController; import ch.unige.solidify.exception.SolidifyRuntimeException; @@ -104,7 +103,7 @@ public abstract class IndexingController<T extends IndexMetadata> extends IndexR } // ********************************** - @GetMapping(SolidifyConstants.URL_SEP + ActionName.SEARCH) + @GetMapping("/" + ActionName.SEARCH) public HttpEntity<RestCollection<T>> search( @RequestParam(defaultValue = "*") String query, @RequestParam(required = false) String field, @@ -204,7 +203,7 @@ public abstract class IndexingController<T extends IndexMetadata> extends IndexR } } - @PostMapping(SolidifyConstants.URL_SEP + ActionName.SEARCH) + @PostMapping("/" + ActionName.SEARCH) public HttpEntity<RestCollection<T>> searchPost(@RequestBody SearchRequest searchRequest) { log.trace("Search parameters: {}", searchRequest); diff --git a/solidify-index/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java b/solidify-index/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java index 9acbbbc96e6d485be7bf814f1797defdb915085a..780697f64c5c34990d4f5a26a2972bd7553ac6e1 100644 --- a/solidify-index/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java +++ b/solidify-index/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java @@ -246,7 +246,7 @@ public class ElasticsearchSettingsService extends IndexingSettingsService<IndexS } private String getMappingData(String mapping) throws IOException { - final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + SolidifyConstants.URL_SEP + mapping); + final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + mapping); return FileTool.toString(mappingResource.getInputStream()); } @@ -276,7 +276,7 @@ public class ElasticsearchSettingsService extends IndexingSettingsService<IndexS private void setSettings(IndexSettings indexSettings, IndexDefinition indexDefinition) throws IOException { if (!StringTool.isNullOrEmpty(indexDefinition.getIndexSettings())) { final ClassPathResource settingsResource = new ClassPathResource( - MAPPING_HOME + SolidifyConstants.URL_SEP + indexDefinition.getIndexSettings()); + MAPPING_HOME + "/" + indexDefinition.getIndexSettings()); String jsonSettings = FileTool.toString(settingsResource.getInputStream()); indexSettings.setSettings(JSONTool.convertJson2Map(jsonSettings)); } diff --git a/solidify-oai-model/src/main/java/ch/unige/solidify/OAIUrlPath.java b/solidify-oai-model/src/main/java/ch/unige/solidify/OAIUrlPath.java index 99e0389c1257c1e7e125fe37a022bfda817af740..efdb64d5b35541e797f69c3b6c1c0e770ba109c4 100644 --- a/solidify-oai-model/src/main/java/ch/unige/solidify/OAIUrlPath.java +++ b/solidify-oai-model/src/main/java/ch/unige/solidify/OAIUrlPath.java @@ -28,11 +28,11 @@ public final class OAIUrlPath { // ========== // OAI // ========== - public static final String OAI = SolidifyConstants.URL_SEP + OAIConstants.OAI_MODULE; + public static final String OAI = "/" + OAIConstants.OAI_MODULE; - public static final String OAI_PROVIDER = OAI + SolidifyConstants.URL_SEP + OAIConstants.OAI_PROVIDER; - public static final String OAI_SET = OAI + SolidifyConstants.URL_SEP + OAIConstants.OAI_SETS; - public static final String OAI_METADATA_PREFIX = OAI + SolidifyConstants.URL_SEP + OAIConstants.OAI_METADATA_PREFIX; + public static final String OAI_PROVIDER = OAI + "/" + OAIConstants.OAI_PROVIDER; + public static final String OAI_SET = OAI + "/" + OAIConstants.OAI_SETS; + public static final String OAI_METADATA_PREFIX = OAI + "/" + OAIConstants.OAI_METADATA_PREFIX; private OAIUrlPath() { throw new IllegalStateException(SolidifyConstants.TOOL_CLASS); diff --git a/solidify-oai-pmh/src/main/java/ch/unige/solidify/business/OAIMetadataPrefixService.java b/solidify-oai-pmh/src/main/java/ch/unige/solidify/business/OAIMetadataPrefixService.java index 84eabd6a6044785e4bfad73e259d5d61f8c9e1b7..50b1ee9197032d4d7672c31e0c9d8999c0ba8241 100644 --- a/solidify-oai-pmh/src/main/java/ch/unige/solidify/business/OAIMetadataPrefixService.java +++ b/solidify-oai-pmh/src/main/java/ch/unige/solidify/business/OAIMetadataPrefixService.java @@ -88,7 +88,7 @@ public class OAIMetadataPrefixService extends ResourceService<OAIMetadataPrefix> if (oaiDcPrefix == null) { throw new SolidifyRuntimeException("Missing OAI Dublin-Core prefix"); } - ClassPathResource xslResource = new ClassPathResource(SolidifyConstants.XSL_HOME + SolidifyConstants.URL_SEP + metadataTransformation); + ClassPathResource xslResource = new ClassPathResource(SolidifyConstants.XSL_HOME + "/" + metadataTransformation); oaiDcPrefix.setMetadataXmlTransformation(FileTool.toString(xslResource.getInputStream())); this.save(oaiDcPrefix); log.info("OAIMetadataPrefix '{}' updated", OAIConstants.OAI_DC); @@ -109,12 +109,11 @@ public class OAIMetadataPrefixService extends ResourceService<OAIMetadataPrefix> oaiMetadataPrefix.setDescription(description); } if (!StringTool.isNullOrEmpty(metadataSchema)) { - ClassPathResource schemaResource = new ClassPathResource(SolidifyConstants.SCHEMA_HOME + SolidifyConstants.URL_SEP + metadataSchema); + ClassPathResource schemaResource = new ClassPathResource(SolidifyConstants.SCHEMA_HOME + "/" + metadataSchema); oaiMetadataPrefix.setMetadataSchema(FileTool.toString(schemaResource.getInputStream())); } if (!StringTool.isNullOrEmpty(metadataTransformation)) { - ClassPathResource xslResource = new ClassPathResource( - SolidifyConstants.XSL_HOME + SolidifyConstants.URL_SEP + metadataTransformation); + ClassPathResource xslResource = new ClassPathResource(SolidifyConstants.XSL_HOME + "/" + metadataTransformation); oaiMetadataPrefix.setMetadataXmlTransformation(FileTool.toString(xslResource.getInputStream())); } this.save(oaiMetadataPrefix); diff --git a/solidify-oai-pmh/src/main/java/ch/unige/solidify/controller/oai/OAIProviderController.java b/solidify-oai-pmh/src/main/java/ch/unige/solidify/controller/oai/OAIProviderController.java index b8f99fdc3ec6fda47ade8e19be6339f58b44c0aa..23fd6a1bed96d41d6163bc796b6af71442ff7d32 100644 --- a/solidify-oai-pmh/src/main/java/ch/unige/solidify/controller/oai/OAIProviderController.java +++ b/solidify-oai-pmh/src/main/java/ch/unige/solidify/controller/oai/OAIProviderController.java @@ -84,7 +84,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { @Autowired protected OAIService oaiService; - @GetMapping(SolidifyConstants.URL_SEP + OAIConstants.OAI_RESOURCE) + @GetMapping("/" + OAIConstants.OAI_RESOURCE) public HttpEntity<String> process(HttpServletRequest request, @RequestParam(value = OAIConstants.OAI_VERB, required = false) String verb, @RequestParam(value = OAIConstants.OAI_IDENTIFIER, required = false) String identifier, @RequestParam(value = OAIConstants.OAI_METADATAPREFIX, required = false) String metadataPrefix, @@ -116,9 +116,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { // OAI Repository // Force http usage, in order to be compatible with old XML validators final String httpOnlyOaiUrl = oaiUrl.replace("https://", "http://"); - schemaLocations.put( - this.oaiService.getOaiRepositoryInfo().getRepositoryNamespace(), - httpOnlyOaiUrl + SolidifyConstants.URL_SEP + SolidifyConstants.SCHEMA); + schemaLocations.put(this.oaiService.getOaiRepositoryInfo().getRepositoryNamespace(), httpOnlyOaiUrl + "/" + SolidifyConstants.SCHEMA); break; case LIST_IDENTIFIERS: // Specification @@ -174,7 +172,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { String xslUrl = null; try { if (!StringTool.isNullOrEmpty(smartView)) { - xslUrl = oaiUrl + SolidifyConstants.URL_SEP + SolidifyConstants.XSL + "?" + OAIConstants.OAI_VIEW + "=" + smartView; + xslUrl = oaiUrl + "/" + SolidifyConstants.XSL + "?" + OAIConstants.OAI_VIEW + "=" + smartView; } result = this.oaiService.printOAIPMH(oai, xslUrl, schemaLocations); log.trace(result); @@ -187,7 +185,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { return new ResponseEntity<>(result, headers, HttpStatus.OK); } - @PostMapping(value = SolidifyConstants.URL_SEP + OAIConstants.OAI_RESOURCE, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) + @PostMapping(value = "/" + OAIConstants.OAI_RESOURCE, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) public HttpEntity<String> processPost(HttpServletRequest request, @RequestBody MultiValueMap<String, String> params) { log.trace("OAI-PMH parameters: {}", params); return this.process(request, this.getParameter(params, OAIConstants.OAI_VERB), this.getParameter(params, OAIConstants.OAI_IDENTIFIER), @@ -217,7 +215,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { return new ResponseEntity<>(oaiPmh, HttpStatus.OK); } - @GetMapping(SolidifyConstants.URL_SEP + OAIConstants.OAI_RESOURCE + SolidifyConstants.URL_SEP + SolidifyConstants.XSL) + @GetMapping("/" + OAIConstants.OAI_RESOURCE + "/" + SolidifyConstants.XSL) public HttpEntity<String> xsl(@RequestParam(value = OAIConstants.OAI_VIEW, required = false) String smartView) { try { String result; @@ -230,7 +228,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { xslt.append("</xmlTransformation>"); result = xslt.toString(); } else { - final ClassPathResource xsl = new ClassPathResource(SolidifyConstants.XSL_HOME + SolidifyConstants.URL_SEP + smartView); + final ClassPathResource xsl = new ClassPathResource(SolidifyConstants.XSL_HOME + "/" + smartView); result = FileTool.toString(xsl.getInputStream()); } final HttpHeaders headers = new HttpHeaders(); @@ -242,11 +240,11 @@ public class OAIProviderController implements ControllerWithHateoasHome { } } - @GetMapping(SolidifyConstants.URL_SEP + OAIConstants.OAI_RESOURCE + SolidifyConstants.URL_SEP + SolidifyConstants.SCHEMA) + @GetMapping("/" + OAIConstants.OAI_RESOURCE + "/" + SolidifyConstants.SCHEMA) public HttpEntity<String> xsd() { try { - final ClassPathResource xsl = new ClassPathResource( - SolidifyConstants.SCHEMA_HOME + SolidifyConstants.URL_SEP + this.oaiService.getOaiRepositoryInfo().getRepositorySchema()); + final ClassPathResource xsl = new ClassPathResource(SolidifyConstants.SCHEMA_HOME + "/" + + this.oaiService.getOaiRepositoryInfo().getRepositorySchema()); String result = FileTool.toString(xsl.getInputStream()); final HttpHeaders headers = new HttpHeaders(); @@ -293,7 +291,7 @@ public class OAIProviderController implements ControllerWithHateoasHome { */ private String getRootUrl(HttpServletRequest request) { String baseUrl = this.getBaseUrl(request) + request.getRequestURI(); - baseUrl = baseUrl.substring(0, baseUrl.indexOf(OAIConstants.OAI_PROVIDER + SolidifyConstants.URL_SEP + OAIConstants.OAI_RESOURCE)); + baseUrl = baseUrl.substring(0, baseUrl.indexOf(OAIConstants.OAI_PROVIDER + "/" + OAIConstants.OAI_RESOURCE)); return baseUrl; } diff --git a/solidify-oai-pmh/src/main/java/ch/unige/solidify/service/OAIService.java b/solidify-oai-pmh/src/main/java/ch/unige/solidify/service/OAIService.java index ecb9606bb637308e7b2413a68edadec28a7300a9..15e1a58bd60610e1038305c9132d4020192ccc91 100644 --- a/solidify-oai-pmh/src/main/java/ch/unige/solidify/service/OAIService.java +++ b/solidify-oai-pmh/src/main/java/ch/unige/solidify/service/OAIService.java @@ -45,7 +45,6 @@ import org.springframework.stereotype.Service; import ch.unige.solidify.OAIConstants; import ch.unige.solidify.OAIProperties; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.business.OAIMetadataPrefixService; import ch.unige.solidify.business.OAISetService; import ch.unige.solidify.controller.OAIController; @@ -507,7 +506,7 @@ public class OAIService { private String getArchiveUrl() { final String archiveUrl = this.oaiRepositoryInfo.getArchiveHomePage(); - if (StringTool.isNullOrEmpty(archiveUrl) || !archiveUrl.endsWith(SolidifyConstants.URL_SEP)) { + if (StringTool.isNullOrEmpty(archiveUrl) || !archiveUrl.endsWith("/")) { throw new SolidifyRuntimeException("Missing 'archive-home-page' parameter"); } return archiveUrl; diff --git a/solidify-util/src/main/java/ch/unige/solidify/SolidifyConstants.java b/solidify-util/src/main/java/ch/unige/solidify/SolidifyConstants.java index 5d5f9ecc6e7ba62638bb9a75906ec000076cb512..390552bdc6c827fd62521fc75cf6b6c853a95105 100644 --- a/solidify-util/src/main/java/ch/unige/solidify/SolidifyConstants.java +++ b/solidify-util/src/main/java/ch/unige/solidify/SolidifyConstants.java @@ -49,19 +49,18 @@ public class SolidifyConstants { public static final String YES = "yes"; // URL - public static final String URL_SEP = "/"; public static final String URL_PARENT_ID_FIELD = "parentid"; public static final String URL_ID_FIELD = "id"; public static final String URL_GRAND_CHILD_ID_FIELD = "grandChildId"; - public static final String URL_ID = URL_SEP + "{" + URL_ID_FIELD + "}"; - public static final String URL_ID_PLUS_SEP = URL_ID + URL_SEP; - public static final String URL_PARENT_ID = URL_SEP + "{" + URL_PARENT_ID_FIELD + "}" + URL_SEP; - public static final String URL_DASHBOARD = URL_SEP + "dashboard"; - public static final String URL_GRAND_CHILD_ID = URL_SEP + "{" + URL_GRAND_CHILD_ID_FIELD + "}"; - public static final String URL_ADMIN_MODULE = URL_SEP + "admin"; + public static final String URL_ID = "/{" + URL_ID_FIELD + "}"; + public static final String URL_ID_PLUS_SEP = URL_ID + "/"; + public static final String URL_PARENT_ID = "/{" + URL_PARENT_ID_FIELD + "}/"; + public static final String URL_DASHBOARD = "/dashboard"; + public static final String URL_GRAND_CHILD_ID = "/{" + URL_GRAND_CHILD_ID_FIELD + "}"; + public static final String URL_ADMIN_MODULE = "/admin"; public static final String ORCID = "orcid"; - public static final String URL_ORCID = URL_ADMIN_MODULE + URL_SEP + ORCID; - public static final String URL_EXTERNAL_UID = URL_SEP + "{externalUid}"; + public static final String URL_ORCID = URL_ADMIN_MODULE + "/" + ORCID; + public static final String URL_EXTERNAL_UID = "/{externalUid}"; // Web service Parameter public static final String IDENTIFIER_TYPE_PARAM = "identifierType"; diff --git a/solidify-util/src/main/java/ch/unige/solidify/util/SchemaResourceResolver.java b/solidify-util/src/main/java/ch/unige/solidify/util/SchemaResourceResolver.java index 2d67674b391d7d85831c5b6371ac0fccd94057e6..1debc502c0a47ddf7cda32b95abb32d8279d07ff 100644 --- a/solidify-util/src/main/java/ch/unige/solidify/util/SchemaResourceResolver.java +++ b/solidify-util/src/main/java/ch/unige/solidify/util/SchemaResourceResolver.java @@ -70,9 +70,7 @@ public class SchemaResourceResolver implements LSResourceResolver { private InputStream getSchemaInputStream(String systemId) { // Search in class path of the package (JAR or WAR) try { - return new ClassPathResource( - SolidifyConstants.SCHEMA_HOME + SolidifyConstants.URL_SEP + systemId) - .getInputStream(); + return new ClassPathResource(SolidifyConstants.SCHEMA_HOME + "/" + systemId).getInputStream(); } catch (final IOException e) { logger.trace("Unable to get schema input stream", e); return null; @@ -82,9 +80,7 @@ public class SchemaResourceResolver implements LSResourceResolver { private Path getSchemaPath(String systemId) { // Search in class path of the file system try { - return new ClassPathResource( - SolidifyConstants.SCHEMA_HOME + SolidifyConstants.URL_SEP + systemId).getFile() - .toPath(); + return new ClassPathResource(SolidifyConstants.SCHEMA_HOME + "/" + systemId).getFile().toPath(); } catch (final IOException e) { logger.trace("Unable to get schema path", e); return null; diff --git a/solidify-util/src/main/java/ch/unige/solidify/util/ZipTool.java b/solidify-util/src/main/java/ch/unige/solidify/util/ZipTool.java index c24a839fe8bea44f33b715cfd7e9de225487d23e..67eb57c2442b55286003049c5afec7b8dd32b414 100644 --- a/solidify-util/src/main/java/ch/unige/solidify/util/ZipTool.java +++ b/solidify-util/src/main/java/ch/unige/solidify/util/ZipTool.java @@ -124,7 +124,7 @@ public class ZipTool { } private static String normalizePath(String path) { - return path.replace("\\\\", SolidifyConstants.URL_SEP); + return path.replace("\\\\", "/"); } private final Path archive; diff --git a/solidify-util/src/test/java/ch/unige/solidify/test/util/ZipTest.java b/solidify-util/src/test/java/ch/unige/solidify/test/util/ZipTest.java index 35a5053a5999796ffe4640a684f19b33aadd53a3..34d7106cab0ccd6c3e1ac5162829e329ca34fca7 100644 --- a/solidify-util/src/test/java/ch/unige/solidify/test/util/ZipTest.java +++ b/solidify-util/src/test/java/ch/unige/solidify/test/util/ZipTest.java @@ -41,7 +41,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.ClassPathResource; -import ch.unige.solidify.SolidifyConstants; import ch.unige.solidify.util.FileTool; import ch.unige.solidify.util.ZipTool; @@ -117,8 +116,7 @@ class ZipTest { final Path unzipDir = Paths .get(System.getProperty("java.io.tmpdir") + File.separatorChar + UNZIP_DIR); final ZipTool zipTool = new ZipTool(ZIP_ARCHIVE); - final List<String> extractList = Arrays.asList("dlcm.xsd", - "include" + SolidifyConstants.URL_SEP + "datacite-"); + final List<String> extractList = Arrays.asList("dlcm.xsd", "include/datacite-"); assertTrue(zipTool.zipFiles(zipDir)); assertTrue(zipTool.unzipFiles(unzipDir, extractList)); final List<Path> fileList = FileTool.readFolder(unzipDir); @@ -134,8 +132,7 @@ class ZipTest { final Path unzipDir = Paths .get(System.getProperty("java.io.tmpdir") + File.separatorChar + UNZIP_DIR); final ZipTool zipTool = new ZipTool(ZIP_ARCHIVE); - final List<String> extractList = Arrays.asList("dlcm.xsd", - "include" + SolidifyConstants.URL_SEP + "datacite-"); + final List<String> extractList = Arrays.asList("dlcm.xsd", "include/datacite-"); assertTrue(zipTool.zipFiles(zipDir)); assertTrue(zipTool.unzipFiles(unzipDir, extractList)); final List<Path> fileList = FileTool.readFolder(unzipDir); @@ -151,8 +148,7 @@ class ZipTest { final Path unzipDir = Paths .get(System.getProperty("java.io.tmpdir") + File.separatorChar + UNZIP_DIR); final ZipTool zipTool = new ZipTool(ZIP_ARCHIVE); - final List<String> extractList = Arrays.asList("dlcm.xsd", - "include" + SolidifyConstants.URL_SEP + "datacite-"); + final List<String> extractList = Arrays.asList("dlcm.xsd", "include/datacite-"); assertTrue(zipTool.zipFiles(zipDir)); assertTrue(zipTool.unzipFiles(unzipDir, extractList)); final List<Path> fileList = FileTool.readFolder(unzipDir); @@ -165,8 +161,7 @@ class ZipTest { @Test void unzipArchiveTest() throws IOException { final Path zipDir = Paths.get(new ClassPathResource(ZIP_DIR).getURI()); - final Path unzipDir = Paths - .get(System.getProperty("java.io.tmpdir") + File.separatorChar + UNZIP_DIR); + final Path unzipDir = Paths.get(System.getProperty("java.io.tmpdir") + File.separatorChar + UNZIP_DIR); final ZipTool zipTool = new ZipTool(ZIP_ARCHIVE); assertTrue(zipTool.zipFiles(zipDir.toUri())); assertTrue(zipTool.unzipFiles(unzipDir)); @@ -208,7 +203,7 @@ class ZipTest { .get(System.getProperty("java.io.tmpdir") + File.separatorChar + UNZIP_DIR); final ZipTool zipTool = new ZipTool(ZIP_ARCHIVE); assertTrue(zipTool.zipFiles(zipDir.toUri())); - assertTrue(zipTool.unzipFolder(unzipDir, INCLUDE + SolidifyConstants.URL_SEP)); + assertTrue(zipTool.unzipFolder(unzipDir, INCLUDE + "/")); final List<Path> fileList = FileTool.readFolder(unzipDir); assertEquals(ZIP_INCLUDE_NUMBER, fileList.size(), "Wrong file number"); FileTool.deleteFile(Paths.get(ZIP_ARCHIVE));