Skip to content

Commit 2d811ba

Browse files
committed
Code corrections
1 parent a3708cf commit 2d811ba

File tree

22 files changed

+49
-124
lines changed

22 files changed

+49
-124
lines changed

logicaldoc-webdav/src/main/java/com/logicaldoc/webdav/web/AbstractWebdavServlet.java

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,14 @@ private Session getSession(HttpServletRequest request, WebdavResponse webdavResp
165165
Session session = SessionManager.get().getSession(request);
166166
if (session == null) {
167167
// Try to invalidates previous session cookie
168-
if (request.getCookies().length > 0) {
168+
if (request.getCookies() != null) {
169169
Cookie[] cooks = request.getCookies();
170170
for (Cookie cookie : cooks) {
171171
if (cookie.getName().equals("ldoc-sid")) {
172172
// A zero value causes the cookie to be deleted.
173173
cookie.setMaxAge(0);
174174
webdavResponse.addCookie(cookie);
175+
break;
175176
}
176177
}
177178
}
@@ -197,7 +198,7 @@ private void handleException(HttpServletRequest request, WebdavResponse davRespo
197198
log.warn("{}: {} {}", e.getClass().getName(), request.getMethod(), methodCode);
198199
} else if (e.getClass().getName().contains("ClientAbortException")) {
199200
log.warn("{}: {} {} {}", e.getClass().getName(), e.getMessage(), request.getMethod(), methodCode);
200-
} else if(e instanceof DavException de){
201+
} else if (e instanceof DavException de) {
201202
log.error(de.getMessage(), de);
202203
try {
203204
davResponse.sendError(de);
@@ -362,33 +363,20 @@ private void spoolResource(WebdavRequest request, WebdavResponse response, DavRe
362363
}
363364
}
364365

365-
OutputStream outX = (sendContent) ? response.getOutputStream() : null;
366+
OutputStream outX = sendContent ? response.getOutputStream() : null;
366367
OutputContext oc = getOutputContext(response, outX);
367368

368-
if (!resource.isCollection() && resource instanceof DavResourceImpl dri) {
369+
if (!resource.isCollection() && resource instanceof DavResourceImpl davRsource) {
369370
log.debug("resource instanceof DavResourceImpl");
370371

371-
// Enforce download permission
372-
ExportContext exportCtx = dri.getExportContext(oc);
373-
if (!exportCtx.getResource().isDownloadEnabled()) {
374-
throw new DavException(HttpServletResponse.SC_FORBIDDEN,
375-
"Download permission not granted to this user");
376-
}
372+
ExportContext exportCtx = enforceDownloadPermission(oc, davRsource);
377373

378374
// Deals with ranges
379375
String rangeHeader = request.getHeader(HttpHeaders.RANGE);
380376
if (rangeHeader != null) {
381-
Pair<String, String> parsedRange = null;
382-
try {
383-
parsedRange = parseRangeRequestHeader(rangeHeader);
384-
if (log.isDebugEnabled())
385-
log.debug("parsedRange {}", parsedRange);
386-
} catch (DavException e) {
387-
log.error(e.getMessage());
388-
}
389-
390377
WebdavSession session = (com.logicaldoc.webdav.session.WebdavSession) request.getDavSession();
391-
resource = getResourceFactory().createRangeResource(dri.getLocator(), session, parsedRange);
378+
resource = getResourceFactory().createRangeResource(davRsource.getLocator(), session,
379+
parseRangeRequestHeader(rangeHeader));
392380

393381
log.debug("Create RangeResourceImpl {}", resource);
394382

@@ -402,6 +390,15 @@ private void spoolResource(WebdavRequest request, WebdavResponse response, DavRe
402390
resource.spool(oc);
403391
}
404392

393+
private ExportContext enforceDownloadPermission(OutputContext oc, DavResourceImpl davRsource)
394+
throws IOException, DavException {
395+
ExportContext exportCtx = davRsource.getExportContext(oc);
396+
if (!exportCtx.getResource().isDownloadEnabled()) {
397+
throw new DavException(HttpServletResponse.SC_FORBIDDEN, "Download permission not granted to this user");
398+
}
399+
return exportCtx;
400+
}
401+
405402
private void setETagHeader(WebdavRequest request, WebdavResponse response, ExportContext exportCtx) {
406403
String userAgent = request.getHeader("User-Agent");
407404
if (userAgent != null && userAgent.contains("LogicalDOCApp")) {

logicaldoc-webdav/src/test/java/com/logicaldoc/webdav/resource/service/ResourceServiceImplTest.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -218,30 +218,29 @@ public void testMoveFolder() throws DavException {
218218

219219
source = testSubject.getResource("/Default/folder6", davSession);
220220
assertNull(source);
221-
221+
222222
// rename a folder
223223
Resource source02 = testSubject.getResource("/Default/folder7", davSession);
224224
Resource destination02 = testSubject.getResource("/Default", davSession);
225-
225+
226226
// Bad example, the rename must be done in a different way
227227
Resource badBlood = testSubject.move(source02, destination02, "reputation", davSession);
228228
assertNotNull(badBlood);
229-
assertFalse("reputation".equals(badBlood.getName()));
230229
assertEquals("folder7", badBlood.getName());
231230
assertTrue(badBlood.isFolder());
232-
231+
233232
// good example (folder rename)
234233
source02.setName("delicate");
235234
Resource delicate = testSubject.move(source02, destination02, null, davSession);
236235
assertNotNull(delicate);
237236
assertEquals("delicate", delicate.getName());
238237
assertTrue(delicate.isFolder());
239-
238+
240239
}
241240

242241
@Test
243242
public void testDeleteResource() throws DavException {
244-
243+
245244
// delete document
246245
Resource resource = testSubject.getResource("/Default/one.pdf", davSession);
247246
assertNotNull(resource);
@@ -280,13 +279,15 @@ public void testCopy() throws DavException {
280279

281280
source = testSubject.getResource("/Default/one.pdf", davSession);
282281
assertNotNull(source);
283-
284-
// Test copy Folder (it should produce an exception, as right now copy of folder is not supported)
282+
283+
// Test copy Folder (it should produce an exception, as right now copy
284+
// of folder is not supported)
285285
Resource dest02 = testSubject.getResource("/Default/folder7", davSession);
286286
try {
287287
testSubject.copy(destinationFolder, dest02, null, davSession);
288288
Assert.fail();
289-
} catch (DavException e) {
289+
} catch (DavException e) {
290+
// All as expected
290291
}
291292
}
292293

@@ -307,7 +308,7 @@ public void testStreamOut() throws DavException, IOException {
307308
}
308309

309310
@Test
310-
public void testCheckout() throws DavException, PersistenceException {
311+
public void testCheckout() throws DavException, PersistenceException {
311312
Document doc = docDao.findById(1L);
312313
assertEquals(AbstractDocument.DOC_UNLOCKED, doc.getStatus());
313314

logicaldoc-webdav/src/test/java/com/logicaldoc/webdav/web/WebdavServletTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ private String callPROPFIND() throws IOException {
276276
MockServletResponse response = new MockServletResponse(tempFile);
277277

278278
MockServletRequest request = prepareRequest(DavMethods.METHOD_PROPFIND, "");
279-
//request.setHeader("Depth", "1");
280279
request.setHeader("Accept-Encoding", "identity");
281280
request.setHeader("Content-Type", "application/xml; charset=utf-8");
282281
request.setBody(PROPFIND_SPEC);
@@ -399,5 +398,4 @@ protected MockServletRequest prepareRequest(String method, String path) {
399398
request.setRequestURI(PREFIX + path);
400399
return request;
401400
}
402-
403401
}

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/AbstractRestClient.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import org.apache.cxf.jaxrs.client.WebClient;
99
import org.apache.cxf.transport.http.HTTPConduit;
1010
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
11-
import org.slf4j.Logger;
12-
import org.slf4j.LoggerFactory;
1311

1412
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
1513

@@ -21,8 +19,6 @@
2119
*/
2220
public abstract class AbstractRestClient<T> {
2321

24-
private static final Logger log = LoggerFactory.getLogger(AbstractRestClient.class);
25-
2622
protected String endpoint;
2723

2824
protected String apiKey;
@@ -65,12 +61,12 @@ protected AbstractRestClient(Class<T> stub, String endpoint, String apiKey, int
6561

6662
protected void prepareProxy(Class<T> stub) {
6763
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
68-
64+
6965
if (StringUtils.isNotEmpty(apiKey)) {
7066
bean.setHeaders(Map.of("X-API-KEY", apiKey));
7167
bean.setInheritHeaders(true);
7268
}
73-
69+
7470
bean.setResourceClass(stub);
7571
bean.setAddress(endpoint);
7672
bean.setProviders(List.of(new JacksonJsonProvider()));

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestAuthClient.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package com.logicaldoc.webservice.rest.client;
22

3-
import org.slf4j.Logger;
4-
import org.slf4j.LoggerFactory;
5-
63
import com.logicaldoc.core.security.authentication.AuthenticationException;
74
import com.logicaldoc.webservice.model.WSCredentials;
85
import com.logicaldoc.webservice.rest.AuthService;
@@ -16,8 +13,6 @@
1613
*/
1714
public class RestAuthClient extends AbstractRestClient<AuthService> implements AuthService {
1815

19-
private static final Logger log = LoggerFactory.getLogger(RestAuthClient.class);
20-
2116
public RestAuthClient(String endpoint) throws AuthenticationException {
2217
super(AuthService.class, endpoint, null);
2318
}

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestBookmarkClient.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import javax.ws.rs.core.MediaType;
1010

1111
import org.apache.cxf.jaxrs.client.WebClient;
12-
import org.slf4j.Logger;
13-
import org.slf4j.LoggerFactory;
1412

1513
import com.logicaldoc.core.PersistenceException;
1614
import com.logicaldoc.core.security.authentication.AuthenticationException;
@@ -22,8 +20,6 @@
2220

2321
public class RestBookmarkClient extends AbstractRestClient<BookmarkService> {
2422

25-
private static final Logger log = LoggerFactory.getLogger(RestBookmarkClient.class);
26-
2723
public RestBookmarkClient(String endpoint, String apiKey) {
2824
this(endpoint, apiKey, -1);
2925
}

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestDocumentClient.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
1414
import org.apache.cxf.jaxrs.ext.multipart.AttachmentBuilder;
1515
import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
16-
import org.slf4j.Logger;
17-
import org.slf4j.LoggerFactory;
1816

1917
import com.logicaldoc.core.PersistenceException;
2018
import com.logicaldoc.core.security.authentication.AuthenticationException;
@@ -28,8 +26,6 @@
2826

2927
public class RestDocumentClient extends AbstractRestClient<DocumentService> {
3028

31-
private static final Logger log = LoggerFactory.getLogger(RestDocumentClient.class);
32-
3329
public RestDocumentClient(String endpoint, String apiKey) {
3430
this(endpoint, apiKey, -1);
3531
}

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestDocumentMetadataClient.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
import java.util.List;
44

5-
import org.slf4j.Logger;
6-
import org.slf4j.LoggerFactory;
7-
85
import com.logicaldoc.core.PersistenceException;
96
import com.logicaldoc.core.security.authentication.AuthenticationException;
107
import com.logicaldoc.core.security.authorization.PermissionException;
@@ -16,8 +13,6 @@
1613

1714
public class RestDocumentMetadataClient extends AbstractRestClient<DocumentMetadataService> {
1815

19-
private static final Logger log = LoggerFactory.getLogger(RestDocumentMetadataClient.class);
20-
2116
public RestDocumentMetadataClient(String endpoint, String apiKey) {
2217
this(endpoint, apiKey, -1);
2318
}

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestFolderClient.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
import javax.ws.rs.core.MediaType;
66

77
import org.apache.cxf.jaxrs.client.WebClient;
8-
import org.slf4j.Logger;
9-
import org.slf4j.LoggerFactory;
108

119
import com.logicaldoc.core.PersistenceException;
1210
import com.logicaldoc.core.security.authentication.AuthenticationException;
@@ -17,8 +15,6 @@
1715

1816
public class RestFolderClient extends AbstractRestClient<FolderService> {
1917

20-
private static final Logger log = LoggerFactory.getLogger(RestFolderClient.class);
21-
2218
public RestFolderClient(String endpoint, String apiKey) {
2319
this(endpoint, apiKey, -1);
2420
}

logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestSearchClient.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import javax.ws.rs.core.MediaType;
44

55
import org.apache.cxf.jaxrs.client.WebClient;
6-
import org.slf4j.Logger;
7-
import org.slf4j.LoggerFactory;
86

97
import com.logicaldoc.core.PersistenceException;
108
import com.logicaldoc.core.searchengine.SearchException;
@@ -16,8 +14,6 @@
1614

1715
public class RestSearchClient extends AbstractRestClient<SearchService> {
1816

19-
private static final Logger log = LoggerFactory.getLogger(RestSearchClient.class);
20-
2117
public RestSearchClient(String endpoint, String apiKey) {
2218
this(endpoint, apiKey, -1);
2319
}

0 commit comments

Comments
 (0)