Package org.exist.xquery.value

Examples of org.exist.xquery.value.TimeValue


        } else if (args[1].hasMany()) {
            throw new XPathException(this, ErrorCodes.XPTY0004,
                "Expected at most one xs:time", args[1]);
        } else {
            final DateValue dv = (DateValue)args[0].itemAt(0);
            final TimeValue tv = (TimeValue)args[1].itemAt(0);
            if (!dv.getTimezone().isEmpty()) {
                if (!tv.getTimezone().isEmpty()) {
                    if (!((DayTimeDurationValue)dv.getTimezone().itemAt(0))
                        .compareTo(null, Constants.EQ,
                            ((DayTimeDurationValue)tv.getTimezone().itemAt(0)))) {
                       
                      final ValueSequence argsSeq = new ValueSequence();
                        argsSeq.add(dv);
                        argsSeq.add(tv);
                       
                        throw new XPathException(this, ErrorCodes.FORG0008,
                            "Operands have different timezones", argsSeq);
                    }
                }
            }
            String dtv = ((DateTimeValue)dv.convertTo(Type.DATE_TIME)).getTrimmedCalendar().toXMLFormat();
           
            if (dv.getTimezone().isEmpty()) {
                dtv = dtv.substring(0, dtv.length() - 8);
                result = new DateTimeValue(dtv + tv.getStringValue());
           
            } else if ("PT0S".equals(((DayTimeDurationValue)dv.getTimezone().itemAt(0)).getStringValue())) {
                dtv = dtv.substring(0, dtv.length() - 9);
                if (tv.getTimezone().isEmpty()) {
                    result = new DateTimeValue(dtv + tv.getStringValue() + "Z");
                } else {
                    result = new DateTimeValue(dtv + tv.getStringValue());
                }
           
            } else {
                if (tv.getTimezone().isEmpty()) {
                    final String tz = dtv.substring(19);
                    dtv = dtv.substring(0, dtv.length() - 14);
                    result = new DateTimeValue(dtv + tv.getStringValue() + tz);

                } else {
                    dtv = dtv.substring(0, dtv.length() - 14);
                    result = new DateTimeValue(dtv + tv.getStringValue());
                }
            }
        }
        if (context.getProfiler().isEnabled())
            {context.getProfiler().end(this, "", result);}
View Full Code Here


        if (args[0].isEmpty())
            return Sequence.EMPTY_SEQUENCE;

        try {
            TimeValue value = (TimeValue)args[0].itemAt(0);
            String picture = FormatFunctionConstants.translate(args[1].itemAt(0).getStringValue());
            String language = (args.length <= 2 || args[2].isEmpty()) ? null : args[2].itemAt(0).getStringValue();
            String calendar = (args.length <= 2 || args[3].isEmpty()) ? null : args[3].itemAt(0).getStringValue();
            String country = (args.length <= 2 || args[4].isEmpty()) ? null : args[4].itemAt(0).getStringValue();
            SimpleDateFormat format = null;

            if (language != null || country != null) {
                Locale locale = (country == null) ? new Locale(language) : new Locale(language, country);
                format = new SimpleDateFormat(picture, locale);
            } else {
                format = new SimpleDateFormat(picture);
            }
            return new StringValue(format.format(value.toJavaObject(java.util.Date.class)));
        } catch (java.lang.IllegalArgumentException e) {
            throw new XPathException(e.getMessage());
        }
  }
View Full Code Here

            Date date = sdf.parse(strTime);

            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(date);

            return new TimeValue(TimeUtils.getInstance().newXMLGregorianCalendar(cal));
        }
        catch(ParseException pe)
        {
            throw new XPathException(this, "Could not parse time string '" + strTime + "' for format '" + dateFormat + "': " + pe.getMessage(), pe);
        }
View Full Code Here

    }

    @Override
    public Sequence eval(Sequence[] args, Sequence contextSequence) throws XPathException
    {
        TimeValue t = (TimeValue)args[0].itemAt(0);
        String timeFormat = args[1].itemAt(0).toString();

        SimpleDateFormat sdf = new SimpleDateFormat(timeFormat);

        GregorianCalendar cal = t.calendar.toGregorianCalendar();
View Full Code Here

TOP

Related Classes of org.exist.xquery.value.TimeValue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.