From 0aa4b5de9c7f80292b030e4ece691658c21c249a Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 26 Sep 2022 11:04:26 +0100 Subject: [PATCH] Feature/acs 3555 add custom embedded workflow license code (#1432) * ACS-3555 Add license code for custom embedded workflow * ACS-3555 remove unused import * ACS-3560 Discovery API for custom embedded workflow license * ACS-3560 fix compilation error * use default method * restore discovery api --- .../alfresco/rest/api/model/RepositoryInfo.java | 16 +++++++++++++++- .../rest/api/tests/DiscoveryApiTest.java | 6 +++++- .../service/license/LicenseDescriptor.java | 12 +++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/remote-api/src/main/java/org/alfresco/rest/api/model/RepositoryInfo.java b/remote-api/src/main/java/org/alfresco/rest/api/model/RepositoryInfo.java index 60bbadd32a..b177942b84 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/model/RepositoryInfo.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/model/RepositoryInfo.java @@ -284,7 +284,8 @@ public class RepositoryInfo .setMaxDocs(licenseDescriptor.getMaxDocs()) .setMaxUsers(licenseDescriptor.getMaxUsers()) .setClusterEnabled(licenseDescriptor.isClusterEnabled()) - .setCryptodocEnabled(licenseDescriptor.isCryptodocEnabled()); + .setCryptodocEnabled(licenseDescriptor.isCryptodocEnabled()) + .setCustomEmbeddedWorkflowEnabled(licenseDescriptor.isCustomEmbeddedWorkflowEnabled()); } public Date getIssuedAt() @@ -343,6 +344,7 @@ public class RepositoryInfo private Long maxDocs; private boolean isClusterEnabled; private boolean isCryptodocEnabled; + private boolean isCustomEmbeddedWorkflowEnabled; public LicenseEntitlement() { @@ -392,6 +394,17 @@ public class RepositoryInfo return this; } + public boolean getIsCustomEmbeddedWorkflowEnabled() + { + return isCustomEmbeddedWorkflowEnabled; + } + + public LicenseEntitlement setCustomEmbeddedWorkflowEnabled(boolean customEmbeddedWorkflowEnabled) + { + isCustomEmbeddedWorkflowEnabled = customEmbeddedWorkflowEnabled; + return this; + } + @Override public String toString() { @@ -400,6 +413,7 @@ public class RepositoryInfo .append(", maxDocs=").append(maxDocs) .append(", isClusterEnabled=").append(isClusterEnabled) .append(", isCryptodocEnabled=").append(isCryptodocEnabled) + .append(", isCustomEmbeddedWorkflowEnabled=").append(isCustomEmbeddedWorkflowEnabled) .append(']'); return sb.toString(); } diff --git a/remote-api/src/test/java/org/alfresco/rest/api/tests/DiscoveryApiTest.java b/remote-api/src/test/java/org/alfresco/rest/api/tests/DiscoveryApiTest.java index f244401350..ba70eea362 100644 --- a/remote-api/src/test/java/org/alfresco/rest/api/tests/DiscoveryApiTest.java +++ b/remote-api/src/test/java/org/alfresco/rest/api/tests/DiscoveryApiTest.java @@ -2,7 +2,7 @@ * #%L * Alfresco Remote API * %% - * Copyright (C) 2005 - 2021 Alfresco Software Limited + * Copyright (C) 2005 - 2022 Alfresco Software Limited * %% * This file is part of the Alfresco software. * If the software was purchased under a paid Alfresco license, the terms of @@ -177,6 +177,7 @@ public class DiscoveryApiTest extends AbstractSingleNetworkSiteTest assertEquals(1000L, entitlements.getMaxDocs().longValue()); assertTrue(entitlements.getIsClusterEnabled()); assertFalse(entitlements.getIsCryptodocEnabled()); + assertFalse(entitlements.getIsCustomEmbeddedWorkflowEnabled()); // Check status StatusInfo statusInfo = repositoryInfo.getStatus(); @@ -297,11 +298,13 @@ public class DiscoveryApiTest extends AbstractSingleNetworkSiteTest assertEquals(1000L, entitlements.getMaxDocs().longValue()); assertTrue(entitlements.getIsClusterEnabled()); assertFalse(entitlements.getIsCryptodocEnabled()); + assertFalse(entitlements.getIsCustomEmbeddedWorkflowEnabled()); // Override entitlements when(licenseDescriptorMock.getMaxDocs()).thenReturn(null); when(licenseDescriptorMock.isClusterEnabled()).thenReturn(false); when(licenseDescriptorMock.isCryptodocEnabled()).thenReturn(true); + when(licenseDescriptorMock.isCustomEmbeddedWorkflowEnabled()).thenReturn(true); response = get("discovery", null, 200); @@ -319,6 +322,7 @@ public class DiscoveryApiTest extends AbstractSingleNetworkSiteTest assertNull(entitlements.getMaxDocs()); assertFalse(entitlements.getIsClusterEnabled()); assertTrue(entitlements.getIsCryptodocEnabled()); + assertTrue(entitlements.getIsCustomEmbeddedWorkflowEnabled()); } @Test diff --git a/repository/src/main/java/org/alfresco/service/license/LicenseDescriptor.java b/repository/src/main/java/org/alfresco/service/license/LicenseDescriptor.java index f8bd4e4d1b..e60da2e00a 100644 --- a/repository/src/main/java/org/alfresco/service/license/LicenseDescriptor.java +++ b/repository/src/main/java/org/alfresco/service/license/LicenseDescriptor.java @@ -139,7 +139,17 @@ public interface LicenseDescriptor * @return true if the license allows cryptodoc */ boolean isCryptodocEnabled(); - + + /** + * Does this license allow custom embedded workflows? + * + * @return true if the license allows custom embedded workflows + */ + default boolean isCustomEmbeddedWorkflowEnabled() + { + return false; + } + /** * ATS Transformation Server Expiry Date * @return the ATS Transformation Server Expiry Date or null