Example usage for org.joda.time.format DateTimeFormatter print

List of usage examples for org.joda.time.format DateTimeFormatter print

Introduction

In this page you can find the example usage for org.joda.time.format DateTimeFormatter print.

Prototype

public String print(ReadablePartial partial) 

Source Link

Document

Prints a ReadablePartial to a new String.

Usage

From source file:com.sonicle.webtop.calendar.PublicService.java

License:Open Source License

private String buildWhenString(Calendar calendar, Event event) {
    CoreUserSettings cus = new CoreUserSettings(calendar.getProfileId());
    String pattern = cus.getShortDateFormat() + " " + cus.getShortTimeFormat();
    DateTimeZone etz = DateTimeZone.forID(event.getTimezone());
    DateTimeFormatter dtFmt = DateTimeUtils.createFormatter(pattern, etz);
    return MessageFormat.format("{0} - {1}", dtFmt.print(event.getStartDate()),
            dtFmt.print(event.getEndDate()));
}

From source file:com.sonicle.webtop.calendar.Service.java

License:Open Source License

@Override
public ServiceVars returnServiceVars() {
    DateTimeFormatter hmf = DateTimeUtils.createHmFormatter();
    ServiceVars co = new ServiceVars();
    co.put("calendarRemoteSyncEnabled", ss.getCalendarRemoteAutoSyncEnabled());
    co.put("eventStatFieldsVisible", ss.getEventStatisticFieldsVisible());
    co.put("defaultCalendarSync", EnumUtils.toSerializedName(ss.getDefaultCalendarSync()));
    co.put("view", us.getView());
    co.put("workdayStart", hmf.print(us.getWorkdayStart()));
    co.put("workdayEnd", hmf.print(us.getWorkdayEnd()));
    return co;/*from  w  ww  . j  a v a 2s . c o m*/
}

From source file:com.sonicle.webtop.calendar.Service.java

License:Open Source License

public void processExportForErp(HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
    UserProfile up = getEnv().getProfile();

    try {//from  w w w  .j a  v a 2  s  .c o  m
        String op = ServletUtils.getStringParameter(request, "op", true);
        if (op.equals("do")) {
            String fromDate = ServletUtils.getStringParameter(request, "fromDate", true);
            String toDate = ServletUtils.getStringParameter(request, "toDate", true);

            DateTimeFormatter ymd = DateTimeUtils.createYmdFormatter(up.getTimeZone());
            erpWizard = new ErpExportWizard();
            erpWizard.fromDate = ymd.parseDateTime(fromDate).withTimeAtStartOfDay();
            erpWizard.toDate = DateTimeUtils.withTimeAtEndOfDay(ymd.parseDateTime(toDate));

            LogEntries log = new LogEntries();
            File file = WT.createTempFile();

            try {
                DateTimeFormatter ymd2 = DateTimeUtils.createFormatter("yyyyMMdd", up.getTimeZone());
                DateTimeFormatter ymdhms = DateTimeUtils.createFormatter("yyyy-MM-dd HH:mm:ss",
                        up.getTimeZone());

                try (FileOutputStream fos = new FileOutputStream(file)) {
                    log.addMaster(new MessageLogEntry(LogEntry.Level.INFO, "Started on {0}",
                            ymdhms.print(new DateTime())));
                    manager.exportEvents(log, erpWizard.fromDate, erpWizard.toDate, fos);
                    log.addMaster(new MessageLogEntry(LogEntry.Level.INFO, "Ended on {0}",
                            ymdhms.print(new DateTime())));
                    erpWizard.file = file;
                    erpWizard.filename = MessageFormat.format(ERP_EXPORT_FILENAME, up.getDomainId(),
                            ymd2.print(erpWizard.fromDate), ymd2.print(erpWizard.fromDate), "csv");
                    log.addMaster(
                            new MessageLogEntry(LogEntry.Level.INFO, "File ready: {0}", erpWizard.filename));
                    log.addMaster(new MessageLogEntry(LogEntry.Level.INFO, "Operation completed succesfully"));
                    new JsonResult(new JsWizardData(log.print())).printTo(out);
                }
            } catch (Throwable t) {
                logger.error("Error generating export", t);
                file.delete();
                new JsonResult(new JsWizardData(log.print())).setSuccess(false).printTo(out);
            }
        }

    } catch (Exception ex) {
        logger.error("Error in ExportForErp", ex);
        new JsonResult(false, ex.getMessage()).printTo(out);
    }
}

