Make A2 variant search more robust
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 29 May 2023 11:14:18 +0000 (13:14 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 29 May 2023 11:14:18 +0000 (13:14 +0200)
org.argeo.init/src/org/argeo/init/a2/FsA2Source.java

index e0e2e437f58307c50b60e53500634b3111da2f21..151b0023f56a2fc9d052dee6c31f1924e0609f52 100644 (file)
@@ -61,20 +61,22 @@ public class FsA2Source extends AbstractProvisioningSource implements A2Source {
                                        if (variantPath == null)
                                                continue contributions;
 
-                                       // a variant was found, let's collect its contributions (also common ones in its
-                                       // parent)
-                                       for (Path variantContributionPath : Files.newDirectoryStream(variantPath.getParent())) {
-                                               String variantContributionId = variantContributionPath.getFileName().toString();
-                                               if (variantContributionId.contains(".")) {
-                                                       A2Contribution contribution = getOrAddContribution(variantContributionId);
-                                                       contributions.put(variantContributionPath, contribution);
+                                       if (Files.exists(variantPath)) {
+                                               // a variant was found, let's collect its contributions (also common ones in its
+                                               // parent)
+                                               for (Path variantContributionPath : Files.newDirectoryStream(variantPath.getParent())) {
+                                                       String variantContributionId = variantContributionPath.getFileName().toString();
+                                                       if (variantContributionId.contains(".")) {
+                                                               A2Contribution contribution = getOrAddContribution(variantContributionId);
+                                                               contributions.put(variantContributionPath, contribution);
+                                                       }
                                                }
-                                       }
-                                       for (Path variantContributionPath : Files.newDirectoryStream(variantPath)) {
-                                               String variantContributionId = variantContributionPath.getFileName().toString();
-                                               if (variantContributionId.contains(".")) {
-                                                       A2Contribution contribution = getOrAddContribution(variantContributionId);
-                                                       contributions.put(variantContributionPath, contribution);
+                                               for (Path variantContributionPath : Files.newDirectoryStream(variantPath)) {
+                                                       String variantContributionId = variantContributionPath.getFileName().toString();
+                                                       if (variantContributionId.contains(".")) {
+                                                               A2Contribution contribution = getOrAddContribution(variantContributionId);
+                                                               contributions.put(variantContributionPath, contribution);
+                                                       }
                                                }
                                        }
                                }