diff --git a/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/deployment/AppCreator.java b/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/deployment/AppCreator.java index a4d9cc8..5156822 100644 --- a/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/deployment/AppCreator.java +++ b/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/deployment/AppCreator.java @@ -89,10 +89,6 @@ private static SortedSet createPages(AppReference appReference) { List pages = appReference.getPageReferences().stream() .map(AppCreator::createPage) .collect(Collectors.toList()); - if (pages.isEmpty()) { - throw new AppCreationException("App '" + appReference.getName() + "' does not contains any pages."); - } - // TODO: 10/13/17 remove following workaround after adding support for URI patterns with * in UriPatten class if ((pages.size() == 1) && (pages.get(0).getUriPatten().matches("/index"))) { final Page indexPage = pages.get(0); diff --git a/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/deployment/ArtifactAppDeployer.java b/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/deployment/ArtifactAppDeployer.java index edc53a7..8851d73 100644 --- a/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/deployment/ArtifactAppDeployer.java +++ b/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/deployment/ArtifactAppDeployer.java @@ -95,7 +95,7 @@ public Object deploy(Artifact artifact) throws CarbonDeploymentException { previouslyCreatedOverridableApp.get(), createdApp); publishAppUndeploymentEvent(previouslyCreatedOverridableApp.get()); appRegistry.add(createdApp); - deployingApp = new OverriddenApp(createdApp, previouslyCreatedOverridableApp.get()); + deployingApp = new OverriddenApp(previouslyCreatedOverridableApp.get(), createdApp); } else { deployingApp = createdApp; } diff --git a/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/reference/ArtifactAppReference.java b/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/reference/ArtifactAppReference.java index 4d95a97..227e627 100644 --- a/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/reference/ArtifactAppReference.java +++ b/components/org.wso2.carbon.uiserver/src/main/java/org/wso2/carbon/uiserver/internal/io/reference/ArtifactAppReference.java @@ -64,19 +64,16 @@ public String getName() throws FileOperationException { public Set getPageReferences() throws FileOperationException { Path pages = getPagesDirectory(); if (!Files.exists(pages)) { - throw new FileOperationException( - "Cannot find '" + DIR_NAME_PAGES + "' directory in app '" + appDirectory + "'."); + return Collections.emptySet(); } - Set pageReferences; try { - pageReferences = Files.walk(pages) + return Files.walk(pages) .filter(Files::isRegularFile) .map(pageFile -> new ArtifactPageReference(pageFile, this)) .collect(Collectors.toSet()); } catch (IOException e) { throw new FileOperationException("An error occurred while listing pages in '" + pages + "'.", e); } - return pageReferences; } @Override diff --git a/components/org.wso2.carbon.uiserver/src/test/java/org/wso2/carbon/uiserver/internal/deployment/AppCreatorTest.java b/components/org.wso2.carbon.uiserver/src/test/java/org/wso2/carbon/uiserver/internal/deployment/AppCreatorTest.java index afaf568..cdb44b9 100644 --- a/components/org.wso2.carbon.uiserver/src/test/java/org/wso2/carbon/uiserver/internal/deployment/AppCreatorTest.java +++ b/components/org.wso2.carbon.uiserver/src/test/java/org/wso2/carbon/uiserver/internal/deployment/AppCreatorTest.java @@ -22,7 +22,6 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import org.wso2.carbon.uiserver.api.App; -import org.wso2.carbon.uiserver.internal.exception.AppCreationException; import org.wso2.carbon.uiserver.internal.io.reference.ArtifactAppReference; import org.wso2.carbon.uiserver.internal.reference.AppReference; @@ -39,7 +38,8 @@ public class AppCreatorTest { public Object[][] appReferences() { return new Object[][]{ {new ArtifactAppReference(Paths.get("src/test/resources/apps/full-app/"))}, - {new ArtifactAppReference(Paths.get("src/test/resources/apps/minimal-app/"))} + {new ArtifactAppReference(Paths.get("src/test/resources/apps/minimal-app/"))}, + {new ArtifactAppReference(Paths.get("src/test/resources/apps/empty-app/"))} }; } @@ -48,11 +48,4 @@ public void testCreateApp(AppReference appReference) { App app = AppCreator.createApp(appReference, "/test"); Assert.assertNotNull(app); } - - @Test - public void testCreateAppWithEmptyDirectory() { - AppReference appReference = new ArtifactAppReference(Paths.get("src/test/resources/apps/empty-app/")); - Assert.assertThrows(AppCreationException.class, - () -> AppCreator.createApp(appReference, "/test")); - } } diff --git a/pom.xml b/pom.xml index ea3811c..b95085e 100644 --- a/pom.xml +++ b/pom.xml @@ -366,8 +366,8 @@ 1.1.0 - 5.1.9 - [5.1.9, 6.0.0) + 5.2.0 + [5.2.0, 6.0.0) 2.1.5