Author: heiko.braun(a)jboss.com
Date: 2007-11-26 10:05:07 -0500 (Mon, 26 Nov 2007)
New Revision: 5112
Added:
rest/src/main/java/org/jboss/rest/model/RootParameterBinding.java
rest/src/main/java/org/jboss/rest/model/RootResourceModel.java
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/CategoryResource.java
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java
rest/src/test/java/org/jboss/test/rest/util/RequestDispatcher.java
rest/src/test/resources/rest/invocation/
rest/src/test/resources/rest/invocation/uriparam/
rest/src/test/resources/rest/invocation/uriparam/WEB-INF/
rest/src/test/resources/rest/invocation/uriparam/WEB-INF/jbossrs.xml
rest/src/test/resources/rest/invocation/uriparam/WEB-INF/web.xml
Modified:
rest/ant-import-tests/build-jars-rest.xml
rest/jboss-rest.iws
rest/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java
rest/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java
rest/src/main/java/org/jboss/rest/model/ParameterBinding.java
rest/src/main/java/org/jboss/rest/model/ResourceLocator.java
rest/src/main/java/org/jboss/rest/model/ResourceMethod.java
rest/src/main/java/org/jboss/rest/model/ResourceModel.java
rest/src/main/java/org/jboss/rest/model/ResourceModelParser.java
rest/src/main/java/org/jboss/rest/runtime/Invocation.java
rest/src/main/java/org/jboss/rest/runtime/InvocationMediator.java
rest/src/test/java/org/jboss/test/rest/deployment/DeploymentTestCase.java
rest/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java
Log:
Resolve UriParam from parent resources as well
Modified: rest/ant-import-tests/build-jars-rest.xml
===================================================================
--- rest/ant-import-tests/build-jars-rest.xml 2007-11-26 14:03:28 UTC (rev 5111)
+++ rest/ant-import-tests/build-jars-rest.xml 2007-11-26 15:05:07 UTC (rev 5112)
@@ -32,6 +32,16 @@
</webinf>
</war>
+ <!-- invocation, uri param -->
+ <war warfile="${tests.output.dir}/libs/rest-uriparam.war"
webxml="${tests.output.dir}/resources/rest/invocation/uriparam/WEB-INF/web.xml">
+ <classes dir="${tests.output.dir}/classes">
+ <include
name="org/jboss/test/rest/invocation/uriparam/*.class"/>
+ </classes>
+ <webinf
dir="${tests.output.dir}/resources/rest/invocation/uriparam/WEB-INF/">
+ <include name="*.xml"/>
+ </webinf>
+ </war>
+
<!-- mediatype -->
<war warfile="${tests.output.dir}/libs/rest-mediatype.war"
webxml="${tests.output.dir}/resources/rest/media/web.xml">
<classes dir="${tests.output.dir}/classes">
Modified: rest/jboss-rest.iws
===================================================================
--- rest/jboss-rest.iws 2007-11-26 14:03:28 UTC (rev 5111)
+++ rest/jboss-rest.iws 2007-11-26 15:05:07 UTC (rev 5112)
@@ -17,19 +17,37 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/deployment/DeploymentTestCase.java"
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/deployment/DeploymentTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/resources/rest/invocation/uriparam" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/resources/rest/invocation" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/RootParameterBinding.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/ant-import-tests/build-jars-rest.xml"
afterPath="$PROJECT_DIR$/ant-import-tests/build-jars-rest.xml" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceLocator.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceLocator.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java"
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/Invocation.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/Invocation.java"
/>
<change type="MODIFICATION"
beforePath="/home/hbraun/dev/prj/jbossas/trunk/webservices/build.xml"
afterPath="/home/hbraun/dev/prj/jbossas/trunk/webservices/build.xml" />
- <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
/>
<change type="MODIFICATION"
beforePath="/home/hbraun/dev/prj/jbossws/spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/Deployment.java"
afterPath="/home/hbraun/dev/prj/jbossws/spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/Deployment.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java"
/>
<change type="NEW" beforePath=""
afterPath="/home/hbraun/dev/prj/jbossas/trunk/webservices/jboss50.iml" />
- <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/resources/rest/invocation/uriparam/WEB-INF"
/>
<change type="MODIFICATION"
beforePath="/home/hbraun/dev/prj/jbossws/spi/trunk/version.properties"
afterPath="/home/hbraun/dev/prj/jbossws/spi/trunk/version.properties" />
- <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/jaxrs" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceModelParser.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceModelParser.java"
/>
<change type="MODIFICATION"
beforePath="/home/hbraun/dev/prj/jbossas/trunk/webservices/src/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml"
afterPath="/home/hbraun/dev/prj/jbossas/trunk/webservices/src/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml"
/>
- <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/resources/jbossrest.jar/META-INF/services/javax.ws.rs.ext.ProviderFactory"
afterPath="$PROJECT_DIR$/src/main/resources/jbossrest.jar/META-INF/services/javax.ws.rs.ext.ProviderFactory"
/>
- <change type="DELETED"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/media/DefaultProviderFactory.java"
afterPath="" />
- <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/jaxrs/ProviderFactoryImpl.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/util/RequestDispatcher.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/CategoryResource.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceMethod.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceMethod.java"
/>
<change type="MODIFICATION"
beforePath="/home/hbraun/dev/prj/jbossas/trunk/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPostJSE.java"
afterPath="/home/hbraun/dev/prj/jbossas/trunk/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPostJSE.java"
/>
- <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/media/MediaTypeTestCase.java"
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/media/MediaTypeTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/resources/rest/invocation/uriparam/WEB-INF/jbossrs.xml"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/RootResourceModel.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceModel.java"
afterPath="$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceModel.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/src/test/resources/rest/invocation/uriparam/WEB-INF/web.xml"
/>
<change type="MODIFICATION"
beforePath="$PROJECT_DIR$/jboss-rest.iws"
afterPath="$PROJECT_DIR$/jboss-rest.iws" />
</list>
</component>
@@ -102,7 +120,7 @@
</component>
<component name="DebuggerManager">
<line_breakpoints>
- <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java"
line="32" class="org.jboss.rest.runtime.InvocationMediator"
package="org.jboss.rest.runtime">
+ <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java"
line="96" class="org.jboss.rest.container.wsf.ResourceServlet"
package="org.jboss.rest.container.wsf">
<option name="ENABLED" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="LOG_ENABLED" value="false" />
@@ -115,8 +133,8 @@
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
- <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java"
line="96" class="org.jboss.rest.container.wsf.ResourceServlet"
package="org.jboss.rest.container.wsf">
- <option name="ENABLED" value="true" />
+ <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
line="168" class="org.jboss.rest.model.ParameterBinding"
package="org.jboss.rest.model">
+ <option name="ENABLED" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
@@ -128,8 +146,8 @@
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
- <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
line="167" class="org.jboss.rest.model.ParameterBinding"
package="org.jboss.rest.model">
- <option name="ENABLED" value="true" />
+ <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceModel.java"
line="58" class="org.jboss.rest.model.ResourceModel"
package="org.jboss.rest.model">
+ <option name="ENABLED" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
@@ -141,6 +159,45 @@
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java"
line="26" class="org.jboss.rest.runtime.InvocationMediator"
package="org.jboss.rest.runtime">
+ <option name="ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/RootResourceModel.java"
line="42" class="org.jboss.rest.model.RootResourceModel"
package="org.jboss.rest.model">
+ <option name="ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java"
line="121" class="org.jboss.rest.model.ParameterBinding"
package="org.jboss.rest.model">
+ <option name="ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
</line_breakpoints>
<breakpoint_any>
<breakpoint>
@@ -212,7 +269,100 @@
</subPane>
</component>
<component name="FileEditorManager">
- <leaf />
+ <leaf>
+ <file leaf-file-name="InvocationMediator.java" pinned="true"
current="true" current-in-tab="true">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="77" column="0"
selection-start="3123" selection-end="3123"
vertical-scroll-proportion="0.56453556">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="InvocationBuilder.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationBuilder.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="57" column="0"
selection-start="1920" selection-end="1920"
vertical-scroll-proportion="0.7937274">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="DefaultInvocationBuilder.java"
pinned="false" current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/DefaultInvocationBuilder.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="33" column="0"
selection-start="1286" selection-end="1286"
vertical-scroll-proportion="0.29794934">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="ResourceServlet.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="103" column="0"
selection-start="3873" selection-end="3873"
vertical-scroll-proportion="0.1893848">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="UriParamTestCase.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="58" column="47"
selection-start="1783" selection-end="1783"
vertical-scroll-proportion="0.7020507">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="ItemResource.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="24" column="32"
selection-start="530" selection-end="530"
vertical-scroll-proportion="0.52714115">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="ShopResource.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="9" column="13"
selection-start="243" selection-end="243"
vertical-scroll-proportion="0.13751508">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="RootResourceModel.java" pinned="true"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/RootResourceModel.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="42" column="0"
selection-start="1106" selection-end="1106"
vertical-scroll-proportion="0.47285888">
+ <folding>
+ <element signature="imports" expanded="true"
/>
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="ParameterBinding.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="180" column="0"
selection-start="6051" selection-end="6051"
vertical-scroll-proportion="0.18673219">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="Invocation.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/Invocation.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="66" column="15"
selection-start="1972" selection-end="1972"
vertical-scroll-proportion="0.33293125">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ </leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
@@ -374,6 +524,10 @@
<option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -397,6 +551,154 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/samples" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/samples/resourceview"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/samples/resourceview/WEB-INF"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/media" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/invocation" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/invocation/uriparam"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest/invocation/uriparam/WEB-INF"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/resources/rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -459,6 +761,52 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/rest/util" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/rest/media"
/>
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -527,6 +875,78 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -691,7 +1111,7 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/main/java/org/jboss/rest/media" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/main/java/org/jboss/rest/model" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@@ -733,9 +1153,13 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/main/java/org/jboss/rest/jaxrs" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/main/java/org/jboss/rest/container" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf"
/>
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -759,6 +1183,24 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest.ipr" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jboss-rest" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/ant-import-tests" />
+ <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
</subPane>
</component>
<component name="ProjectReloadState">
@@ -800,6 +1242,7 @@
<recent name="" />
</key>
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+ <recent name="org.jboss.test.rest.invocation.uriparam" />
<recent name="org.jboss.rest.jaxrs" />
<recent name="org.jboss.test.rest.samples.resourceview" />
<recent name="org.jboss.wsf.container.jboss50.rest" />
@@ -807,7 +1250,7 @@
</key>
</component>
<component name="RestoreUpdateTree" />
- <component name="RunManager" selected="Remote.client">
+ <component name="RunManager" selected="Remote.server">
<configuration default="true" type="JUnit"
factoryName="JUnit" enabled="false" merge="false">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
@@ -992,15 +1435,15 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
- <frame x="3" y="25" width="1674"
height="994" extended-state="2" />
- <editor active="false" />
+ <frame x="0" y="25" width="1680"
height="1000" extended-state="6" />
+ <editor active="true" />
<layout>
<window_info id="UI Designer" active="false"
anchor="left" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
<window_info id="Changes" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="8" />
<window_info id="Palette" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
<window_info id="Ant Build" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.25"
order="1" />
- <window_info id="Find" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.44954127"
order="1" />
- <window_info id="Debug" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.39793578"
order="3" />
+ <window_info id="Find" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.44874716"
order="1" />
+ <window_info id="Debug" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.39749432"
order="3" />
<window_info id="IDEtalk Messages" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="8" />
<window_info id="IDEtalk" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
<window_info id="Version Control" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="8" />
@@ -1012,7 +1455,7 @@
<window_info id="Module Dependencies" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
<window_info id="Dependency Viewer" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.74943054"
order="8" />
<window_info id="File View" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
- <window_info id="Project" active="true"
anchor="left" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="true" weight="0.28676924"
order="0" />
+ <window_info id="Project" active="false"
anchor="left" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="true" weight="0.2857143"
order="0" />
<window_info id="Hierarchy" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.1563458"
order="2" />
<window_info id="Inspection" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.4"
order="6" />
<window_info id="Run" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.48063782"
order="2" />
@@ -1102,107 +1545,111 @@
<option name="myLastEditedConfigurable" />
</component>
<component name="editorHistoryManager">
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/DefaultInvocationHandler.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="49" column="44"
selection-start="1446" selection-end="1446"
vertical-scroll-proportion="0.47044632">
+ <state line="34" column="0"
selection-start="1258" selection-end="1258"
vertical-scroll-proportion="0.54756874">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationBuilder.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ResourceLocator.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="57" column="0"
selection-start="1920" selection-end="1920"
vertical-scroll-proportion="0.799514">
+ <state line="31" column="76"
selection-start="1261" selection-end="1261"
vertical-scroll-proportion="0.44186047">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/DefaultInvocationBuilder.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/AbstractRegexResolveable.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="33" column="0"
selection-start="1286" selection-end="1286"
vertical-scroll-proportion="0.30012152">
+ <state line="161" column="0"
selection-start="4499" selection-end="4499"
vertical-scroll-proportion="0.9894292">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/jaxrs/ProviderFactoryImpl.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/RootResourceModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="48" column="0"
selection-start="1355" selection-end="1355"
vertical-scroll-proportion="0.6993604">
- <folding />
+ <state line="42" column="0"
selection-start="1106" selection-end="1106"
vertical-scroll-proportion="0.47285888">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="jar:///home/hbraun/Desktop/JSR-311/0.5/lib/jsr311-api.jar!/javax/ws/rs/core/EntityTag.class">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/OperationBinding.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="5" column="13"
selection-start="154" selection-end="154"
vertical-scroll-proportion="0.16204691">
+ <state line="55" column="0"
selection-start="1811" selection-end="1811"
vertical-scroll-proportion="0.73341376">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/RootParameterBinding.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="168" column="0"
selection-start="5574" selection-end="5574"
vertical-scroll-proportion="0.18688118">
- <folding />
+ <state line="45" column="0"
selection-start="1257" selection-end="1257"
vertical-scroll-proportion="0.74788904">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/Widget.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/Invocation.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="34" column="13"
selection-start="1304" selection-end="1304"
vertical-scroll-proportion="0.07654921">
+ <state line="66" column="15"
selection-start="1972" selection-end="1972"
vertical-scroll-proportion="0.33293125">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/WidgetList.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/model/ParameterBinding.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="47" column="11"
selection-start="1585" selection-end="1585"
vertical-scroll-proportion="0.5771567">
+ <state line="180" column="0"
selection-start="6051" selection-end="6051"
vertical-scroll-proportion="0.18673219">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationBuilder.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="65" column="0"
selection-start="2362" selection-end="2362"
vertical-scroll-proportion="0.75334144">
+ <state line="57" column="0"
selection-start="1920" selection-end="1920"
vertical-scroll-proportion="0.7937274">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/DefaultInvocationBuilder.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="99" column="17"
selection-start="3734" selection-end="3734"
vertical-scroll-proportion="0.41433778">
+ <state line="33" column="0"
selection-start="1286" selection-end="1286"
vertical-scroll-proportion="0.29794934">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/media/MediaTypeTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="55" column="6"
selection-start="1610" selection-end="1610"
vertical-scroll-proportion="0.6148238">
+ <state line="103" column="0"
selection-start="3873" selection-end="3873"
vertical-scroll-proportion="0.1893848">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java">
+ <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="112" column="40"
selection-start="4346" selection-end="4346"
vertical-scroll-proportion="0.3304982">
+ <state line="58" column="47"
selection-start="1783" selection-end="1783"
vertical-scroll-proportion="0.7020507">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/RuntimeContext.java">
+ <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="63" column="32"
selection-start="2108" selection-end="2108"
vertical-scroll-proportion="0.48481166">
+ <state line="9" column="13"
selection-start="243" selection-end="243"
vertical-scroll-proportion="0.13751508">
<folding />
</state>
</provider>
</entry>
- <entry
file="file:///home/hbraun/Desktop/JSR-311/0.5/src/com/sun/ws/rest/impl/ResponseBuilderImpl.java">
+ <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="52" column="66"
selection-start="1923" selection-end="1923"
vertical-scroll-proportion="-0.60024303">
+ <state line="24" column="32"
selection-start="530" selection-end="530"
vertical-scroll-proportion="0.52714115">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/rest/media/BookResource.java">
+ <entry
file="file://$PROJECT_DIR$/src/main/java/org/jboss/rest/runtime/InvocationMediator.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="76" column="60"
selection-start="1371" selection-end="1371"
vertical-scroll-proportion="0.63791007">
+ <state line="77" column="0"
selection-start="3123" selection-end="3123"
vertical-scroll-proportion="0.56453556">
<folding />
</state>
</provider>
Modified: rest/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java
===================================================================
--- rest/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java 2007-11-26
14:03:28 UTC (rev 5111)
+++ rest/src/main/java/org/jboss/rest/container/wsf/ResourceServlet.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -140,12 +140,12 @@
}
catch(ResourceError resourceError)
{
- log.error(resourceError);
+ log.error("ResourceError", resourceError);
serverError(resourceError.status, resourceError.getMessage(), res);
}
catch (Throwable e)
{
- log.error(e);
+ log.error("Unknown Error", e);
serverError(500, e.getMessage(), res);
}
}
@@ -170,9 +170,6 @@
private void serverError(int status, String message, HttpServletResponse res)
{
-
- log.error(status + ":" + message);
-
try
{
res.setStatus(status);
Modified: rest/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java 2007-11-26
14:03:28 UTC (rev 5111)
+++ rest/src/main/java/org/jboss/rest/model/AbstractResourceOperation.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -8,7 +8,7 @@
* Common base class for {@link org.jboss.rest.model.ResourceLocator}
* and {@link org.jboss.rest.model.ResourceMethod}
*/
-abstract class AbstractResourceOperation extends AbstractRegexResolveable
+abstract class AbstractResourceOperation<T> extends
AbstractRegexResolveable<T>
{
protected String uriTemplate;
protected Method invocationTarget;
@@ -36,7 +36,7 @@
setupRegexPatterns(this.uriTemplate, collectRegexInfo);
setupParameterBinding(regexInfo);
-
+
// Lock instance
this.frozen = true;
}
Modified: rest/src/main/java/org/jboss/rest/model/ParameterBinding.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/ParameterBinding.java 2007-11-26 14:03:28 UTC
(rev 5111)
+++ rest/src/main/java/org/jboss/rest/model/ParameterBinding.java 2007-11-26 15:05:07 UTC
(rev 5112)
@@ -39,6 +39,7 @@
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
+import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -83,7 +84,7 @@
Map<String, Integer> headerParam = new HashMap<String, Integer>();
/*positions of the header parameters*/
- Map<String, Integer> uriParam = new HashMap<String, Integer>();
+ Map<Integer, String> uriParam = new TreeMap<Integer, String>();
/* maps regex groups to UriTemplate wildcards */
Map<String, Integer> regexMapping = new HashMap<String, Integer>();
@@ -118,9 +119,9 @@
throw new RuntimeException("RuntimeContext doesn't match invocation
model");
// @UriParam
- for(String paramName : uriParam.keySet())
- {
- int paramIndex = uriParam.get(paramName);
+ for(Integer paramIndex : uriParam.keySet())
+ {
+ String paramName = uriParam.get(paramIndex);
String paramValue;
Integer group = regexMapping.get(paramName); // can be null when parent
parameter
@@ -195,7 +196,7 @@
if(annotation.annotationType() == UriParam.class)
{
UriParam p = (UriParam)annotation;
- uriParam.put(p.value(), totalParameters);
+ uriParam.put(totalParameters, p.value());
}
else if(annotation.annotationType() == HeaderParam.class)
{
Modified: rest/src/main/java/org/jboss/rest/model/ResourceLocator.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/ResourceLocator.java 2007-11-26 14:03:28 UTC
(rev 5111)
+++ rest/src/main/java/org/jboss/rest/model/ResourceLocator.java 2007-11-26 15:05:07 UTC
(rev 5112)
@@ -29,7 +29,7 @@
* @author Heiko.Braun(a)jboss.com
* @version $Revision$
*/
-public class ResourceLocator extends AbstractResourceOperation {
+public class ResourceLocator extends AbstractResourceOperation<ResourceModel> {
private ResourceModel link;
ResourceLocator(ResourceModel parent, Method invocationTarget, ResourceModel link)
Modified: rest/src/main/java/org/jboss/rest/model/ResourceMethod.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/ResourceMethod.java 2007-11-26 14:03:28 UTC
(rev 5111)
+++ rest/src/main/java/org/jboss/rest/model/ResourceMethod.java 2007-11-26 15:05:07 UTC
(rev 5112)
@@ -33,12 +33,12 @@
import java.util.List;
/**
- * Resource mthod meta data.
+ * Resource method meta data.
*
* @author Heiko.Braun(a)jboss.com
* @version $Revision$
*/
-public class ResourceMethod extends AbstractResourceOperation {
+public class ResourceMethod extends AbstractResourceOperation<ResourceModel> {
private MethodHTTP methodHTTP;
private List<MediaType> consumeMimeTypes = new ArrayList<MediaType>();
Modified: rest/src/main/java/org/jboss/rest/model/ResourceModel.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/ResourceModel.java 2007-11-26 14:03:28 UTC
(rev 5111)
+++ rest/src/main/java/org/jboss/rest/model/ResourceModel.java 2007-11-26 15:05:07 UTC
(rev 5112)
@@ -30,9 +30,9 @@
* @author Heiko.Braun(a)jboss.com
* @version $Revision$
*/
-public class ResourceModel extends AbstractRegexResolveable
+public class ResourceModel extends AbstractRegexResolveable<ResourceModel>
{
- private String uriTemplate;
+ protected String uriTemplate;
private Class invocationTarget;
private List<ResourceMethod> resourceMethods = new
ArrayList<ResourceMethod>();
Modified: rest/src/main/java/org/jboss/rest/model/ResourceModelParser.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/ResourceModelParser.java 2007-11-26 14:03:28
UTC (rev 5111)
+++ rest/src/main/java/org/jboss/rest/model/ResourceModelParser.java 2007-11-26 15:05:07
UTC (rev 5112)
@@ -52,12 +52,14 @@
// the root resource
UriTemplate rootUri = (UriTemplate)bean.getAnnotation(UriTemplate.class);
- ResourceModel rootResource = new ResourceModel(rootUri.value(), bean);
+ RootResourceModel rootResource = new RootResourceModel(rootUri.value(), bean);
log.debug("Creating resource model from bean: " + bean);
parseInternal(rootResource);
+ logResourceTree(rootResource);
+
return rootResource;
}
@@ -73,8 +75,6 @@
// freeze root resource
resource.freeze();
-
- logResourceTree(resource);
}
private void parseMethod(Method method, ResourceModel parentResource)
Added: rest/src/main/java/org/jboss/rest/model/RootParameterBinding.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/RootParameterBinding.java
(rev 0)
+++ rest/src/main/java/org/jboss/rest/model/RootParameterBinding.java 2007-11-26 15:05:07
UTC (rev 5112)
@@ -0,0 +1,50 @@
+package org.jboss.rest.model;
+
+import org.jboss.rest.runtime.Invocation;
+import org.jboss.rest.runtime.InvocationModel;
+import org.jboss.rest.runtime.RuntimeContext;
+
+import java.util.Map;
+import java.util.Iterator;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+
+public class RootParameterBinding implements InvocationModel
+{
+
+ private final Pattern regex;
+ private final Map<String, Integer> regexMapping;
+
+
+ public RootParameterBinding(Pattern regex, Map<String, Integer> regexMapping)
+ {
+ this.regex = regex;
+ this.regexMapping = regexMapping;
+ }
+
+ public void accept(Invocation invocation)
+ {
+
+ RuntimeContext ctx = invocation.getContext();
+ String workingPath = ctx.getWorkingPath();
+
+ assert ctx!=null;
+ assert workingPath !=null;
+
+ // local workingPath matching
+ Matcher matcher = regex.matcher(workingPath);
+ boolean matches = matcher.matches();
+
+ if(!matches)
+ throw new RuntimeException("RuntimeContext doesn't match invocation
model");
+
+ Iterator<String> it = regexMapping.keySet().iterator();
+ while(it.hasNext())
+ {
+ String paramName = it.next();
+ String paramValue = matcher.group( regexMapping.get(paramName));
+ ctx.addBoundParameter(paramName, paramValue);
+ }
+
+ }
+}
Property changes on: rest/src/main/java/org/jboss/rest/model/RootParameterBinding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/main/java/org/jboss/rest/model/RootResourceModel.java
===================================================================
--- rest/src/main/java/org/jboss/rest/model/RootResourceModel.java
(rev 0)
+++ rest/src/main/java/org/jboss/rest/model/RootResourceModel.java 2007-11-26 15:05:07 UTC
(rev 5112)
@@ -0,0 +1,59 @@
+package org.jboss.rest.model;
+
+import java.util.Map;
+import java.util.HashMap;
+
+public class RootResourceModel extends ResourceModel
+{
+
+ private RootParameterBinding rootParamBinding;
+
+ RootResourceModel(String uriTemplate, Class implementation)
+ {
+ super(uriTemplate, implementation);
+ }
+
+ public RootResourceModel(ResourceModel parent, String uriTemplate, Class
invocationTarget)
+ {
+ super(parent, uriTemplate, invocationTarget);
+ }
+
+ void freeze()
+ {
+ super.freeze(); // creates the regex pattern
+ }
+
+ /**
+ * Supply a UriParam handler
+ * @param uriTemplate
+ * @param handler always null in this case
+ */
+ protected void setupRegexPatterns(String uriTemplate, UriParamHandler handler)
+ {
+ // We need to know which param belongs to what regex group
+ final Map<String, Integer> regexInfo = new HashMap<String, Integer>();
+ UriParamHandler collectRegexInfo = new UriParamHandler()
+ {
+ public void newUriParam(int regexGroup, String paramName)
+ {
+ regexInfo.put(paramName, regexGroup);
+ }
+ };
+
+ super.setupRegexPatterns(uriTemplate, collectRegexInfo);
+
+ this.rootParamBinding = new RootParameterBinding(this.regexPattern, regexInfo);
+ }
+
+
+ public ResourceModel getParent()
+ {
+ return null;
+ }
+
+
+ public RootParameterBinding getRootParamBinding()
+ {
+ return rootParamBinding;
+ }
+}
Property changes on: rest/src/main/java/org/jboss/rest/model/RootResourceModel.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: rest/src/main/java/org/jboss/rest/runtime/Invocation.java
===================================================================
--- rest/src/main/java/org/jboss/rest/runtime/Invocation.java 2007-11-26 14:03:28 UTC (rev
5111)
+++ rest/src/main/java/org/jboss/rest/runtime/Invocation.java 2007-11-26 15:05:07 UTC (rev
5112)
@@ -60,6 +60,7 @@
/**
* Convinience method to work with String parameter types
+ * TODO: still required? Especially the string hack?
* @param index
* @param param
*/
Modified: rest/src/main/java/org/jboss/rest/runtime/InvocationMediator.java
===================================================================
--- rest/src/main/java/org/jboss/rest/runtime/InvocationMediator.java 2007-11-26 14:03:28
UTC (rev 5111)
+++ rest/src/main/java/org/jboss/rest/runtime/InvocationMediator.java 2007-11-26 15:05:07
UTC (rev 5112)
@@ -1,9 +1,7 @@
package org.jboss.rest.runtime;
import org.jboss.rest.ResourceError;
-import org.jboss.rest.model.ResourceLocator;
-import org.jboss.rest.model.ResourceMethod;
-import org.jboss.rest.model.StatefulResourceResolver;
+import org.jboss.rest.model.*;
import java.util.Stack;
@@ -29,7 +27,19 @@
StatefulResourceResolver resolver =
StatefulResourceResolver.newInstance(runtimeContext);
ResourceMethod resourceMethod = resolver.resolve(); // not null, throws exception
- // evaluate locator stack
+ // ----------------------------------------------------------------------
+ // Resolve the actual root resource to derive the root parameter binding
+
+ ResourceModel rootResource = resolveRootResource(resourceMethod.getParent());
+
+ runtimeContext.setWorkingPath( runtimeContext.getPath() );
+ InvocationModel rootParameterBinding =
((RootResourceModel)rootResource).getRootParamBinding();
+ InvocationBuilder rootBuilder = new DefaultInvocationBuilder();
+ rootBuilder.addInvocationModel(rootParameterBinding);
+ rootBuilder.build(runtimeContext);
+
+ // ----------------------------------------------------------------------
+ // Invoke the locator - supplies a preset invocation target
Object subResourceInstance = null;
Stack<ResourceLocator> visitedLocators = resolver.getVisitedLocator();
while(!visitedLocators.isEmpty())
@@ -37,20 +47,21 @@
ResourceLocator loc = visitedLocators.pop();
runtimeContext.setWorkingPath(resolver.getLocatorWorkingPath(loc));
- InvocationBuilder builder = new DefaultInvocationBuilder();
+ InvocationBuilder locatorBuilder = new DefaultInvocationBuilder();
if(subResourceInstance!=null)
- builder.addInvocationModel(new PresetInvocationTarget(subResourceInstance));
+ locatorBuilder.addInvocationModel(new
PresetInvocationTarget(subResourceInstance));
- builder.addInvocationModel(loc.getParameterBinding());
- builder.addInvocationModel(loc.getOperationBinding());
- Invocation locatorInvocation = builder.build(runtimeContext);
+ locatorBuilder.addInvocationModel(loc.getParameterBinding());
+ locatorBuilder.addInvocationModel(loc.getOperationBinding());
+ Invocation locatorInvocation = locatorBuilder.build(runtimeContext);
InvocationHandler bridgeInvoker = new DefaultInvocationHandler();
subResourceInstance = bridgeInvoker.invoke(locatorInvocation);
}
- // create an Invocation instance
+ // ----------------------------------------------------------------------
+ // Invoke the final resource method
InvocationBuilder builder = new DefaultInvocationBuilder();
runtimeContext.setWorkingPath(resolver.getMethodWorkingPath());
@@ -59,12 +70,21 @@
builder.addInvocationModel( resourceMethod.getParameterBinding() );
builder.addInvocationModel( resourceMethod.getOperationBinding() );
+
Invocation invocation = builder.build(runtimeContext);
-
- // invoke it
InvocationHandler invoker = new DefaultInvocationHandler();
returnValue = invoker.invoke(invocation); // more fine grained match
return returnValue;
}
+
+ private static ResourceModel resolveRootResource(ResourceModel child)
+ {
+ ResourceModel tmp = child.getParent();
+ if(tmp!=null)
+ tmp = resolveRootResource(tmp);
+ else
+ tmp = child;
+ return tmp;
+ }
}
Modified: rest/src/test/java/org/jboss/test/rest/deployment/DeploymentTestCase.java
===================================================================
--- rest/src/test/java/org/jboss/test/rest/deployment/DeploymentTestCase.java 2007-11-26
14:03:28 UTC (rev 5111)
+++ rest/src/test/java/org/jboss/test/rest/deployment/DeploymentTestCase.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -22,13 +22,10 @@
package org.jboss.test.rest.deployment;
import junit.framework.Test;
+import org.jboss.test.rest.util.RequestDispatcher;
import org.jboss.test.rest.util.RestCase;
import org.jboss.test.rest.util.RestTestSetup;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.net.HttpURLConnection;
import java.net.URL;
/**
@@ -49,7 +46,7 @@
public void testRequest1() throws Exception
{
URL url = new URL("http://localhost:8080/rest-deployment/widgets");
- String response = doTextPlainRequest(url, null);
+ String response = RequestDispatcher.plainText(url, null);
assertNotNull(response);
assertEquals("A widgetlist", response);
}
@@ -62,36 +59,9 @@
public void testRequest2() throws Exception
{
URL url = new
URL("http://localhost:8080/rest-deployment/widgets/123/id");
- String response = doTextPlainRequest(url, null);
+ String response = RequestDispatcher.plainText(url, null);
assertNotNull(response);
assertEquals("123", response);
}
-
- private String doTextPlainRequest(URL url, String data) throws Exception
- {
- HttpURLConnection conn = (HttpURLConnection)url.openConnection();
- conn.setDoOutput( data!=null );
- conn.setRequestProperty("accept", "text/*");
- if(data !=null)
- {
- OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
-
- wr.write(data);
- wr.flush();
- wr.close();
- }
-
- // Get the response
- BufferedReader rd = new BufferedReader(new
InputStreamReader(conn.getInputStream()));
- String line;
- StringBuffer sb = new StringBuffer();
- while ((line = rd.readLine()) != null)
- {
- sb.append(line);
- }
- rd.close();
-
- return sb.toString();
- }
}
Modified:
rest/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java
===================================================================
---
rest/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java 2007-11-26
14:03:28 UTC (rev 5111)
+++
rest/src/test/java/org/jboss/test/rest/invocation/InvocationBuilderTestCase.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -21,7 +21,6 @@
*/
package org.jboss.test.rest.invocation;
-import junit.framework.TestCase;
import org.jboss.rest.MethodHTTP;
import org.jboss.rest.ResourceRegistry;
import org.jboss.rest.model.*;
@@ -30,10 +29,10 @@
import org.jboss.test.rest.util.RestCase;
import javax.ws.rs.core.HttpHeaders;
+import java.io.ByteArrayInputStream;
import java.net.URI;
import java.util.List;
import java.util.Stack;
-import java.io.ByteArrayInputStream;
/**
* @author Heiko.Braun(a)jboss.com
Added: rest/src/test/java/org/jboss/test/rest/invocation/uriparam/CategoryResource.java
===================================================================
--- rest/src/test/java/org/jboss/test/rest/invocation/uriparam/CategoryResource.java
(rev 0)
+++
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/CategoryResource.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -0,0 +1,59 @@
+package org.jboss.test.rest.invocation.uriparam;
+
+import javax.ws.rs.HttpMethod;
+import javax.ws.rs.ProduceMime;
+import javax.ws.rs.UriTemplate;
+import javax.ws.rs.UriParam;
+
+@ProduceMime("text/plain")
+public class CategoryResource
+{
+ private String categoryName;
+ private String shopName;
+
+ public CategoryResource()
+ {
+ }
+
+ public CategoryResource(String shopName, String categoryName)
+ {
+ this.categoryName = categoryName;
+ this.shopName = shopName;
+ }
+
+ @HttpMethod
+ public String getCategory()
+ {
+ return "shop="+shopName+", category="+categoryName;
+ }
+
+ @UriTemplate("{item}")
+ public ItemResource getItem(
+ @UriParam("name") String shop,
+ @UriParam("category") String category,
+ @UriParam("item") String item
+ )
+ {
+ return new ItemResource(shop, category, item);
+ }
+
+ public String getCategoryName()
+ {
+ return categoryName;
+ }
+
+ public void setCategoryName(String categoryName)
+ {
+ this.categoryName = categoryName;
+ }
+
+ public String getShopName()
+ {
+ return shopName;
+ }
+
+ public void setShopName(String shopName)
+ {
+ this.shopName = shopName;
+ }
+}
Property changes on:
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/CategoryResource.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java
===================================================================
--- rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java
(rev 0)
+++
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -0,0 +1,62 @@
+package org.jboss.test.rest.invocation.uriparam;
+
+import javax.ws.rs.HttpMethod;
+import javax.ws.rs.UriParam;
+
+public class ItemResource
+{
+ private String categoryName;
+ private String shopName;
+ private String itemName;
+
+ public ItemResource()
+ {
+ }
+
+ public ItemResource(String shopName, String categoryName, String itemName)
+ {
+ this.categoryName = categoryName;
+ this.shopName = shopName;
+ this.itemName = itemName;
+ }
+
+ @HttpMethod
+ public String getItem(
+ @UriParam("name") String shop,
+ @UriParam("category") String category,
+ @UriParam("item") String item
+ )
+ {
+
+ // This instance was located, therefore it needs to reflect the uri parameter
+ if(!shop.equals(shopName)
+ || !category.equals(categoryName)
+ || !item.equals(itemName))
+ {
+ throw new IllegalArgumentException("UriParam's don't match instance
variables");
+ }
+
+ return "shop="+shopName+", category="+categoryName+",
item="+itemName;
+ }
+
+
+ public String getCategoryName()
+ {
+ return categoryName;
+ }
+
+ public void setCategoryName(String categoryName)
+ {
+ this.categoryName = categoryName;
+ }
+
+ public String getShopName()
+ {
+ return shopName;
+ }
+
+ public void setShopName(String shopName)
+ {
+ this.shopName = shopName;
+ }
+}
Property changes on:
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ItemResource.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java
===================================================================
--- rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java
(rev 0)
+++
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -0,0 +1,26 @@
+package org.jboss.test.rest.invocation.uriparam;
+
+import javax.ws.rs.HttpMethod;
+import javax.ws.rs.UriParam;
+import javax.ws.rs.UriTemplate;
+import javax.ws.rs.ProduceMime;
+
+@UriTemplate("shop/{name}")
+@ProduceMime("text/plain")
+public class ShopResource
+{
+ @HttpMethod
+ public String getShop( @UriParam("name") String shopName )
+ {
+ return "shop="+shopName;
+ }
+
+ @UriTemplate("{category}")
+ public CategoryResource getCategory(
+ @UriParam("name") String shopName,
+ @UriParam("category") String category)
+ {
+ return new CategoryResource(shopName, category);
+ }
+
+}
Property changes on:
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/ShopResource.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java
===================================================================
--- rest/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java
(rev 0)
+++
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java 2007-11-26
15:05:07 UTC (rev 5112)
@@ -0,0 +1,65 @@
+package org.jboss.test.rest.invocation.uriparam;
+
+import junit.framework.Test;
+import org.jboss.test.rest.util.RequestDispatcher;
+import org.jboss.test.rest.util.RestCase;
+import org.jboss.test.rest.util.RestTestSetup;
+
+import java.net.URL;
+
+/**
+ * Test UriParam binding across resource hierarchies
+ */
+public class UriParamTestCase extends RestCase
+{
+ public static Test suite()
+ {
+ return new RestTestSetup(UriParamTestCase.class, "rest-uriparam.war");
+ }
+
+ /**
+ * Root models that carry a template 'shop/{name}' need to provide
+ * a prameter binding as well.
+ * @throws Exception
+ */
+ public void testRootModelParameter() throws Exception
+ {
+ URL url = new
URL("http://localhost:8080/rest-uriparam/shop/electronics");
+
+ String response = RequestDispatcher.plainText(url, null );
+ assertNotNull(response);
+ assertEquals( "shop=electronics", response);
+ }
+
+ /**
+ * Subresources may refer uri paramter that actually
+ * have been resolved in parent resources, i.e. 'shop/{name}/{category}',
+ * whereas {category} triggers a locator.
+ *
+ * @throws Exception
+ */
+ public void testParentParameter() throws Exception
+ {
+ URL url = new
URL("http://localhost:8080/rest-uriparam/shop/electronics/hifi");
+
+ String response = RequestDispatcher.plainText(url, null );
+ assertNotNull(response);
+ assertEquals( "shop=electronics, category=hifi", response);
+ }
+
+ /**
+ * Subresources may refer uri paramter that actually
+ * have been resolved in parent resources, i.e. 'shop/{name}/{category}',
+ * whereas {category} triggers a locator.
+ *
+ * @throws Exception
+ */
+ public void testLocatorAndLocalParameter() throws Exception
+ {
+ URL url = new
URL("http://localhost:8080/rest-uriparam/shop/electronics/hifi/turntable");
+
+ String response = RequestDispatcher.plainText(url, null );
+ assertNotNull(response);
+ assertEquals( "shop=electronics, category=hifi, item=turntable",
response);
+ }
+}
Property changes on:
rest/src/test/java/org/jboss/test/rest/invocation/uriparam/UriParamTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/test/java/org/jboss/test/rest/util/RequestDispatcher.java
===================================================================
--- rest/src/test/java/org/jboss/test/rest/util/RequestDispatcher.java
(rev 0)
+++ rest/src/test/java/org/jboss/test/rest/util/RequestDispatcher.java 2007-11-26 15:05:07
UTC (rev 5112)
@@ -0,0 +1,53 @@
+package org.jboss.test.rest.util;
+
+import java.net.URL;
+import java.net.HttpURLConnection;
+import java.io.OutputStreamWriter;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+
+/**
+ * Test utility for simple request types
+ */
+public class RequestDispatcher
+{
+ /**
+ *
+ * @param url resource url
+ * @param data POST, PUT data. Needs to be a String
+ * @return maybe null or a String value
+ * @throws Exception if anything fails
+ */
+ public static String plainText(URL url, String data) throws Exception
+ {
+ HttpURLConnection conn = (HttpURLConnection)url.openConnection();
+ conn.setDoOutput( data!=null );
+ conn.setRequestProperty("accept", "text/plain");
+
+ if(data !=null)
+ {
+ OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
+
+ wr.write(data);
+ wr.flush();
+ wr.close();
+ }
+
+ // Get the response
+ if(conn.getResponseCode()==200)
+ {
+ BufferedReader rd = new BufferedReader(new
InputStreamReader(conn.getInputStream()));
+ String line;
+ StringBuffer sb = new StringBuffer();
+ while ((line = rd.readLine()) != null)
+ {
+ sb.append(line);
+ }
+ rd.close();
+
+ return sb.toString();
+ }
+
+ return null;
+ }
+}
Property changes on: rest/src/test/java/org/jboss/test/rest/util/RequestDispatcher.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/test/resources/rest/invocation/uriparam/WEB-INF/jbossrs.xml
===================================================================
--- rest/src/test/resources/rest/invocation/uriparam/WEB-INF/jbossrs.xml
(rev 0)
+++ rest/src/test/resources/rest/invocation/uriparam/WEB-INF/jbossrs.xml 2007-11-26
15:05:07 UTC (rev 5112)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
+
+<jbossrs xmlns="http://org.jboss.rest/">
+ <resource>
+ <name>ShopResource</name>
+
<implementation>org.jboss.test.rest.invocation.uriparam.ShopResource</implementation>
+ </resource>
+</jbossrs>
Property changes on: rest/src/test/resources/rest/invocation/uriparam/WEB-INF/jbossrs.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: rest/src/test/resources/rest/invocation/uriparam/WEB-INF/web.xml
===================================================================
--- rest/src/test/resources/rest/invocation/uriparam/WEB-INF/web.xml
(rev 0)
+++ rest/src/test/resources/rest/invocation/uriparam/WEB-INF/web.xml 2007-11-26 15:05:07
UTC (rev 5112)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <display-name>JBossRest</display-name>
+
+ <servlet>
+ <servlet-name>JBossRS</servlet-name>
+
<servlet-class>org.jboss.rest.container.wsf.ResourceServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>JBossRS</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Property changes on: rest/src/test/resources/rest/invocation/uriparam/WEB-INF/web.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF