com.balero.models.StaticPagesDAO.java Source code

Java tutorial

Introduction

Here is the source code for com.balero.models.StaticPagesDAO.java

Source

/**
 * <pre>
 * Balero CMS Enterprise Edition is free and open source software under MIT License.
 *
 * The MIT License (MIT)
 *
 * Copyright (c) 2013-2014 <Balero CMS All Rights Reserved>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * <a href="http://www.balerocms.com">BaleroCMS.com</a>
 * </pre>
 *
 * @author      Anibal Gomez
 * @version     1.0
 * @since       1.0
 */

package com.balero.models;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Locale;

/**
 * Get, Insert and Update data from database
 */
@Repository
@SuppressWarnings({ "unchecked", "rawtypes" })
public class StaticPagesDAO {
    @Autowired
    private SessionFactory sessionFactory;

    /**
     * SELECT * FROM 'pages'
     *
     * @return rows
     */
    @Transactional
    public List<StaticPages> findAll(Locale locale) {
        Session session = sessionFactory.getCurrentSession();
        List rows = session.createQuery("from StaticPages").list();
        return rows;
    }

    /**
     * SELECT * FROM 'pages' where id = '{id}'
     *
     * @return rows
     */
    @Transactional
    public List<StaticPages> findPage(int pageid) {
        Session session = sessionFactory.getCurrentSession();
        List rows = session.createQuery("from StaticPages where id = '" + pageid + "'").list();
        return rows;
    }

    /**
     * SELECT * FROM 'pages' where slug = '{string}'
     *
     * @return rows
     */
    @Transactional
    public List<StaticPages> findPageBySlug(String slug) {
        Session session = sessionFactory.getCurrentSession();
        List rows = session.createQuery("from StaticPages where pageslug = '" + slug + "'").list();
        return rows;
    }

    @Transactional
    public void addPage(String pagename, String pagebody, String pageslug, Locale pagelocale) {
        Session session = sessionFactory.openSession();
        StaticPages staticPages = new StaticPages();
        staticPages.setPagename(pagename);
        staticPages.setPagebody(pagebody);
        staticPages.setPageslug(pageslug);
        staticPages.setPagelocale(pagelocale.toString());
        session.save(staticPages);
        session.flush();
        session.close();
    }

    @Transactional
    public void updatePage(int id, String pagename, String pagebody, String pageslug, String pagelocale) {
        Session session = sessionFactory.openSession();
        StaticPages staticPages = new StaticPages();
        staticPages.setId(id);
        staticPages.setPagename(pagename);
        staticPages.setPagebody(pagebody);
        staticPages.setPageslug(pageslug);
        staticPages.setPagelocale(pagelocale);
        session.update(staticPages);
        session.flush();
        session.close();
    }

    /**
     * DELETE FROM query
     *
     * @param id
     */
    @Transactional
    public void deletePage(int id) {
        Session session = sessionFactory.openSession();
        StaticPages staticPages = new StaticPages();
        staticPages.setId(id);
        session.delete(staticPages);
        session.flush();
        session.close();
    }

    @Transactional
    public void make(Locale locale) {
        Session session = sessionFactory.getCurrentSession();
        StaticPages staticPages = new StaticPages();
        staticPages.setId(1);
        staticPages.setPagename("Example");
        staticPages.setPagebody("\n"
                + "<p>Lorem Ipsum is text that is commonly used in graphic design typefaces demonstrations or draft design to test the visual design before inserting the final text.</p>\n"
                + "\n"
                + "<p>Although currently has no sources to justify tesis hip, professor of classical philology Richard McClintock says its use dates back to the early printers XVI.1 century Its use in some text editors well known in today has given the new popularity lorem ipsum.</p>\n"
                + "\n"
                + "<p>The text itself no sense, although it is not completely random, but derives from a text by Cicero in Latin language, whose words have been removed them syllables or letters. The meaning of the text does not matter, since it is just a test demostracino,</p>\n");
        staticPages.setPageslug("example-page");
        staticPages.setPagelocale(locale.toString());
        session.save(staticPages);
        session.flush();
    }

    @Transactional
    public String pageName(String pageslug) {
        String pagename = null;
        Session session = sessionFactory.getCurrentSession();
        List<StaticPages> pages = session.createQuery("from StaticPages where pageslug = '" + pageslug + "'")
                .list();

        for (StaticPages obj : pages) {
            pagename = obj.getPagename();
        }

        return pagename;

    }

}