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

📄 xmldatapropertyhandler.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * 嫟捠僨乕僞儕僜乕僗忣曬傪傕偮儌僨儖傪嶌惉偟傑偡丅
     * @param xmlFileName丂嫟捠儕僜乕僗僨乕僞偑彂偐傟偨XML僼傽僀儖
     * @return 嫟捠儕僜乕僗僨乕僞偺Map 
     * @throws DataPropertyException
     */
    private Map createConnectorModels(String xmlFileName)
        throws DataPropertyException {
        try {

            CommonDataModelProducer producer = new CommonDataModelProducer();
            Map result = producer.createConnectorModels(xmlFileName.replace('\\', '/'));
            return result;
        } catch (ParserConfigurationException e) {
            throw new DataPropertyException(e.getMessage(), e);
        } catch (SAXException e) {
            throw new DataPropertyException(e.getMessage(), e);
        } catch (IOException e) {
            throw new DataPropertyException(e.getMessage(), e);
        } catch (IllegalArgumentException e) {
            throw new DataPropertyException(e.getMessage(), e);
        }
    }

    /**
     * 嫟捠偺僐僱僋僞偺僷儔儊乕僞傪帩偮儅僢僾傪嶌惉偡傞
     * @param xmlFileName丂嫟捠儕僜乕僗僨乕僞偑彂偐傟偨XML僼傽僀儖
     * @return 嫟捠僐僱僋僞僷儔儊乕僞偺Map
     * @throws DataPropertyException
     */
    private Map createResourceModels(String xmlFileName)
        throws DataPropertyException {
        try {
            CommonDataModelProducer producer = new CommonDataModelProducer();
            Map result = producer.createResourceModels(xmlFileName.replace('\\', '/'));
            return result;
        } catch (ParserConfigurationException e) {
            throw new DataPropertyException(e.getMessage(), e);
        } catch (SAXException e) {
            throw new DataPropertyException(e.getMessage(), e);
        } catch (IOException e) {
            throw new DataPropertyException(e.getMessage(), e);
        } catch (IllegalArgumentException e) {
            throw new DataPropertyException(e.getMessage(), e);
        }
    }

    /**
     * 僾儘僷僥傿僴儞僪儔傪弶婜壔偟傑偡丅
     *
     * @param params 弶婜僷儔儊乕僞
     * @throws PropertyHandlerException 僾儘僷僥傿僴儞僪儔偺弶婜壔帪偵椺奜偑敪惗
     */
    public void init(PropertyParam[] params) throws PropertyHandlerException {
        String xmlPrefix = null;
        String dynamic = null;

        if (params != null) {
            for (int i = 0; i < params.length; i++) {
                if (params[i].getName().equals(DEFAULT_BUNDLE_NAME_PARAM)) {
                    xmlPrefix = params[i].getValue();
                } else if (params[i].getName().equals(PARAM_DYNAMIC)) {
                    // 嵞愝掕壜擻僼儔僌偺応崌
                    dynamic = params[i].getValue();
                }
            }
        }
        if (xmlPrefix == null) {
            xmlPrefix = DEFAULT_BUNDLE_NAME;
        }

        // 僾儗僼傿僢僋僗偺愝掕
        setXMLPrefix(xmlPrefix);

        // 嵞愝掕壜擻僼儔僌偺愝掕
        Boolean dummyDynamic = new Boolean(dynamic);
        setDynamic(dummyDynamic.booleanValue());
        
        try {
        	if(!isDynamic()) {	
	            setCommonDataModels(createConnectorModels(getXMLPrefix()));
	            setResourceParams(createResourceModels(getXMLPrefix()));
       		}
        } catch (Exception e) {
            throw new PropertyHandlerException(e.getMessage(), e);
        }
    }

	/**
	 * 嵞愝掕壜擻乛晄壜擻傪愝掕偟傑偡丅
	 * 
	 * @param dynamic true 嵞愝掕壜擻丄false 嵞愝掕晄壜
	 * 
	 * @uml.property name="dynamic"
	 */
	private void setDynamic(boolean dynamic) {
		this.dynamic = dynamic;
	}

    /**
     * 僾儘僷僥傿偺摦揑撉傒崬傒偑壜擻偐偳偆偐挷傋傑偡丅
     * 偙偺僋儔僗偱偼偙偺儊僜僢僪偼忢偵false傪曉偟傑偡丅
     *
     * @return 忢偵false
     * @throws DataPropertyException 僠僃僢僋帪偵椺奜偑敪惗
     * @since 3.2
     */
    public boolean isDynamic() throws DataPropertyException {
        return this.dynamic;
    }

    /**
     * DAO偺僋儔僗柤傪庢摼偟傑偡丅
     * <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨DAO偺僋儔僗柤傪庢摼偟傑偡丅
     *
     * @param application 傾僾儕働乕僔儑儞ID
     * @param key DAO偺僉乕
     * @param connect 愙懕忣曬
     * @return DAO偺僋儔僗柤
     * @throws DataPropertyException DAO偺僋儔僗柤偺庢摼偵幐攕
     */
    public String getDAOName(String application, String key, String connect)
        throws DataPropertyException {
        DaoGroupModel model = getDaoGroupModel(application, key);
        String daoName = null;

        if (connect != null) {
            daoName = model.getDAOName(connect);
        } else {
            DaoModel dao = model.getDefaultDao();
            daoName = dao.getDaoClass();
        }

        if (daoName == null || daoName.equals("")) {
            String message = null;
            try {
                ResourceBundle messageBundle =
                    ResourceBundle.getBundle(
                        "jp.co.intra_mart.framework.base.data.i18n");
                message =
                    messageBundle.getString(
                        "ResourceBundleDataPropertyHandlerUtil.param.DAOClassNotDeclared");
            } catch (MissingResourceException exc) {
            }
            throw new DataPropertyException(
                message
                    + " : application = "
                    + application
                    + ", key = "
                    + key
                    + ", connect = "
                    + connect);
        }
        return daoName;
    }

    /**
     * DAO偵懳偡傞僨乕僞僐僱僋僞柤傪庢摼偟傑偡丅
     * <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨DAO偺僨乕僞僐僱僋僞柤傪庢摼偟傑偡丅
     * 懳墳偡傞僨乕僞僐僱僋僞柤偑巜掕偝傟偰偄側偄応崌丄null偑曉傝傑偡丅
     *
     * @param application 傾僾儕働乕僔儑儞ID
     * @param key DAO偺僉乕
     * @param connect 愙懕忣曬
     * @return 僨乕僞僐僱僋僞偺柤慜
     * @throws DataPropertyException 僨乕僞僐僱僋僞柤偺庢摼帪偵椺奜偑敪惗
     */
    public String getConnectorName(
        String application,
        String key,
        String connect)
        throws DataPropertyException {
        DaoGroupModel model = getDaoGroupModel(application, key);
        return model.getConnectorName(connect);

    }

    /**
     * 僨乕僞僐僱僋僞偺僋儔僗柤傪庢摼偟傑偡丅
     * <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨僨乕僞僐僱僋僞偺僋儔僗柤傪庢摼偟傑偡丅
     *
     * @param connectorName 僨乕僞僐僱僋僞柤
     * @return 僨乕僞僐僱僋僞偺僋儔僗柤
     * @throws DataPropertyException 僨乕僞僐僱僋僞偺僋儔僗柤偺庢摼偵幐攕
     */
    public String getConnectorClassName(String connectorName)
        throws DataPropertyException {
        ConnectorModel connector = getConnectorModel(connectorName);
        if (connector == null) {
            String message = null;
            try {
                message =
                    ResourceBundle.getBundle(
                        "jp.co.intra_mart.framework.base.data.i18n").getString(
                        "ResourceBundleDataPropertyHandlerUtil.param.ConnectorClassNotDeclared");
            } catch (MissingResourceException e) {
            }
            throw new DataPropertyException(
                message + " : Connector name = " + connectorName);
        }
        return connector.getConnectorClassName();
    }

    /**
     * 僨乕僞僐僱僋僞偺儕僜乕僗柤傪庢摼偟傑偡丅
     * <CODE>application</CODE>丄<CODE>key</CODE>偲<CODE>connect</CODE>偱巜掕偝傟偨僨乕僞僐僱僋僞偺儕僜乕僗柤傪庢摼偟傑偡丅
     * 懳墳偡傞儕僜乕僗柤偑側偄応崌丄null傪曉偟傑偡丅
     *
     * @param connectorName 僨乕僞僐僱僋僞柤
     * @return 僨乕僞僐僱僋僞偺儕僜乕僗柤
     * @throws DataPropertyException 僨乕僞僐僱僋僞偺儕僜乕僗柤偺庢摼帪偵椺奜偑敪惗
     */
    public String getConnectorResource(String connectorName)
        throws DataPropertyException {
        ConnectorModel connector = getConnectorModel(connectorName);
        if (connector == null) {
            return null;
        }
        return connector.getConnectorResource();
    }

    /**
     * 儕僜乕僗偺僷儔儊乕僞傪庢摼偟傑偡丅
     * name偱巜掕偝傟偨儕僜乕僗偺僷儔儊乕僞傪庢摼偟傑偡丅
     *
     * @param name 儕僜乕僗柤
     * @return 儕僜乕僗偺僷儔儊乕僞
     * @throws DataPropertyException 儕僜乕僗偺僷儔儊乕僞偺庢摼帪偵椺奜偑敪惗
     */
    public ResourceParam[] getResourceParams(String name)
        throws DataPropertyException {
        Map resources = getResources();

        ResourceModel resource = (ResourceModel) resources.get(name);
        if (resource == null) {
            return new ResourceParam[0];
        }
        ResourceParam[] params = resource.getParams();
        if (params == null) {
            return new ResourceParam[0];
        } else {
            return params;
        }
    }
}

⌨️ 快捷键说明

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