From source file:com.sonicle.webtop.calendar.Service.java

License:Open Source License

public void processGetPlanning(HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
    CoreUserSettings cus = getEnv().getCoreUserSettings();
    CoreManager core = WT.getCoreManager();
    ArrayList<MapItem> items = new ArrayList<>();
    Connection con = null;/*from   w  ww  . java2s  . c  o  m*/

    try {
        String eventStartDate = ServletUtils.getStringParameter(request, "startDate", true);
        String eventEndDate = ServletUtils.getStringParameter(request, "endDate", true);
        String timezone = ServletUtils.getStringParameter(request, "timezone", true);
        JsEvent.Attendee.List attendees = ServletUtils.getObjectParameter(request, "attendees",
                new JsEvent.Attendee.List(), JsEvent.Attendee.List.class);
        //JsAttendeeList attendees = ServletUtils.getObjectParameter(request, "attendees", new JsAttendeeList(), JsAttendeeList.class);

        // Parses string parameters
        DateTimeZone eventTz = DateTimeZone.forID(timezone);
        DateTime eventStartDt = DateTimeUtils.parseYmdHmsWithZone(eventStartDate, eventTz);
        DateTime eventEndDt = DateTimeUtils.parseYmdHmsWithZone(eventEndDate, eventTz);

        UserProfile up = getEnv().getProfile();
        DateTimeZone profileTz = up.getTimeZone();

        LocalTime localStartTime = eventStartDt.toLocalTime();
        LocalTime localEndTime = eventEndDt.toLocalTime();
        LocalTime fromTime = DateTimeUtils.min(localStartTime, us.getWorkdayStart());
        LocalTime toTime = DateTimeUtils.max(localEndTime, us.getWorkdayEnd());

        // Defines useful date/time formatters
        DateTimeFormatter ymdhmFmt = DateTimeUtils.createYmdHmFormatter();
        DateTimeFormatter tFmt = DateTimeUtils.createFormatter(cus.getShortTimeFormat());
        DateTimeFormatter dFmt = DateTimeUtils.createFormatter(cus.getShortDateFormat());

        ArrayList<String> spans = manager.generateTimeSpans(60, eventStartDt.toLocalDate(),
                eventEndDt.toLocalDate(), us.getWorkdayStart(), us.getWorkdayEnd(), profileTz);

        // Generates fields and columnsInfo dynamically
        ArrayList<FieldMeta> fields = new ArrayList<>();
        ArrayList<GridColumnMeta> colsInfo = new ArrayList<>();

        GridColumnMeta col = null;
        fields.add(new FieldMeta("recipient"));
        colsInfo.add(new GridColumnMeta("recipient"));
        for (String spanKey : spans) {
            LocalDateTime ldt = ymdhmFmt.parseLocalDateTime(spanKey);
            fields.add(new FieldMeta(spanKey));
            col = new GridColumnMeta(spanKey, tFmt.print(ldt));
            col.put("date", dFmt.print(ldt));
            col.put("overlaps", (ldt.compareTo(eventStartDt.toLocalDateTime()) >= 0)
                    && (ldt.compareTo(eventEndDt.toLocalDateTime()) < 0));
            colsInfo.add(col);
        }

        // Collects attendees availability...
        OUser user = null;
        UserProfileId profileId = null;
        LinkedHashSet<String> busyHours = null;
        MapItem item = null;
        for (JsEvent.Attendee attendee : attendees) {
            item = new MapItem();
            item.put("recipient", attendee.recipient);

            user = guessUserByAttendee(core, attendee.recipient);
            if (user != null) {
                profileId = new UserProfileId(user.getDomainId(), user.getUserId());
                busyHours = manager.calculateAvailabilitySpans(60, profileId, eventStartDt.withTime(fromTime),
                        eventEndDt.withTime(toTime), eventTz, true);
                for (String hourKey : spans) {
                    item.put(hourKey, busyHours.contains(hourKey) ? "busy" : "free");
                }
            } else {
                for (String spanKey : spans) {
                    item.put(spanKey, "unknown");
                }
            }
            items.add(item);
        }

        GridMetadata meta = new GridMetadata(true);
        meta.setFields(fields);
        meta.setColumnsInfo(colsInfo);
        new JsonResult(items, meta, items.size()).printTo(out);

    } catch (Exception ex) {
        logger.error("Error in GetPlanning", ex);
        new JsonResult(false, "Error").printTo(out);

    } finally {
        DbUtils.closeQuietly(con);
    }
}

