public String getImageUrl() { Theme theme = (Theme) getDownloadable(); return theme.getImageUrl(); } }
if (!contains(filterUrls, dataSource.getBaseUrl() + theme.getUri())) continue; ThemeType themeType = createThemeType(theme.getUri(), asChecksums(fileToFragments.keySet()), theme.getImageUrl()); List<FragmentType> fragmentTypes = createFragmentTypes(theme.getFragments(), fileToFragments); if (fragmentTypes != null) themeType.getFragment().addAll(fragmentTypes);
private void updateTheme(DatasourceType datasourceType, Theme theme) { String url = datasourceType.getBaseUrl() + theme.getUri(); log.severe(format("Failed to download %s as a theme", theme.getUri())); return; ThemeType themeType = createThemeType(theme.getUri(), singletonList(checksum), null); datasourceType.getTheme().add(themeType); if (theme.getUri().endsWith(DOT_ZIP)) { List<FragmentType> fragmentTypes = new ArrayList<>(); try (ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(download.getFile().getFile()))) { while (entry != null) { if (!entry.isDirectory()) { log.info(format("Found theme file %s in URI %s", entry.getName(), theme.getUri())); fragmentTypes.add(createFragmentType(entry.getName(), entry, zipInputStream)); log.warning(format("Ignoring %s as a theme", theme.getUri()));
private Set<String> collectURIs(DataSource source) { Set<String> result = new HashSet<>(); switch (type) { case File: for (File file : source.getFiles()) result.add(file.getUri()); break; case Map: for (Map map : source.getMaps()) result.add(map.getUri()); break; case Theme: for (Theme theme : source.getThemes()) result.add(theme.getUri()); break; } return result; }