// Path: src/main/java/org/geekmj/model/DateParamModel.java
// public class DateParamModel {
// 
// 	private String dateAsString;
// 
// 	public String getDateAsString() {
// 		return dateAsString;
// 	}
// 
// 	public void setDateAsString(String dateAsString) {
// 		this.dateAsString = dateAsString;
// 	}
// 
// 	public LocalDateTime getDate() {
// 		LocalDateTime dateTime = null;
// 		try {
// 			dateTime = LocalDateTime.parse(dateAsString, DateTimeFormatter.ISO_DATE_TIME);
// 		} catch (DateTimeParseException ex) {
// 			System.err.println("Conversion of dateAsString: " + dateAsString + " using ISO date time failed.");
// 		}
// 		try {
// 			dateTime = LocalDateTime.parse(dateAsString, DateTimeFormatter.ISO_DATE);
// 		} catch (DateTimeParseException ex) {
// 			System.err.println("Conversion of dateAsString: " + dateAsString + " using ISO date failed.");
// 		}
// 
// 		return dateTime;
// 	}
// 
// }


import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import org.geekmj.model.DateParamModel;
package org.geekmj.config;




@Provider
public class DateParamModelConvertorProvider implements ParamConverterProvider {

	@Override
	public <T> ParamConverter<T> getConverter(Class<T> rawType, Type genericType, Annotation[] annotations) {

		if (rawType.getName().equals(DateParamModel.class.getName())) {
			return new ParamConverter<T>() {

				@SuppressWarnings("unchecked")
				@Override
				public T fromString(String value) {
					DateParamModel dateParamModel = new DateParamModel();
					dateParamModel.setDateAsString(value);
					return (T) dateParamModel;
				}

				@Override
				public String toString(T bean) {
// Path: src/main/java/org/geekmj/model/DateParamModel.java
// public class DateParamModel {
// 
// 	private String dateAsString;
// 
// 	public String getDateAsString() {
// 		return dateAsString;
// 	}
// 
// 	public void setDateAsString(String dateAsString) {
// 		this.dateAsString = dateAsString;
// 	}
// 
// 	public LocalDateTime getDate() {
// 		LocalDateTime dateTime = null;
// 		try {
// 			dateTime = LocalDateTime.parse(dateAsString, DateTimeFormatter.ISO_DATE_TIME);
// 		} catch (DateTimeParseException ex) {
// 			System.err.println("Conversion of dateAsString: " + dateAsString + " using ISO date time failed.");
// 		}
// 		try {
// 			dateTime = LocalDateTime.parse(dateAsString, DateTimeFormatter.ISO_DATE);
// 		} catch (DateTimeParseException ex) {
// 			System.err.println("Conversion of dateAsString: " + dateAsString + " using ISO date failed.");
// 		}
// 
// 		return dateTime;
// 	}
// 
// }


// Path: src/main/java/org/geekmj/config/DateParamModelConvertorProvider.java
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import org.geekmj.model.DateParamModel;

package org.geekmj.config;




@Provider
public class DateParamModelConvertorProvider implements ParamConverterProvider {

	@Override
	public <T> ParamConverter<T> getConverter(Class<T> rawType, Type genericType, Annotation[] annotations) {

		if (rawType.getName().equals(DateParamModel.class.getName())) {
			return new ParamConverter<T>() {

				@SuppressWarnings("unchecked")
				@Override
				public T fromString(String value) {
					DateParamModel dateParamModel = new DateParamModel();
					dateParamModel.setDateAsString(value);
					return (T) dateParamModel;
				}

				@Override
				public String toString(T bean) {
					return ((DateParamModel) bean).getDateAsString();