From source file:com.sonicle.webtop.calendar.TplHelper.java

License:Open Source License

private static String buildEventTitle(Locale locale, String dateFormat, String timeFormat,
        EventFootprint event) {/*from w  w w .j a va2s .  c  o m*/
    DateTimeZone etz = DateTimeZone.forID(event.getTimezone());
    DateTimeFormatter fmt = DateTimeUtils.createFormatter(dateFormat + " " + timeFormat, etz);
    StringBuilder sb = new StringBuilder();

    sb.append(StringUtils.abbreviate(event.getTitle(), 30));
    sb.append(" @");

    if (!StringUtils.isEmpty(event.getRecurrenceRule())) {
        RRuleStringify.Strings strings = WT.getRRuleStringifyStrings(locale);
        RRuleStringify rrs = new RRuleStringify(strings, etz);
        sb.append(" (");
        sb.append(rrs.toHumanReadableFrequencyQuietly(event.getRecurrenceRule()));
        sb.append(")");
    }

    //TODO: solo l'orario se date coincidono!!!
    sb.append(" ");
    sb.append(fmt.print(event.getStartDate()));
    sb.append(" - ");
    sb.append(fmt.print(event.getEndDate()));

    return sb.toString();
}

From source file:com.sonicle.webtop.calendar.TplHelper.java

License:Open Source License

public static String buildEventModificationBody(Locale locale, String dateFormat, String timeFormat,
        EventFootprint event) throws IOException, TemplateException, AddressException {
    DateTimeZone etz = DateTimeZone.forID(event.getTimezone());

    MapItem i18n = new MapItem();
    i18n.put("whenStart",
            WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_START));
    i18n.put("whenEnd", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_END));
    i18n.put("where", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE));
    i18n.put("whereMap", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE_MAP));

    DateTimeFormatter fmt = DateTimeUtils.createFormatter(dateFormat + " " + timeFormat, etz);
    MapItem evt = new MapItem();
    evt.put("timezone", event.getTimezone());
    evt.put("startDate", fmt.print(event.getStartDate()));
    evt.put("endDate", fmt.print(event.getEndDate()));
    evt.put("occurs", null);
    if (!StringUtils.isEmpty(event.getRecurrenceRule())) {
        RRuleStringify.Strings strings = WT.getRRuleStringifyStrings(locale);
        RRuleStringify rrs = new RRuleStringify(strings, etz);
        evt.put("occurs", rrs.toHumanReadableTextQuietly(event.getRecurrenceRule()));
    }//from w  w w . j  a  v  a 2  s  .c om
    evt.put("location", StringUtils.defaultIfBlank(event.getLocation(), null));
    evt.put("locationUrl", TplHelper.buildGoogleMapsUrl(event.getLocation()));

    MapItem vars = new MapItem();
    vars.put("i18n", i18n);
    vars.put("event", evt);

    return WT.buildTemplate(SERVICE_ID, "tpl/email/eventModification-body.html", vars);
}

From source file:com.sonicle.webtop.calendar.TplHelper.java

License:Open Source License

