diff options
author | 2017-01-12 22:10:38 +0000 | |
---|---|---|
committer | 2017-01-13 10:58:12 +0000 | |
commit | a676374f6988bee9c489588f95c0fa78c96d63d5 (patch) | |
tree | 4d24e5816f68ed320b99e126b93581cdc16ee5de /src/tools | |
parent | 98b19e41daf02573c08cb2e02d3a59879cd1e09a (diff) |
Move the serialize and write functionality from UnwrittenMergedAndroidData to ParsedAndroidData. This improves reuse.
--
PiperOrigin-RevId: 144369566
MOS_MIGRATED_REVID=144369566
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java | 34 | ||||
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java | 48 |
2 files changed, 41 insertions, 41 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java b/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java index e1d29d0515..6ec76a0a99 100644 --- a/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java +++ b/src/tools/android/java/com/google/devtools/build/android/ParsedAndroidData.java @@ -475,16 +475,46 @@ public class ParsedAndroidData { public boolean containsCombineable(DataKey key) { return combiningResources.containsKey(key); } - + public DataResource getOverwritable(DataKey name) { return overwritingResources.get(name); } + void writeResourcesTo(AndroidResourceClassWriter writer) { + for (Entry<DataKey, DataResource> resource : iterateDataResourceEntries()) { + resource.getValue().writeResourceToClass((FullyQualifiedName) resource.getKey(), writer); + } + } + + void writeResourcesTo(AndroidDataWriter writer) throws MergingException { + for (Entry<DataKey, DataResource> resource : iterateDataResourceEntries()) { + resource.getValue().writeResource((FullyQualifiedName) resource.getKey(), writer); + } + } + + void serializeResourcesTo(AndroidDataSerializer serializer) { + for (Entry<DataKey, DataResource> resource : iterateDataResourceEntries()) { + serializer.queueForSerialization(resource.getKey(), resource.getValue()); + } + } + + void writeAssetsTo(AndroidDataWriter writer) throws IOException { + for (Entry<DataKey, DataAsset> resource : iterateAssetEntries()) { + resource.getValue().writeAsset((RelativeAssetPath) resource.getKey(), writer); + } + } + + void serializeAssetsTo(AndroidDataSerializer serializer) { + for (Entry<DataKey, DataAsset> resource : iterateAssetEntries()) { + serializer.queueForSerialization(resource.getKey(), resource.getValue()); + } + } + Iterable<Entry<DataKey, DataResource>> iterateOverwritableEntries() { return overwritingResources.entrySet(); } - Iterable<Entry<DataKey, DataResource>> iterateDataResourceEntries() { + private Iterable<Entry<DataKey, DataResource>> iterateDataResourceEntries() { return Iterables.concat(overwritingResources.entrySet(), combiningResources.entrySet()); } diff --git a/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java b/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java index cefd4454cd..c272a3a454 100644 --- a/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java +++ b/src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java @@ -13,11 +13,9 @@ // limitations under the License. package com.google.devtools.build.android; +import com.android.ide.common.res2.MergingException; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; - -import com.android.ide.common.res2.MergingException; - import java.io.IOException; import java.nio.file.Path; import java.util.Map.Entry; @@ -55,8 +53,10 @@ public class UnwrittenMergedAndroidData { public MergedAndroidData write(AndroidDataWriter mergedDataWriter) throws IOException, MergingException { try { - writeParsedAndroidData(primary, mergedDataWriter); - writeParsedAndroidData(transitive, mergedDataWriter); + primary.writeAssetsTo(mergedDataWriter); + primary.writeResourcesTo(mergedDataWriter); + transitive.writeAssetsTo(mergedDataWriter); + transitive.writeResourcesTo(mergedDataWriter); return new MergedAndroidData( mergedDataWriter.resourceDirectory(), mergedDataWriter.assetDirectory(), @@ -68,42 +68,13 @@ public class UnwrittenMergedAndroidData { } } - private void writeParsedAndroidData( - ParsedAndroidData resources, AndroidDataWritingVisitor mergedDataWriter) - throws IOException, MergingException { - for (Entry<DataKey, DataAsset> entry : resources.iterateAssetEntries()) { - // TODO(corysmith): Resolve the nit of casting to a RelativeAssetPath by sorting - // out the type structure and generics of DataKey, ParsedAndroidData, AndroidDataMerger and - // MergeConflict. - entry.getValue().writeAsset((RelativeAssetPath) entry.getKey(), mergedDataWriter); - } - for (Entry<DataKey, DataResource> entry : resources.iterateDataResourceEntries()) { - // TODO(corysmith): Resolve the nit of casting to a FullyQualifiedName by sorting - // out the type structure and generics of DataKey, ParsedAndroidData, AndroidDataMerger and - // MergeConflict. - entry.getValue().writeResource((FullyQualifiedName) entry.getKey(), mergedDataWriter); - } - } - public void writeResourceClass(AndroidResourceClassWriter resourceClassWriter) throws IOException { - writeResourceClassItems(primary, resourceClassWriter); - writeResourceClassItems(transitive, resourceClassWriter); + primary.writeResourcesTo(resourceClassWriter); + transitive.writeResourcesTo(resourceClassWriter); resourceClassWriter.flush(); } - private void writeResourceClassItems( - ParsedAndroidData resources, AndroidResourceClassWriter resourceClassWriter) - throws IOException { - for (Entry<DataKey, DataResource> entry : resources.iterateDataResourceEntries()) { - // TODO(corysmith): Resolve the nit of casting to a FullyQualifiedName by sorting - // out the type structure and generics of DataKey, ParsedAndroidData, AndroidDataMerger and - // MergeConflict. - entry.getValue() - .writeResourceToClass((FullyQualifiedName) entry.getKey(), resourceClassWriter); - } - } - @Override public String toString() { return MoreObjects.toStringHelper(this) @@ -151,8 +122,7 @@ public class UnwrittenMergedAndroidData { for (Entry<DataKey, DataAsset> entry : primary.iterateAssetEntries()) { serializer.queueForSerialization(entry.getKey(), entry.getValue()); } - for (Entry<DataKey, DataResource> entry : primary.iterateDataResourceEntries()) { - serializer.queueForSerialization(entry.getKey(), entry.getValue()); - } + primary.serializeAssetsTo(serializer); + primary.serializeResourcesTo(serializer); } } |