List of usage examples for org.joda.time.format DateTimeFormatter parseDateTime
public DateTime parseDateTime(String text)
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"); }