Skip to content

Commit 3b848a3

Browse files
Fix broken MacFileAssociationsTest
1 parent 142f0c0 commit 3b848a3

File tree

4 files changed

+16
-19
lines changed

4 files changed

+16
-19
lines changed

src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacFileAssociationBuilder.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ MacFileAssociation create(FileAssociation fa) throws ConfigException {
4242
Optional.ofNullable(cfBundleTypeName).orElse(DEFAULTS.cfBundleTypeName),
4343
Optional.ofNullable(cfBundleTypeRole).orElse(DEFAULTS.cfBundleTypeRole),
4444
Optional.ofNullable(lsHandlerRank).orElse(DEFAULTS.lsHandlerRank),
45-
Optional.ofNullable(lsTypeIsPackage).orElse(DEFAULTS.lsTypeIsPackage),
45+
Optional.ofNullable(lsTypeIsPackage),
4646
Optional.ofNullable(nsDocumentClass),
4747
Optional.ofNullable(nsPersistentStoreTypeKey),
48-
Optional.ofNullable(lsSupportsOpeningDocumentsInPlace).orElse(DEFAULTS.lsSupportsOpeningDocumentsInPlace),
49-
Optional.ofNullable(uiSupportsDocumentBrowser).orElse(DEFAULTS.uiSupportsDocumentBrowser),
48+
Optional.ofNullable(lsSupportsOpeningDocumentsInPlace),
49+
Optional.ofNullable(uiSupportsDocumentBrowser),
5050
Optional.ofNullable(utTypeConformsTo).orElse(DEFAULTS.utTypeConformsTo),
5151
Optional.ofNullable(nsExportableTypes).orElse(DEFAULTS.nsExportableTypes));
5252

@@ -118,9 +118,6 @@ MacFileAssociationBuilder nsExportableTypes(List<String> v) {
118118
.lsHandlerRank("Owner")
119119
.cfBundleTypeRole("Editor")
120120
.cfBundleTypeName("")
121-
.lsTypeIsPackage(false)
122-
.lsSupportsOpeningDocumentsInPlace(false)
123-
.uiSupportsDocumentBrowser(false)
124121
.utTypeConformsTo(List.of("public.data"))
125122
.nsExportableTypes(List.of());
126123

src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPackagingPipeline.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import static jdk.jpackage.internal.ApplicationImageUtils.createWriteAppImageFileAction;
2828
import static jdk.jpackage.internal.util.PListWriter.writeArray;
2929
import static jdk.jpackage.internal.util.PListWriter.writeBoolean;
30-
import static jdk.jpackage.internal.util.PListWriter.writeBooleanIf;
30+
import static jdk.jpackage.internal.util.PListWriter.writeBooleanOptional;
3131
import static jdk.jpackage.internal.util.PListWriter.writeDict;
3232
import static jdk.jpackage.internal.util.PListWriter.writeKey;
3333
import static jdk.jpackage.internal.util.PListWriter.writeString;
@@ -389,9 +389,9 @@ private static void addFaToCFBundleDocumentTypes(XMLStreamWriter xml,
389389
writeStringOptional(xml, "NSPersistentStoreTypeKey", fa.nsPersistentStoreTypeKey());
390390
writeStringOptional(xml, "NSDocumentClass", fa.nsDocumentClass());
391391
writeBoolean(xml, "LSIsAppleDefaultForType", true);
392-
writeBooleanIf(xml, "LSTypeIsPackage", fa.lsTypeIsPackage(), true);
393-
writeBooleanIf(xml, "LSSupportsOpeningDocumentsInPlace", fa.lsSupportsOpeningDocumentsInPlace(), true);
394-
writeBooleanIf(xml, "UISupportsDocumentBrowser", fa.uiSupportsDocumentBrowser(), true);
392+
writeBooleanOptional(xml, "LSTypeIsPackage", fa.lsTypeIsPackage());
393+
writeBooleanOptional(xml, "LSSupportsOpeningDocumentsInPlace", fa.lsSupportsOpeningDocumentsInPlace());
394+
writeBooleanOptional(xml, "UISupportsDocumentBrowser", fa.uiSupportsDocumentBrowser());
395395
faWriteIcon(xml, "CFBundleTypeIconFile", fa);
396396
}
397397

src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/model/MacFileAssociationMixin.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,25 +35,25 @@ public interface MacFileAssociationMixin {
3535

3636
String lsHandlerRank();
3737

38-
boolean lsTypeIsPackage();
38+
Optional<Boolean> lsTypeIsPackage();
3939

4040
Optional<String> nsDocumentClass();
4141

4242
Optional<String> nsPersistentStoreTypeKey();
4343

44-
boolean lsSupportsOpeningDocumentsInPlace();
44+
Optional<Boolean> lsSupportsOpeningDocumentsInPlace();
4545

46-
boolean uiSupportsDocumentBrowser();
46+
Optional<Boolean> uiSupportsDocumentBrowser();
4747

4848
List<String> utTypeConformsTo();
4949

5050
List<String> nsExportableTypes();
5151

5252
record Stub(String cfBundleTypeName, String cfBundleTypeRole,
53-
String lsHandlerRank, boolean lsTypeIsPackage, Optional<String> nsDocumentClass,
53+
String lsHandlerRank, Optional<Boolean> lsTypeIsPackage, Optional<String> nsDocumentClass,
5454
Optional<String> nsPersistentStoreTypeKey,
55-
boolean lsSupportsOpeningDocumentsInPlace,
56-
boolean uiSupportsDocumentBrowser, List<String> utTypeConformsTo,
55+
Optional<Boolean> lsSupportsOpeningDocumentsInPlace,
56+
Optional<Boolean> uiSupportsDocumentBrowser, List<String> utTypeConformsTo,
5757
List<String> nsExportableTypes) implements MacFileAssociationMixin {
5858

5959
}

src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/util/PListWriter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ public static void writeBoolean(XMLStreamWriter xml, String key, boolean value)
4141
xml.writeEmptyElement(Boolean.toString(value));
4242
}
4343

44-
public static void writeBooleanIf(XMLStreamWriter xml, String key, boolean value, boolean expectedValue)
44+
public static void writeBooleanOptional(XMLStreamWriter xml, String key, Optional<Boolean> value)
4545
throws XMLStreamException {
46-
if (expectedValue == value) {
47-
writeBoolean(xml, key, value);
46+
if (value.isPresent()) {
47+
writeBoolean(xml, key, value.orElseThrow());
4848
}
4949
}
5050

0 commit comments

Comments
 (0)