Cleanup.
diff --git a/robolectric-resources/src/main/java/org/robolectric/res/OpaqueLoader.java b/robolectric-resources/src/main/java/org/robolectric/res/OpaqueLoader.java
deleted file mode 100644
index f2a6de7..0000000
--- a/robolectric-resources/src/main/java/org/robolectric/res/OpaqueLoader.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.robolectric.res;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-public class OpaqueLoader extends StaxLoader {
- public OpaqueLoader(PackageResourceTable resourceTable, String xpathExpr, String attrType, ResType resType) {
- super(resourceTable, xpathExpr, attrType, resType);
- }
-
- @Override
- public void onStart(XMLStreamReader xml, XmlContext xmlContext) throws XMLStreamException {
- }
-
- @Override
- public void onCharacters(XMLStreamReader xml, XmlContext xmlContext) throws XMLStreamException {
- }
-
- @Override
- public void onEnd(XMLStreamReader xml, XmlContext xmlContext) throws XMLStreamException {
- resourceTable.addResource(attrType, xmlContext.getXmlFile().getBaseName(), new FileTypedResource(xmlContext.getXmlFile(), resType, xmlContext));
- }
-}
diff --git a/robolectric-resources/src/main/java/org/robolectric/res/ResourceTableFactory.java b/robolectric-resources/src/main/java/org/robolectric/res/ResourceTableFactory.java
index 9e2b835..2e73410 100644
--- a/robolectric-resources/src/main/java/org/robolectric/res/ResourceTableFactory.java
+++ b/robolectric-resources/src/main/java/org/robolectric/res/ResourceTableFactory.java
@@ -152,9 +152,13 @@
}
}
- private void loadOpaque(ResourcePath resourcePath, PackageResourceTable resourceTable, String type, ResType resType) {
- new StaxDocumentLoader(resourceTable.getPackageName(), resourcePath, false,
- new OpaqueLoader(resourceTable, "/*", type, resType)
- ).load(type);
+ private void loadOpaque(ResourcePath resourcePath, final PackageResourceTable resourceTable, final String type, final ResType resType) {
+ new StaxDocumentLoader(resourceTable.getPackageName(), resourcePath) {
+ @Override
+ protected void loadResourceXmlFile(XmlContext xmlContext) {
+ resourceTable.addResource(type, xmlContext.getXmlFile().getBaseName(),
+ new FileTypedResource(xmlContext.getXmlFile(), resType, xmlContext));
+ }
+ }.load(type);
}
}
\ No newline at end of file
diff --git a/robolectric-resources/src/main/java/org/robolectric/res/StaxDocumentLoader.java b/robolectric-resources/src/main/java/org/robolectric/res/StaxDocumentLoader.java
index 2d01903..30d6173 100644
--- a/robolectric-resources/src/main/java/org/robolectric/res/StaxDocumentLoader.java
+++ b/robolectric-resources/src/main/java/org/robolectric/res/StaxDocumentLoader.java
@@ -27,19 +27,13 @@
private final String packageName;
private final ResourcePath resourcePath;
- private final boolean parse;
private final StaxLoader[] staxLoaders;
private final NodeHandler topLevelNodeHandler;
private final XMLInputFactory factory;
public StaxDocumentLoader(String packageName, ResourcePath resourcePath, StaxLoader... staxLoaders) {
- this(packageName, resourcePath, true, staxLoaders);
- }
-
- public StaxDocumentLoader(String packageName, ResourcePath resourcePath, boolean parse, StaxLoader... staxLoaders) {
this.packageName = packageName;
this.resourcePath = resourcePath;
- this.parse = parse;
this.staxLoaders = staxLoaders;
topLevelNodeHandler = new NodeHandler();
@@ -76,15 +70,8 @@
XMLStreamReader xmlStreamReader = null;
try {
- if (parse) {
- xmlStreamReader = factory.createXMLStreamReader(xmlFile.getInputStream());
- doParse(xmlStreamReader, xmlContext);
- } else {
- for (StaxLoader staxLoader : staxLoaders) {
- staxLoader.onStart(null, xmlContext);
- staxLoader.onEnd(null, xmlContext);
- }
- }
+ xmlStreamReader = factory.createXMLStreamReader(xmlFile.getInputStream());
+ doParse(xmlStreamReader, xmlContext);
} catch (Exception e) {
throw new RuntimeException("error parsing " + xmlFile, e);
}
@@ -111,12 +98,6 @@
nodeHandlerStack.push(nodeHandler);
NodeHandler elementHandler = nodeHandler.findMatchFor(reader);
nodeHandler = elementHandler == null ? NO_OP_HANDLER : elementHandler;
-
- List<NodeHandler> stack = new ArrayList<>();
- stack.addAll(nodeHandlerStack);
- Collections.reverse(stack);
- stack.remove(0);
-
nodeHandler.onStart(reader, xmlContext);
break;