public static String buildTplEventInvitationBody(Locale locale, String dateFormat, String timeFormat,
        Event event, String crud, String recipientEmail, String servicePublicUrl)
        throws IOException, TemplateException, AddressException {
    DateTimeZone etz = DateTimeZone.forID(event.getTimezone());

    MapItem i18n = new MapItem();
    i18n.put("whenStart",
            WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_START));
    i18n.put("whenEnd", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_END));
    i18n.put("where", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE));
    i18n.put("whereMap", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE_MAP));
    i18n.put("organizer", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_ORGANIZER));
    i18n.put("who", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHO));
    i18n.put("going", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_GOING));
    i18n.put("goingToAll",
            WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_GOINGTOALL));
    i18n.put("goingYes", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_GOING_YES));
    i18n.put("goingMaybe",
            WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_GOING_MAYBE));
    i18n.put("goingNo", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_GOING_NO));
    i18n.put("view", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_VIEW));

    DateTimeFormatter fmt = DateTimeUtils.createFormatter(dateFormat + " " + timeFormat, etz);
    MapItem evt = new MapItem();
    evt.put("title", StringUtils.defaultIfBlank(event.getTitle(), ""));
    evt.put("description", StringUtils.defaultIfBlank(event.getDescription(), null));
    evt.put("timezone", event.getTimezone());
    evt.put("startDate", fmt.print(event.getStartDate()));
    evt.put("endDate", fmt.print(event.getEndDate()));
    evt.put("occurs", null);
    if (!StringUtils.isEmpty(event.getRecurrenceRule())) {
        RRuleStringify.Strings strings = WT.getRRuleStringifyStrings(locale);
        RRuleStringify rrs = new RRuleStringify(strings, etz);
        evt.put("occurs", rrs.toHumanReadableTextQuietly(event.getRecurrenceRule()));
    }// ww  w. j  av a2 s . c o m
    evt.put("location", StringUtils.defaultIfBlank(event.getLocation(), null));
    evt.put("locationUrl", TplHelper.buildGoogleMapsUrl(event.getLocation()));
    evt.put("organizer", StringUtils.defaultIfBlank(event.getOrganizerCN(), event.getOrganizerAddress()));

    String recipientAttendeeId = null;
    MapItemList evtAtts = new MapItemList();
    for (EventAttendee attendee : event.getAttendees()) {
        MapItem item = new MapItem();
        String cn = attendee.getCN();
        String address = attendee.getAddress();
        if (StringUtils.equals(address, recipientEmail))
            recipientAttendeeId = attendee.getAttendeeId();
        item.put("cn", StringUtils.isBlank(cn) ? null : cn);
        item.put("address", StringUtils.isBlank(address) ? null : address);
        evtAtts.add(item);
    }

    String viewUrl = CalendarManager.buildEventPublicUrl(servicePublicUrl, event.getPublicUid());

    MapItem vars = new MapItem();
    vars.put("i18n", i18n);
    vars.put("event", evt);
    vars.put("eventAttendees", evtAtts);
    if (!StringUtils.equals(crud, "delete")) {
        vars.put("replyYesUrl",
                (recipientAttendeeId == null) ? null
                        : CalendarManager.buildEventReplyPublicUrl(servicePublicUrl, event.getPublicUid(),
                                recipientAttendeeId, "yes"));
        vars.put("replyMaybeUrl",
                (recipientAttendeeId == null) ? null
                        : CalendarManager.buildEventReplyPublicUrl(servicePublicUrl, event.getPublicUid(),
                                recipientAttendeeId, "maybe"));
        vars.put("replyNoUrl",
                (recipientAttendeeId == null) ? null
                        : CalendarManager.buildEventReplyPublicUrl(servicePublicUrl, event.getPublicUid(),
                                recipientAttendeeId, "no"));
        vars.put("viewUrl", viewUrl);
    }

    return WT.buildTemplate(SERVICE_ID, "tpl/email/eventInvitation-body.html", vars);
}

From source file:com.sonicle.webtop.calendar.TplHelper.java

License:Open Source License

public static String buildTplResponseUpdateBody(Locale locale, String dateFormat, String timeFormat,
        Event event, String servicePublicUrl) throws IOException, TemplateException, AddressException {
    DateTimeZone etz = DateTimeZone.forID(event.getTimezone());

    MapItem i18n = new MapItem();
    i18n.put("whenStart",
            WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_START));
    i18n.put("whenEnd", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_END));
    i18n.put("where", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE));
    i18n.put("whereMap", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE_MAP));
    i18n.put("view", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_VIEW));

    DateTimeFormatter fmt = DateTimeUtils.createFormatter(dateFormat + " " + timeFormat, etz);
    MapItem evt = new MapItem();
    evt.put("title", StringUtils.defaultIfBlank(event.getTitle(), ""));
    evt.put("timezone", event.getTimezone());
    evt.put("startDate", fmt.print(event.getStartDate()));
    evt.put("endDate", fmt.print(event.getEndDate()));
    evt.put("occurs", null);
    if (!StringUtils.isEmpty(event.getRecurrenceRule())) {
        RRuleStringify.Strings strings = WT.getRRuleStringifyStrings(locale);
        RRuleStringify rrs = new RRuleStringify(strings, etz);
        evt.put("occurs", rrs.toHumanReadableTextQuietly(event.getRecurrenceRule()));
    }//  ww  w. j ava  2 s  .  c  o m
    evt.put("location", StringUtils.defaultIfBlank(event.getLocation(), null));
    evt.put("locationUrl", TplHelper.buildGoogleMapsUrl(event.getLocation()));

    String viewUrl = CalendarManager.buildEventPublicUrl(servicePublicUrl, event.getPublicUid());

    MapItem vars = new MapItem();
    vars.put("i18n", i18n);
    vars.put("event", evt);
    vars.put("viewUrl", viewUrl);

    return WT.buildTemplate(SERVICE_ID, "tpl/email/responseUpdate-body.html", vars);
}

