List of usage examples for javax.xml.datatype DatatypeFactory newXMLGregorianCalendar
public abstract XMLGregorianCalendar newXMLGregorianCalendar();
From source file:DatatypeAPIUsage.java
public static void main(String[] args) { try {/*from ww w . j av a2 s. com*/ DatatypeFactory df = DatatypeFactory.newInstance(); // my work number in milliseconds: Duration myPhone = df.newDuration(9054133519l); Duration myLife = df.newDuration(true, 29, 2, 15, 13, 45, 0); int compareVal = myPhone.compare(myLife); switch (compareVal) { case DatatypeConstants.LESSER: System.out.println("There are fewer milliseconds in my phone number than my lifespan."); break; case DatatypeConstants.EQUAL: System.out.println("The same number of milliseconds are in my phone number and my lifespan."); break; case DatatypeConstants.GREATER: System.out.println("There are more milliseconds in my phone number than my lifespan."); break; case DatatypeConstants.INDETERMINATE: System.out.println("The comparison could not be carried out."); } // create a yearMonthDuration Duration ymDuration = df.newDurationYearMonth("P12Y10M"); System.out.println("P12Y10M is of type: " + ymDuration.getXMLSchemaType()); // create a dayTimeDuration (really this time) Duration dtDuration = df.newDurationDayTime("P10DT10H12M0S"); System.out.println("P10DT10H12M0S is of type: " + dtDuration.getXMLSchemaType()); // try to fool the factory! try { ymDuration = df.newDurationYearMonth("P12Y10M1D"); } catch (IllegalArgumentException e) { System.out.println("'duration': P12Y10M1D is not 'yearMonthDuration'!!!"); } XMLGregorianCalendar xgc = df.newXMLGregorianCalendar(); xgc.setYear(1975); xgc.setMonth(DatatypeConstants.AUGUST); xgc.setDay(11); xgc.setHour(6); xgc.setMinute(44); xgc.setSecond(0); xgc.setMillisecond(0); xgc.setTimezone(5); xgc.add(myPhone); System.out.println("The approximate end of the number of milliseconds in my phone number was " + xgc); // adding a duration to XMLGregorianCalendar xgc.add(myLife); System.out.println("Adding the duration myLife to the above calendar:" + xgc); // create a new XMLGregorianCalendar using the string format of xgc. XMLGregorianCalendar xgcCopy = df.newXMLGregorianCalendar(xgc.toXMLFormat()); // should be equal-if not what happened!! if (xgcCopy.compare(xgc) != DatatypeConstants.EQUAL) { System.out.println("oooops!"); } else { System.out.println("Very good: " + xgc + " is equal to " + xgcCopy); } } catch (DatatypeConfigurationException dce) { System.err.println("error: Datatype error occurred - " + dce.getMessage()); dce.printStackTrace(System.err); } }
From source file:ebay.dts.client.BulkDataExchangeActions.java
private static XMLGregorianCalendar parseDateTime(String cal) throws DatatypeConfigurationException { DatatypeFactory factory1 = DatatypeFactory.newInstance(); XMLGregorianCalendar calendar1 = factory1.newXMLGregorianCalendar(); String[] dateItems;/*ww w.j a v a 2 s .c o m*/ try { // df.parse(cal); if (cal.indexOf("_") == -1) { dateItems = cal.split("-"); calendar1.setYear(Integer.parseInt(dateItems[0])); calendar1.setMonth(Integer.parseInt(dateItems[1])); calendar1.setDay(Integer.parseInt(dateItems[2])); // calendar1.setTime(00, 00, 00,000); calendar1.setTime(00, 00, 00); } else { String[] parts = cal.split("_"); dateItems = parts[0].split("-"); String[] timeItems = parts[1].split(":"); calendar1.setYear(Integer.parseInt(dateItems[0])); calendar1.setMonth(Integer.parseInt(dateItems[1])); calendar1.setDay(Integer.parseInt(dateItems[2])); if (timeItems.length != 0) { switch (timeItems.length) { case 1: { calendar1.setTime(Integer.parseInt(timeItems[0]), 00, 00, 000); break; } case 2: { calendar1.setTime(Integer.parseInt(timeItems[0]), Integer.parseInt(timeItems[1]), 00, 000); break; } case 3: { calendar1.setTime(Integer.parseInt(timeItems[0]), Integer.parseInt(timeItems[1]), Integer.parseInt(timeItems[2]), 000); break; } case 4: { calendar1.setTime(Integer.parseInt(timeItems[0]), Integer.parseInt(timeItems[1]), Integer.parseInt(timeItems[2]), Integer.parseInt(timeItems[3])); break; } } } } // get here and we know the format is correct } catch (java.lang.NumberFormatException e) { logger.error("NumberFormatException caught when parse the DateTime string: " + cal); return null; } calendar1.setTimezone(0); logger.debug(calendar1.toXMLFormat()); return calendar1; }
From source file:ejava.projects.edmv.xml.EDmvParserTest.java
public void testMonthParse() throws Exception { log.info("*** testCalendar ***"); DatatypeFactory dataFactory = DatatypeFactory.newInstance(); log.info("DataTypeFactory=" + dataFactory); XMLGregorianCalendar cal = dataFactory.newXMLGregorianCalendar(); log.info("XMLGregorianCalendar=" + cal.getClass()); cal.setMonth(GregorianCalendar.MARCH); String xml = cal.toXMLFormat(); log.debug("cal=" + xml); dataFactory.newXMLGregorianCalendar(xml); cal.setTimezone(0);/*from w ww .j a va 2s . co m*/ String format = "--01"; try { XMLGregorianCalendar xCal = dataFactory.newXMLGregorianCalendar(format); log.info("successfully parsed:" + format + ", xCal=" + xCal.toXMLFormat()); format = "--01--"; xCal = dataFactory.newXMLGregorianCalendar(format); log.info("successfully parsed:" + format + ", xCal=" + xCal.toXMLFormat()); } catch (Exception ex) { log.error("failed to parse:" + format); fail("failed to parse:" + format); } }
From source file:ejava.projects.edmv.xml.EDmvBindingTest.java
public void testCalendar() throws Exception { log.info("*** testCalendar ***"); DatatypeFactory dataFactory = DatatypeFactory.newInstance(); log.info("DataTypeFactory=" + dataFactory); XMLGregorianCalendar cal = dataFactory.newXMLGregorianCalendar(); log.info("XMLGregorianCalendar=" + cal.getClass()); cal.setMonth(GregorianCalendar.MARCH); String xml = cal.toXMLFormat(); log.debug("cal=" + xml); dataFactory.newXMLGregorianCalendar(xml); cal.setTimezone(0);//from w w w. j a va 2 s . com Calendar jCal = Calendar.getInstance(); jCal.clear(); jCal.set(Calendar.MONTH, Calendar.MARCH); DateFormat df = DateFormat.getDateInstance(); String dfString = df.format(jCal.getTime()); log.debug("calendar=" + dfString); String format = "--01"; try { XMLGregorianCalendar xCal = dataFactory.newXMLGregorianCalendar(format); log.info("successfully parsed:" + format + ", xCal=" + xCal.toXMLFormat()); format = "--01--"; xCal = dataFactory.newXMLGregorianCalendar(format); log.info("successfully parsed:" + format + ", xCal=" + xCal.toXMLFormat()); } catch (Exception ex) { log.error("failed to parse:" + format); fail("failed to parse:" + format); } }
From source file:org.jasig.portlet.calendar.adapter.ExchangeCalendarAdapter.java
/** * Get an XMLGregorianCalendar for the specified date. * * @param date//from w w w . ja va 2 s . c om * @return * @throws DatatypeConfigurationException */ protected XMLGregorianCalendar getXmlDate(DateTime date) throws DatatypeConfigurationException { // construct an XMLGregorianCalendar DatatypeFactory datatypeFactory = DatatypeFactory.newInstance(); XMLGregorianCalendar start = datatypeFactory.newXMLGregorianCalendar(); start.setYear(date.getYear()); start.setMonth(date.getMonthOfYear()); start.setTime(date.getHourOfDay(), date.getMinuteOfHour(), date.getSecondOfMinute(), date.getMillisOfSecond()); start.setDay(date.getDayOfMonth()); return start; }
From source file:org.jasig.portlet.calendar.adapter.ExchangeCalendarAdapter.java
/** * Return an internal API CalendarEvent for an Microsoft CalendarEvent object. * * @param calendarId/* w w w .ja v a 2 s . c om*/ * @param msEvent * @return * @throws DatatypeConfigurationException */ protected VEvent getInternalEvent(long calendarId, com.microsoft.exchange.types.CalendarEvent msEvent) throws DatatypeConfigurationException { DatatypeFactory factory = DatatypeFactory.newInstance(); // create a new UTC-based DateTime to represent the event start time net.fortuna.ical4j.model.DateTime eventStart = new net.fortuna.ical4j.model.DateTime(); eventStart.setUtc(true); Calendar startCal = msEvent.getStartTime().toGregorianCalendar(java.util.TimeZone.getTimeZone(UTC), Locale.getDefault(), factory.newXMLGregorianCalendar()); eventStart.setTime(startCal.getTimeInMillis()); // create a new UTC-based DateTime to represent the event ent time net.fortuna.ical4j.model.DateTime eventEnd = new net.fortuna.ical4j.model.DateTime(); eventEnd.setUtc(true); Calendar endCal = msEvent.getEndTime().toGregorianCalendar(java.util.TimeZone.getTimeZone(UTC), Locale.getDefault(), factory.newXMLGregorianCalendar()); eventEnd.setTime(endCal.getTimeInMillis()); // create a property list representing the new event PropertyList newprops = new PropertyList(); newprops.add(new Uid(msEvent.getCalendarEventDetails().getID())); newprops.add(new DtStamp()); newprops.add(new DtStart(eventStart)); newprops.add(new DtEnd(eventEnd)); newprops.add(new Summary(msEvent.getCalendarEventDetails().getSubject())); if (StringUtils.isNotBlank(msEvent.getCalendarEventDetails().getLocation())) { newprops.add(new Location(msEvent.getCalendarEventDetails().getLocation())); } VEvent event = new VEvent(newprops); return event; }
From source file:org.jasig.portlet.calendar.adapter.ExchangeCalendarAdapterTest.java
@Test public void testGetInternalEvent() throws DatatypeConfigurationException { com.microsoft.exchange.types.CalendarEvent msEvent = new com.microsoft.exchange.types.CalendarEvent(); // set the test event start time to 4AM on November 1, 2010 DatatypeFactory datatypeFactory = DatatypeFactory.newInstance(); XMLGregorianCalendar start = datatypeFactory.newXMLGregorianCalendar(); start.setYear(2010);/*from www . ja va2 s . c o m*/ start.setMonth(11); start.setDay(1); start.setTime(4, 0, 0, 0); msEvent.setStartTime(start); // set the test event end time to 5AM on November 1, 2010 XMLGregorianCalendar end = datatypeFactory.newXMLGregorianCalendar(); end.setYear(2010); end.setMonth(12); end.setDay(1); end.setTime(5, 0, 0, 0); msEvent.setEndTime(end); // set the event tname and location CalendarEventDetails details = new CalendarEventDetails(); details.setSubject("Naptime"); details.setLocation("My house"); msEvent.setCalendarEventDetails(details); // transform the Microsoft calendar event into a calendar portlet event VEvent event = adapter.getInternalEvent(3, msEvent); // ensure the calendar id, summary, and location are all set correctly assertEquals("Naptime", event.getSummary().getValue()); assertEquals("My house", event.getLocation().getValue()); // check the start time Calendar cal = Calendar.getInstance(java.util.TimeZone.getTimeZone("UTC")); cal.setTimeInMillis(event.getStartDate().getDate().getTime()); assertEquals(4, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(java.util.TimeZone.getTimeZone("UTC"), cal.getTimeZone()); assertTrue(event.getStartDate().isUtc()); assertNull(event.getStartDate().getTimeZone()); // check the end time cal.setTimeInMillis(event.getEndDate().getDate().getTime()); assertEquals(5, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(java.util.TimeZone.getTimeZone("UTC"), cal.getTimeZone()); assertTrue(event.getEndDate().isUtc()); assertNull(event.getEndDate().getTimeZone()); }