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]