List<String> findDumpDatesOnline(DumpContentType dumpContentType) {
		List<String> result = new ArrayList<>();
		try (InputStream in = this.webResourceFetcher
				.getInputStreamForUrl(WmfDumpFile.getDumpFileWebDirectory(
						dumpContentType, this.projectName))) {

			BufferedReader bufferedReader = new BufferedReader(
					new InputStreamReader(in, StandardCharsets.UTF_8));
			String inputLine;
			while ((inputLine = bufferedReader.readLine()) != null) {
				String dateStamp = "";
				if (inputLine.startsWith("<tr><td class=\"n\">")) {
					// old format of HTML file lists
					dateStamp = inputLine.substring(27, 35);
				} else if (inputLine.startsWith("<a href=")) {
					// new Jan 2015 of HTML file lists
					dateStamp = inputLine.substring(9, 17);
				}
				if (dateStamp.matches(WmfDumpFileManager.DATE_STAMP_PATTERN)) {
					result.add(dateStamp);
				}
			}
			bufferedReader.close();
		} catch (IOException e) {
			logger.error("Failed to fetch available dump dates online.");
		}

		result.sort(Collections.reverseOrder());
		return result;
	}
List < String > findDumpDatesOnline ( DumpContentType dumpContentType ) { List < String > result = new ArrayList < > ( ) ; try ( InputStream in = this . webResourceFetcher . getInputStreamForUrl ( WmfDumpFile . getDumpFileWebDirectory ( dumpContentType , this . projectName ) ) ) { BufferedReader bufferedReader = new BufferedReader ( new InputStreamReader ( in , StandardCharsets . UTF_8 ) ) ; String inputLine ; while ( ( inputLine = bufferedReader . readLine ( ) ) != null ) { String dateStamp = "" ; if ( inputLine . startsWith ( "<tr><td class=\"n\">" ) ) { dateStamp = inputLine . substring ( 27 , 35 ) ; } else if ( inputLine . startsWith ( "<a href=" ) ) { dateStamp = inputLine . substring ( 9 , 17 ) ; } if ( dateStamp . matches ( WmfDumpFileManager . DATE_STAMP_PATTERN ) ) { result . add ( dateStamp ) ; } } bufferedReader . close ( ) ; } catch ( IOException e ) { logger . error ( "Failed to fetch available dump dates online." ) ; } result . sort ( Collections . reverseOrder ( ) ) ; return result ; }
Finds out which dump files are available for download in a given
directory. The result is a list of YYYYMMDD date stamps, ordered newest
to oldest. The list is based on the directories or files found at the
target location, without considering whether or not each dump is actually
available.
<p>
The implementation is rather uniform since all cases supported thus far
use directory/file names that start with a date stamp. If the date would
occur elsewhere or in another form, then more work would be needed.

@param dumpContentType
the type of dump to consider
@return list of date stamps