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