aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-01-12 22:10:38 +0000
committerGravatar Marcel Hlopko <hlopko@google.com>2017-01-13 10:58:12 +0000
commita676374f6988bee9c489588f95c0fa78c96d63d5 (patch)
tree4d24e5816f68ed320b99e126b93581cdc16ee5de /src/tools
parent98b19e41daf02573c08cb2e02d3a59879cd1e09a (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.java34
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/UnwrittenMergedAndroidData.java48
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);
}
}