Java 类org.joda.time.chrono.ISOChronology 实例源码

项目:elasticsearch_my    文件:RangeQueryBuilderTests.java   
public void testRewriteDateToMatchAll() throws IOException {
    String fieldName = randomAsciiOfLengthBetween(1, 20);
    RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
        @Override
        protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
            return Relation.WITHIN;
        }
    };
    DateTime queryFromValue = new DateTime(2015, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    DateTime queryToValue = new DateTime(2016, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    query.from(queryFromValue);
    query.to(queryToValue);
    QueryShardContext queryShardContext = createShardContext();
    QueryBuilder rewritten = query.rewrite(queryShardContext);
    assertThat(rewritten, instanceOf(RangeQueryBuilder.class));
    RangeQueryBuilder rewrittenRange = (RangeQueryBuilder) rewritten;
    assertThat(rewrittenRange.fieldName(), equalTo(fieldName));
    assertThat(rewrittenRange.from(), equalTo(null));
    assertThat(rewrittenRange.to(), equalTo(null));
}
项目:elasticsearch_my    文件:RangeQueryBuilderTests.java   
public void testRewriteDateToMatchAllWithTimezoneAndFormat() throws IOException {
    String fieldName = randomAsciiOfLengthBetween(1, 20);
    RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
        @Override
        protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
            return Relation.WITHIN;
        }
    };
    DateTime queryFromValue = new DateTime(2015, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    DateTime queryToValue = new DateTime(2016, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    query.from(queryFromValue);
    query.to(queryToValue);
    query.timeZone(randomFrom(DateTimeZone.getAvailableIDs()));
    query.format("yyyy-MM-dd");
    QueryShardContext queryShardContext = createShardContext();
    QueryBuilder rewritten = query.rewrite(queryShardContext);
    assertThat(rewritten, instanceOf(RangeQueryBuilder.class));
    RangeQueryBuilder rewrittenRange = (RangeQueryBuilder) rewritten;
    assertThat(rewrittenRange.fieldName(), equalTo(fieldName));
    assertThat(rewrittenRange.from(), equalTo(null));
    assertThat(rewrittenRange.to(), equalTo(null));
    assertThat(rewrittenRange.timeZone(), equalTo(null));
    assertThat(rewrittenRange.format(), equalTo(null));
}
项目:elasticsearch_my    文件:RangeQueryBuilderTests.java   
public void testRewriteDateToMatchNone() throws IOException {
    String fieldName = randomAsciiOfLengthBetween(1, 20);
    RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
        @Override
        protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
            return Relation.DISJOINT;
        }
    };
    DateTime queryFromValue = new DateTime(2015, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    DateTime queryToValue = new DateTime(2016, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    query.from(queryFromValue);
    query.to(queryToValue);
    QueryShardContext queryShardContext = createShardContext();
    QueryBuilder rewritten = query.rewrite(queryShardContext);
    assertThat(rewritten, instanceOf(MatchNoneQueryBuilder.class));
}
项目:elasticsearch_my    文件:RangeQueryBuilderTests.java   
public void testRewriteDateToSame() throws IOException {
    String fieldName = randomAsciiOfLengthBetween(1, 20);
    RangeQueryBuilder query = new RangeQueryBuilder(fieldName) {
        @Override
        protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException {
            return Relation.INTERSECTS;
        }
    };
    DateTime queryFromValue = new DateTime(2015, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    DateTime queryToValue = new DateTime(2016, 1, 1, 0, 0, 0, ISOChronology.getInstanceUTC());
    query.from(queryFromValue);
    query.to(queryToValue);
    QueryShardContext queryShardContext = createShardContext();
    QueryBuilder rewritten = query.rewrite(queryShardContext);
    assertThat(rewritten, sameInstance(query));
}
项目:lams    文件:AssertionUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {

    Assertion assertion = (Assertion) samlObject;

    if (Assertion.ID_ATTRIB_NAME.equals(attribute.getLocalName())) {
        assertion.setID(attribute.getValue());
    } else if (Assertion.ISSUER_ATTRIB_NAME.equals(attribute.getLocalName())) {
        assertion.setIssuer(attribute.getValue());
    } else if (Assertion.ISSUEINSTANT_ATTRIB_NAME.equals(attribute.getLocalName())
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        assertion.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (Assertion.MINORVERSION_ATTRIB_NAME.equals(attribute.getLocalName())) {
        if (attribute.getValue().equals("0")) {
            assertion.setVersion(SAMLVersion.VERSION_10);
        } else {
            assertion.setVersion(SAMLVersion.VERSION_11);
        }
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:lams    文件:FilesystemMetadataProvider.java   
/** {@inheritDoc} */
protected byte[] fetchMetadata() throws MetadataProviderException {
    try {
        validateMetadataFile(metadataFile);
        DateTime metadataUpdateTime = new DateTime(metadataFile.lastModified(), ISOChronology.getInstanceUTC());
        if (getLastRefresh() == null || getLastUpdate() == null || metadataUpdateTime.isAfter(getLastRefresh())) {
            return inputstreamToByteArray(new FileInputStream(metadataFile));
        }

        return null;
    } catch (IOException e) {
        String errMsg = "Unable to read metadata file " + metadataFile.getAbsolutePath();
        log.error(errMsg, e);
        throw new MetadataProviderException(errMsg, e);
    }
}
项目:lams    文件:RequiredValidUntilFilter.java   
/** {@inheritDoc} */
public void doFilter(XMLObject metadata) throws FilterException {
    DateTime validUntil = getValidUntil(metadata);

    if (validUntil == null) {
        throw new FilterException("Metadata did not include a validUntil attribute");
    }

    DateTime now = new DateTime(ISOChronology.getInstanceUTC());
    if (maxValidityInterval > 0 && validUntil.isAfter(now)) {
        long validityInterval = validUntil.getMillis() - now.getMillis();
        if (validityInterval > maxValidityInterval) {
            throw new FilterException("Metadata's validity interval, " + validityInterval
                    + "ms, is larger than is allowed, " + maxValidityInterval + "ms.");
        }
    }
}
项目:lams    文件:AbstractReloadingMetadataProvider.java   
/**
 * Computes the delay until the next refresh time based on the current metadata's expiration time and the refresh
 * interval floor.
 * 
 * @param expectedExpiration the time when the metadata is expected to expire and need refreshing
 * 
 * @return delay, in milliseconds, until the next refresh time
 */
protected long computeNextRefreshDelay(DateTime expectedExpiration) {
    long now = new DateTime(ISOChronology.getInstanceUTC()).getMillis();

    long expireInstant = 0;
    if (expectedExpiration != null) {
        expireInstant = expectedExpiration.toDateTime(ISOChronology.getInstanceUTC()).getMillis();
    }
    long refreshDelay = (long) ((expireInstant - now) * getRefreshDelayFactor());

    // if the expiration time was null or the calculated refresh delay was less than the floor
    // use the floor
    if (refreshDelay < getMinRefreshDelay()) {
        refreshDelay = getMinRefreshDelay();
    }

    return refreshDelay;
}
项目:lams    文件:AffiliationDescriptorUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    AffiliationDescriptor descriptor = (AffiliationDescriptor) samlObject;

    if (attribute.getLocalName().equals(AffiliationDescriptor.OWNER_ID_ATTRIB_NAME)) {
        descriptor.setOwnerID(attribute.getValue());
    } else if (attribute.getLocalName().equals(AffiliationDescriptor.ID_ATTRIB_NAME)) {
        descriptor.setID(attribute.getValue());
        attribute.getOwnerElement().setIdAttributeNode(attribute, true);
    } else if (attribute.getLocalName().equals(TimeBoundSAMLObject.VALID_UNTIL_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        descriptor.setValidUntil(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(CacheableSAMLObject.CACHE_DURATION_ATTRIB_NAME)) {
        descriptor.setCacheDuration(XMLHelper.durationToLong(attribute.getValue()));
    } else {
        QName attribQName = XMLHelper.getNodeQName(attribute);
        if (attribute.isId()) {
            descriptor.getUnknownAttributes().registerID(attribQName);
        }
        descriptor.getUnknownAttributes().put(attribQName, attribute.getValue());
    }
}
项目:lams    文件:EntityDescriptorUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    EntityDescriptor entityDescriptor = (EntityDescriptor) samlObject;

    if (attribute.getLocalName().equals(EntityDescriptor.ENTITY_ID_ATTRIB_NAME)) {
        entityDescriptor.setEntityID(attribute.getValue());
    } else if (attribute.getLocalName().equals(EntityDescriptor.ID_ATTRIB_NAME)) {
        entityDescriptor.setID(attribute.getValue());
        attribute.getOwnerElement().setIdAttributeNode(attribute, true);
    } else if (attribute.getLocalName().equals(TimeBoundSAMLObject.VALID_UNTIL_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        entityDescriptor.setValidUntil(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(CacheableSAMLObject.CACHE_DURATION_ATTRIB_NAME)) {
        entityDescriptor.setCacheDuration(XMLHelper.durationToLong(attribute.getValue()));
    } else {
        QName attribQName = XMLHelper.getNodeQName(attribute);
        if (attribute.isId()) {
            entityDescriptor.getUnknownAttributes().registerID(attribQName);
        }
        entityDescriptor.getUnknownAttributes().put(attribQName, attribute.getValue());
    }
}
项目:lams    文件:EntitiesDescriptorUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    EntitiesDescriptor entitiesDescriptor = (EntitiesDescriptor) samlObject;

    if (attribute.getLocalName().equals(EntitiesDescriptor.ID_ATTRIB_NAME)) {
        entitiesDescriptor.setID(attribute.getValue());
        attribute.getOwnerElement().setIdAttributeNode(attribute, true);
    } else if (attribute.getLocalName().equals(TimeBoundSAMLObject.VALID_UNTIL_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        entitiesDescriptor.setValidUntil(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(CacheableSAMLObject.CACHE_DURATION_ATTRIB_NAME)) {
        entitiesDescriptor.setCacheDuration(new Long(XMLHelper.durationToLong(attribute.getValue())));
    } else if (attribute.getLocalName().equals(EntitiesDescriptor.NAME_ATTRIB_NAME)) {
        entitiesDescriptor.setName(attribute.getValue());
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:lams    文件:AssertionUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    Assertion assertion = (Assertion) samlObject;

    if (attribute.getLocalName().equals(Assertion.VERSION_ATTRIB_NAME)) {
        assertion.setVersion(SAMLVersion.valueOf(attribute.getValue()));
    } else if (attribute.getLocalName().equals(Assertion.ISSUE_INSTANT_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        assertion.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(Assertion.ID_ATTRIB_NAME)) {
        assertion.setID(attribute.getValue());
        attribute.getOwnerElement().setIdAttributeNode(attribute, true);
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:lams    文件:RequestAbstractTypeUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    RequestAbstractType req = (RequestAbstractType) samlObject;

    if (attribute.getLocalName().equals(RequestAbstractType.VERSION_ATTRIB_NAME)) {
        req.setVersion(SAMLVersion.valueOf(attribute.getValue()));
    } else if (attribute.getLocalName().equals(RequestAbstractType.ID_ATTRIB_NAME)) {
        req.setID(attribute.getValue());
        attribute.getOwnerElement().setIdAttributeNode(attribute, true);
    } else if (attribute.getLocalName().equals(RequestAbstractType.ISSUE_INSTANT_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        req.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(RequestAbstractType.DESTINATION_ATTRIB_NAME)) {
        req.setDestination(attribute.getValue());
    } else if (attribute.getLocalName().equals(RequestAbstractType.CONSENT_ATTRIB_NAME)) {
        req.setConsent(attribute.getValue());
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:lams    文件:LogoutRequestUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    LogoutRequest req = (LogoutRequest) samlObject;

    if (attribute.getLocalName().equals(LogoutRequest.REASON_ATTRIB_NAME)) {
        req.setReason(attribute.getValue());
    } else if (attribute.getLocalName().equals(LogoutRequest.NOT_ON_OR_AFTER_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        req.setNotOnOrAfter(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:lams    文件:SubjectConfirmationDataUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    SubjectConfirmationData subjectCD = (SubjectConfirmationData) samlObject;

    if (attribute.getLocalName().equals(SubjectConfirmationData.NOT_BEFORE_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        subjectCD.setNotBefore(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(SubjectConfirmationData.NOT_ON_OR_AFTER_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        subjectCD.setNotOnOrAfter(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(SubjectConfirmationData.RECIPIENT_ATTRIB_NAME)) {
        subjectCD.setRecipient(attribute.getValue());
    } else if (attribute.getLocalName().equals(SubjectConfirmationData.IN_RESPONSE_TO_ATTRIB_NAME)) {
        subjectCD.setInResponseTo(attribute.getValue());
    } else if (attribute.getLocalName().equals(SubjectConfirmationData.ADDRESS_ATTRIB_NAME)) {
        subjectCD.setAddress(attribute.getValue());
    } else {
        QName attribQName = XMLHelper.getNodeQName(attribute);
        if (attribute.isId()) {
            subjectCD.getUnknownAttributes().registerID(attribQName);
        }
        subjectCD.getUnknownAttributes().put(attribQName, attribute.getValue());
    }
}
项目:lams    文件:StatusResponseTypeUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
    StatusResponseType sr = (StatusResponseType) samlObject;

    if (attribute.getLocalName().equals(StatusResponseType.VERSION_ATTRIB_NAME)) {
        sr.setVersion(SAMLVersion.valueOf(attribute.getValue()));
    } else if (attribute.getLocalName().equals(StatusResponseType.ID_ATTRIB_NAME)) {
        sr.setID(attribute.getValue());
        attribute.getOwnerElement().setIdAttributeNode(attribute, true);
    } else if (attribute.getLocalName().equals(StatusResponseType.IN_RESPONSE_TO_ATTRIB_NAME)) {
        sr.setInResponseTo(attribute.getValue());
    } else if (attribute.getLocalName().equals(StatusResponseType.ISSUE_INSTANT_ATTRIB_NAME)
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        sr.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (attribute.getLocalName().equals(StatusResponseType.DESTINATION_ATTRIB_NAME)) {
        sr.setDestination(attribute.getValue());
    } else if (attribute.getLocalName().equals(StatusResponseType.CONSENT_ATTRIB_NAME)) {
        sr.setConsent(attribute.getValue());
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:QDrill    文件:TestAggregateFunctionsQuery.java   
@Test
public void testDateAggFunction() throws Exception{
  String query = new String("SELECT max(cast(HIRE_DATE as date)) as MAX_DATE, min(cast(HIRE_DATE as date)) as MIN_DATE" +
      " FROM `employee.json`");


  String t  = new Date(ISOChronology.getInstance().getDateTimeMillis(1998, 1, 1, 0)).toString();
  String t1 = new Date(ISOChronology.getInstance().getDateTimeMillis(1993, 5, 1, 0)).toString();
  //String t = new Date(1998, 1, 1).toString();
  //String t1 = new Date(1993, 5, 1).toString();

  String result = String.format("MAX_DATE="+ t + "; " + "MIN_DATE=" + t1 + "\n");

  JdbcAssert.withFull("cp")
      .sql(query)
      .returns(result);
}
项目:dremio-oss    文件:TestAggregateFunctionsQuery.java   
@Test
public void testDateAggFunction() throws Exception{
  String query = new String("SELECT max(cast(HIRE_DATE as date)) as MAX_DATE, min(cast(HIRE_DATE as date)) as MIN_DATE" +
      " FROM `employee.json`");


  String t  = new Date(ISOChronology.getInstance().getDateTimeMillis(1998, 1, 1, 0)).toString();
  String t1 = new Date(ISOChronology.getInstance().getDateTimeMillis(1993, 5, 1, 0)).toString();
  //String t = new Date(1998, 1, 1).toString();
  //String t1 = new Date(1993, 5, 1).toString();

  String result = String.format("MAX_DATE="+ t + "; " + "MIN_DATE=" + t1 + "\n");

  JdbcAssert.withFull("cp")
      .sql(query)
      .returns(result);
}
项目:metrics-aggregator-daemon    文件:GraphitePlaintextToRecordParserTest.java   
@Test
public void testParseSingleLineNoLineEnding() throws ParsingException, IOException {
    final Record record = parseRecord("GraphitePlaintextParserTest/testParseSingleLineNoLineEnding");

    Assert.assertNotNull(record);

    Assert.assertNotNull(record.getAnnotations());
    Assert.assertEquals(0, record.getAnnotations().size());

    Assert.assertNotNull(record.getDimensions());
    Assert.assertEquals(0, record.getDimensions().size());

    final Map<String, ? extends Metric> map = record.getMetrics();
    Assert.assertEquals(1, map.size());

    final Metric metric = map.get("foo.bar");
    final List<Quantity> vals = metric.getValues();
    Assert.assertEquals(1, vals.size());
    Assert.assertEquals(1.23d, vals.get(0).getValue(), 0.001);
    Assert.assertFalse(vals.get(0).getUnit().isPresent());
    Assert.assertEquals(MetricType.GAUGE, metric.getType());

    Assert.assertEquals(new DateTime((long) (1458229140 * 1000d), ISOChronology.getInstanceUTC()), record.getTime());
}
项目:metrics-aggregator-daemon    文件:GraphitePlaintextToRecordParserTest.java   
@Test
public void testParseSingleLineWithLineEnding() throws ParsingException, IOException {
    final Record record = parseRecord("GraphitePlaintextParserTest/testParseSingleLineWithLineEnding");

    Assert.assertNotNull(record);

    Assert.assertNotNull(record.getAnnotations());
    Assert.assertEquals(0, record.getAnnotations().size());

    Assert.assertNotNull(record.getDimensions());
    Assert.assertEquals(0, record.getDimensions().size());

    final Map<String, ? extends Metric> map = record.getMetrics();
    Assert.assertEquals(1, map.size());

    final Metric metric = map.get("foo.bar");
    final List<Quantity> vals = metric.getValues();
    Assert.assertEquals(1, vals.size());
    Assert.assertEquals(1.23d, vals.get(0).getValue(), 0.001);
    Assert.assertFalse(vals.get(0).getUnit().isPresent());
    Assert.assertEquals(MetricType.GAUGE, metric.getType());

    Assert.assertEquals(new DateTime((long) (1458229140 * 1000d), ISOChronology.getInstanceUTC()), record.getTime());
}
项目:beam    文件:TimeUtil.java   
/**
 * Converts a time value received via the Dataflow API into the corresponding
 * {@link Instant}.
 * @return the parsed time, or null if a parse error occurs
 */
@Nullable
public static Instant fromCloudTime(String time) {
  Matcher matcher = TIME_PATTERN.matcher(time);
  if (!matcher.matches()) {
    return null;
  }
  int year = Integer.valueOf(matcher.group(1));
  int month = Integer.valueOf(matcher.group(2));
  int day = Integer.valueOf(matcher.group(3));
  int hour = Integer.valueOf(matcher.group(4));
  int minute = Integer.valueOf(matcher.group(5));
  int second = Integer.valueOf(matcher.group(6));
  int millis = computeMillis(matcher.group(7));

  return new DateTime(year, month, day, hour, minute, second, millis,
      ISOChronology.getInstanceUTC()).toInstant();
}
项目:cyclops-udr    文件:Time.java   
/**
 * Normalise date in string format
 *
 * @param original string
 * @return normalised string
 */
public static String normaliseString(String original) {
    try {
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm")
                .withLocale(Locale.ROOT)
                .withChronology(ISOChronology.getInstanceUTC());

        // and now parse it
        DateTime dt = formatter.parseDateTime(original);

        return dt.toString();

    } catch (Exception ignored) {
        return original;
    }
}
项目:TinyTravelTracker    文件:BaseSingleFieldPeriod.java   
/**
 * Creates a new instance representing the number of complete standard length units
 * in the specified period.
 * <p>
 * This factory method converts all fields from the period to hours using standardised
 * durations for each field. Only those fields which have a precise duration in
 * the ISO UTC chronology can be converted.
 * <ul>
 * <li>One week consists of 7 days.
 * <li>One day consists of 24 hours.
 * <li>One hour consists of 60 minutes.
 * <li>One minute consists of 60 seconds.
 * <li>One second consists of 1000 milliseconds.
 * </ul>
 * Months and Years are imprecise and periods containing these values cannot be converted.
 *
 * @param period  the period to get the number of hours from, must not be null
 * @param millisPerUnit  the number of milliseconds in one standard unit of this period
 * @throws IllegalArgumentException if the period contains imprecise duration values
 */
protected static int standardPeriodIn(ReadablePeriod period, long millisPerUnit) {
    if (period == null) {
        return 0;
    }
    Chronology iso = ISOChronology.getInstanceUTC();
    long duration = 0L;
    for (int i = 0; i < period.size(); i++) {
        int value = period.getValue(i);
        if (value != 0) {
            DurationField field = period.getFieldType(i).getField(iso);
            if (field.isPrecise() == false) {
                throw new IllegalArgumentException(
                        "Cannot convert period to duration as " + field.getName() +
                        " is not precise in the period " + period);
            }
            duration = FieldUtils.safeAdd(duration, FieldUtils.safeMultiply(field.getUnitMillis(), value));
        }
    }
    return FieldUtils.safeToInt(duration / millisPerUnit);
}
项目:TinyTravelTracker    文件:DateTimeZoneBuilder.java   
/**
 * @param standardOffset standard offset just before instant
 */
public long setInstant(int year, int standardOffset, int saveMillis) {
    int offset;
    if (iMode == 'w') {
        offset = standardOffset + saveMillis;
    } else if (iMode == 's') {
        offset = standardOffset;
    } else {
        offset = 0;
    }

    Chronology chrono = ISOChronology.getInstanceUTC();
    long millis = chrono.year().set(0, year);
    millis = chrono.monthOfYear().set(millis, iMonthOfYear);
    millis = chrono.millisOfDay().set(millis, iMillisOfDay);
    millis = setDayOfMonth(chrono, millis);

    if (iDayOfWeek != 0) {
        millis = setDayOfWeek(chrono, millis);
    }

    // Convert from local time to UTC.
    return millis - offset;
}
项目:TinyTravelTracker    文件:CalendarConverter.java   
/**
 * Gets the chronology, which is the GJChronology if a GregorianCalendar is used,
 * BuddhistChronology if a BuddhistCalendar is used or ISOChronology otherwise.
 * The time zone specified is used in preference to that on the calendar.
 * 
 * @param object  the Calendar to convert, must not be null
 * @param zone  the specified zone to use, null means default zone
 * @return the chronology, never null
 * @throws NullPointerException if the object is null
 * @throws ClassCastException if the object is an invalid type
 */
public Chronology getChronology(Object object, DateTimeZone zone) {
    if (object.getClass().getName().endsWith(".BuddhistCalendar")) {
        return BuddhistChronology.getInstance(zone);
    } else if (object instanceof GregorianCalendar) {
        GregorianCalendar gc = (GregorianCalendar) object;
        long cutover = gc.getGregorianChange().getTime();
        if (cutover == Long.MIN_VALUE) {
            return GregorianChronology.getInstance(zone);
        } else if (cutover == Long.MAX_VALUE) {
            return JulianChronology.getInstance(zone);
        } else {
            return GJChronology.getInstance(zone, cutover, 4);
        }
    } else {
        return ISOChronology.getInstance(zone);
    }
}
项目:heroic    文件:Tasks.java   
public static long parseInstant(String input, long now) {
    if (input.charAt(0) == '+') {
        return now + Long.parseLong(input.substring(1));
    }

    if (input.charAt(0) == '-') {
        return now - Long.parseLong(input.substring(1));
    }

    // try to parse just milliseconds
    try {
        return Long.parseLong(input);
    } catch (IllegalArgumentException e) {
        // pass-through
    }

    final Chronology chrono = ISOChronology.getInstanceUTC();

    if (input.indexOf('/') >= 0) {
        return parseFullInstant(input, chrono);
    }

    return parseTodayInstant(input, chrono, now);
}
项目:SmartApplianceEnabler    文件:DayTimeframe.java   
protected Interval buildMidnightAdjustedInterval(LocalDateTime now) {
    if(start != null && end != null) {
        LocalDateTime earliestStartDateTime = new LocalDate(now).toLocalDateTime(start.toLocalTime());
        LocalDateTime latestEndDateTime = new LocalDate(now).toLocalDateTime(end.toLocalTime());
        if(isOverMidnight(earliestStartDateTime, latestEndDateTime)) {
            if(now.toLocalTime().isAfter(start.toLocalTime())) {
                // before midnight
                latestEndDateTime = latestEndDateTime.plusHours(24);
            }
            else if(now.toLocalTime().isBefore(end.toLocalTime())){
                // after midnight, before end
                earliestStartDateTime = earliestStartDateTime.minusHours(24);
            }
            else {
                // after midnight, after end
                latestEndDateTime = latestEndDateTime.plusHours(24);
            }
        }
        return new Interval(earliestStartDateTime.toDateTime(), latestEndDateTime.toDateTime()).withChronology(ISOChronology.getInstance());
    }
    return null;
}
项目:presto    文件:JdbcRecordSink.java   
@Override
public void appendLong(long value)
{
    try {
        if (DATE.equals(columnTypes.get(field))) {
            // convert to midnight in default time zone
            long utcMillis = TimeUnit.DAYS.toMillis(value);
            long localMillis = ISOChronology.getInstanceUTC().getZone().getMillisKeepLocal(DateTimeZone.getDefault(), utcMillis);
            statement.setDate(next(), new Date(localMillis));
        }
        else {
            statement.setLong(next(), value);
        }
    }
    catch (SQLException e) {
        throw new PrestoException(JDBC_ERROR, e);
    }
}
项目:presto    文件:DateTimeFunctions.java   
private static DateTimeField getDateField(ISOChronology chronology, Slice unit)
{
    String unitString = unit.toStringUtf8().toLowerCase(ENGLISH);
    switch (unitString) {
        case "day":
            return chronology.dayOfMonth();
        case "week":
            return chronology.weekOfWeekyear();
        case "month":
            return chronology.monthOfYear();
        case "quarter":
            return QUARTER_OF_YEAR.getField(chronology);
        case "year":
            return chronology.year();
    }
    throw new PrestoException(INVALID_FUNCTION_ARGUMENT, "'" + unitString + "' is not a valid DATE field");
}
项目:presto    文件:DateTimeFunctions.java   
private static DateTimeField getTimestampField(ISOChronology chronology, Slice unit)
{
    String unitString = unit.toStringUtf8().toLowerCase(ENGLISH);
    switch (unitString) {
        case "millisecond":
            return chronology.millisOfSecond();
        case "second":
            return chronology.secondOfMinute();
        case "minute":
            return chronology.minuteOfHour();
        case "hour":
            return chronology.hourOfDay();
        case "day":
            return chronology.dayOfMonth();
        case "week":
            return chronology.weekOfWeekyear();
        case "month":
            return chronology.monthOfYear();
        case "quarter":
            return QUARTER_OF_YEAR.getField(chronology);
        case "year":
            return chronology.year();
    }
    throw new PrestoException(INVALID_FUNCTION_ARGUMENT, "'" + unitString + "' is not a valid Timestamp field");
}
项目:java-opensaml2    文件:AssertionUnmarshaller.java   
/** {@inheritDoc} */
protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {

    Assertion assertion = (Assertion) samlObject;

    if (Assertion.ID_ATTRIB_NAME.equals(attribute.getLocalName())) {
        assertion.setID(attribute.getValue());
    } else if (Assertion.ISSUER_ATTRIB_NAME.equals(attribute.getLocalName())) {
        assertion.setIssuer(attribute.getValue());
    } else if (Assertion.ISSUEINSTANT_ATTRIB_NAME.equals(attribute.getLocalName())
            && !DatatypeHelper.isEmpty(attribute.getValue())) {
        assertion.setIssueInstant(new DateTime(attribute.getValue(), ISOChronology.getInstanceUTC()));
    } else if (Assertion.MINORVERSION_ATTRIB_NAME.equals(attribute.getLocalName())) {
        if (attribute.getValue().equals("0")) {
            assertion.setVersion(SAMLVersion.VERSION_10);
        } else {
            assertion.setVersion(SAMLVersion.VERSION_11);
        }
    } else {
        super.processAttribute(samlObject, attribute);
    }
}
项目:astor    文件:TestPeriod_Constructors.java   
public void testConstructor_long_Chronology2() throws Throwable {
    long length = 4 * DateTimeConstants.MILLIS_PER_DAY +
            5 * DateTimeConstants.MILLIS_PER_HOUR +
            6 * DateTimeConstants.MILLIS_PER_MINUTE +
            7 * DateTimeConstants.MILLIS_PER_SECOND + 8;
    Period test = new Period(length, ISOChronology.getInstanceUTC());
    assertEquals(PeriodType.standard(), test.getPeriodType());
    assertEquals(0, test.getYears());
    assertEquals(0, test.getMonths());
    assertEquals(0, test.getWeeks());
    assertEquals(4, test.getDays());
    assertEquals(5, test.getHours());
    assertEquals(6, test.getMinutes());
    assertEquals(7, test.getSeconds());
    assertEquals(8, test.getMillis());
}
项目:astor    文件:TestPeriod_Constructors.java   
public void testConstructor_long_PeriodType_Chronology1() throws Throwable {
    long length = 4 * DateTimeConstants.MILLIS_PER_DAY +
            5 * DateTimeConstants.MILLIS_PER_HOUR +
            6 * DateTimeConstants.MILLIS_PER_MINUTE +
            7 * DateTimeConstants.MILLIS_PER_SECOND + 8;
    Period test = new Period(length, PeriodType.time().withMillisRemoved(), ISOChronology.getInstance());
    assertEquals(PeriodType.time().withMillisRemoved(), test.getPeriodType());
    assertEquals(0, test.getYears());
    assertEquals(0, test.getMonths());
    assertEquals(0, test.getWeeks());
    assertEquals(0, test.getDays());
    assertEquals((4 * 24) + 5, test.getHours());
    assertEquals(6, test.getMinutes());
    assertEquals(7, test.getSeconds());
    assertEquals(0, test.getMillis());
}
项目:astor    文件:TestInstant_Basics.java   
public void testToDateTime_DateTimeZone() {
    Instant test = new Instant(TEST_TIME1);
    DateTime result = test.toDateTime(LONDON);
    assertEquals(test.getMillis(), result.getMillis());
    assertEquals(ISOChronology.getInstance(LONDON), result.getChronology());

    test = new Instant(TEST_TIME1);
    result = test.toDateTime(PARIS);
    assertEquals(test.getMillis(), result.getMillis());
    assertEquals(ISOChronology.getInstance(PARIS), result.getChronology());

    test = new Instant(TEST_TIME1);
    result = test.toDateTime((DateTimeZone) null);
    assertEquals(test.getMillis(), result.getMillis());
    assertEquals(ISOChronology.getInstance(), result.getChronology());
}
项目:astor    文件:TestDateTimeUtils.java   
public void testGetInstantChronology_RI() {
    DateTime dt = new DateTime(123L, BuddhistChronology.getInstance());
    assertEquals(BuddhistChronology.getInstance(), DateTimeUtils.getInstantChronology(dt));

    Instant i = new Instant(123L);
    assertEquals(ISOChronology.getInstanceUTC(), DateTimeUtils.getInstantChronology(i));

    AbstractInstant ai = new AbstractInstant() {
        public long getMillis() {
            return 0L;
        }
        public Chronology getChronology() {
            return null; // testing for this
        }
    };
    assertEquals(ISOChronology.getInstance(), DateTimeUtils.getInstantChronology(ai));

    assertEquals(ISOChronology.getInstance(), DateTimeUtils.getInstantChronology(null));
}
项目:astor    文件:TestMutablePeriod_Constructors.java   
public void testConstructor_long_Chronology1() throws Throwable {
    long length = 4 * DateTimeConstants.MILLIS_PER_DAY +
            5 * DateTimeConstants.MILLIS_PER_HOUR +
            6 * DateTimeConstants.MILLIS_PER_MINUTE +
            7 * DateTimeConstants.MILLIS_PER_SECOND + 8;
    MutablePeriod test = new MutablePeriod(length, ISOChronology.getInstance());
    assertEquals(PeriodType.standard(), test.getPeriodType());
    assertEquals(0, test.getYears());
    assertEquals(0, test.getMonths());
    assertEquals(0, test.getWeeks());
    assertEquals(0, test.getDays());
    assertEquals((4 * 24) + 5, test.getHours());
    assertEquals(6, test.getMinutes());
    assertEquals(7, test.getSeconds());
    assertEquals(8, test.getMillis());
}
项目:shibboleth-idp-oidc-extension    文件:AbstractReloadingOIDCEntityResolver.java   
/**
 * Refreshes the metadata from its source.
 * 
 * @throws ResolverException thrown is there is a problem retrieving and processing the metadata
 */
public synchronized void refresh() throws ResolverException {
    final DateTime now = new DateTime(ISOChronology.getInstanceUTC());
    final String mdId = getMetadataIdentifier();

    long refreshDelay = 0;

    log.debug("Beginning refresh of metadata from '{}'", mdId);
    try {
        byte[] mdBytes = fetchMetadata();
        if (mdBytes == null) {
            log.debug("Metadata from '{}' has not changed since last refresh", mdId);
        } else {
            log.debug("Processing new metadata from '{}'", mdId);
            final Value information = parse(mdBytes);
            final Key id = getKey(information);
            log.info("Parsed entity information for {}", id);
            final JsonBackingStore newBackingStore = new JsonBackingStore();
            List<Value> allInformation = new ArrayList<>();
            allInformation.add(information);
            newBackingStore.getIndexedInformation().put(id, allInformation);
            newBackingStore.getOrderedInformation().add(information);
            setBackingStore(newBackingStore);
            lastUpdate = now;
        }
    } catch (Throwable t) {
        log.error("Error occurred while attempting to refresh metadata from '" + mdId + "'", t);
        refreshDelay = minRefreshDelay;
        if (t instanceof Exception) {
            throw new ResolverException((Exception) t);
        } else {
            throw new ResolverException(String.format("Saw an error of type '%s' with message '%s'", 
                    t.getClass().getName(), t.getMessage()));
        }
    } finally {
        scheduleNextRefresh(refreshDelay);
        lastRefresh = now;
    }
}
项目:shibboleth-idp-oidc-extension    文件:AbstractReloadingOIDCEntityResolver.java   
/**
 * Schedules the next refresh. If the given delay is 0, then {@link maxRefreshDelay} is used.
 * @param delay The delay before the next refresh.
 */
protected void scheduleNextRefresh(final long delay) {
    refreshMetadataTask = new RefreshMetadataTask();
    long refreshDelay = delay;
    if (delay == 0) {
        refreshDelay = maxRefreshDelay;
    }
    nextRefresh = new DateTime(ISOChronology.getInstanceUTC()).plus(refreshDelay);
    final long nextRefreshDelay = nextRefresh.getMillis() - System.currentTimeMillis();

    taskTimer.schedule(refreshMetadataTask, nextRefreshDelay);
    log.info("Next refresh cycle for metadata provider '{}' will occur on '{}' ('{}' local time)",
            new Object[] {getMetadataIdentifier(), nextRefresh, 
                    nextRefresh.toDateTime(DateTimeZone.getDefault()),});
}
项目:elasticsearch_my    文件:HighlighterSearchIT.java   
public void testHighlightQueryRewriteDatesWithNow() throws Exception {
    assertAcked(client().admin().indices().prepareCreate("index-1").addMapping("type", "d", "type=date",
        "field", "type=text,store=true,term_vector=with_positions_offsets")
        .setSettings("index.number_of_replicas", 0, "index.number_of_shards", 2)
        .get());
    DateTime now = new DateTime(ISOChronology.getInstanceUTC());
    indexRandom(true, client().prepareIndex("index-1", "type", "1").setSource("d", now, "field", "hello world"),
        client().prepareIndex("index-1", "type", "2").setSource("d", now.minusDays(1), "field", "hello"),
        client().prepareIndex("index-1", "type", "3").setSource("d", now.minusDays(2), "field", "world"));
    ensureSearchable("index-1");
    for (int i = 0; i < 5; i++) {
        final SearchResponse r1 = client().prepareSearch("index-1")
            .addSort("d", SortOrder.DESC)
            .setTrackScores(true)
            .highlighter(highlight()
                .field("field")
                .preTags("<x>")
                .postTags("</x>")
            ).setQuery(QueryBuilders.boolQuery().must(
                QueryBuilders.rangeQuery("d").gte("now-12h").lte("now").includeLower(true).includeUpper(true).boost(1.0f))
                .should(QueryBuilders.termQuery("field", "hello")))
            .get();

        assertSearchResponse(r1);
        assertThat(r1.getHits().getTotalHits(), equalTo(1L));
        assertHighlight(r1, 0, "field", 0, 1,
            equalTo("<x>hello</x> world"));
    }
}
项目:lams    文件:FileBackedHttpResource.java   
/** {@inheritDoc} */
public DateTime getLastModifiedTime() throws ResourceException {
    try {
        return super.getLastModifiedTime();
    } catch (ResourceException e) {
        log.warn("HTTP resource '{}' was inaccessible for getLastModifiedTime(), trying backing file '{}'", 
                getLocation(), resourceFile.getAbsolutePath());
        long lastModifiedTime = resourceFile.lastModified();
        if (lastModifiedTime == 0) {
            throw new ResourceException("URL resource is not reachable and backing file is not readable");
        }

        return new DateTime(lastModifiedTime, ISOChronology.getInstanceUTC());
    }
}