rombert commented on code in PR #157:
URL: 
https://github.com/apache/sling-org-apache-sling-feature-cpconverter/pull/157#discussion_r1109427124


##########
src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/SlingInitialContentBundleEntryMetaDataCollector.java:
##########
@@ -106,10 +121,54 @@ Set<SlingInitialContentBundleEntryMetaData> 
collectFromContextAndWriteTmpFiles()
                 }
             }
         }
-
+        
         return collectedSlingInitialContentBundleEntries;
     }
+    
+    Set<SlingInitialContentBundleEntryMetaData> getDefaultContentXmlEntries() 
throws UnsupportedEncodingException {
+        
+        createDefaultContentXMLFiles();
+        return defaultContentXmlEntries;
+        
+    }
 
+    private void createDefaultContentXMLFiles() throws 
UnsupportedEncodingException {
+        
+        for(String repositoryPath: 
collectedSlingInitialContentBundleEntries.stream()
+                .map(SlingInitialContentBundleEntryMetaData::getRepositoryPath)
+                .collect(Collectors.toList())){
+            addDefaultSlingContentXMLAndParents(repositoryPath);
+        }
+    }
+
+    private void addDefaultSlingContentXMLAndParents(String repositoryPath) 
throws UnsupportedEncodingException {
+
+        if(StringUtils.countMatches(repositoryPath, '/') < 2){

Review Comment:
   I find this opaque - please document the reason.



##########
src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/SlingInitialContentBundleEntryMetaDataCollector.java:
##########
@@ -190,6 +249,21 @@ private SlingInitialContentBundleEntryMetaData 
createSlingInitialContentBundleEn
         String repositoryPath = (target != null ? target : "/") + 
URLDecoder.decode(entryName.substring(pathEntryValue.getPath().length()), 
"UTF-8");
         return new SlingInitialContentBundleEntryMetaData(targetFile, 
pathEntryValue, repositoryPath);
     }
+    
+
+    private PathEntry getPathEntryFromRepositoryPath(@NotNull String 
repositoryPath) {
+
+        if(StringUtils.countMatches(repositoryPath, '/') < 2){

Review Comment:
   I find this opaque - please document the reason. Since we use it in two 
places, it would be good I think to extract to a method or at least have a 
contant whose name explains what it does.



##########
src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/SlingInitialContentBundleEntryMetaDataCollector.java:
##########
@@ -56,10 +62,13 @@ class SlingInitialContentBundleEntryMetaDataCollector {
     private final String basePath;
     private final ContentPackage2FeatureModelConverter 
contentPackage2FeatureModelConverter;
     private final Path newBundleFile;
-    private final Set<SlingInitialContentBundleEntryMetaData> 
collectedSlingInitialContentBundleEntries = new HashSet<>();
+    private final NavigableSet<SlingInitialContentBundleEntryMetaData> 
collectedSlingInitialContentBundleEntries = new ConcurrentSkipListSet<>();
+    private final NavigableSet<SlingInitialContentBundleEntryMetaData> 
defaultContentXmlEntries = new ConcurrentSkipListSet<>();
     private final AtomicLong total = new AtomicLong(0);
     private final JarFile jarFile;
 
+    private final File DEFAULT_NODE_TYPE_XML;

Review Comment:
   ```suggestion
       private final File EMPTY_SLING_FOLDER_XML;
   ```
   
   And please rename the corresponding file as well.



##########
src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/BundleSlingInitialContentJarEntryExtractor.java:
##########
@@ -70,7 +67,8 @@ class BundleSlingInitialContentJarEntryExtractor {
      */
     void extractAndAddToAssembler(@NotNull 
BundleSlingInitialContentExtractContext context,
                                   @NotNull 
SlingInitialContentBundleEntryMetaData slingInitialContentBundleEntryMetaData,
-                                  @NotNull 
Set<SlingInitialContentBundleEntryMetaData> 
collectedSlingInitialContentBundleEntries) throws IOException, 
ConverterException {
+                                  @NotNull 
Set<SlingInitialContentBundleEntryMetaData> 
collectedSlingInitialContentBundleEntries,
+                                  @NotNull boolean isDefaultContentXmlFile) 
throws IOException, ConverterException {

Review Comment:
    Does `@NotNull` make sense for a primitive value?



##########
src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/SlingInitialContentBundleEntryMetaDataCollector.java:
##########
@@ -106,10 +121,54 @@ Set<SlingInitialContentBundleEntryMetaData> 
collectFromContextAndWriteTmpFiles()
                 }
             }
         }
-
+        

Review Comment:
   ```suggestion
   
   ```
   
   (tried to suggest to remove the whitespace-only change



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to