Package hu.lacimol.tutorial.todo.service

Source Code of hu.lacimol.tutorial.todo.service.TodoServiceImpl

package hu.lacimol.tutorial.todo.service;

import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.collect.Lists.newArrayList;

import hu.lacimol.tutorial.todo.model.Comment;
import hu.lacimol.tutorial.todo.model.Todo;

import java.util.List;

import net.java.ao.Query;

import com.atlassian.activeobjects.external.ActiveObjects;

public final class TodoServiceImpl implements TodoService {

  private final ActiveObjects ao;

  public TodoServiceImpl(ActiveObjects ao) {
    this.ao = checkNotNull(ao);
  }

  @Override
  public Todo create(String description) {
    final Todo todo = ao.create(Todo.class);
    todo.setDescription(description);
    todo.setComplete(false);
    todo.save();
    return todo;
  }

  @Override
  public List<Todo> findAll() {
    return newArrayList(ao.find(Todo.class));
  }

  @Override
  public List<Todo> find(String description) {
    return newArrayList(ao.find(Todo.class, Query.select().where("description = ?", description)));
  }

  @Override
  public void addComment(Todo todo, String text) {
    Comment comment = ao.create(Comment.class);
    comment.setTodo(todo);
    comment.setText(text);
    comment.save();
  }

  @Override
  public Todo findById(int id) {
    //return ao.find(Todo.class, Query.select().where("id = ?", id);
    return ao.get(Todo.class, id);
  }

  @Override
  public void delete(int id) {
    Todo todo = ao.get(Todo.class, id);
    ao.delete(todo.getComments());
    ao.delete(todo);
  }

}
TOP

Related Classes of hu.lacimol.tutorial.todo.service.TodoServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.