All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tinygroup.menutree.fileresolver.ManageMenusLoaderFileProcessor Maven / Gradle / Ivy

The newest version!
package org.tinygroup.menutree.fileresolver;

import com.thoughtworks.xstream.XStream;
import org.tinygroup.fileresolver.impl.AbstractFileProcessor;
import org.tinygroup.logger.LogLevel;
import org.tinygroup.menutree.manager.MenuTreeManager;
import org.tinygroup.menutree.config.Menus;
import org.tinygroup.vfs.FileObject;
import org.tinygroup.xstream.XStreamFactory;

import java.io.InputStream;

/**
 * Created by wangwy11342 on 2016/10/18.
 */
public class ManageMenusLoaderFileProcessor extends AbstractFileProcessor {
    private static final String MENU_LOAND_FILE_NAME = "manage.menu.xml";
    private static final String MENU_XSTEAM_PACKAGE_NAME = "manage_menu";

    private MenuTreeManager menuTreeManager;

    public MenuTreeManager getMenuTreeManager() {
        return menuTreeManager;
    }

    public void setMenuTreeManager(MenuTreeManager menuTreeManager) {
        this.menuTreeManager = menuTreeManager;
    }

    protected boolean checkMatch(FileObject fileObject) {
        return fileObject.getFileName().equals(MENU_LOAND_FILE_NAME);
    }

    public void process() {
        XStream stream = XStreamFactory
                .getXStream(MENU_XSTEAM_PACKAGE_NAME);
        LOGGER.logMessage(LogLevel.INFO, "管理菜单配置文件加载开始");
        for (FileObject fileObject : fileObjects) {
            LOGGER.logMessage(LogLevel.INFO, "找到管理菜单配置文件:[{}]",
                    fileObject.getAbsolutePath());
            InputStream inputStream = fileObject.getInputStream();
            Menus configs = (Menus) stream
                    .fromXML(inputStream);
            try {
                inputStream.close();
            } catch (Exception e) {
                LOGGER.errorMessage("关闭文件流时出错,文件路径:{}", e, fileObject.getAbsolutePath());
            }
            menuTreeManager.load(configs.getMenuList());
        }
        // manager.load();
        LOGGER.logMessage(LogLevel.INFO, "管理菜单配置文件加载结束");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy