// Path: 2.RealWorldExample/data/api/src/main/java/com/in28minutes/example/layering/data/api/TodoDataService.java
// public interface TodoDataService {
// 	List<Todo> retrieveTodos(String userName);
// }
// 
// Path: 2.RealWorldExample/data/impl/src/main/java/com/in28minutes/example/layering/data/database/Database.java
// @Component
// public class Database {
// 	public List<Todo> retrieveTodos(String userName) {
// 
// 		List<Todo> todos = Arrays.asList(new Todo(
// 				"Real Database - Complete Spring Tutorial", new Date(), false),
// 				new Todo("Real Database - Complete Spring MVC Tutorial",
// 						new Date(), false), new Todo(
// 						"Real Database - Complete All Tutorials", new Date(),
// 						false));
// 
// 		return todos;
// 	}
// 
// }
// 
// Path: 2.RealWorldExample/model/src/main/java/com/in28minutes/example/layering/model/api/client/Todo.java
// public class Todo {
// 
// 	private String desc;
// 	private Date date;
// 	private boolean isDone;
// 
// 	public Todo(String desc, Date date, boolean isDone) {
// 		super();
// 		this.desc = desc;
// 		this.date = date;
// 		this.isDone = isDone;
// 	}
// 
// 	public String getDesc() {
// 		return desc;
// 	}
// 
// 	public void setDesc(String desc) {
// 		this.desc = desc;
// 	}
// 
// 	public Date getDate() {
// 		return date;
// 	}
// 
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 
// 	public boolean isDone() {
// 		return isDone;
// 	}
// 
// 	public void setDone(boolean isDone) {
// 		this.isDone = isDone;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return String.format("Todo [desc=%s, date=%s, isDone=%s]", desc, date,
// 				isDone);
// 	}
// 
// }


import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.in28minutes.example.layering.data.api.TodoDataService;
import com.in28minutes.example.layering.data.database.Database;
import com.in28minutes.example.layering.model.api.client.Todo;
package com.in28minutes.example.layering.data.impl;




@Component
public class TodoDataServiceRealImpl implements TodoDataService {

	@Autowired
	private Database database;

	@Override
	public List<Todo> retrieveTodos(String userName) {
// Path: 2.RealWorldExample/data/api/src/main/java/com/in28minutes/example/layering/data/api/TodoDataService.java
// public interface TodoDataService {
// 	List<Todo> retrieveTodos(String userName);
// }
// 
// Path: 2.RealWorldExample/data/impl/src/main/java/com/in28minutes/example/layering/data/database/Database.java
// @Component
// public class Database {
// 	public List<Todo> retrieveTodos(String userName) {
// 
// 		List<Todo> todos = Arrays.asList(new Todo(
// 				"Real Database - Complete Spring Tutorial", new Date(), false),
// 				new Todo("Real Database - Complete Spring MVC Tutorial",
// 						new Date(), false), new Todo(
// 						"Real Database - Complete All Tutorials", new Date(),
// 						false));
// 
// 		return todos;
// 	}
// 
// }
// 
// Path: 2.RealWorldExample/model/src/main/java/com/in28minutes/example/layering/model/api/client/Todo.java
// public class Todo {
// 
// 	private String desc;
// 	private Date date;
// 	private boolean isDone;
// 
// 	public Todo(String desc, Date date, boolean isDone) {
// 		super();
// 		this.desc = desc;
// 		this.date = date;
// 		this.isDone = isDone;
// 	}
// 
// 	public String getDesc() {
// 		return desc;
// 	}
// 
// 	public void setDesc(String desc) {
// 		this.desc = desc;
// 	}
// 
// 	public Date getDate() {
// 		return date;
// 	}
// 
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 
// 	public boolean isDone() {
// 		return isDone;
// 	}
// 
// 	public void setDone(boolean isDone) {
// 		this.isDone = isDone;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return String.format("Todo [desc=%s, date=%s, isDone=%s]", desc, date,
// 				isDone);
// 	}
// 
// }


// Path: 2.RealWorldExample/data/impl/src/main/java/com/in28minutes/example/layering/data/impl/TodoDataServiceRealImpl.java
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.in28minutes.example.layering.data.api.TodoDataService;
import com.in28minutes.example.layering.data.database.Database;
import com.in28minutes.example.layering.model.api.client.Todo;

package com.in28minutes.example.layering.data.impl;




@Component
public class TodoDataServiceRealImpl implements TodoDataService {

	@Autowired
	private Database database;

	@Override
	public List<Todo> retrieveTodos(String userName) {
		return database.retrieveTodos(userName);