diff options
author | Tobias Thierer <tobiast@google.com> | 2019-10-03 13:46:45 +0100 |
---|---|---|
committer | Tobias Thierer <tobiast@google.com> | 2019-10-03 14:58:06 +0100 |
commit | c83d0458abd1b897b50e6361084b35c46c44d97c (patch) | |
tree | dd487e8c5924cb176c26bc6b1c0b73cf1152f6cc | |
parent | bbad557b8c15a915998223b93df7b25ee7046ff8 (diff) |
Refactoring: Move MimeMap to libcore.content.type.
MimeMap is not specific to Networking (URLConnection.getFileNameMap()
is not the only client) so it didn't make sense for the class to live
in the old packet. The new packet mirrors frameworks' android.content.type
which holds the logic constructing the default instance.
The new packet is specific to this purpose (libcore.content did not
previously exist) and makes for a more sensible CorePlatformApi that
we are more likely to be able to support long term.
Bug: 124232146
Bug: 136256059
Test: atest CtsMimeMapTestCases CtsLibcoreTestCases
Change-Id: I2a6576cf6f5f06bf159a975ad40a1c09a615e9b5
-rw-r--r-- | luni/src/main/java/java/net/DefaultFileNameMap.java | 4 | ||||
-rw-r--r-- | luni/src/main/java/libcore/content/type/MimeMap.java (renamed from luni/src/main/java/libcore/net/MimeMap.java) | 2 | ||||
-rw-r--r-- | luni/src/main/java/libcore/content/type/TEST_MAPPING | 7 | ||||
-rw-r--r-- | luni/src/main/java/libcore/net/TEST_MAPPING | 3 | ||||
-rw-r--r-- | luni/src/test/java/libcore/libcore/content/type/MimeMapTest.java (renamed from luni/src/test/java/libcore/libcore/net/MimeMapTest.java) | 5 | ||||
-rw-r--r-- | mmodules/core_platform_api/api/platform/current-api.txt | 40 | ||||
-rw-r--r-- | non_openjdk_java_files.bp | 2 | ||||
-rw-r--r-- | ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java | 16 |
8 files changed, 43 insertions, 36 deletions
diff --git a/luni/src/main/java/java/net/DefaultFileNameMap.java b/luni/src/main/java/java/net/DefaultFileNameMap.java index d290ffeef0..cdd4214350 100644 --- a/luni/src/main/java/java/net/DefaultFileNameMap.java +++ b/luni/src/main/java/java/net/DefaultFileNameMap.java @@ -16,10 +16,10 @@ package java.net; -import libcore.net.MimeMap; +import libcore.content.type.MimeMap; /** - * Implements {@link FileNameMap} in terms of {@link libcore.net.MimeMap}. + * Implements {@link FileNameMap} in terms of {@link MimeMap}. */ class DefaultFileNameMap implements FileNameMap { public String getContentTypeFor(String filename) { diff --git a/luni/src/main/java/libcore/net/MimeMap.java b/luni/src/main/java/libcore/content/type/MimeMap.java index 76446b3e52..2ee0119c5f 100644 --- a/luni/src/main/java/libcore/net/MimeMap.java +++ b/luni/src/main/java/libcore/content/type/MimeMap.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package libcore.net; +package libcore.content.type; import java.util.Arrays; import java.util.Collections; diff --git a/luni/src/main/java/libcore/content/type/TEST_MAPPING b/luni/src/main/java/libcore/content/type/TEST_MAPPING new file mode 100644 index 0000000000..8daab754ea --- /dev/null +++ b/luni/src/main/java/libcore/content/type/TEST_MAPPING @@ -0,0 +1,7 @@ +{ + "presubmit": [ + { + "name": "CtsMimeMapTestCases" + } + ] +} diff --git a/luni/src/main/java/libcore/net/TEST_MAPPING b/luni/src/main/java/libcore/net/TEST_MAPPING index 6190b4fcbd..f31705e02e 100644 --- a/luni/src/main/java/libcore/net/TEST_MAPPING +++ b/luni/src/main/java/libcore/net/TEST_MAPPING @@ -10,9 +10,6 @@ "include-filter": "org.apache.harmony.tests.java.net" } ] - }, - { - "name": "CtsMimeMapTestCases" } ] } diff --git a/luni/src/test/java/libcore/libcore/net/MimeMapTest.java b/luni/src/test/java/libcore/libcore/content/type/MimeMapTest.java index c54500805c..04e7b85b2a 100644 --- a/luni/src/test/java/libcore/libcore/net/MimeMapTest.java +++ b/luni/src/test/java/libcore/libcore/content/type/MimeMapTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package libcore.libcore.net; +package libcore.libcore.content.type; import org.junit.After; import org.junit.Before; @@ -26,8 +26,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; -import java.util.function.Function; -import libcore.net.MimeMap; +import libcore.content.type.MimeMap; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/mmodules/core_platform_api/api/platform/current-api.txt b/mmodules/core_platform_api/api/platform/current-api.txt index 4fc669b0bc..15064b0011 100644 --- a/mmodules/core_platform_api/api/platform/current-api.txt +++ b/mmodules/core_platform_api/api/platform/current-api.txt @@ -1075,6 +1075,28 @@ package javax.crypto { } +package libcore.content.type { + + public final class MimeMap { + method public libcore.content.type.MimeMap.Builder buildUpon(); + method public static libcore.content.type.MimeMap.Builder builder(); + method @NonNull public java.util.Set<java.lang.String> extensions(); + method @NonNull public static libcore.content.type.MimeMap getDefault(); + method @Nullable public String guessExtensionFromMimeType(@Nullable String); + method @Nullable public String guessMimeTypeFromExtension(@Nullable String); + method public boolean hasExtension(@Nullable String); + method public boolean hasMimeType(@Nullable String); + method @NonNull public java.util.Set<java.lang.String> mimeTypes(); + method public static void setDefault(@NonNull libcore.content.type.MimeMap); + } + + public static final class MimeMap.Builder { + method public libcore.content.type.MimeMap build(); + method public libcore.content.type.MimeMap.Builder put(@NonNull String, @NonNull java.util.List<java.lang.String>); + } + +} + package libcore.icu { public final class DateIntervalFormat { @@ -1202,24 +1224,6 @@ package libcore.net { method public static java.net.InetAddress parseNumericAddress(String); } - public final class MimeMap { - method public libcore.net.MimeMap.Builder buildUpon(); - method public static libcore.net.MimeMap.Builder builder(); - method @NonNull public java.util.Set<java.lang.String> extensions(); - method @NonNull public static libcore.net.MimeMap getDefault(); - method @Nullable public String guessExtensionFromMimeType(@Nullable String); - method @Nullable public String guessMimeTypeFromExtension(@Nullable String); - method public boolean hasExtension(@Nullable String); - method public boolean hasMimeType(@Nullable String); - method @NonNull public java.util.Set<java.lang.String> mimeTypes(); - method public static void setDefault(@NonNull libcore.net.MimeMap); - } - - public static final class MimeMap.Builder { - method public libcore.net.MimeMap build(); - method public libcore.net.MimeMap.Builder put(@NonNull String, @NonNull java.util.List<java.lang.String>); - } - public abstract class NetworkSecurityPolicy { ctor public NetworkSecurityPolicy(); method public static libcore.net.NetworkSecurityPolicy getInstance(); diff --git a/non_openjdk_java_files.bp b/non_openjdk_java_files.bp index 28fa59e878..c080fcfa40 100644 --- a/non_openjdk_java_files.bp +++ b/non_openjdk_java_files.bp @@ -212,6 +212,7 @@ filegroup { "luni/src/main/java/libcore/api/CorePlatformApi.java", "luni/src/main/java/libcore/api/Hide.java", "luni/src/main/java/libcore/api/IntraCoreApi.java", + "luni/src/main/java/libcore/content/type/MimeMap.java", "luni/src/main/java/libcore/icu/DateIntervalFormat.java", "luni/src/main/java/libcore/icu/ICU.java", "luni/src/main/java/libcore/icu/LocaleData.java", @@ -226,7 +227,6 @@ filegroup { "luni/src/main/java/libcore/io/Os.java", "luni/src/main/java/libcore/io/Streams.java", "luni/src/main/java/libcore/net/InetAddressUtils.java", - "luni/src/main/java/libcore/net/MimeMap.java", "luni/src/main/java/libcore/net/NetworkSecurityPolicy.java", "luni/src/main/java/libcore/net/event/NetworkEventDispatcher.java", "luni/src/main/java/libcore/timezone/CountryTimeZones.java", diff --git a/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java b/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java index b77b082a87..585b673a00 100644 --- a/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java +++ b/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java @@ -37,7 +37,7 @@ import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import libcore.net.MimeMap; +import libcore.content.type.MimeMap; /** * File type detector that uses a file extension to look up its MIME type @@ -46,7 +46,7 @@ import libcore.net.MimeMap; class MimeTypesFileTypeDetector extends AbstractFileTypeDetector { - // BEGIN Android-removed: Delegate to libcore.net.MimeMap. + // BEGIN Android-removed: Delegate to libcore.content.type.MimeMap. /* // path to mime.types file private final Path mimeTypesFile; @@ -61,7 +61,7 @@ class MimeTypesFileTypeDetector extends AbstractFileTypeDetector { mimeTypesFile = filePath; } */ - // END Android-removed: Delegate to libcore.net.MimeMap. + // END Android-removed: Delegate to libcore.content.type.MimeMap. @Override @@ -74,7 +74,7 @@ class MimeTypesFileTypeDetector extends AbstractFileTypeDetector { if (ext.isEmpty()) return null; // no extension - // Android-removed: Delegate to libcore.net.MimeMap. + // Android-removed: Delegate to libcore.content.type.MimeMap. // loadMimeTypes(); // if (mimeTypeMap == null || mimeTypeMap.isEmpty()) // return null; @@ -82,10 +82,10 @@ class MimeTypesFileTypeDetector extends AbstractFileTypeDetector { // Case-sensitive search String mimeType; do { - // BEGIN Android-changed: Delegate to libcore.net.MimeMap. + // BEGIN Android-changed: Delegate to libcore.content.type.MimeMap. // mimeType = mimeTypeMap.get(ext); mimeType = MimeMap.getDefault().guessMimeTypeFromExtension(ext); - // END Android-changed: Delegate to libcore.net.MimeMap. + // END Android-changed: Delegate to libcore.content.type.MimeMap. if (mimeType == null) ext = getExtension(ext); } while (mimeType == null && !ext.isEmpty()); @@ -105,7 +105,7 @@ class MimeTypesFileTypeDetector extends AbstractFileTypeDetector { return ext; } - // BEGIN Android-removed: Delegate to libcore.net.MimeMap. + // BEGIN Android-removed: Delegate to libcore.content.type.MimeMap. /* /** * Parse the mime types file, and store the type-extension mappings into @@ -218,5 +218,5 @@ class MimeTypesFileTypeDetector extends AbstractFileTypeDetector { } } */ - // END Android-removed: Delegate to libcore.net.MimeMap. + // END Android-removed: Delegate to libcore.content.type.MimeMap. } |