From 4b3e1ce0c98bfdcf899e64a3d693d6526439d15c Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Tue, 9 Apr 2019 11:08:30 +0200 Subject: [PATCH] OO-3932: Refactoring: Move discovery client to WOPI service --- .../manager/CollaboraServiceImpl.java | 7 +--- .../doceditor/wopi/WopiDiscoveryClient.java | 41 ------------------- .../services/doceditor/wopi/WopiService.java | 10 +++++ ...ientImpl.java => WopiDiscoveryClient.java} | 11 ++--- .../wopi/manager/WopiServiceImpl.java | 14 ++++++- 5 files changed, 29 insertions(+), 54 deletions(-) delete mode 100644 src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiDiscoveryClient.java rename src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/{WopiDiscoveryClientImpl.java => WopiDiscoveryClient.java} (90%) diff --git a/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java index e8a66347aa2..c456b7439aa 100644 --- a/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java +++ b/src/main/java/org/olat/core/commons/services/doceditor/collabora/manager/CollaboraServiceImpl.java @@ -32,7 +32,6 @@ import org.olat.core.commons.services.doceditor.collabora.CollaboraService; import org.olat.core.commons.services.doceditor.wopi.Access; import org.olat.core.commons.services.doceditor.wopi.Action; import org.olat.core.commons.services.doceditor.wopi.Discovery; -import org.olat.core.commons.services.doceditor.wopi.WopiDiscoveryClient; import org.olat.core.commons.services.doceditor.wopi.WopiService; import org.olat.core.commons.services.vfs.VFSMetadata; import org.olat.core.commons.services.vfs.VFSRepositoryService; @@ -71,8 +70,6 @@ public class CollaboraServiceImpl implements CollaboraService, GenericEventListe @Autowired private WopiService wopiService; @Autowired - private WopiDiscoveryClient discoveryClient; - @Autowired private VFSRepositoryService vfsRepositoryService; @Autowired private VFSLockManager lockManager; @@ -155,14 +152,14 @@ public class CollaboraServiceImpl implements CollaboraService, GenericEventListe public Discovery getDiscovery() { if (discovery == null) { String discoveryUrl = getDiscoveryUrl(); - discovery = discoveryClient.getDiscovery(discoveryUrl); + discovery = wopiService.getDiscovery(discoveryUrl); log.info("Recieved new WOPI discovery from " + discoveryUrl); } return discovery; } private String getDiscoveryUrl() { - return collaboraModule.getBaseUrl() + discoveryClient.getRegularDiscoveryPath(); + return collaboraModule.getBaseUrl() + wopiService.getRegularDiscoveryPath(); } @Override diff --git a/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiDiscoveryClient.java b/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiDiscoveryClient.java deleted file mode 100644 index df803da162c..00000000000 --- a/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiDiscoveryClient.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.core.commons.services.doceditor.wopi; - -/** - * - * Initial date: 5 Mar 2019<br> - * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com - * - */ -public interface WopiDiscoveryClient { - - public String getRegularDiscoveryPath(); - - /** - * Download the discovery file from the WOPI client. - * - * @param discoveryUrl - * @return - */ - public Discovery getDiscovery(String discoveryUrl); - - -} \ No newline at end of file diff --git a/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiService.java b/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiService.java index a17d2fe4399..cd561598c20 100644 --- a/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiService.java +++ b/src/main/java/org/olat/core/commons/services/doceditor/wopi/WopiService.java @@ -33,6 +33,16 @@ import org.olat.core.util.vfs.VFSLeaf; * */ public interface WopiService { + + public String getRegularDiscoveryPath(); + + /** + * Download the discovery file from the WOPI client. + * + * @param discoveryUrl + * @return + */ + public Discovery getDiscovery(String discoveryUrl); boolean fileExists(String fileId); diff --git a/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiDiscoveryClientImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiDiscoveryClient.java similarity index 90% rename from src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiDiscoveryClientImpl.java rename to src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiDiscoveryClient.java index 377f7e5a774..e9155c7ef1c 100644 --- a/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiDiscoveryClientImpl.java +++ b/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiDiscoveryClient.java @@ -27,7 +27,6 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.olat.core.commons.services.doceditor.wopi.Discovery; -import org.olat.core.commons.services.doceditor.wopi.WopiDiscoveryClient; import org.olat.core.commons.services.doceditor.wopi.model.DiscoveryImpl; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; @@ -40,9 +39,9 @@ import org.springframework.stereotype.Service; * */ @Service -public class WopiDiscoveryClientImpl implements WopiDiscoveryClient { +class WopiDiscoveryClient { - private static final OLog log = Tracing.createLoggerFor(WopiDiscoveryClientImpl.class); + private static final OLog log = Tracing.createLoggerFor(WopiDiscoveryClient.class); private static final int TIMEOUT_5000_MILLIS = 5000; private static final RequestConfig REQUEST_CONFIG = RequestConfig.custom() @@ -51,13 +50,11 @@ public class WopiDiscoveryClientImpl implements WopiDiscoveryClient { .setConnectionRequestTimeout(TIMEOUT_5000_MILLIS) .build(); - @Override - public String getRegularDiscoveryPath() { + String getRegularDiscoveryPath() { return "hosting/discovery"; } - @Override - public Discovery getDiscovery(String discoveryUrl) { + Discovery getDiscovery(String discoveryUrl) { HttpGet request = new HttpGet(discoveryUrl); request.setConfig(REQUEST_CONFIG); diff --git a/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiServiceImpl.java b/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiServiceImpl.java index 3dc229fb649..3c8afdf4c56 100644 --- a/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiServiceImpl.java +++ b/src/main/java/org/olat/core/commons/services/doceditor/wopi/manager/WopiServiceImpl.java @@ -27,8 +27,8 @@ import java.util.UUID; import javax.annotation.PostConstruct; -import org.olat.core.commons.services.doceditor.DocEditorSecurityCallback; import org.olat.core.commons.services.doceditor.DocEditor.Mode; +import org.olat.core.commons.services.doceditor.DocEditorSecurityCallback; import org.olat.core.commons.services.doceditor.wopi.Access; import org.olat.core.commons.services.doceditor.wopi.Action; import org.olat.core.commons.services.doceditor.wopi.App; @@ -61,6 +61,8 @@ public class WopiServiceImpl implements WopiService { private CacheWrapper<String, Access> accessCache; + @Autowired + private WopiDiscoveryClient dicoveryClient; @Autowired private CoordinatorManager coordinator; @Autowired @@ -70,6 +72,16 @@ public class WopiServiceImpl implements WopiService { public void init() { accessCache = coordinator.getCoordinator().getCacher().getCache(WopiService.class.getSimpleName(), "access"); } + + @Override + public String getRegularDiscoveryPath() { + return dicoveryClient.getRegularDiscoveryPath(); + } + + @Override + public Discovery getDiscovery(String discoveryUrl) { + return dicoveryClient.getDiscovery(discoveryUrl); + } @Override public boolean fileExists(String fileId) { -- GitLab