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

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

Introduction

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

Prototype

public DateTime parseDateTime(String text) 

Source Link

Document

Parses a date-time from the given text, returning a new DateTime.

Usage

From source file:com.addthis.hydra.task.map.DataPurgeServiceImpl.java

License:Apache License

protected boolean shouldDelete(DateTimeFormatter dateTimeFormatter, DateTime oldestDataAllowed,
        String dateString) {/*from www .  java 2  s. c o  m*/
    boolean result = false;
    DateTime time = null;
    try {
        time = dateTimeFormatter.parseDateTime(dateString);
    } catch (Exception e) {
        // ignore this directory
    }
    if (time != null && time.isBefore(oldestDataAllowed)) {
        result = true;
    }
    return result;
}

From source file:com.alliander.osgp.webdevicesimulator.service.OslpChannelHandler.java

License:Open Source License

private static Message createGetPowerUsageHistoryWithDatesResponse(
        final GetPowerUsageHistoryRequest powerUsageHistoryRequest) throws ParseException {

    final DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMddHHmmss").withZoneUTC();

    // 20140405 220000
    final DateTime now = new DateTime();
    final DateTime dateTimeFrom = formatter
            .parseDateTime(powerUsageHistoryRequest.getTimePeriod().getStartTime());
    DateTime dateTimeUntil = formatter.parseDateTime(powerUsageHistoryRequest.getTimePeriod().getEndTime());

    final int itemsPerPage = 2;
    final int intervalMinutes = powerUsageHistoryRequest.getTermType() == HistoryTermType.Short ? 60 : 1440;
    final int usagePerItem = powerUsageHistoryRequest.getTermType() == HistoryTermType.Short ? 2400 : 57600;

    // If from in the future, return emtpy list
    final List<PowerUsageData> powerUsageDataList = new ArrayList<PowerUsageData>();
    if (dateTimeFrom.isAfter(now)) {
        return createUsageMessage(1, itemsPerPage, 1, powerUsageDataList);
    }/*from w ww . j  a va2s .  c  o  m*/

    // Ensure until date is not in future
    dateTimeUntil = correctUsageUntilDate(dateTimeUntil, powerUsageHistoryRequest.getTermType());

    final int queryInterval = Minutes.minutesBetween(dateTimeFrom, dateTimeUntil).getMinutes();
    final int totalNumberOfItems = queryInterval / intervalMinutes;
    final int numberOfPages = (int) Math.ceil((double) totalNumberOfItems / (double) itemsPerPage);

    // Determine page number
    int currentPageNumber;
    if (powerUsageHistoryRequest.getPage() == 0) {
        currentPageNumber = 1;
    } else {
        currentPageNumber = powerUsageHistoryRequest.getPage();
    }

    int page = 1;
    int itemsToSkip = 0;
    while (currentPageNumber != page) {
        itemsToSkip += itemsPerPage;
        page++;
    }

    // Advance time to correct page starting point, last to first (like real
    // device)
    DateTime pageStartTime = dateTimeUntil.minusMinutes(intervalMinutes * itemsToSkip)
            .minusMinutes(intervalMinutes);
    final int itemsOnPage = Math.min(Math.abs(totalNumberOfItems - itemsToSkip), itemsPerPage);

    // Advance usage to start of page
    int totalUsage = (totalNumberOfItems * usagePerItem) - (usagePerItem * itemsToSkip);

    // Fill page with items
    for (int i = 0; i < itemsOnPage; i++) {
        final int range = (100) + 1;
        final int randomCumulativeMinutes = (int) (Math.random() * range) + 100;

        // Increase the meter
        final double random = usagePerItem - (usagePerItem / 50d * Math.random());
        totalUsage -= random;
        // Add power usage item to response
        final PowerUsageData powerUsageData = PowerUsageData.newBuilder()
                .setRecordTime(pageStartTime.toString(formatter)).setMeterType(MeterType.P1)
                .setTotalConsumedEnergy(totalUsage).setActualConsumedPower((int) random)
                .setPsldData(PsldData.newBuilder().setTotalLightingHours((int) random * 3))
                .setSsldData(SsldData.newBuilder().setActualCurrent1(10).setActualCurrent2(20)
                        .setActualCurrent3(30).setActualPower1(10).setActualPower2(20).setActualPower3(30)
                        .setAveragePowerFactor1(10).setAveragePowerFactor2(20).setAveragePowerFactor3(30)
                        .addRelayData(Oslp.RelayData.newBuilder()
                                .setIndex(ByteString.copyFrom(new byte[] { 1 }))
                                .setTotalLightingMinutes(INITIAL_BURNING_MINUTES - randomCumulativeMinutes))
                        .addRelayData(Oslp.RelayData.newBuilder()
                                .setIndex(ByteString.copyFrom(new byte[] { 2 }))
                                .setTotalLightingMinutes(INITIAL_BURNING_MINUTES - randomCumulativeMinutes))
                        .addRelayData(Oslp.RelayData.newBuilder()
                                .setIndex(ByteString.copyFrom(new byte[] { 3 }))
                                .setTotalLightingMinutes(INITIAL_BURNING_MINUTES - randomCumulativeMinutes))
                        .addRelayData(Oslp.RelayData.newBuilder()
                                .setIndex(ByteString.copyFrom(new byte[] { 4 }))
                                .setTotalLightingMinutes(INITIAL_BURNING_MINUTES - randomCumulativeMinutes)))
                .build();

        powerUsageDataList.add(powerUsageData);
        pageStartTime = pageStartTime.minusMinutes(intervalMinutes);

        INITIAL_BURNING_MINUTES -= CUMALATIVE_BURNING_MINUTES;
    }

    return createUsageMessage(currentPageNumber, itemsPerPage, numberOfPages, powerUsageDataList);
}

