mirror of
https://github.com/apache/struts.git
synced 2026-08-08 08:07:17 +00:00
Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fa6f1014b | |||
| 15986c7653 | |||
| 10479d7f6e | |||
| 617ab8d9c4 | |||
| e44b55c667 | |||
| 21df47141e | |||
| 5a7d6b4e3a | |||
| 8df7b12669 | |||
| 4fa6868d1d | |||
| 49f219dce6 | |||
| 41c7c5d1cf | |||
| 7cca7b97cb | |||
| 220570ecba | |||
| 2b36c400e2 | |||
| a19a055786 | |||
| 4fea4d6a5e | |||
| 1b09c6fb78 | |||
| 36844a708d | |||
| 8b6b326f6e | |||
| e574036f28 | |||
| 711028d90c | |||
| 59d0cc5e56 | |||
| a30b723c0c | |||
| 6110e4d303 | |||
| 431b3531f0 | |||
| fd687de750 | |||
| 9438281e6a | |||
| 34521fb906 | |||
| 8ab8bfeb04 | |||
| 2d3a1a8b88 | |||
| ff8b655c4b | |||
| 9ee344feca | |||
| f382908469 | |||
| 6cda019a6c | |||
| 061d23071a | |||
| 94dfae3ef1 | |||
| 52b6a00e37 | |||
| ee2d3371e1 | |||
| 1470efd592 | |||
| 190c97eb71 | |||
| da6a6df41c | |||
| 90083b4255 | |||
| 6294ee38c1 | |||
| 9bda39bc2f | |||
| 20f933e780 | |||
| 9f556fdbac | |||
| b24d376038 | |||
| 93866341ec | |||
| dbc620f84f | |||
| f88805221f | |||
| a784fd662c | |||
| 9e468f66ec | |||
| 047226193e |
+4
-4
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-blank</artifactId>
|
||||
@@ -12,9 +12,9 @@
|
||||
<name>Blank Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/blank/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/blank/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/blank/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/blank</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/blank</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/apps/blank</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-mailreader</artifactId>
|
||||
@@ -12,9 +12,9 @@
|
||||
<name>Starter Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/mailreader/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/mailreader/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/mailreader/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/mailreader</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/mailreader</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/apps/mailreader</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
+6
-5
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
@@ -17,9 +17,9 @@
|
||||
</modules>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/apps</url>
|
||||
</scm>
|
||||
|
||||
<distributionManagement>
|
||||
@@ -109,6 +109,7 @@
|
||||
<plugin>
|
||||
<groupId>org.codehaus.cargo</groupId>
|
||||
<artifactId>cargo-maven2-plugin</artifactId>
|
||||
<version>0.3.1</version>
|
||||
<configuration>
|
||||
<container>
|
||||
<containerId>tomcat5x</containerId>
|
||||
@@ -166,4 +167,4 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-portlet</artifactId>
|
||||
@@ -12,9 +12,9 @@
|
||||
<name>Portlet Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/portlet/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/portlet/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/portlet/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/portlet</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/portlet</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/apps/portlet</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-showcase</artifactId>
|
||||
@@ -12,9 +12,9 @@
|
||||
<name>Showcase Webapp</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/apps/showcase/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/apps/showcase/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/showcase/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/showcase</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/apps/showcase</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/apps/showcase</url>
|
||||
</scm>
|
||||
|
||||
|
||||
|
||||
+24
-37
@@ -1,26 +1,4 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2005-2006 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed 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.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-assembly</artifactId>
|
||||
@@ -33,14 +11,13 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/assembly</connection>
|
||||
<developerConnection>
|
||||
scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/assembly</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/assembly</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/assembly</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/assembly</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/assembly</url>
|
||||
</scm>
|
||||
|
||||
<build>
|
||||
@@ -103,7 +80,7 @@
|
||||
<groupId>com.opensymphony</groupId>
|
||||
<artifactId>xwork</artifactId>
|
||||
<classifier>javadoc</classifier>
|
||||
<version>2.0.4</version>
|
||||
<version>2.0.7</version>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
<outputDirectory>${project.build.directory}/xwork-apidocs</outputDirectory>
|
||||
@@ -119,12 +96,9 @@
|
||||
<phase>process-resources</phase>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<mkdir dir="${project.build.directory}/cwiki"/>
|
||||
<get src="http://struts.apache.org/2.x/docs.zip"
|
||||
dest="${project.build.directory}/docs.zip"
|
||||
ignoreerrors="false"/>
|
||||
<unzip src="${project.build.directory}/docs.zip"
|
||||
dest="${project.build.directory}/cwiki"/>
|
||||
<mkdir dir="${project.build.directory}/cwiki" />
|
||||
<get src="http://struts.apache.org/2.x/docs.zip" dest="${project.build.directory}/docs.zip" ignoreerrors="false" />
|
||||
<unzip src="${project.build.directory}/docs.zip" dest="${project.build.directory}/cwiki" />
|
||||
</tasks>
|
||||
</configuration>
|
||||
<goals>
|
||||
@@ -135,13 +109,26 @@
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<version>2.0.1</version>
|
||||
<version>2.2-beta-1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>make-assembly</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>attached</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<descriptors>
|
||||
<descriptor>src/main/assembly/all.xml</descriptor>
|
||||
<descriptor>src/main/assembly/lib.xml</descriptor>
|
||||
<!--
|
||||
<descriptor>src/main/assembly/lib-jdk14.xml</descriptor>
|
||||
-->
|
||||
<descriptor>src/main/assembly/apps.xml</descriptor>
|
||||
<descriptor>src/main/assembly/src.xml</descriptor>
|
||||
<descriptor>src/main/assembly/docs.xml</descriptor>
|
||||
</descriptors>
|
||||
<finalName>struts-${version}</finalName>
|
||||
<outputDirectory>target/assembly/out</outputDirectory>
|
||||
@@ -448,4 +435,4 @@
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
@@ -27,6 +27,12 @@
|
||||
<dependencySet>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<scope>runtime</scope>
|
||||
<excludes>
|
||||
<exclude>net.sf.retrotranslator:retrotranslator-runtime</exclude>
|
||||
<exclude>backport-util-concurrent:backport-util-concurrent</exclude>
|
||||
<exclude>junit:junit</exclude>
|
||||
<exclude>*:jdk14</exclude>
|
||||
</excludes>
|
||||
</dependencySet>
|
||||
</dependencySets>
|
||||
<fileSets>
|
||||
@@ -80,6 +86,10 @@
|
||||
<outputDirectory>docs/struts2-plugins/struts2-$plugin-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
-->
|
||||
<fileSet>
|
||||
<directory>../plugins/codebehind/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-codebehind-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/config-browser/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-config-browser-plugin</outputDirectory>
|
||||
@@ -112,6 +122,10 @@
|
||||
<directory>../plugins/sitegraph/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-sitegraph-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/spring/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-spring-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/sitemesh/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-sitemesh-plugin</outputDirectory>
|
||||
@@ -186,5 +200,13 @@
|
||||
<include>src/</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins</directory>
|
||||
<outputDirectory>src/plugins</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>*/target/**</exclude>
|
||||
<exclude>target/**</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</assembly>
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
<!--
|
||||
/*
|
||||
* $Id: docs.xml 651587 2008-04-25 12:15:09Z hermanns $
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<assembly>
|
||||
<id>docs</id>
|
||||
<formats>
|
||||
<format>zip</format>
|
||||
</formats>
|
||||
<fileSets>
|
||||
|
||||
<!-- Include the XWork Javadoc in the assembly -->
|
||||
<fileSet>
|
||||
<directory>target/xwork-apidocs</directory>
|
||||
<outputDirectory>docs/xwork-apidocs</outputDirectory>
|
||||
</fileSet>
|
||||
|
||||
<!-- Include the website in the assembly -->
|
||||
<fileSet>
|
||||
<directory>../target/site</directory>
|
||||
<outputDirectory>docs</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../api/target/site</directory>
|
||||
<outputDirectory>docs/struts2-api</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../core/target/site</directory>
|
||||
<outputDirectory>docs/struts2-core</outputDirectory>
|
||||
</fileSet>
|
||||
|
||||
<!-- Include the Confluence docs in the assembly -->
|
||||
<fileSet>
|
||||
<directory>target/cwiki</directory>
|
||||
<outputDirectory>docs</outputDirectory>
|
||||
</fileSet>
|
||||
|
||||
<!-- Plugins -->
|
||||
<fileSet>
|
||||
<directory>../plugins/codebehind/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-codebehind-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/config-browser/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-config-browser-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/jasperreports/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-jasperreports-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/jfreechart/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-jfreechart-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/jsf/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-jsf-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/jsf/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-junit-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/pell-multipart/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-pell-multipart-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/plexus/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-plexus-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/sitegraph/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-sitegraph-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/sitemesh/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-sitemesh-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/spring/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-spring-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/struts1/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-struts1-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/tiles/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-testng-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>../plugins/tiles/target/site</directory>
|
||||
<outputDirectory>docs/struts2-plugins/struts2-tiles-plugin</outputDirectory>
|
||||
</fileSet>
|
||||
|
||||
</fileSets>
|
||||
</assembly>
|
||||
@@ -0,0 +1,58 @@
|
||||
<!--
|
||||
/*
|
||||
* $Id: lib-jdk14.xml 615299 2008-01-25 18:26:44Z apetrelli $
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<assembly>
|
||||
<id>lib-jdk14</id>
|
||||
<formats>
|
||||
<format>zip</format>
|
||||
</formats>
|
||||
<dependencySets>
|
||||
<dependencySet useTransitiveFiltering="true">
|
||||
<outputDirectory>jdk14</outputDirectory>
|
||||
<outputFileNameMapping>${artifactId}-${version}.${extension}</outputFileNameMapping>
|
||||
<includes>
|
||||
<include>net.sf.retrotranslator:retrotranslator-runtime</include>
|
||||
<include>backport-util-concurrent:backport-util-concurrent</include>
|
||||
</includes>
|
||||
</dependencySet>
|
||||
<dependencySet>
|
||||
<useTransitiveFiltering>true</useTransitiveFiltering>
|
||||
<outputDirectory>jdk14</outputDirectory>
|
||||
<outputFileNameMapping>${artifactId}-${version}-jdk14.${extension}</outputFileNameMapping>
|
||||
<includes>
|
||||
<include>org.apache.struts:*:jar:jdk14</include>
|
||||
<include>com.opensymphony:xwork:jar:jdk14</include>
|
||||
</includes>
|
||||
</dependencySet>
|
||||
</dependencySets>
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<directory>src/main/resources/backport</directory>
|
||||
<outputDirectory></outputDirectory>
|
||||
<includes>
|
||||
<include>*LICENSE*</include>
|
||||
<include>NOTICE*</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</assembly>
|
||||
@@ -27,6 +27,12 @@
|
||||
<dependencySet>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<scope>runtime</scope>
|
||||
<excludes>
|
||||
<exclude>net.sf.retrotranslator:retrotranslator-runtime</exclude>
|
||||
<exclude>backport-util-concurrent:backport-util-concurrent</exclude>
|
||||
<exclude>junit:junit</exclude>
|
||||
<exclude>*:jdk14</exclude>
|
||||
</excludes>
|
||||
</dependencySet>
|
||||
</dependencySets>
|
||||
<fileSets>
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
<include>README*</include>
|
||||
<include>LICENSE*</include>
|
||||
<include>NOTICE*</include>
|
||||
<include>build.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
Apache Struts
|
||||
Copyright 2000-2007 The Apache Software Foundation
|
||||
|
||||
This product includes software developed by
|
||||
The Apache Software Foundation (http://www.apache.org/).
|
||||
Retrotranslator (http://retrotranslator.sourceforge.net/).
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Retrotranslator: a Java bytecode transformer that translates Java classes
|
||||
compiled with JDK 5.0 into classes that can be run on JVM 1.4.
|
||||
|
||||
Copyright (c) 2005, 2006 Taras Puchko
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holders nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -1,2 +1,2 @@
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/struts2-core-2.0.10.jar -destjar struts2-core-j4-2.0.10.jar
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/xwork-2.0.4.jar -destjar xwork-j4-2.0.4.jar
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/struts2-core-2.0.14.jar -destjar struts2-core-j4-2.0.14.jar
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/xwork-2.0.7.jar -destjar xwork-j4-2.0.7.jar
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/struts2-core-2.0.10.jar -destjar struts2-core-j4-2.0.10.jar
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/xwork-2.0.4.jar -destjar xwork-j4-2.0.4.jar
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/struts2-core-2.0.14.jar -destjar struts2-core-j4-2.0.14.jar
|
||||
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/xwork-2.0.7.jar -destjar xwork-j4-2.0.7.jar
|
||||
|
||||
+7
-70
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-core</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Core</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/core/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/core/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/core/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/core</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/core</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/core</url>
|
||||
</scm>
|
||||
|
||||
<build>
|
||||
@@ -56,7 +56,7 @@
|
||||
<artifactItem>
|
||||
<groupId>com.opensymphony</groupId>
|
||||
<artifactId>xwork</artifactId>
|
||||
<version>2.0.4</version>
|
||||
<version>2.0.7</version>
|
||||
<classifier>sources</classifier>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
@@ -152,70 +152,6 @@
|
||||
</reporting>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<!--
|
||||
Run the translator for Java 1.4 compatiblity
|
||||
|
||||
Samples:
|
||||
$ cd struts/struts2/
|
||||
$ mvn clean install -Papps,j4 -Djava14.jar=$JAVA_HOME/../Classes/classes.jar
|
||||
$ mvn clean install -Papps,j4 -Djava14.jar="$JAVA_HOME/jre/lib/rt.jar"
|
||||
|
||||
-->
|
||||
<id>j4</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>retrotranslator-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>retrotranslate</id>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>create-j4-jar</id>
|
||||
<goals><goal>jar</goal></goals>
|
||||
<configuration>
|
||||
<classesDirectory>${project.build.directory}/classes-retro</classesDirectory>
|
||||
<classifier>j4</classifier>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Extension-Name>${project.artifactId}-j4</Extension-Name>
|
||||
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
|
||||
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
|
||||
<Implementation-Title>${project.description}</Implementation-Title>
|
||||
<Implementation-Version>${project.version}</Implementation-Version>
|
||||
<Revision>${scm.revision}</Revision>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>sun.jdk</groupId>
|
||||
<artifactId>rt</artifactId>
|
||||
<version>1.4.0</version>
|
||||
<scope>system</scope>
|
||||
<!-- path to rt.jar (on OSX, it's classes.jar) -->
|
||||
<systemPath>${java14.jar}</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.retrotranslator</groupId>
|
||||
<artifactId>retrotranslator-runtime</artifactId>
|
||||
<version>1.0.8</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>alljars</id>
|
||||
<build>
|
||||
@@ -294,7 +230,7 @@
|
||||
<dependency>
|
||||
<groupId>com.opensymphony</groupId>
|
||||
<artifactId>xwork</artifactId>
|
||||
<version>2.0.4</version>
|
||||
<version>2.0.7</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -503,6 +439,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts-annotations</artifactId>
|
||||
<scope>compile</scope>
|
||||
<version>1.0.2</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
@@ -60,7 +60,7 @@ public abstract class AbstractRemoteCallUIBean extends ClosingUIBean implements
|
||||
super.evaluateExtraParams();
|
||||
|
||||
if (href != null)
|
||||
addParameter("href", findString(href));
|
||||
addParameter("href", ensureAttributeSafelyNotEscaped(findString(href)));
|
||||
if (errorText != null)
|
||||
addParameter("errorText", findString(errorText));
|
||||
if (loadingText != null)
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
package org.apache.struts2.components;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.MessageFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -129,8 +131,10 @@ import com.opensymphony.xwork2.util.ValueStack;
|
||||
public class DateTimePicker extends UIBean {
|
||||
|
||||
final public static String TEMPLATE = "datetimepicker";
|
||||
final private static SimpleDateFormat RFC3339_FORMAT = new SimpleDateFormat(
|
||||
"yyyy-MM-dd'T'HH:mm:ss");
|
||||
// Backported changes from s2 trunk (r657936)
|
||||
// final private static SimpleDateFormat RFC3339_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
||||
final private static String RFC3339_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
|
||||
final private static String RFC3339_PATTERN = "{0,date," + RFC3339_FORMAT + "}";
|
||||
final protected static Log LOG = LogFactory.getLog(DateTimePicker.class);
|
||||
|
||||
protected String iconPath;
|
||||
@@ -294,12 +298,14 @@ public class DateTimePicker extends UIBean {
|
||||
return null;
|
||||
|
||||
if(obj instanceof Date) {
|
||||
return RFC3339_FORMAT.format((Date) obj);
|
||||
return MessageFormat.format(RFC3339_PATTERN, (Date) obj);
|
||||
} else if(obj instanceof Calendar) {
|
||||
return MessageFormat.format(RFC3339_PATTERN, ((Calendar) obj).getTime());
|
||||
} else {
|
||||
// try to parse a date
|
||||
String dateStr = obj.toString();
|
||||
if(dateStr.equalsIgnoreCase("today"))
|
||||
return RFC3339_FORMAT.format(new Date());
|
||||
return MessageFormat.format(RFC3339_PATTERN, new Date());
|
||||
|
||||
try {
|
||||
Date date = null;
|
||||
@@ -307,7 +313,7 @@ public class DateTimePicker extends UIBean {
|
||||
SimpleDateFormat format = new SimpleDateFormat(
|
||||
(String) getParameters().get("displayFormat"));
|
||||
date = format.parse(dateStr);
|
||||
return RFC3339_FORMAT.format(date);
|
||||
return MessageFormat.format(RFC3339_PATTERN, date);
|
||||
} else {
|
||||
// last resource to assume already in correct/default format
|
||||
return dateStr;
|
||||
|
||||
@@ -790,6 +790,20 @@ public abstract class UIBean extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures an unescaped attribute value cannot be vulnerable to XSS attacks
|
||||
*
|
||||
* @param val The value to check
|
||||
* @return The escaped value
|
||||
*/
|
||||
protected String ensureAttributeSafelyNotEscaped(String val) {
|
||||
if (val != null) {
|
||||
return val.replaceAll("\"", """);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
protected void evaluateExtraParams() {
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,9 @@ package org.apache.struts2.dispatcher;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Enumeration;
|
||||
@@ -148,10 +150,12 @@ public class FilterDispatcher implements StrutsStatics, Filter {
|
||||
*/
|
||||
private static final Log LOG = LogFactory.getLog(FilterDispatcher.class);
|
||||
|
||||
static final String DEFAULT_STATIC_PACKAGES = "org.apache.struts2.static template org.apache.struts2.interceptor.debugging";
|
||||
|
||||
/**
|
||||
* Store set of path prefixes to use with static resources.
|
||||
*/
|
||||
private String[] pathPrefixes;
|
||||
String[] pathPrefixes;
|
||||
|
||||
/**
|
||||
* Provide a formatted date for setting heading information when caching static content.
|
||||
@@ -201,7 +205,7 @@ public class FilterDispatcher implements StrutsStatics, Filter {
|
||||
dispatcher.init();
|
||||
|
||||
String param = filterConfig.getInitParameter("packages");
|
||||
String packages = "org.apache.struts2.static template org.apache.struts2.interceptor.debugging";
|
||||
String packages = DEFAULT_STATIC_PACKAGES;
|
||||
if (param != null) {
|
||||
packages = param + " " + packages;
|
||||
}
|
||||
@@ -406,8 +410,7 @@ public class FilterDispatcher implements StrutsStatics, Filter {
|
||||
}
|
||||
|
||||
if (serveStatic && resourcePath.startsWith("/struts")) {
|
||||
String name = resourcePath.substring("/struts".length());
|
||||
findStaticResource(name, request, response);
|
||||
findStaticResource(resourcePath, findAndCheckResources(resourcePath), request, response);
|
||||
} else {
|
||||
// this is a normal request, let it pass through
|
||||
chain.doFilter(request, response);
|
||||
@@ -429,72 +432,138 @@ public class FilterDispatcher implements StrutsStatics, Filter {
|
||||
|
||||
/**
|
||||
* Locate a static resource and copy directly to the response,
|
||||
* setting the appropriate caching headers.
|
||||
* setting the appropriate caching headers.
|
||||
*
|
||||
* @param name The resource name
|
||||
* @param path The resource path
|
||||
* @param resourceUrls List of matching resource URLs
|
||||
* @param request The request
|
||||
* @param response The response
|
||||
* @throws IOException If anything goes wrong
|
||||
*/
|
||||
protected void findStaticResource(String name, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
if (!name.endsWith(".class")) {
|
||||
for (String pathPrefix : pathPrefixes) {
|
||||
InputStream is = findInputStream(name, pathPrefix);
|
||||
if (is != null) {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
|
||||
// check for if-modified-since, prior to any other headers
|
||||
long ifModifiedSince = 0;
|
||||
try {
|
||||
ifModifiedSince = request.getDateHeader("If-Modified-Since");
|
||||
} catch (Exception e) {
|
||||
LOG.warn("Invalid If-Modified-Since header value: '" + request.getHeader("If-Modified-Since") + "', ignoring");
|
||||
}
|
||||
long lastModifiedMillis = lastModifiedCal.getTimeInMillis();
|
||||
long now = cal.getTimeInMillis();
|
||||
cal.add(Calendar.DAY_OF_MONTH, 1);
|
||||
long expires = cal.getTimeInMillis();
|
||||
|
||||
if (ifModifiedSince > 0 && ifModifiedSince <= lastModifiedMillis) {
|
||||
// not modified, content is not sent - only basic headers and status SC_NOT_MODIFIED
|
||||
response.setDateHeader("Expires", expires);
|
||||
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
|
||||
is.close();
|
||||
return;
|
||||
}
|
||||
|
||||
// set the content-type header
|
||||
String contentType = getContentType(name);
|
||||
if (contentType != null) {
|
||||
response.setContentType(contentType);
|
||||
}
|
||||
public void findStaticResource(String path, List<URL> resourceUrls, HttpServletRequest request, HttpServletResponse response)
|
||||
throws IOException {
|
||||
for (URL resourceUrl : resourceUrls) {
|
||||
InputStream is;
|
||||
try {
|
||||
is = resourceUrl.openStream();
|
||||
} catch (Exception ex) {
|
||||
// just ignore it
|
||||
continue;
|
||||
}
|
||||
|
||||
if (serveStaticBrowserCache) {
|
||||
// set heading information for caching static content
|
||||
response.setDateHeader("Date", now);
|
||||
response.setDateHeader("Expires", expires);
|
||||
response.setDateHeader("Retry-After", expires);
|
||||
response.setHeader("Cache-Control", "public");
|
||||
response.setDateHeader("Last-Modified", lastModifiedMillis);
|
||||
} else {
|
||||
response.setHeader("Cache-Control", "no-cache");
|
||||
response.setHeader("Pragma", "no-cache");
|
||||
response.setHeader("Expires", "-1");
|
||||
}
|
||||
|
||||
try {
|
||||
copy(is, response.getOutputStream());
|
||||
} finally {
|
||||
is.close();
|
||||
}
|
||||
return;
|
||||
}
|
||||
//not inside the try block, as this could throw IOExceptions also
|
||||
if (is != null) {
|
||||
process(is, path, request, response);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
response.sendError(HttpServletResponse.SC_NOT_FOUND);
|
||||
}
|
||||
|
||||
/**
|
||||
* Locate a static classpath resource and check for safety constraints.
|
||||
*
|
||||
* @param path The resource path to check for available resources
|
||||
* @return verified classpath resource URLs
|
||||
* @throws IOException If anything goes wrong
|
||||
*/
|
||||
protected List<URL> findAndCheckResources(String path) throws IOException {
|
||||
String name = cleanupPath(path);
|
||||
List<URL> resourceUrls = new ArrayList<URL>(pathPrefixes.length);
|
||||
for (String pathPrefix : pathPrefixes) {
|
||||
URL resourceUrl = findResource(buildPath(name, pathPrefix));
|
||||
String pathEnding = buildPath(name, pathPrefix);
|
||||
//check that the resource path is under the pathPrefix path
|
||||
if (resourceUrl != null && resourceUrl.getFile().endsWith(pathEnding)) {
|
||||
resourceUrls.add(resourceUrl);
|
||||
}
|
||||
}
|
||||
return resourceUrls;
|
||||
}
|
||||
|
||||
/**
|
||||
* Look for a static resource in the classpath.
|
||||
*
|
||||
* @param path The resource path
|
||||
* @return The inputstream of the resource
|
||||
* @throws IOException If there is a problem locating the resource
|
||||
*/
|
||||
protected URL findResource(String path) throws IOException {
|
||||
return ClassLoaderUtil.getResource(path, getClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name resource name
|
||||
* @param packagePrefix The package prefix to use to locate the resource
|
||||
* @return full path
|
||||
* @throws java.io.UnsupportedEncodingException
|
||||
* @throws IOException
|
||||
*/
|
||||
protected String buildPath(String name, String packagePrefix) throws UnsupportedEncodingException {
|
||||
String resourcePath;
|
||||
if (packagePrefix.endsWith("/") && name.startsWith("/")) {
|
||||
resourcePath = packagePrefix + name.substring(1);
|
||||
} else {
|
||||
resourcePath = packagePrefix + name;
|
||||
}
|
||||
|
||||
return URLDecoder.decode(resourcePath, encoding);
|
||||
}
|
||||
|
||||
protected void process(InputStream is, String path, HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
if (is != null) {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
|
||||
// check for if-modified-since, prior to any other headers
|
||||
long ifModifiedSince = 0;
|
||||
try {
|
||||
ifModifiedSince = request.getDateHeader("If-Modified-Since");
|
||||
} catch (Exception e) {
|
||||
LOG.warn("Invalid If-Modified-Since header value: '"
|
||||
+ request.getHeader("If-Modified-Since") + "', ignoring");
|
||||
}
|
||||
long lastModifiedMillis = lastModifiedCal.getTimeInMillis();
|
||||
long now = cal.getTimeInMillis();
|
||||
cal.add(Calendar.DAY_OF_MONTH, 1);
|
||||
long expires = cal.getTimeInMillis();
|
||||
|
||||
if (ifModifiedSince > 0 && ifModifiedSince <= lastModifiedMillis) {
|
||||
// not modified, content is not sent - only basic
|
||||
// headers and status SC_NOT_MODIFIED
|
||||
response.setDateHeader("Expires", expires);
|
||||
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
|
||||
is.close();
|
||||
return;
|
||||
}
|
||||
|
||||
// set the content-type header
|
||||
String contentType = getContentType(path);
|
||||
if (contentType != null) {
|
||||
response.setContentType(contentType);
|
||||
}
|
||||
|
||||
if (serveStaticBrowserCache) {
|
||||
// set heading information for caching static content
|
||||
response.setDateHeader("Date", now);
|
||||
response.setDateHeader("Expires", expires);
|
||||
response.setDateHeader("Retry-After", expires);
|
||||
response.setHeader("Cache-Control", "public");
|
||||
response.setDateHeader("Last-Modified", lastModifiedMillis);
|
||||
} else {
|
||||
response.setHeader("Cache-Control", "no-cache");
|
||||
response.setHeader("Pragma", "no-cache");
|
||||
response.setHeader("Expires", "-1");
|
||||
}
|
||||
|
||||
try {
|
||||
copy(is, response.getOutputStream());
|
||||
} finally {
|
||||
is.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine the content type for the resource name.
|
||||
*
|
||||
@@ -559,4 +628,13 @@ public class FilterDispatcher implements StrutsStatics, Filter {
|
||||
|
||||
return ClassLoaderUtil.getResourceAsStream(resourcePath, getClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param path requested path
|
||||
* @return path without leading "/struts" or "/static"
|
||||
*/
|
||||
protected String cleanupPath(String path) {
|
||||
//path will start with "/struts" or "/static", remove them
|
||||
return path.substring(7);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ public class IteratorGeneratorTag extends StrutsBodyTagSupport {
|
||||
count = ((Long)countObj).intValue();
|
||||
}
|
||||
else if (countObj instanceof Double) {
|
||||
count = ((Long)countObj).intValue();
|
||||
count = ((Double)countObj).intValue();
|
||||
}
|
||||
else if (countObj instanceof String) {
|
||||
try {
|
||||
|
||||
@@ -214,7 +214,7 @@ public class SubsetIteratorTag extends StrutsBodyTagSupport {
|
||||
count = ((Long)countObj).intValue();
|
||||
}
|
||||
else if (countObj instanceof Double) {
|
||||
count = ((Long)countObj).intValue();
|
||||
count = ((Double)countObj).intValue();
|
||||
}
|
||||
else if (countObj instanceof String) {
|
||||
try {
|
||||
@@ -240,7 +240,7 @@ public class SubsetIteratorTag extends StrutsBodyTagSupport {
|
||||
start = ((Long)startObj).intValue();
|
||||
}
|
||||
else if (startObj instanceof Double) {
|
||||
start = ((Long)startObj).intValue();
|
||||
start = ((Double)startObj).intValue();
|
||||
}
|
||||
else if (startObj instanceof String) {
|
||||
try {
|
||||
|
||||
@@ -188,10 +188,14 @@ public class UrlHelper {
|
||||
buildParametersString(params, link, "&");
|
||||
}
|
||||
|
||||
String result;
|
||||
String result = link.toString();
|
||||
|
||||
while (result.indexOf("<script>") > 0) {
|
||||
result = result.replaceAll("<script>", "script");
|
||||
}
|
||||
|
||||
try {
|
||||
result = encodeResult ? response.encodeURL(link.toString()) : link.toString();
|
||||
result = encodeResult ? response.encodeURL(result) : result;
|
||||
} catch (Exception ex) {
|
||||
// Could not encode the URL for some reason
|
||||
// Use it unchanged
|
||||
|
||||
@@ -22,7 +22,6 @@ package org.apache.struts2.views.xslt;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.Writer;
|
||||
import java.net.URL;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -315,8 +314,6 @@ public class XSLTResult implements Result {
|
||||
try {
|
||||
HttpServletResponse response = ServletActionContext.getResponse();
|
||||
|
||||
Writer writer = response.getWriter();
|
||||
|
||||
// Create a transformer for the stylesheet.
|
||||
Templates templates = null;
|
||||
Transformer transformer;
|
||||
@@ -354,13 +351,11 @@ public class XSLTResult implements Result {
|
||||
LOG.debug("xmlSource = " + xmlSource);
|
||||
transformer.transform(xmlSource, new StreamResult(out));
|
||||
|
||||
out.close(); // ...and flush...
|
||||
out.flush(); // ...and flush...
|
||||
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Time:" + (System.currentTimeMillis() - startTime) + "ms");
|
||||
}
|
||||
|
||||
writer.flush();
|
||||
} catch (Exception e) {
|
||||
LOG.error("Unable to render XSLT Template, '" + location + "'", e);
|
||||
throw e;
|
||||
|
||||
@@ -140,6 +140,8 @@ dojo.widget.defineWidget(
|
||||
if(this.executeScripts) {
|
||||
//update targets content
|
||||
var parsed = this.parse(data);
|
||||
this.setContent(parsed.text);
|
||||
|
||||
//eval scripts
|
||||
if(parsed.scripts && parsed.scripts.length > 0) {
|
||||
var scripts = "";
|
||||
@@ -148,7 +150,6 @@ dojo.widget.defineWidget(
|
||||
}
|
||||
(new Function('_container_', scripts+'; return this;'))(this);
|
||||
}
|
||||
this.setContent(parsed.text);
|
||||
}
|
||||
else {
|
||||
this.setContent(data);
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
<bean class="com.opensymphony.xwork2.ObjectFactory" static="true" />
|
||||
<bean class="com.opensymphony.xwork2.util.XWorkConverter" static="true" />
|
||||
<bean class="com.opensymphony.xwork2.util.OgnlValueStack" static="true" />
|
||||
<bean class="com.opensymphony.xwork2.validator.ValidatorFileParser" static="true" />
|
||||
<bean class="org.apache.struts2.dispatcher.Dispatcher" static="true" />
|
||||
<bean class="org.apache.struts2.components.Include" static="true" />
|
||||
<bean class="org.apache.struts2.dispatcher.FilterDispatcher" static="true" />
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<#assign itemKey = stack.findValue('top')/>
|
||||
</#if>
|
||||
<#if parameters.listValue?exists>
|
||||
<#assign itemValue = stack.findString(parameters.listValue)/>
|
||||
<#assign itemValue = stack.findString(parameters.listValue)?default("")/>
|
||||
<#else>
|
||||
<#assign itemValue = stack.findString('top')/>
|
||||
</#if>
|
||||
@@ -52,4 +52,4 @@
|
||||
</@s.iterator>
|
||||
<#else>
|
||||
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
@@ -21,8 +21,11 @@
|
||||
package org.apache.struts2.dispatcher;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.net.URL;
|
||||
|
||||
import javax.servlet.FilterConfig;
|
||||
import javax.servlet.ServletContext;
|
||||
@@ -177,6 +180,37 @@ public class FilterDispatcherTest extends StrutsTestCase {
|
||||
assertTrue(_dispatcher.serviceRequest);
|
||||
}
|
||||
|
||||
public void testFindAndCheckResourcesWithDojoJs() throws Exception {
|
||||
FilterDispatcher filterDispatcher = new FilterDispatcher();
|
||||
filterDispatcher.pathPrefixes = filterDispatcher.parse(FilterDispatcher.DEFAULT_STATIC_PACKAGES);
|
||||
List<URL> result = filterDispatcher.findAndCheckResources("/struts/dojo/dojo.js");
|
||||
assertTrue(result.size()>=1);
|
||||
for (URL url : result) {
|
||||
try {
|
||||
InputStream is = url.openStream();
|
||||
is.close();
|
||||
} catch (IOException e) {
|
||||
fail("Resource could not be opened");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void testFindAndCheckResourcesWithValidationClientJs() throws Exception {
|
||||
FilterDispatcher filterDispatcher = new FilterDispatcher();
|
||||
filterDispatcher.pathPrefixes = filterDispatcher.parse(FilterDispatcher.DEFAULT_STATIC_PACKAGES);
|
||||
List<URL> result = filterDispatcher.findAndCheckResources("/struts/validationClient.js");
|
||||
assertTrue(result.size()>=1);
|
||||
for (URL url : result) {
|
||||
try {
|
||||
InputStream is = url.openStream();
|
||||
is.close();
|
||||
} catch (IOException e) {
|
||||
fail("Resource could not be opened");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// === inner class ========
|
||||
public static class InnerObjectFactory extends ObjectFactory {
|
||||
|
||||
@@ -190,6 +190,14 @@ public class IteratorGeneratorTagTest extends AbstractTagTest {
|
||||
assertNotSame(topOfStack, afterTopOfStack);
|
||||
}
|
||||
|
||||
public void testGeneratorWithDoubleCount() throws Exception {
|
||||
IteratorGeneratorTag tag = new IteratorGeneratorTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setVal("%{'not used'}");
|
||||
tag.setCount("3.0");
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
}
|
||||
|
||||
public Action getAction() {
|
||||
return new ActionSupport() {
|
||||
|
||||
@@ -243,6 +243,21 @@ public class SubsetIteratorTagTest extends AbstractTagTest {
|
||||
}
|
||||
|
||||
|
||||
public void testWithDoubleCount() throws Exception {
|
||||
SubsetIteratorTag tag = new SubsetIteratorTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setCount("3.0");
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
}
|
||||
|
||||
public void testWithDoubleStart() throws Exception {
|
||||
SubsetIteratorTag tag = new SubsetIteratorTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setStart("2.0");
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
}
|
||||
|
||||
public Action getAction() {
|
||||
return new ActionSupport() {
|
||||
|
||||
@@ -56,4 +56,18 @@ public class AnchorTest extends AbstractUITagTest {
|
||||
verify(AnchorTest.class.getResource("href-1.txt"));
|
||||
}
|
||||
|
||||
public void testSimpleBadQuote() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setFoo("bar");
|
||||
|
||||
AnchorTag tag = new AnchorTag();
|
||||
tag.setPageContext(pageContext);
|
||||
|
||||
tag.setId("mylink");
|
||||
tag.setHref("a\"");
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
verify(AnchorTest.class.getResource("href-2.txt"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,8 @@ public class CheckboxListTest extends AbstractUITagTest {
|
||||
testAction.setFoo("hello");
|
||||
testAction.setList(new String[][]{
|
||||
{"hello", "world"},
|
||||
{"foo", "bar"}
|
||||
{"foo", "bar"},
|
||||
{"baz", null}
|
||||
});
|
||||
|
||||
CheckboxListTag tag = new CheckboxListTag();
|
||||
|
||||
@@ -225,7 +225,8 @@ public class DateTagTest extends AbstractTagTest {
|
||||
|
||||
// hmmm the Date component isn't the best to calculate the excat difference so we'll just check
|
||||
// that it starts with in 2 years
|
||||
assertTrue(writer.toString().startsWith("in 2 years"));
|
||||
String s = writer.toString();
|
||||
assertTrue(s.startsWith("in 2 years"));
|
||||
}
|
||||
|
||||
public void testNoDateObjectInContext() throws Exception {
|
||||
|
||||
@@ -5,5 +5,7 @@
|
||||
<label for="foo-1" class="checkboxLabel">world</label>
|
||||
<input type="checkbox" name="foo" value="foo" id="foo-2" title="mytitle" onchange="alert('foo');"/>
|
||||
<label for="foo-2" class="checkboxLabel">bar</label>
|
||||
<input type="checkbox" name="foo" value="baz" id="foo-3" title="mytitle" onchange="alert('foo');"/>
|
||||
<label for="foo-3" class="checkboxLabel"></label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<a
|
||||
id="mylink"
|
||||
href="a"">
|
||||
</a>
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-codebehind-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Codebehind Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/codebehind/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/codebehind/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/codebehind/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/codebehind</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/codebehind</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/codebehind</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-config-browser-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Configuration Browser Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/config-browser/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/config-browser/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/config-browser/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/config-browser</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/config-browser</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/config-browser</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-jasperreports-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Jasper Reports Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/jasperreports/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/jasperreports/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/jasperreports/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/jasperreports</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/jasperreports</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/jasperreports</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-jfreechart-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 JFreeChart Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/jfreechart/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/jfreechart/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/jfreechart/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/jfreechart</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/jfreechart</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/jfreechart</url>
|
||||
</scm>
|
||||
|
||||
<profiles>
|
||||
|
||||
+4
-4
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-jsf-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 JSF Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/jsf/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/jsf/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/jsf/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/jsf</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/jsf</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/jsf</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-pell-multipart-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Pell Multipart Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/pell-multipart/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/pell-multipart/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/pell-multipart/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/pell-multipart</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/pell-multipart</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/pell-multipart</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plexus-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Plexus Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/plexus/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/plexus/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/plexus/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/plexus</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/plexus</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/plexus</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
+4
-4
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts Plugins</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/</connection>
|
||||
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/</developerConnection>
|
||||
<url>http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins</connection>
|
||||
<developerConnection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins</developerConnection>
|
||||
<url>http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins</url>
|
||||
</scm>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-sitegraph-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Sitegraph Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/sitegraph/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/sitegraph/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/sitegraph/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/sitegraph</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/sitegraph</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/sitegraph</url>
|
||||
</scm>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-sitemesh-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Sitemesh Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/sitemesh/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/sitemesh/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/sitemesh/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/sitemesh</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/sitemesh</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/sitemesh</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-spring-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Spring Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/spring/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/spring/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/spring/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/spring</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/spring</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/spring</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-struts1-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Struts 1 Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/struts1/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/struts1/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/struts1/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/struts1</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/struts1</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/struts1</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
</parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-tiles-plugin</artifactId>
|
||||
@@ -34,9 +34,9 @@
|
||||
<name>Struts 2 Tiles Plugin</name>
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/tiles/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/plugins/tiles/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/plugins/tiles/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/tiles</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14/plugins/tiles</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14/plugins/tiles</url>
|
||||
</scm>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.0.11</version>
|
||||
<version>2.0.14</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>Struts 2</name>
|
||||
<url>http://struts.apache.org/struts2</url>
|
||||
@@ -28,9 +28,9 @@
|
||||
-->
|
||||
|
||||
<scm>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/trunk/</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/trunk/</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/</url>
|
||||
<connection>scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14</connection>
|
||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_14</developerConnection>
|
||||
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_0_14</url>
|
||||
</scm>
|
||||
|
||||
<issueManagement>
|
||||
@@ -53,14 +53,15 @@
|
||||
</snapshotRepository>
|
||||
<site>
|
||||
<id>apache-site</id>
|
||||
<url>scp://people.apache.org/www/struts.apache.org/2.x/</url>
|
||||
<url>scp://people.apache.org/www/struts.apache.org/2.0.x/</url>
|
||||
</site>
|
||||
</distributionManagement>
|
||||
|
||||
<modules>
|
||||
<module>core</module>
|
||||
<!--<module>assembly</module>-->
|
||||
<!-- <module>api</module> -->
|
||||
<module>apps</module>
|
||||
<module>plugins</module>
|
||||
<module>assembly</module>
|
||||
</modules>
|
||||
|
||||
<licenses>
|
||||
@@ -78,30 +79,6 @@
|
||||
</organization>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>apps</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>apps</name>
|
||||
</property>
|
||||
</activation>
|
||||
<modules>
|
||||
<module>apps</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>plugins</id>
|
||||
<modules>
|
||||
<module>plugins</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>all</id>
|
||||
<modules>
|
||||
<module>plugins</module>
|
||||
<module>apps</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>xwork</id>
|
||||
<modules>
|
||||
@@ -114,59 +91,8 @@
|
||||
<module>../maven/struts-annotations</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>1.4-backport</id>
|
||||
<activation>
|
||||
<jdk>1.4</jdk>
|
||||
</activation>
|
||||
<dependencies>
|
||||
<!-- should have the org.w3c.dom dependency here -->
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>alljars</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.2</version>
|
||||
<!--
|
||||
<configuration>
|
||||
<aggregate>true</aggregate>
|
||||
</configuration>
|
||||
-->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-source</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-source</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>release</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>release</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -233,35 +159,153 @@
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<configuration>
|
||||
<preparationGoals>clean verify install</preparationGoals>
|
||||
<useReleaseProfile>true</useReleaseProfile>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>bundle-manifest</id>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>manifest</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!--
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>retrotranslator-maven-plugin</artifactId>
|
||||
<artifactId>rat-maven-plugin</artifactId>
|
||||
<version>1.0-alpha-2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-classes</phase>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>translate</goal>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<addDefaultLicenseMatchers>false</addDefaultLicenseMatchers>
|
||||
<licenseMatchers>
|
||||
<classNames>
|
||||
<className>rat.analysis.license.ApacheSoftwareLicense20</className>
|
||||
</classNames>
|
||||
</licenseMatchers>
|
||||
<includes>
|
||||
<include>
|
||||
<directory>${pom.basedir}/target/classes</directory>
|
||||
</include>
|
||||
<include>pom.xml</include>
|
||||
<include>src/**</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.2</version>
|
||||
<!--
|
||||
<configuration>
|
||||
<useReleaseProfile>false</useReleaseProfile>
|
||||
<aggregate>true</aggregate>
|
||||
</configuration>
|
||||
-->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-source</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-source</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!--
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>retrotranslator-maven-plugin</artifactId>
|
||||
<version>1.0-alpha-3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>translate-project</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<verify>false</verify>
|
||||
<classifier>jdk14</classifier>
|
||||
<attach>true</attach>
|
||||
<failonwarning>true</failonwarning>
|
||||
<lazy>true</lazy>
|
||||
<advanced>true</advanced>
|
||||
<verbose>false</verbose>
|
||||
<destdir>${project.build.directory}/classes-retro</destdir>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
-->
|
||||
<!-- Commenting out the license plugin, until it works like we want.
|
||||
To use the "license:format" goal, remove the "core" module before running,
|
||||
otherwise it will ignore the file exclusions.
|
||||
|
||||
<plugin>
|
||||
<groupId>com.google.code.maven-license-plugin</groupId>
|
||||
<artifactId>maven-license-plugin</artifactId>
|
||||
<version>1.2.7-SNAPSHOT</version>
|
||||
<configuration>
|
||||
<header>src/etc/header.txt</header>
|
||||
<includes>
|
||||
<include>pom.xml</include>
|
||||
<include>src/**</include>
|
||||
<include>core/pom.xml</include>
|
||||
<include>core/src/**</include>
|
||||
<include>plugins/**/pom.xml</include>
|
||||
<include>plugins/**/src/**</include>
|
||||
<include>apps/**/pom.xml</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*.txt</exclude>
|
||||
<exclude>core/src/test/resources/org/apache/struts2/views/jsp/ui/*</exclude>
|
||||
<exclude>core/src/main/resources/org/apache/struts2/static/domTT.js</exclude>
|
||||
<exclude>core/src/test/resources/org/apache/struts2/interceptor/validation/*</exclude>
|
||||
<exclude>core/src/site/resources/tags/**</exclude>
|
||||
<exclude>plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/nls/**</exclude>
|
||||
<exclude>plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/**</exclude>
|
||||
<exclude>plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/*</exclude>
|
||||
<exclude>plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/**</exclude>
|
||||
<exclude>apps/**/src/**</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin> -->
|
||||
|
||||
</plugins>
|
||||
<defaultGoal>install</defaultGoal>
|
||||
|
||||
</build>
|
||||
@@ -301,6 +345,7 @@
|
||||
<artifactId>maven-pmd-plugin</artifactId>
|
||||
</plugin>
|
||||
-->
|
||||
<!--
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>rat-maven-plugin</artifactId>
|
||||
@@ -310,8 +355,12 @@
|
||||
<include>pom.xml</include>
|
||||
<include>src/**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>assembly/src/main/resources/backport/RETROTRANSLATOR-LICENSE.txt</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
-->
|
||||
</plugins>
|
||||
</reporting>
|
||||
|
||||
@@ -351,20 +400,6 @@
|
||||
</releases>
|
||||
<url>http://maven2.opensymphony.com</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>opensymphony</id>
|
||||
<name>opensymphony</name>
|
||||
<layout>legacy</layout>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<url>http://maven.opensymphony.com</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>Maven Snapshots</id>
|
||||
<url>http://snapshots.maven.codehaus.org/maven2/</url>
|
||||
@@ -397,4 +432,4 @@
|
||||
|
||||
</pluginRepositories>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@
|
||||
|
||||
<item
|
||||
name="Release Notes"
|
||||
href="docs/release-notes-209.html"
|
||||
href="docs/release-notes-2014.html"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
</div>
|
||||
<div>
|
||||
<table><tr><td>
|
||||
<a href="http://struts.apache.org/download.cgi#struts206">
|
||||
<a href="http://struts.apache.org/download.cgi#struts2014">
|
||||
<div style="background:url(images/download.gif) no-repeat scroll 0%; width:200px; min-height:80px; float:left;position:relative;margin:5px">
|
||||
<span style="top:15px;position:absolute;color:white;padding-left:10px">
|
||||
<small>version 2.0.8</small>
|
||||
<small>version 2.0.14</small>
|
||||
<br />
|
||||
<span style="font-weight: bold; font-size:140%">Download Now</span>
|
||||
</span>
|
||||
@@ -158,7 +158,7 @@
|
||||
<subsection>
|
||||
<p>
|
||||
To download the framework, visit
|
||||
<a href="http://struts.apache.org/download.cgi#struts206">
|
||||
<a href="http://struts.apache.org/download.cgi#struts2014">
|
||||
Apache Struts Distributions.
|
||||
</a>
|
||||
For more about Apache Struts 2, visit
|
||||
|
||||
Reference in New Issue
Block a user