⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupserviceimpl.java

📁 Jaoso新闻文章发布系统 0.9.1final 程序架构: Struts+Spring+Hibernate 主要功能:   ·新闻采用在线编辑器,可以象使用word一样编辑新闻,可简繁
💻 JAVA
字号:
package jaoso.framework.service.impl;

import jaoso.framework.dao.AccountDAO;
import jaoso.framework.dao.RoleDAO;

import jaoso.framework.domain.Account;
import jaoso.framework.domain.Person;
import jaoso.framework.domain.Right;
import jaoso.framework.domain.Role;

import jaoso.framework.exception.DAOException;

import jaoso.framework.security.Acl;
import jaoso.framework.security.ProtectedResource;

import jaoso.framework.service.SetupService;

import jaoso.framework.util.MyUtils;

import jaoso.guestbook.domain.GbCatalog;

import jaoso.news.dao.CatalogDAO;

import jaoso.news.domain.Catalog;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.springframework.orm.hibernate.LocalSessionFactoryBean;

import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;


/**
 * @author 边缘孤客 edgeloner@yahoo.com.cn
 * @since 2005-1-6
 */
public class SetupServiceImpl implements SetupService {
    private static Log log = LogFactory.getLog(SetupServiceImpl.class);
    private AccountDAO accountDAO;
    private Acl acl;
    private CatalogDAO catalogDAO;
    private jaoso.guestbook.dao.CatalogDAO gbCatalogDAO;
    private LocalSessionFactoryBean lsfb;
    private RoleDAO groupDAO;

    public void setAccountDAO(AccountDAO accountDAO) {
        this.accountDAO = accountDAO;
    }

    public void setAcl(Acl acl) {
        this.acl = acl;
    }

    public void setCatalogDAO(CatalogDAO catalogDAO) {
        this.catalogDAO = catalogDAO;
    }

    public void setGbCatalogDAO(jaoso.guestbook.dao.CatalogDAO gbCatalogDAO) {
        this.gbCatalogDAO = gbCatalogDAO;
    }

    public void setGroupDAO(RoleDAO groupDAO) {
        this.groupDAO = groupDAO;
    }

    public void setLsfb(LocalSessionFactoryBean lsfb) {
        this.lsfb = lsfb;
    }

    /**
     * (non-Javadoc)
     * @see jaoso.framework.service.SetupService#install()
     */
    public void install() {
        if (isNotCreateDatabaseScheme()) {
            createDatabaseScheme();
            createRoleNright();
            createArticleCatalog();
            createGuestBookCatalog();
        }
    }

    private LocalSessionFactoryBean getLsfb() {
        return lsfb;
    }

    private boolean isNotCreateDatabaseScheme() {
        try {
            groupDAO.findAllGroup();
        } catch (DAOException e) {
            return true;
        }

        return false;
    }

    private void createArticleCatalog() {
        Catalog catalog = new Catalog();
        Catalog catalog2 = new Catalog();
        Catalog catalog3 = new Catalog();
        catalog.setCatalogTitle("MyArticle");
        catalog2.setCatalogTitle("My live");
        catalog3.setCatalogTitle("My work");
        catalog2.setParent(catalog);
        catalog3.setParent(catalog);
        catalogDAO.createCatalog(catalog);
        catalogDAO.createCatalog(catalog2);
        catalogDAO.createCatalog(catalog3);
    }

    private void createDatabaseScheme() {
        getLsfb().createDatabaseSchema();
    }

    private void createGuestBookCatalog() {
        GbCatalog catalog1 = new GbCatalog();
        GbCatalog catalog2 = new GbCatalog();
        GbCatalog catalog3 = new GbCatalog();
        catalog1.setTitle("GuestBook1");
        catalog2.setTitle("GuestBook2");
        catalog3.setTitle("GuestBook3");
        gbCatalogDAO.createCatalog(catalog1);
        gbCatalogDAO.createCatalog(catalog2);
        gbCatalogDAO.createCatalog(catalog3);
    }

    private void createRoleNright() {
        Role group = new Role();
        group.setDesc("Root");

        Role tmpGroup = new Role();
        tmpGroup.setDesc("TEMP");

        Person person = new Person();
        person.setName("root");

        Date date = new Date();
        person.setCreatedate(date);
        person.setLastdate(date);

        Account user = new Account();
        user.setName("root");
        user.setPassword(MyUtils.toMD5("root"));
        user.setGroup(group);
        user.setPerson(person);

        Set rights = new HashSet();
        Set groups = new HashSet();
        groups.add(group);

        ProtectedResource item;

        for (Iterator it = acl.getProtectedResources().iterator();
                it.hasNext();) {
            item = (ProtectedResource) it.next();

            Right right = new Right();
            right.setBox(item.getBox());
            right.setDesc(item.getDesc());
            right.setUrl(item.getUrl());
            right.setGroups(groups);
            rights.add(right);
            log.info("a right " + right);
        }

        group.setRights(rights);

        try {
            accountDAO.createAccount(user);
            groupDAO.createGroup(tmpGroup);
        } catch (DAOException e) {
            log.error("init Right error: " + e);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -