以下のコードは Tridion 2009 で問題なく動作していましたが、最近、Java で記述された以下のコードの Tridion 2011 に移行しました。
ファイルの取得: ExtensionsConfiguration.java
package com.tridion.custom.extensions;
import com.tridion.configuration.Configuration;
import com.tridion.configuration.ConfigurationException;
import com.tridion.configuration.XMLConfigurationReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExtensionsConfiguration
{
private static Logger logger = LoggerFactory.getLogger(ExtensionsConfiguration.class);
private static Configuration configuration;
public static Configuration getInstance()
{
if (configuration == null)
try
{
XMLConfigurationReader localXMLConfigurationReader = new XMLConfigurationReader();
configuration = localXMLConfigurationReader.readConfiguration("cd_deployer_ext.xml");
logger.info("ExtensionsConfiguration.getInstance:File Read",configuration.getContent());
}
catch (ConfigurationException localConfigurationException)
{
logger.error("ExtensionsConfiguration.ConfigurationException: Unable to read configuration.", localConfigurationException);
}
catch (Exception ex)
{
logger.error("ExtensionsConfiguration.Exception: Unable to read configuration.", ex.getStackTrace());
}
return configuration;
}
}
上記のコードでは、%TRIDION_HOME%/config 内に配置された「cd_deployer_ext.xml」を読み込もうとしていますが、上記のコードは 2009 年に正常に動作していました。
cd_deployer_ext.xml のサンプル形式
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<DeployerCustomization Enable="true" Extension=".aspx" FilePath="F:\WWW\GoogleDataFiles\"></DeployerCustomization>
</Configuration>
このファイルから値を読み取ろうとしている方法は次のとおりです
値の読み取り: PageDeployer.java ExtensionsConfiguration.java から値を読み取るために使用しているサンプル コードの下
Configuration configData = ExtensionsConfiguration.getInstance();
String extensionFromFile = ConfigurationHelper.getStringValue(configData,"Configuration/DeployerCustomization/Extension", null);
これで、extensionFromFile から「.aspx」が返されます。
提案してください!!
ありがとう。