protected void fillDates(HtmlMetaHeaders metadata, YElement yElement) { for (YDate yDate : yElement.getDates()) { metadata.addMetadataName(DC_NAMESPACE + SEPARATOR + DublinCoreStrings.E_DATE, yDate.getText()); } }
private DateDTO dateDTOFromYDate(YDate date) { return new DateDTO(date.getType(), date.getText()); }
private Map<String, Object> prepareDates(YElement element, IFilteringContext filteringContext) { Map<String, List<String>> datesMap = new HashMap<String, List<String>>(); ArrayList<DateDTO> datesList = new ArrayList<DateDTO>(); DateDTO publicationDate = null; for (YDate date : element.getDates()) { String type = date.getType(); if (!datesMap.containsKey(type)) { datesMap.put(type, new ArrayList<String>()); } datesMap.get(type).add( detailsFilter.filter(date.getText(), InputType.IDENTIFIER, filteringContext)); if (!type.equals(YConstants.DT_PUBLISHED)) { datesList.add(dateDTOFromYDate(date)); } else { publicationDate = dateDTOFromYDate(date); } } Collections.sort(datesList); publicationDateFirst(datesList, publicationDate); Map<String, Object> result = new HashMap<String, Object>(); result.put("chronology", datesList); result.put("bytype", datesMap); Map<String, String> labels = createLabelsByType(datesMap); result.put("labels", labels); return result; }
protected void fillDates(YElement yElement, List<YExportable> referedElements, Map<String, List<StringWithAttributes>> ret) { // date element if (!yElement.getDates().isEmpty()) { ret.put(E_DATE, new ArrayList<StringWithAttributes>()); } for (YDate yDate : yElement.getDates()) { String yDateStr; String y = String.format("%02d", yDate.getYear()); String m = String.format("%02d", yDate.getMonth()); String d = String.format("%02d", yDate.getDay()); if (y != null && m != null && d != null) { yDateStr = y + "-" + m + "-" + d; } else if (y != null && m != null) { yDateStr = y + "-" + m; } else if (y != null) { yDateStr = y; } else { yDateStr = yDate.getText(); } StringWithAttributes dat = new StringWithAttributes(yDateStr); dat.addAttribute("dateType", yDate.getType()); ret.get(E_DATE).add(dat); // root.addContent(date); } }
@Override public BasicDBObject convert(YDate source) { if(source == null){ return null; } BasicDBObject object = new BasicDBObject(); object.put("year", source.getYear()); object.put("day", source.getDay()); object.put("month", source.getMonth()); object.put("type", source.getType()); object.put("text", source.getText()); DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); String dateString = String.format("%04d%02d%02d", getOneIfZero(source.getYear()), getOneIfZero(source.getMonth()), getOneIfZero(source.getDay())); try { Date parsedDate = dateFormat.parse(dateString); object.put("date", parsedDate); } catch (ParseException e) { LOGGER.warn("Couldn't parse date: " + dateString); } return object; }