MVC での JCA のコンフィギュレーション
JCA の Spring コンフィギュレーションはすべて <Windchill>\codebase\config\mvc\jca-mvc.xml にあります。以下の抜粋は、URL ハンドラマッピングのコンフィギュレーションを示しています。すべての URL パターン ptc1/comp/* は ID componentController で Bean にマッピングされ、パターン ptc1/tcomp/* は ID typeBasedComponentController で Bean にマッピングされます。
<bean id="abstractComponentHandlerMapping" abstract="true"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
-----
</bean>
<bean id="componentHandlerMapping" parent="abstractComponentHandlerMapping">
<property name="mappings" ref="componentHandlerMappings" />
-----
</bean>
<bean id="componentHandlerMappings"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties"><props>
<prop key="/comp/**">componentController</prop>
<prop key="/tcomp/**">typeBasedComponentController</prop>
</props></property>
</bean>
以下の抜粋は、componentController ID での Bean の定義を示しています。
• jcaComponentBuilderResolver は theComponentBuilderResolver として注入されます。
• デフォルトビューをマッピングするため、defaultViewMappings プロパティが定義されています。
<bean id="componentController"
class="com.ptc.mvc.components.ComponentController">
<property name="componentBuilderResolver"
ref="jcaComponentBuilderResolver" />
<property name="defaultViewMappings">
<map>
<entry key="com.ptc.mvc.components.TreeConfig"
value="/components/tree.jsp" />
<entry key="com.ptc.mvc.components.TableConfig"
value="/components/table.jsp" />
<entry key="com.ptc.mvc.components.AttributesTableConfig“
value="/components/table.jsp" />
<entry key="com.ptc.mvc.components.AttributePanelConfig”
value="/components/attributePanel.jsp" />
</map>
</property>
-----------
</bean>
以下の抜粋は、typeBasedComponentController ID での Bean の定義を示しています。
• typeBasedComponentBuilderResolver は ComponentBuilderResolver として注入されます。最適ビルダーの検索中もコンテキストオブジェクトの Windchill タイプが考慮されます。
<bean id="typeBasedComponentController"
class="com.ptc.mvc.components.ComponentController“
parent="componentController“>
<property name="componentBuilderResolver"
ref="typeBasedComponentBuilderResolver" />
</bean>
指定されているデフォルトハンドラによって、マッピングを持たないすべての MVC URL パターンが処理されます。
<bean id="componentHandlerMapping" parent="abstractComponentHandlerMapping">
<property name="defaultHandler" ref="netmarketsController" />
-----
</bean>
<bean id="netmarketsController"
class="com.ptc.jca.mvc.controllers.LegacyController" />