Example usage for org.joda.time.format ISODateTimeFormat dateTime

List of usage examples for org.joda.time.format ISODateTimeFormat dateTime

Introduction

In this page you can find the example usage for org.joda.time.format ISODateTimeFormat dateTime.

Prototype

public static DateTimeFormatter dateTime() 

Source Link

Document

Returns a formatter that combines a full date and time, separated by a 'T' (yyyy-MM-dd'T'HH:mm:ss.SSSZZ).

Usage

From source file:com.semanticcms.core.sitemap.SiteMapServlet.java

License:Open Source License

@Override
protected void doGet(final HttpServletRequest req, final HttpServletResponse resp)
        throws ServletException, IOException {
    final ServletContext servletContext = getServletContext();
    final Book book = getBook(SemanticCMS.getInstance(servletContext), req);
    if (book == null) {
        resp.sendError(HttpServletResponse.SC_NOT_FOUND);
        return;//w  w w.  ja v  a2  s.  c  o m
    }
    final SortedSet<View> views = HtmlRenderer.getInstance(servletContext).getViews();
    final DateTimeFormatter iso8601 = ISODateTimeFormat.dateTime();
    resp.resetBuffer();
    resp.setContentType(CONTENT_TYPE);
    resp.setCharacterEncoding(ENCODING);
    final PrintWriter out = resp.getWriter();
    out.println("<?xml version=\"1.0\" encoding=\"" + ENCODING + "\"?>");
    out.println("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">");
    CapturePage.traversePagesDepthFirst(servletContext, req, resp, book.getContentRoot(), CaptureLevel.META,
            new CapturePage.PageDepthHandler<Void>() {
                @Override
                public Void handlePage(Page page, int depth) throws ServletException, IOException {
                    assert page.getPageRef().getBookRef().equals(book.getBookRef());
                    // TODO: Concurrency: Any benefit to processing each view concurrently?  allowRobots and isApplicable can be expensive but should also benefit from capture caching
                    for (View view : views) {
                        if (view.getAllowRobots(servletContext, req, resp, page)
                                && view.isApplicable(servletContext, req, resp, page)) {
                            out.println("    <url>");
                            out.print("        <loc>");
                            encodeTextInXhtml(view.getCanonicalUrl(servletContext, req, resp, page), out);
                            out.println("</loc>");
                            ReadableInstant lastmod = view.getLastModified(servletContext, req, resp, page);
                            if (lastmod != null) {
                                out.print("        <lastmod>");
                                encodeTextInXhtml(iso8601.print(lastmod), out);
                                out.println("</lastmod>");
                            }
                            out.println("    </url>");
                        }
                    }
                    return null;
                }
            }, new CapturePage.TraversalEdges() {
                @Override
                public Set<ChildRef> getEdges(Page page) {
                    return page.getChildRefs();
                }
            }, new CapturePage.EdgeFilter() {
                @Override
                public boolean applyEdge(PageRef childPage) {
                    return book.getBookRef().equals(childPage.getBookRef());
                }
            }, null);
    out.println("</urlset>");
}

From source file:com.sheepdog.mashmesh.DriveExporter.java

License:Apache License

public void snapshotUserTable() throws IOException {
    DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
    String timestamp = formatter.print(DateTime.now());
    Table patientTable = new Table().setName("User Profile Data " + timestamp)
            .setDescription("Locations of patients and volunteers as of " + timestamp).setIsExportable(true)
            .setColumns(Arrays.asList(new Column().setName("User Type").setType("STRING"),
                    new Column().setName("Location").setType("LOCATION")));

    patientTable = fusiontables.table().insert(patientTable).execute();

    FusionTableContentWriter fusionTableWriter = new FusionTableContentWriter(patientTable);

    for (UserProfile userProfile : UserProfile.listAll()) {
        fusionTableWriter.writeRecord(userProfile.getType().name(), userProfile.getLocation());
    }//from  w w w .  ja v  a  2  s.c o m

    AbstractInputStreamContent streamContent = fusionTableWriter.getInputStreamContent();
    fusiontables.table().importRows(patientTable.getTableId(), streamContent).execute();

    File patientFile = findFileByTitle(patientTable.getName());
    addToFolder(patientFile);
}

From source file:com.shekar.msrp.utils.DateUtils.java

License:Apache License

/**
 * Encode a long date to string value in Z format (see RFC 3339)
 * // w  w  w.j  ava2s . co  m
 * @param date Date in milliseconds
 * @return String
 */
public static String encodeDate(long date) {
    // Apply RFC3339 format using JODA-TIME
    DateTime dateTime = new DateTime(date, DateTimeZone.UTC);
    DateTimeFormatter dateFormatter = ISODateTimeFormat.dateTime();
    String dateString = dateFormatter.print(dateTime);
    System.out.println("Server side date (RFC 3339): " + dateString);
    return dateString;
}

From source file:com.sitewhere.event.persistence.influxdb.InfluxDbDeviceEvent.java

License:Open Source License

/**
 * Build search criteria clause that handles date ranges specified for event
 * queries.// www. ja  v a  2 s .  co  m
 * 
 * @param criteria
 * @return
 * @throws SiteWhereException
 */
protected static String buildDateRangeCriteria(ISearchCriteria criteria) throws SiteWhereException {
    String dateClause = "";
    if (criteria instanceof IDateRangeSearchCriteria) {
        IDateRangeSearchCriteria dates = (IDateRangeSearchCriteria) criteria;
        if (dates.getStartDate() != null) {
            dateClause += " and time >= '" + ISODateTimeFormat.dateTime().print(dates.getStartDate().getTime())
                    + "'";
        }
        if (dates.getEndDate() != null) {
            dateClause += " and time <= '" + ISODateTimeFormat.dateTime().print(dates.getEndDate().getTime())
                    + "'";
        }
    }
    return dateClause;
}

From source file:com.sitewhere.event.persistence.influxdb.InfluxDbDeviceEvent.java

License:Open Source License

/**
 * Save common event fields to builder. If a precision field is specified in the
 * meta data, the eventDate must be sent as an appropriate time stamp rather
 * than a human readable string./*  ww w  .jav a2 s  .co m*/
 * 
 * Valid precisions : s - seconds ms - milliseconds mu - microseconds ns -
 * nanoseconds
 * 
 * Default precision is ms - milliseconds if a precision is not specified.
 * 
 * @param event
 * @param builder
 * @throws SiteWhereException
 */
protected static void saveToBuilder(DeviceEvent event, Point.Builder builder) throws SiteWhereException {
    String timePrecision = event.getMetadata(EVENT_TIME_PRECISION_META_DATA_KEY);
    TimeUnit precision = TimeUnit.MILLISECONDS;

    if (timePrecision != null) {
        switch (timePrecision) {
        case ("s"): {
            precision = TimeUnit.SECONDS;
            break;
        }
        case ("ms"): {
            precision = TimeUnit.MILLISECONDS;
            break;
        }
        case ("mu"): {
            precision = TimeUnit.MICROSECONDS;
            break;
        }
        case ("ns"): {
            precision = TimeUnit.NANOSECONDS;
            break;
        }
        default: {
            event.addOrReplaceMetadata(EVENT_TIME_PRECISION_META_DATA_KEY, "ms");
        }
        }
    } else {
        event.addOrReplaceMetadata(EVENT_TIME_PRECISION_META_DATA_KEY, "ms");
    }

    builder.time(event.getEventDate().getTime(), precision);
    builder.addField(EVENT_ID, event.getId());
    builder.tag(EVENT_TYPE, event.getEventType().name());
    builder.tag(EVENT_DEVICE, event.getDeviceId().toString());
    builder.tag(EVENT_ASSIGNMENT, event.getDeviceAssignmentId().toString());
    builder.tag(EVENT_AREA, event.getAreaId().toString());
    builder.tag(EVENT_ASSET, event.getAssetId().toString());
    builder.addField(RECEIVED_DATE, ISODateTimeFormat.dateTime().print(event.getReceivedDate().getTime()));

    // Add field for each metadata value.
    for (String key : event.getMetadata().keySet()) {
        builder.addField(EVENT_METADATA_PREFIX + key, event.getMetadata(key));
    }
}

From source file:com.sitewhere.event.persistence.influxdb.InfluxDbDeviceEvent.java

License:Open Source License

/**
 * Parse a date field./*from   ww w.  j a v  a2  s. c o m*/
 * 
 * @param values
 * @param tag
 * @return
 */
protected static Date parseDateField(Map<String, Object> values, String tag) {
    Object value = (Object) values.get(tag);
    if (value instanceof String) {
        return ISODateTimeFormat.dateTime().parseDateTime((String) value).toDate();
    } else if (value instanceof Double) {
        return new Date(((Double) value).longValue());
    }
    return null;
}

From source file:com.sitewhere.influx.device.InfluxDbDeviceEvent.java

License:Open Source License

/**
 * Save common event fields to builder.// w ww  .j  a  v  a 2 s .  c  o  m
 * 
 * @param event
 * @param builder
 * @throws SiteWhereException
 */
public static void saveToBuilder(DeviceEvent event, Point.Builder builder) throws SiteWhereException {
    builder.time(event.getEventDate().getTime(), TimeUnit.MILLISECONDS);
    builder.field(EVENT_ID, event.getId());
    builder.tag(EVENT_TYPE, event.getEventType().name());
    builder.tag(EVENT_ASSIGNMENT, event.getDeviceAssignmentToken());
    builder.tag(EVENT_SITE, event.getSiteToken());
    if (event.getAssetModuleId() != null) {
        builder.tag(EVENT_ASSET_MODULE, event.getAssetModuleId());
    }
    if (event.getAssetId() != null) {
        builder.tag(EVENT_ASSET, event.getAssetId());
    }
    builder.field(RECEIVED_DATE, ISODateTimeFormat.dateTime().print(event.getReceivedDate().getTime()));

    // Add field for each metadata value.
    for (String key : event.getMetadata().keySet()) {
        builder.field(EVENT_METADATA_PREFIX + key, event.getMetadata(key));
    }
}

From source file:com.solidfire.core.serialization.DateTimeAdapter.java

License:Open Source License

/**
 * Writes a DateTime object./*from   ww w  .  jav a2s . co  m*/
 *
 * @param writer the JSON writer to write to.
 * @param value  the DateTime object to write.
 * @throws IOException
 */
@Override
public void write(JsonWriter writer, DateTime value) throws IOException {
    if (value == null) {
        writer.nullValue();
    } else {
        DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
        writer.value(fmt.print(value.withZone(DateTimeZone.UTC)));
    }
}

From source file:com.spectralogic.ds3cli.views.json.CommonJsonView.java

License:Open Source License

static CommonJsonView newView(final Status status) {
    final CommonJsonView view = new CommonJsonView();
    final DateTime time = DateTime.now(DateTimeZone.UTC);
    return view.status(status).addMetaData("Date", time.toString(ISODateTimeFormat.dateTime()));
}

From source file:com.stratio.ingestion.serializer.elasticsearch.ElasticSearchSerializerWithMapping.java

License:Apache License

TimestampedEvent(Event base) {
    super();/*from  w ww .  j a  va2  s.  c om*/
    setBody(base.getBody());
    Map<String, String> headers = Maps.newHashMap(base.getHeaders());

    String timestampHeader = headers.get("@timestamp");
    Long ts = null;
    if (!StringUtils.isBlank(timestampHeader)) {
        try {
            ts = Long.parseLong(timestampHeader);
            headers.put("@timestamp", ISODateTimeFormat.dateTime().withZoneUTC().print(ts));
        } catch (RuntimeException ex) {
            log.trace("Could not parse timestamp as long: {}", timestampHeader);
            try {
                ts = ISODateTimeFormat.dateOptionalTimeParser().withZoneUTC().parseMillis(timestampHeader);
            } catch (RuntimeException ex2) {
                log.trace("Could not parse timestamp as dateOptionalTime: {}", timestampHeader);
            }
        }
    }

    if (ts == null) {
        DateTime now = DateTime.now();
        ts = now.getMillis();
        headers.put("@timestamp", ISODateTimeFormat.dateTime().withZoneUTC().print(now));
    }

    this.timestamp = ts;

    setHeaders(headers);
}