/** * <copyright> * * Copyright (c) 2009, 2010 Springsite BV (The Netherlands) and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Martin Taal - Initial API and implementation * * </copyright> * * $Id: XMLDateTimeDataGenerator.java,v 1.9 2011/08/25 12:33:42 mtaal Exp $ */ package org.eclipse.emf.texo.datagenerator.attributegenerators; import java.util.Calendar; import javax.xml.datatype.XMLGregorianCalendar; import org.eclipse.emf.ecore.xml.type.XMLTypeFactory; import org.eclipse.emf.ecore.xml.type.XMLTypePackage; import org.eclipse.emf.texo.datagenerator.EDataTypeDataGenerator; /** * Generates a XMLGregorianCalendar DateTime value. * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> * @version $Revision: 1.9 $ */ public class XMLDateTimeDataGenerator extends EDataTypeDataGenerator { private Calendar calendar = Calendar.getInstance(); @Override protected Object getNextValue() { calendar.add(Calendar.DATE, 1 + calendar.get(Calendar.DATE)); if (calendar.get(Calendar.DATE) > 28) { calendar.set(Calendar.DATE, 1); } final XMLTypeFactory factory = XMLTypePackage.eINSTANCE.getXMLTypeFactory(); final XMLGregorianCalendar xmlCalendar = factory.createDate("2010-02-04T17:17:17+01:00"); //$NON-NLS-1$ xmlCalendar.setYear(calendar.get(Calendar.YEAR)); xmlCalendar.setMonth(1 + calendar.get(Calendar.MONTH)); xmlCalendar.setDay(calendar.get(Calendar.DATE)); return xmlCalendar; } }