From source file:com.sonicle.webtop.calendar.TplHelper.java

License:Open Source License

public static String buildTplEventReminderBody(Locale locale, String dateFormat, String timeFormat, Event event)
        throws IOException, TemplateException, AddressException {
    DateTimeZone etz = DateTimeZone.forID(event.getTimezone());

    MapItem i18n = new MapItem();
    i18n.put("whenStart",
            WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_START));
    i18n.put("whenEnd", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHEN_END));
    i18n.put("where", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE));
    i18n.put("whereMap", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHERE_MAP));
    i18n.put("organizer", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_ORGANIZER));
    i18n.put("who", WT.lookupResource(SERVICE_ID, locale, CalendarLocale.TPL_EMAIL_INVITATION_WHO));

    DateTimeFormatter fmt = DateTimeUtils.createFormatter(dateFormat + " " + timeFormat, etz);
    MapItem evt = new MapItem();
    evt.put("title", StringUtils.defaultIfBlank(event.getTitle(), ""));
    evt.put("description", StringUtils.defaultIfBlank(event.getDescription(), null));
    evt.put("timezone", event.getTimezone());
    evt.put("startDate", fmt.print(event.getStartDate()));
    evt.put("endDate", fmt.print(event.getEndDate()));
    evt.put("location", StringUtils.defaultIfBlank(event.getLocation(), null));
    evt.put("locationUrl", TplHelper.buildGoogleMapsUrl(event.getLocation()));
    evt.put("organizer", StringUtils.defaultIfBlank(event.getOrganizerCN(), event.getOrganizerAddress()));

    MapItemList evtAtts = new MapItemList();
    for (EventAttendee attendee : event.getAttendees()) {
        MapItem item = new MapItem();
        String cn = attendee.getCN();
        String address = attendee.getAddress();
        item.put("cn", StringUtils.isBlank(cn) ? null : cn);
        item.put("address", StringUtils.isBlank(address) ? null : address);
        evtAtts.add(item);/*from  w ww.j  a  v a2 s  .c om*/
    }

    MapItem vars = new MapItem();
    vars.put("i18n", i18n);
    vars.put("event", evt);
    vars.put("eventAttendees", evtAtts);

    return WT.buildTemplate(SERVICE_ID, "tpl/email/eventInvitation-body.html", vars);
}

From source file:com.sonicle.webtop.calendar.UserOptionsService.java

License:Open Source License

@Override
public void processUserOptions(HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
    Connection con = null;/*from w  ww  . jav  a2 s .  co m*/

    try {
        String crud = ServletUtils.getStringParameter(request, "crud", true);
        CalendarUserSettings cus = new CalendarUserSettings(SERVICE_ID, getTargetProfileId());
        DateTimeFormatter hmf = DateTimeUtils.createHmFormatter();

        if (crud.equals(Crud.READ)) {
            JsUserOptions jso = new JsUserOptions(getTargetProfileId().toString());

            // Main
            jso.view = cus.getView();
            jso.workdayStart = hmf.print(cus.getWorkdayStart());
            jso.workdayEnd = hmf.print(cus.getWorkdayEnd());
            jso.eventReminderDelivery = cus.getEventReminderDelivery();

            new JsonResult(jso).printTo(out);

        } else if (crud.equals(Crud.UPDATE)) {
            Payload<MapItem, JsUserOptions> pl = ServletUtils.getPayload(request, JsUserOptions.class);

            // Main
            if (pl.map.has("view"))
                cus.setView(pl.data.view);
            if (pl.map.has("workdayStart"))
                cus.setWorkdayStart(hmf.parseLocalTime(pl.data.workdayStart));
            if (pl.map.has("workdayEnd"))
                cus.setWorkdayEnd(hmf.parseLocalTime(pl.data.workdayEnd));
            if (pl.map.has("eventReminderDelivery"))
                cus.setEventReminderDelivery(pl.data.eventReminderDelivery);

            new JsonResult().printTo(out);
        }

    } catch (Exception ex) {
        logger.error("Error executing UserOptions", ex);
        new JsonResult(false).printTo(out);
    } finally {
        DbUtils.closeQuietly(con);
    }
}