Author: grobmeier
Date: Wed Mar 20 08:17:33 2013
New Revision: 1458681
URL: http://svn.apache.org/r1458681
Log:
added example on how to use the convention plugin in conjunction with the junit
plugin
Added:
struts/struts2/trunk/plugins/junit/src/test/java/actions/
struts/struts2/trunk/plugins/junit/src/test/java/actions/ViewAction.java
(with props)
struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/
struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/StrutsJUnit4ConventionTestCaseTest.java
(with props)
struts/struts2/trunk/plugins/junit/src/test/resources/struts-convention-configuration.xml
(with props)
struts/struts2/trunk/plugins/junit/src/test/resources/view-success.jsp
(with props)
Modified:
struts/struts2/trunk/plugins/junit/pom.xml
Modified: struts/struts2/trunk/plugins/junit/pom.xml
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/pom.xml?rev=1458681&r1=1458680&r2=1458681&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/junit/pom.xml (original)
+++ struts/struts2/trunk/plugins/junit/pom.xml Wed Mar 20 08:17:33 2013
@@ -66,6 +66,14 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
+
+ <!-- Convention Plugin tests -->
+ <dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-convention-plugin</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<!-- Portlet -->
<dependency>
<groupId>javax.portlet</groupId>
Added: struts/struts2/trunk/plugins/junit/src/test/java/actions/ViewAction.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/test/java/actions/ViewAction.java?rev=1458681&view=auto
==============================================================================
--- struts/struts2/trunk/plugins/junit/src/test/java/actions/ViewAction.java
(added)
+++ struts/struts2/trunk/plugins/junit/src/test/java/actions/ViewAction.java
Wed Mar 20 08:17:33 2013
@@ -0,0 +1,42 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package actions;
+
+import com.opensymphony.xwork2.ActionSupport;
+import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.Result;
+
+/**
+ * Example action, which is called by the convention plugin test case
+ */
+public class ViewAction extends ActionSupport {
+ private String message;
+
+ public String getMessage() {
+ return message;
+ }
+
+
+ public String execute() {
+ message = "Hello World";
+ return SUCCESS;
+ }
+}
Propchange:
struts/struts2/trunk/plugins/junit/src/test/java/actions/ViewAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/StrutsJUnit4ConventionTestCaseTest.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/StrutsJUnit4ConventionTestCaseTest.java?rev=1458681&view=auto
==============================================================================
---
struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/StrutsJUnit4ConventionTestCaseTest.java
(added)
+++
struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/StrutsJUnit4ConventionTestCaseTest.java
Wed Mar 20 08:17:33 2013
@@ -0,0 +1,46 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.convention;
+
+import actions.ViewAction;
+import org.apache.struts2.StrutsJUnit4TestCase;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Uses the convention plugin to execute actions
+ */
+public class StrutsJUnit4ConventionTestCaseTest extends
StrutsJUnit4TestCase<ViewAction>{
+ @Test
+ public void testConventionUrl() throws Exception {
+ // TODO: Currently output is empty
+ String output = executeAction("/view.action");
+
+ ViewAction action = this.getAction();
+ Assert.assertEquals("Hello World", action.getMessage());
+ }
+
+ @Override
+ protected String getConfigPath() {
+ return "struts-convention-configuration.xml";
+ }
+}
+
Propchange:
struts/struts2/trunk/plugins/junit/src/test/java/org/apache/struts2/convention/StrutsJUnit4ConventionTestCaseTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
struts/struts2/trunk/plugins/junit/src/test/resources/struts-convention-configuration.xml
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/test/resources/struts-convention-configuration.xml?rev=1458681&view=auto
==============================================================================
---
struts/struts2/trunk/plugins/junit/src/test/resources/struts-convention-configuration.xml
(added)
+++
struts/struts2/trunk/plugins/junit/src/test/resources/struts-convention-configuration.xml
Wed Mar 20 08:17:33 2013
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+-->
+
+<!DOCTYPE struts PUBLIC
+ "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
+ "http://struts.apache.org/dtds/struts-2.3.dtd">
+
+<struts>
+ <bean type="com.opensymphony.xwork2.UnknownHandler" name="convention"
class="org.apache.struts2.convention.ConventionUnknownHandler"/>
+
+ <bean type="org.apache.struts2.convention.ActionConfigBuilder"
name="convention"
class="org.apache.struts2.convention.PackageBasedActionConfigBuilder"/>
+ <bean type="org.apache.struts2.convention.ActionNameBuilder"
name="convention" class="org.apache.struts2.convention.SEOActionNameBuilder"/>
+ <bean type="org.apache.struts2.convention.ResultMapBuilder"
name="convention"
class="org.apache.struts2.convention.DefaultResultMapBuilder"/>
+ <bean type="org.apache.struts2.convention.InterceptorMapBuilder"
name="convention"
class="org.apache.struts2.convention.DefaultInterceptorMapBuilder"/>
+ <bean type="org.apache.struts2.convention.ConventionsService"
name="convention" class="org.apache.struts2.convention.ConventionsServiceImpl"/>
+
+ <bean type="com.opensymphony.xwork2.config.PackageProvider"
name="convention.packageProvider"
class="org.apache.struts2.convention.ClasspathPackageProvider"/>
+ <bean type="com.opensymphony.xwork2.config.PackageProvider"
name="convention.containerProvider"
class="org.apache.struts2.convention.ClasspathConfigurationProvider"/>
+
+ <constant name="struts.convention.actionConfigBuilder" value="convention"/>
+ <constant name="struts.convention.actionNameBuilder" value="convention"/>
+ <constant name="struts.convention.resultMapBuilder" value="convention"/>
+ <constant name="struts.convention.interceptorMapBuilder" value="convention"/>
+ <constant name="struts.convention.conventionsService" value="convention"/>
+
+ <constant name="struts.convention.result.path" value="/"/>
+ <constant name="struts.convention.result.flatLayout" value="true"/>
+ <constant name="struts.convention.action.suffix" value="Action"/>
+ <constant name="struts.convention.action.disableScanning" value="false"/>
+ <constant name="struts.convention.action.mapAllMatches" value="false"/>
+ <constant name="struts.convention.action.checkImplementsAction"
value="true"/>
+ <constant name="struts.convention.default.parent.package"
value="convention-default"/>
+ <constant name="struts.convention.action.name.lowercase" value="true"/>
+ <constant name="struts.convention.action.name.separator" value="-"/>
+ <constant name="struts.convention.package.locators"
value="action,actions,struts,struts2"/>
+ <constant name="struts.convention.package.locators.disable" value="false"/>
+ <constant name="struts.convention.package.locators.basePackage" value=""/>
+ <constant name="struts.convention.exclude.packages"
value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/>
+ <constant name="struts.convention.relative.result.types"
value="dispatcher,velocity,freemarker"/>
+ <constant name="struts.convention.redirect.to.slash" value="true"/>
+ <constant name="struts.convention.action.alwaysMapExecute" value="true"/>
+ <constant name="struts.mapper.alwaysSelectFullNamespace" value="true"/>
+ <!-- <constant name="struts.convention.action.includeJars" /> -->
+ <constant name="struts.convention.action.fileProtocols" value="jar" />
+
+ <constant name="struts.convention.classes.reload" value="false" />
+
+ <constant name="struts.convention.exclude.parentClassLoader" value="true" />
+
+ <package name="convention-default" extends="struts-default">
+ </package>
+</struts>
Propchange:
struts/struts2/trunk/plugins/junit/src/test/resources/struts-convention-configuration.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: struts/struts2/trunk/plugins/junit/src/test/resources/view-success.jsp
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/junit/src/test/resources/view-success.jsp?rev=1458681&view=auto
==============================================================================
--- struts/struts2/trunk/plugins/junit/src/test/resources/view-success.jsp
(added)
+++ struts/struts2/trunk/plugins/junit/src/test/resources/view-success.jsp Wed
Mar 20 08:17:33 2013
@@ -0,0 +1,25 @@
+<%--
+ ~ $Id$
+ ~
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ --%>
+<html>
+<body>
+This is the view
+</body>
+</html>
\ No newline at end of file
Propchange:
struts/struts2/trunk/plugins/junit/src/test/resources/view-success.jsp
------------------------------------------------------------------------------
svn:eol-style = native