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

📄 exportsservice.java

📁 OPIAM stands for Open Identity and Access Management. This Suite will provide modules for user & rig
💻 JAVA
字号:
/*
 * OPIAM Suite
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */

package opiam.admin.faare.service.services.exports;

import opiam.admin.faare.MessageUtil;
import opiam.admin.faare.config.ExportsConfig;
import opiam.admin.faare.config.javabeans.JBAttribute;
import opiam.admin.faare.config.javabeans.JBExport;
import opiam.admin.faare.config.javabeans.JBExports;
import opiam.admin.faare.config.javabeans.JBQuotes;
import opiam.admin.faare.config.javabeans.JBValueElement;
import opiam.admin.faare.exception.ServiceException;
import opiam.admin.faare.service.UserContext;
import opiam.admin.faare.service.services.Service;

import org.apache.log4j.Logger;

import java.io.File;
import java.io.FileInputStream;
import java.io.Writer;

import java.lang.reflect.Method;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


/**
 * This service allows to generate an output stream (file, servlet output)
 * the export of an entries set as a line per entry, of which the format is defined
 * in the exports_conf.xml file.
 */
public final class ExportsService extends Service
{
    /** Configuration of Exports service. */
    public static final String EXPORTS_XML_FILE = "/config/service/exports/exports_conf.xml";

    /** Instance of logger. */
    private static Logger _logger = Logger.getLogger(ExportsService.class);

    /** Instance of Exports service. */
    private static ExportsService _instance = new ExportsService();

    /** Exports object. */
    private static JBExports _jbExports;

    /** Maximum number of lines for the attributes.*/
    private static final String MAX_LINE = "MAXLINE";

    /** LineContent attribute indicator. */
    private static final String ATTR_INDICATOR = "$!entry.";

    /** Attribute mapping. */
    private static final String ATTR_MAPPING = "%att:%";

    /** Value mapping. */
    private static final String VALUE_MAPPING = "%val:%";

    /** Default separator of attribute values. */
    private static final String DEFAULTSEP_VALUES = ",";

    /**
     * Default constructor.
     */
    private ExportsService()
    {
    }

    /**
     * This method allows to initialize this service.
     * @param directory Configuration directory if any.
     *
     * @throws ServiceException see Service.
     */
    public static void initialize(String directory) throws ServiceException
    {
        //DW/2655/BeginPatch
        //ExportsService.setServiceEnabled(true);
        _instance.setServiceEnabled(true);
        //DW/2655/EndPatch


        try
        {
            /* Chargement de l'objet jbExports 

⌨️ 快捷键说明

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