// Path: src/main/java/nl/uva/larissa/json/ISO8601VerboseDateFormat.java
// public class ISO8601VerboseDateFormat extends ISO8601DateFormat {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// 	@Override
// 	public StringBuffer format(Date date, StringBuffer stringbuffer,
// 			FieldPosition fieldposition) {
// 		String s = ISO8601Utils.format(date, true);
// 		stringbuffer.append(s);
// 		return stringbuffer;
// 	}
// }


import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import nl.uva.larissa.json.ISO8601VerboseDateFormat;
package nl.uva.larissa.service;




@Provider
public class DateParamConverterProvider implements ParamConverterProvider {

	@SuppressWarnings({ "rawtypes", "unchecked" })
	@Override
	public ParamConverter getConverter(Class arg0, Type arg1, Annotation[] arg2) {
		if (arg1.equals(Date.class)) {
			return new DateParamConverter();
		} else {
			return null;
		}
	}

	private static class DateParamConverter implements ParamConverter<Date> {

		// TODO is this threadsafe?
// Path: src/main/java/nl/uva/larissa/json/ISO8601VerboseDateFormat.java
// public class ISO8601VerboseDateFormat extends ISO8601DateFormat {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// 	@Override
// 	public StringBuffer format(Date date, StringBuffer stringbuffer,
// 			FieldPosition fieldposition) {
// 		String s = ISO8601Utils.format(date, true);
// 		stringbuffer.append(s);
// 		return stringbuffer;
// 	}
// }


// Path: src/main/java/nl/uva/larissa/service/DateParamConverterProvider.java
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import nl.uva.larissa.json.ISO8601VerboseDateFormat;

package nl.uva.larissa.service;




@Provider
public class DateParamConverterProvider implements ParamConverterProvider {

	@SuppressWarnings({ "rawtypes", "unchecked" })
	@Override
	public ParamConverter getConverter(Class arg0, Type arg1, Annotation[] arg2) {
		if (arg1.equals(Date.class)) {
			return new DateParamConverter();
		} else {
			return null;
		}
	}

	private static class DateParamConverter implements ParamConverter<Date> {

		// TODO is this threadsafe?
		final DateFormat format = new ISO8601VerboseDateFormat();