package hudson.plugins.accurev.parsers.xml;
import hudson.plugins.accurev.AccurevLauncher.ICmdOutputXmlParser;
import hudson.plugins.accurev.AccurevLauncher.UnhandledAccurevCommandOutput;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public final class ParseShowDepots implements ICmdOutputXmlParser<List<String>, Void> {
public List<String> parse(XmlPullParser parser, Void context) throws UnhandledAccurevCommandOutput,
IOException, XmlPullParserException {
final List<String> depots = new ArrayList<>();
while (parser.next() != XmlPullParser.END_DOCUMENT) {
if (parser.getEventType() == XmlPullParser.START_TAG && "element".equalsIgnoreCase(parser.getName())) {
final String name = parser.getAttributeValue("", "Name");
if (name != null) depots.add(name);
}
}
return depots;
}
}