@Override public Optional<String> resolveModelPath(String id) { if (getThemeDefinition() == null) { return Optional.absent(); } Map<String, Model> models = getThemeDefinition().getModels(); if (models.containsKey(id)) { return Optional.fromNullable(models.get(id).getFile()); } return Optional.absent(); }
public ThemeDefinition getDefinition() { if (definition != null) { return definition; } if (parent != null) { return parent.getDefinition(); } return new ThemeDefinition(); }
private String generateTemplateId(String layoutName, Optional<Breakpoint> breakpoint) { String themeName = context.getTheme().getDefinition().getName(); String templateId = themeName.length() + themeName + "_" + breakpoint.toString().length() + breakpoint.toString() + "_" + layoutName.length() + layoutName; return "" + templateId.hashCode(); }
@Override public Object get() { Map<String, Map<String, Object>> entities = Maps.newLinkedHashMap(); for (EntityMeta meta : entityMetaRegistry.getEntities()) { Map data = Maps.newHashMap(); entities.put(meta.getEntityName(), data); } Theme theme = context.getTheme(); if (theme != null) { addAddons(entities, theme.getDefinition().getAddons(), AddonSource.THEME); addModels(entities, theme.getDefinition().getModels()); addImageFormats(entities, theme.getDefinition().getImageFormats(), AddonSource.THEME); addTypes(entities, theme.getDefinition().getProductTypes()); } addAddons(entities, platformSettings.getAddons(), AddonSource.PLATFORM); addImageFormats(entities, platformSettings.getImages(), AddonSource.PLATFORM); addModels(entities, platformSettings.getModels()); for (String entity : entities.keySet()) { for (EntityConfigurationContributor contributor : contributors.values()) { if (contributor.contributesTo().equals(entity)) { contributor.contribute(entities.get(entity)); } } } return entities; }
private Optional<AddonGroupDefinition> findGroupDefinition(String groupName) { // First, find it in platform (has priority) if (platformSettings.getAddons().containsKey(groupName)) { return Optional.of(platformSettings.getAddons().get(groupName)); } // Then, in theme if (context.getTheme() != null && context.getTheme().getDefinition() != null && context.getTheme().getDefinition().getAddons().containsKey(groupName)) { return Optional.of(context.getTheme().getDefinition().getAddons().get(groupName)); } return Optional.absent(); } }
public ImageContext createPlaceholderImageContext(boolean featured) { ImageContext context = new ImageContext("http://placehold.it/800x800"); if (theme != null && theme.getImageFormats().size() > 0) { for (String dimensionName : theme.getImageFormats().keySet()) { // Note: if only one dimension is passed for an image format (it means the image format is supposed // to respect the original image aspect ratio according to the one dimension passed), we present the // placeholder image as a square. ImageFormatDefinition definition = theme.getImageFormats().get(dimensionName); String url = MessageFormat.format("http://placehold.it/{0,number,#}x{1,number,#}", definition.getWidth() != null ? definition.getWidth() : definition.getHeight(), definition.getHeight() != null ? definition.getHeight() : definition.getWidth()); context.put("theme_" + dimensionName + "_" + ContextConstants.URL, url); } } return context; }
sources[0] = platformSettings.getAddons(); if (webContext.getTheme() != null) { sources[1] = webContext.getTheme().getDefinition().getAddons();
image.getAttachment().getExtension())); if (theme != null && theme.getImageFormats().size() > 0) { for (String dimensionName : theme.getImageFormats().keySet()) { ImageFormatDefinition definition = theme.getImageFormats().get(dimensionName); Optional<Thumbnail> bestFit = findBestFit(image, definition.getWidth(), definition.getHeight());