sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
extra_vars4 | |
extra_vars5 | |
extra_vars6 |
1. env.xml
<?xml version="1.0" encoding="UTF-8"?>
<Console service-name="ajax-framework" port="8080">
<Admin id="admin" pass="test" />
<Project>
<name>AJAX-TEST</name>
<path>ajax-test/</path>
<index>main.html</index>
</Project>
<Resource>
<name>Flash</name>
<path>resource/flash</path>
</Resource>
</Console>
2. EnvRule.xml
<?xml version="1.0"?>
<digester-rules>
<object-create-rule pattern="Console" classname="console.config.ConsoleConfig" />
<set-properties-rule pattern="Console">
<alias attr-name="service-name" prop-name="serviceName" />
<alias attr-name="port" prop-name="port" />
</set-properties-rule>
<set-properties-rule pattern="Console/Admin">
<alias attr-name="id" prop-name="adminId" />
<alias attr-name="pass" prop-name="adminPass" />
</set-properties-rule>
<pattern value="Console/Project">
<object-create-rule classname="console.config.ConsoleProject" />
<call-method-rule pattern="name" methodname="setName" paramcount="0" />
<call-method-rule pattern="path" methodname="setPath" paramcount="0" />
<call-method-rule pattern="index" methodname="setIndex" paramcount="0" />
<set-next-rule methodname="addProject" />
</pattern>
<pattern value="Console/Resource">
<object-create-rule classname="console.config.ConsoleResource" />
<call-method-rule pattern="name" methodname="setName" paramcount="0" />
<call-method-rule pattern="path" methodname="setPath" paramcount="0" />
<set-next-rule methodname="addResource" />
</pattern>
</digester-rules>
3. env.xml 따라가기
1) < console port="8080" service-name="ajax-framework" >
이 태그를 만나면 먼저 console.config.ConsoleConfig 객체를 생성해야 한다.
=> < object-create-rule classname="console.config.ConsoleConfig" pattern="Console" / >
그리고 태그내의 service-name, port 속성값을 취하여 생성한 ConsoleConfig 객체에 셋팅해야 한다.
=> < set-properties-rule pattern="Console" >
2) < admin id=admin pass="test" / >
이 태그를 만나면 태그내의 id 와 pass 속성값을 취하여 생성한 ConsoleConfig 객체에 셋팅해야 한다.
=> < set-properties-rule pattern="Console/Admin" >
3) < Project >
이 태그를 만나면 console.config.ConsoleProject 객체를 생성한다.
=> < pattern value="Console/Project" >, < object-create-rule classname="console.config.ConsoleProject" / >
child 레벨의 name, path, index 값을 취득하여 셋팅한다.
=> < call-method-rule pattern="name" methodname="setName" paramcount="0" / > ...
4) < Resource >
3)번의 < Project > 와 마찬가지