cs544.blog.service.BlogService.java Source code

Java tutorial

Introduction

Here is the source code for cs544.blog.service.BlogService.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cs544.blog.service;

import cs544.blog.dao.IPostDAO;
import cs544.blog.dao.IUserDAO;

import cs544.blog.dao.UserDAOHibernate;
import cs544.blog.entities.Post;
import cs544.blog.entities.User;
import cs544.blog.entities.User;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 *
 * @author ajay
 */
@Service("blogService")
public class BlogService implements IBlogService {

    private IUserDAO userDAO;
    private IPostDAO postDAO;

    public BlogService() {
        //this.userDAO = new UserDAOHibernate();
    }

    public BlogService(IUserDAO userDAO) {
        this.userDAO = userDAO;
    }

    public void setUserDAO(IUserDAO userDAO) {
        this.userDAO = userDAO;
    }

    public IPostDAO getPostDAO() {
        return postDAO;
    }

    public void setPostDAO(IPostDAO postDAO) {
        this.postDAO = postDAO;
    }

    public void init() {
        // createUser("ajay","ajay");
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public List<Post> getAllPost() {
        return userDAO.getAllPosts();
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public List<Post> getUserPosts(long userId) {
        return userDAO.getUserPosts(userId);
    }

    @Override
    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public User createUser(String username, String password) {
        // Transaction tx = sessionFactory.getCurrentSession().beginTransaction();
        User user = new User(username, password);
        userDAO.saveUser(user);
        //  tx.commit();
        return user;
    }

    //     
    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public User getUser(String username) {
        return userDAO.getUser(username);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public User loadUser(long userId) {
        return userDAO.loadUser(userId);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public void updateUser(User user) {
        userDAO.updateUser(user);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public void deleteUser(long userId) {
        userDAO.deleteUser(userId);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public List<User> getAllUser() {

        List<User> users = userDAO.getUserList();
        // tx.commit();
        return users;
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public Post createPost(long id, String title, String contents) {
        //Transaction tx = HibernateUtil.getSessionFactory().getCurrentSession().beginTransaction();
        // Transaction tx = sessionFactory.getCurrentSession().beginTransaction();
        User user = loadUser(id);
        Post post = new Post(title, contents);
        post.setUser(user);
        //userDAO.updateUser(user);
        postDAO.savePost(post);
        //  tx.commit();
        return post;
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public Post getPost(long id) {
        return postDAO.getPost(id);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public void updatePost(long id, Post post) {
        System.err.println("post title in DAO " + post.getTitle());
        postDAO.updatePost(id, post);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public void deletePost(long postId) {
        postDAO.deletePost(postId);
    }

}