From source file:com.animedetour.api.sched.deserialization.PanelDateDeserializer.java

License:Open Source License

@Override
public ReadableInstant deserialize(JsonParser parser, DeserializationContext context)
        throws IOException, JsonProcessingException {
    JsonToken token = parser.getCurrentToken();

    if (token != JsonToken.VALUE_STRING) {
        throw context.mappingException("Expected string value for date");
    }/*www .  j a v a2 s .  co m*/

    String value = parser.getText().trim();

    if (value.length() == 0) {
        return null;
    }

    DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
    return formatter.parseDateTime(value);
}

From source file:com.arcusys.liferay.vaadinplugin.util.LinkParser.java

License:Apache License

public List<VersionData> getVaadinVersionsAndDates(String response, String majorVersion, String parentUrl) {
    Pattern pattern = Pattern.compile("<a href=\"" + majorVersion + ".*?.\\d{2}-\\w{3}-\\d{4}\\s\\d{2}:\\d{2}?",
            Pattern.MULTILINE & Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(response);

    ArrayList<VersionData> versionList = new ArrayList<VersionData>();

    Pattern versionPattern = Pattern.compile(majorVersion + ".*?./\"", Pattern.CASE_INSENSITIVE);
    Pattern datePattern = Pattern.compile("\\d{2}-\\w{3}-\\d{4}\\s\\d{2}:\\d{2}", Pattern.CASE_INSENSITIVE);

    DateTime datetime = null;/*from   w  w w .j  a  v a  2s  . c  om*/

    while (matcher.find()) {
        String versionstring = matcher.group();
        Matcher versionMatcher = versionPattern.matcher(versionstring);
        Matcher dateMatcher = datePattern.matcher(versionstring);
        String version = "";
        String date = "";
        while (versionMatcher.find()) {
            version = versionMatcher.group().replace("\"", "").replace("/", "").trim();
        }
        while (dateMatcher.find()) {
            date = dateMatcher.group().replace("\"", "").replace("/", "").trim();
        }

        if (!"".equals(date)) {
            DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MMM-yyyy HH:mm").withLocale(Locale.ENGLISH);
            try {
                datetime = fmt.parseDateTime(date);
            } catch (IllegalArgumentException ex) {
                datetime = null;
            }
        }

        if (!version.isEmpty()) {
            String url = parentUrl + version + "/";
            versionList.add(new VersionData(version, datetime, url));
        }
    }
    return versionList;
}

From source file:com.attribyte.essem.DefaultResponseGenerator.java

License:Apache License

protected void parseGraph(JsonNode sourceParent, List<String> fields, RateUnit rateUnit, ObjectNode targetMeta,
        ArrayNode targetGraph) {/*from  w w w . j  av a2  s. co  m*/

    DateTimeFormatter parser = ISODateTimeFormat.basicDateTime();

    Map<MetricKey, ArrayNode> outputGraphs = Maps.newHashMapWithExpectedSize(4);

    JsonNode hitsObj = sourceParent.get("hits");
    if (hitsObj != null) {
        JsonNode hitsArr = hitsObj.get("hits");
        if (hitsArr != null) {

            for (JsonNode hitObj : hitsArr) {
                JsonNode fieldsObj = hitObj.get("fields");
                if (fieldsObj != null) {
                    MetricKey key = new MetricKey(getStringField(fieldsObj, "name"),
                            getStringField(fieldsObj, "application"), getStringField(fieldsObj, "host"),
                            getStringField(fieldsObj, "instance"));

                    ArrayNode samplesArr = outputGraphs.get(key);
                    if (samplesArr == null) {
                        ObjectNode graphObj = targetGraph.addObject();
                        addMeta(key, graphObj, targetMeta);
                        samplesArr = graphObj.putArray("samples");
                        outputGraphs.put(key, samplesArr);
                    }

                    ArrayNode sampleArr = samplesArr.addArray();

                    DateTime timestamp = parser.parseDateTime(getStringField(fieldsObj, "ts"));
                    sampleArr.add(timestamp.getMillis());
                    sampleArr.add(1); //Samples..

                    for (String field : fields) {
                        if (!graphIgnoreProperties.contains(field)) {
                            JsonNode fieldNode = getFieldNode(fieldsObj, field);
                            if (rateUnit == RAW_RATE_UNIT || fieldNode == null || !rateFields.contains(field)) {
                                if (fieldNode != null) {
                                    sampleArr.add(fieldNode);
                                } else {
                                    sampleArr.addNull();
                                }
                            } else {
                                sampleArr.add(fieldNode.doubleValue() * rateUnit.mult);
                            }
                        }
                    }
                }
            }
        }
    }
}

From source file:com.attribyte.essem.MGraphResponseGenerator.java

License:Apache License

protected void parseGraph(JsonNode sourceParent, List<String> fields, EnumSet<Option> options,
        RateUnit rateUnit, ArrayNode targetGraph) {

    DateTimeFormatter parser = ISODateTimeFormat.basicDateTime();
    SimpleDateFormat formatter = new SimpleDateFormat(DT_FORMAT);

    Map<MetricKey, List<ObjectNode>> outputGraphs = Maps.newHashMapWithExpectedSize(4);

    JsonNode hitsObj = sourceParent.get("hits");
    if (hitsObj != null) {
        JsonNode hitsArr = hitsObj.get("hits");
        if (hitsArr != null) {
            for (JsonNode hitObj : hitsArr) {
                JsonNode fieldsObj = hitObj.get("fields");
                if (fieldsObj != null) {
                    ObjectNode outObj = mapper.createObjectNode();
                    DateTime timestamp = parser.parseDateTime(getStringField(fieldsObj, "ts"));
                    outObj.put("timestamp", timestamp.getMillis());
                    outObj.put("date", formatter.format(timestamp.getMillis()));
                    MetricKey key = new MetricKey(getStringField(fieldsObj, "name"),
                            getStringField(fieldsObj, "application"), getStringField(fieldsObj, "host"),
                            getStringField(fieldsObj, "instance"));

                    Iterator<Map.Entry<String, JsonNode>> fieldIter = fieldsObj.fields();
                    while (fieldIter.hasNext()) {
                        Map.Entry<String, JsonNode> currField = fieldIter.next();
                        if (!graphIgnoreProperties.contains(currField.getKey())) {
                            JsonNode currValueNode = currField.getValue();
                            if (currValueNode.isArray() && currValueNode.size() > 0) {
                                setFieldValue(rateUnit, outObj, currField.getKey(), currValueNode.get(0));
                            } else if (!currValueNode.isArray()) {
                                setFieldValue(rateUnit, outObj, currField.getKey(), currValueNode);
                            }/*from w w  w. j a  va  2s. c om*/
                        }
                    }

                    List<ObjectNode> graph = outputGraphs.get(key);
                    if (graph == null) {
                        graph = Lists.newArrayListWithExpectedSize(1024);
                        outputGraphs.put(key, graph);
                    }
                    graph.add(outObj);
                }
            }
        }
    }

    if (outputGraphs.size() == 1) {
        List<ObjectNode> graphNodes = outputGraphs.values().iterator().next();
        for (ObjectNode outObj : graphNodes) {
            targetGraph.add(outObj);
        }
    } else {
        for (Map.Entry<MetricKey, List<ObjectNode>> graphEntry : outputGraphs.entrySet()) {
            MetricKey key = graphEntry.getKey();
            ObjectNode outputGraphNode = targetGraph.addObject();
            outputGraphNode.put("name", key.name);
            outputGraphNode.put("application", key.application);
            outputGraphNode.put("host", key.host);
            outputGraphNode.put("instance", key.instance);
            ArrayNode currOutputGraph = outputGraphNode.putArray("graph");
            for (ObjectNode outObj : graphEntry.getValue()) {
                currOutputGraph.add(outObj);
            }
        }
    }
}

From source file:com.axelor.data.adapter.JodaAdapter.java

License:Open Source License

@Override
public Object adapt(Object value, Map<String, Object> context) {

    if (value == null || !(value instanceof String)) {
        return value;
    }/*from   www .j a v  a  2  s. c  o  m*/

    String format = this.get("format", DEFAULT_FORMAT);

    DateTimeFormatter fmt = DateTimeFormat.forPattern(format);
    DateTime dt;
    try {
        dt = fmt.parseDateTime((String) value);
    } catch (Exception e) {
        throw new IllegalArgumentException("Invalid value: " + value, e);
    }

    String type = this.get("type", null);

    if ("LocalDate".equals(type)) {
        return dt.toLocalDate();
    }
    if ("LocalTime".equals(type)) {
        return dt.toLocalTime();
    }
    if ("LocalDateTime".equals(type)) {
        return dt.toLocalDateTime();
    }
    return dt;
}

From source file:com.bancandes.dao.Consultas.java

public static DateTime getCurrentDate() {
    DateTime date = null;//from   ww  w.  j  a  va  2  s.co  m
    try {
        Conexion conn = new Conexion();
        String sentencia = "SELECT TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS') \"NOW\" FROM DUAL";
        PreparedStatement ps = conn.getConexion().prepareStatement(sentencia);
        ResultSet rs = ps.executeQuery();
        rs.next();
        String now = rs.getString(1);
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd H:mm:ss");
        date = formatter.parseDateTime(now);

    } catch (SQLException ex) {
        Logger.getLogger(Consultas.class.getName()).log(Level.SEVERE, null, ex);

    }
    return date;
}

From source file:com.boxedfolder.carrot.domain.util.DateTimeDeserializer.java

License:Open Source License

@Override
public DateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
        throws IOException {
    DateTime dateTime = null;/*from  w  w w  . j a v a 2s . co m*/
    try {
        JsonToken currentToken = jsonParser.getCurrentToken();
        System.out.println(jsonParser.getText());
        if (currentToken == JsonToken.VALUE_STRING) {
            String dateTimeAsString = jsonParser.getText().trim();
            DateTimeFormatter formatter = ISODateTimeFormat.dateTime().withZoneUTC();
            dateTime = formatter.parseDateTime(dateTimeAsString);
        }
    } catch (Exception e) {
        throw deserializationContext.mappingException(getClass());
    }

    return dateTime;
}

From source file:com.brandboat.loader.lib.FdcRunData.java

public FdcRunData(CountDownLatch latch, String connURL, String sql) throws SQLException {
    super(latch, connURL);
    this.conn = DriverManager.getConnection(connURL);
    this.stat = conn.prepareStatement(sql);
    this.startTime = new DateTime();
    this.endTime = new DateTime();
    DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss");
    startTime = dtf.parseDateTime("2015-09-01 01:00:00");
    endTime = dtf.parseDateTime("2015-11-01 01:00:00");
}