public static void getAllHolidays(Configuration config, Set<de.jollyday.config.Holiday> allHolidays) { Holidays holidays = config.getHolidays(); getAllHolidays(holidays, allHolidays); List<Configuration> subConfigs = config.getSubConfigurations(); for (Configuration c:subConfigs) { getAllHolidays(c, allHolidays); } }
Map<String, Integer> hierarchyMap = new HashMap<>(); Set<String> multipleHierarchies = new HashSet<>(); for (Configuration subConfig : c.getSubConfigurations()) { String hierarchy = subConfig.getHierarchy(); if (!hierarchyMap.containsKey(hierarchy)) { for (Configuration subConfig : c.getSubConfigurations()) { validateConfigurationHierarchy(subConfig);
/** * Logs the hierarchy structure. * * @param c * Configuration to log hierarchy for. * @param level * a int. */ protected static void logHierarchy(final Configuration c, int level) { if (LOG.isLoggable(Level.FINER)) { StringBuilder space = new StringBuilder(); for (int i = 0; i < level; i++) { space.append("-"); } LOG.finer(space + " " + c.getDescription() + "(" + c.getHierarchy() + ")."); for (Configuration sub : c.getSubConfigurations()) { logHierarchy(sub, level + 1); } } }
public static void getAllHolidays(Configuration config, Set<de.jollyday.config.Holiday> allHolidays) { Holidays holidays = config.getHolidays(); getAllHolidays(holidays, allHolidays); List<Configuration> subConfigs = config.getSubConfigurations(); for (Configuration c:subConfigs) { getAllHolidays(c, allHolidays); } }
public static void getAllHolidays(Configuration config, Set<de.jollyday.config.Holiday> allHolidays) { Holidays holidays = config.getHolidays(); getAllHolidays(holidays, allHolidays); List<Configuration> subConfigs = config.getSubConfigurations(); for (Configuration c:subConfigs) { getAllHolidays(c, allHolidays); } }
/** * Parses the provided configuration for the provided year and fills the * list of holidays. * * @param year the year to get the holidays for * @param c the holiday configuration * @param holidaySet the set of holidays * @param args the arguments to descend down the configuration tree */ private void getHolidays(int year, final Configuration c, Set<Holiday> holidaySet, final String... args) { if (LOG.isLoggable(Level.FINER)) { LOG.finer("Adding holidays for " + c.getDescription()); } parseHolidays(year, holidaySet, c.getHolidays()); if (args != null && args.length > 0) { String hierarchy = args[0]; for (Configuration config : c.getSubConfigurations()) { if (hierarchy.equalsIgnoreCase(config.getHierarchy())) { getHolidays(year, config, holidaySet, copyOfRange(args, 1, args.length)); break; } } } }
/** * Creates the configuration hierarchy for the provided configuration. * * @param c the full configuration * @param h the calendars hierarchy * @return configuration hierarchy */ private static CalendarHierarchy createConfigurationHierarchy(final Configuration c, CalendarHierarchy h) { h = new CalendarHierarchy(h, c.getHierarchy()); h.setFallbackDescription(c.getDescription()); for (Configuration sub : c.getSubConfigurations()) { CalendarHierarchy subHierarchy = createConfigurationHierarchy(sub, h); h.getChildren().put(subHierarchy.getId(), subHierarchy); } return h; }