@Override public FlavorDescriptor clone() { FlavorDescriptor clone = new FlavorDescriptor(); clone.setName(getName()); clone.setLabel(getLabel()); LogoDescriptor logo = getLogo(); if (logo != null) { clone.setLogo(logo.clone()); PalettePreview pp = getPalettePreview(); if (pp != null) { clone.setPalettePreview(pp.clone()); clone.setExtendsFlavor(getExtendsFlavor()); clone.setAppendPresets(getAppendPresets()); List<FlavorPresets> presets = getPresets(); if (presets != null) { List<FlavorPresets> newPresets = new ArrayList<FlavorPresets>(); clone.setPresets(newPresets); clone.setAppendSass(getAppendSass()); List<SassImport> sassVariables = getSassImports(); if (sassVariables != null) { List<SassImport> cSassVariables = new ArrayList<SassImport>(); clone.setSassImports(cSassVariables); List<IconDescriptor> favicons = getFavicons(); if (favicons != null) {
@Override public FlavorDescriptor getFlavor(String flavorName) { if (flavorReg != null) { FlavorDescriptor flavor = flavorReg.getFlavor(flavorName); if (flavor != null) { FlavorDescriptor clone = flavor.clone(); clone.setLogo(computeLogo(flavor, new ArrayList<>())); clone.setPalettePreview(computePalettePreview(flavor, new ArrayList<>())); clone.setFavicons(computeIcons(flavor, new ArrayList<>())); return clone; } } return null; }
protected PalettePreview computePalettePreview(FlavorDescriptor flavor, List<String> flavors) { if (flavor != null) { PalettePreview localPalette = flavor.getPalettePreview(); if (localPalette == null) { String extendsFlavorName = flavor.getExtendsFlavor(); if (!StringUtils.isBlank(extendsFlavorName)) { if (flavors.contains(extendsFlavorName)) { // cyclic dependency => abort log.error("Cyclic dependency detected in flavor '" + flavor.getName() + "' hierarchy"); return null; } else { // retrieved the extended colors flavors.add(flavor.getName()); FlavorDescriptor extendedFlavor = getFlavor(extendsFlavorName); if (extendedFlavor != null) { localPalette = computePalettePreview(extendedFlavor, flavors); } else { log.warn("Extended flavor '" + extendsFlavorName + "' not found"); } } } } return localPalette; } return null; }
public void merge(FlavorDescriptor src) { String newExtend = src.getExtendsFlavor(); if (newExtend != null) { setExtendsFlavor(newExtend); String newLabel = src.getLabel(); if (newLabel != null) { setLabel(newLabel); LogoDescriptor logo = src.getLogo(); if (logo != null) { LogoDescriptor newLogo = getLogo(); if (newLogo == null) { newLogo = logo.clone(); setLogo(newLogo); PalettePreview pp = src.getPalettePreview(); if (pp != null) { setPalettePreview(pp); List<FlavorPresets> newPresets = src.getPresets(); if (newPresets != null) { List<FlavorPresets> merged = new ArrayList<FlavorPresets>(); merged.addAll(newPresets); boolean keepOld = src.getAppendPresets() || (newPresets.isEmpty() && !src.getAppendPresets()); if (keepOld) { List<FlavorPresets> oldPresets = getPresets(); if (oldPresets != null) {
protected List<IconDescriptor> computeIcons(FlavorDescriptor flavor, List<String> flavors) { if (flavor != null) { List<IconDescriptor> localIcons = flavor.getFavicons(); if (localIcons == null || localIcons.isEmpty()) { String extendsFlavorName = flavor.getExtendsFlavor(); if (!StringUtils.isBlank(extendsFlavorName)) { if (flavors.contains(extendsFlavorName)) { // cyclic dependency => abort log.error("Cyclic dependency detected in flavor '" + flavor.getName() + "' hierarchy"); return null; } else { // retrieved the extended icons flavors.add(flavor.getName()); FlavorDescriptor extendedFlavor = getFlavor(extendsFlavorName); if (extendedFlavor != null) { localIcons = computeIcons(extendedFlavor, flavors); } else { log.warn("Extended flavor '" + extendsFlavorName + "' not found"); } } } } return localIcons; } return null; }
protected LogoDescriptor computeLogo(FlavorDescriptor flavor, List<String> flavors) { if (flavor != null) { LogoDescriptor localLogo = flavor.getLogo(); if (localLogo == null) { String extendsFlavorName = flavor.getExtendsFlavor(); if (!StringUtils.isBlank(extendsFlavorName)) { if (flavors.contains(extendsFlavorName)) { // cyclic dependency => abort log.error("Cyclic dependency detected in flavor '" + flavor.getName() + "' hierarchy"); return null; } else { // retrieved the extended logo flavors.add(flavor.getName()); FlavorDescriptor extendedFlavor = getFlavor(extendsFlavorName); if (extendedFlavor != null) { localLogo = computeLogo(extendedFlavor, flavors); } else { log.warn("Extended flavor '" + extendsFlavorName + "' not found"); } } } } return localLogo; } return null; }
protected List<FlavorPresets> computePresets(FlavorDescriptor flavor, List<String> flavors) { List<FlavorPresets> presets = new ArrayList<>(); if (flavor != null) { List<FlavorPresets> localPresets = flavor.getPresets(); if (localPresets != null) { presets.addAll(localPresets); } String extendsFlavorName = flavor.getExtendsFlavor(); if (!StringUtils.isBlank(extendsFlavorName)) { if (flavors.contains(extendsFlavorName)) { // cyclic dependency => abort log.error("Cyclic dependency detected in flavor '" + flavor.getName() + "' hierarchy"); return presets; } else { // retrieve the extended presets flavors.add(flavor.getName()); FlavorDescriptor extendedFlavor = getFlavor(extendsFlavorName); if (extendedFlavor != null) { List<FlavorPresets> parentPresets = computePresets(extendedFlavor, flavors); if (parentPresets != null) { presets.addAll(0, parentPresets); } } else { log.warn("Extended flavor '" + extendsFlavorName + "' not found"); } } } } return presets; }
protected void registerFlavor(FlavorDescriptor flavor, RuntimeContext extensionContext) { List<FlavorPresets> presets = flavor.getPresets(); if (presets != null) { for (FlavorPresets myPreset : presets) { List<SassImport> sassVars = flavor.getSassImports(); if (sassVars != null) { for (SassImport var : sassVars) {
/** * Returns favicons for current flavor. * * @since 7.4 */ public List<IconDescriptor> getFavicons() { if (currentFavicons == null) { String flavor = getCurrentFlavor(); FlavorDescriptor f = themeStylingService.getFlavor(flavor); currentFavicons = new ArrayList<IconDescriptor>(); if (f != null) { List<IconDescriptor> icons = f.getFavicons(); currentFavicons.addAll(icons); } } return currentFavicons; }
FlavorDescriptor fd = s.getFlavor(flavorName); if (fd != null) { List<SassImport> sassVars = fd.getSassImports(); if (sassVars != null) { for (SassImport var : sassVars) {
@Override public String getContributionId(FlavorDescriptor contrib) { return contrib.getName(); }
@Override public FlavorDescriptor clone(FlavorDescriptor orig) { if (orig == null) { return null; } return orig.clone(); }
public List<FlavorDescriptor> getFlavorsExtending(String flavor) { List<FlavorDescriptor> res = new ArrayList<FlavorDescriptor>(); for (FlavorDescriptor f : themePageFlavors.values()) { if (f != null) { String extendsFlavor = f.getExtendsFlavor(); if (!StringUtils.isBlank(extendsFlavor) && extendsFlavor.equals(flavor)) { res.add(f); } } } return res; }
@Override public LogoDescriptor getLogo(String flavorName) { FlavorDescriptor flavor = getFlavor(flavorName); if (flavor != null) { return flavor.getLogo(); } return null; }
protected Map<String, Map<String, String>> getPresetsByCat(FlavorDescriptor flavor) { String flavorName = flavor.getName(); List<FlavorPresets> presets = computePresets(flavor, new ArrayList<>()); Map<String, Map<String, String>> presetsByCat = new HashMap<>();
if (contribution instanceof FlavorDescriptor) { FlavorDescriptor flavor = (FlavorDescriptor) contribution; log.info(String.format("Register flavor '%s'", flavor.getName())); registerFlavor(flavor, contributor.getContext()); log.info(String.format("Done registering flavor '%s'", flavor.getName())); } else if (contribution instanceof SimpleStyle) { SimpleStyle style = (SimpleStyle) contribution;