Author: gk
Date: Thu Oct 19 12:34:25 2017
New Revision: 1812628
URL: http://svn.apache.org/viewvc?rev=1812628&view=rev
Log:
- running conf/cw.sh, cleanup spaces, licenses
- deleting build.xml which relies on non existing master file
- update todo.xml
Removed:
turbine/core/trunk/conf/TurbineResources.properties
Modified:
turbine/core/trunk/conf/CodeWrestler.excludes
turbine/core/trunk/conf/componentConfiguration.xml
turbine/core/trunk/conf/cw.sh
turbine/core/trunk/conf/roleConfiguration.xml
turbine/core/trunk/conf/test/CompleteTurbineResources.properties
turbine/core/trunk/conf/test/CompleteTurbineResourcesWithEncoding.properties
turbine/core/trunk/conf/test/ConfigurationBuilder.xml
turbine/core/trunk/conf/test/Log4j.properties
turbine/core/trunk/conf/test/TorqueTest.properties
turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml
turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml
turbine/core/trunk/conf/test/quartz.xml
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myotherskin/skin.props
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myskin/skin.props
turbine/core/trunk/pom.xml
turbine/core/trunk/src/assembly/binaries.xml
turbine/core/trunk/src/assembly/source.xml
turbine/core/trunk/src/changes/changes.xml
turbine/core/trunk/src/java/org/apache/turbine/Turbine.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/AnnotationProcessor.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineActionEvent.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineConfiguration.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineLoader.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredPermission.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredRole.java
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineService.java
turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java
turbine/core/trunk/src/java/org/apache/turbine/modules/Loader.java
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LoginUser.java
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/SessionValidator.java
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityCachedLayout.java
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/JSONScreen.java
turbine/core/trunk/src/java/org/apache/turbine/om/OMTool.java
turbine/core/trunk/src/java/org/apache/turbine/om/Retrievable.java
turbine/core/trunk/src/java/org/apache/turbine/om/Retriever.java
turbine/core/trunk/src/java/org/apache/turbine/om/RetrieverFactory.java
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
turbine/core/trunk/src/java/org/apache/turbine/om/security/TurbineUserDelegate.java
turbine/core/trunk/src/java/org/apache/turbine/pipeline/XmlValve.java
turbine/core/trunk/src/java/org/apache/turbine/services/jsonrpc/JSONProcessor.java
turbine/core/trunk/src/java/org/apache/turbine/services/pull/tools/UITool.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/AbstractSchedulerService.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/JobQueue.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/QuartzSchedulerService.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/TorqueSchedulerService.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerService.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/WorkerThread.java
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultSecurityService.java
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultUserManager.java
turbine/core/trunk/src/java/org/apache/turbine/services/security/SecurityService.java
turbine/core/trunk/src/java/org/apache/turbine/services/ui/TurbineUIService.java
turbine/core/trunk/src/java/org/apache/turbine/services/ui/UIService.java
turbine/core/trunk/src/java/org/apache/turbine/services/ui/package.html
turbine/core/trunk/src/java/org/apache/turbine/util/ObjectUtils.java
turbine/core/trunk/src/site/site.xml
turbine/core/trunk/src/test/org/apache/turbine/DestroyTest.java
turbine/core/trunk/src/test/org/apache/turbine/annotation/AnnotationProcessorTest.java
turbine/core/trunk/src/test/org/apache/turbine/modules/GenericLoaderTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/LoadingComponentsTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/crypto/FulcrumCryptoServiceTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/pull/tools/UIToolTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/pull/util/DateFormatterTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/rundata/DefaultTurbineRunDataTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/JobEntryTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerServiceTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/security/SecurityServiceTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/security/TurbineDefaultModelManagerTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/template/ClassTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/template/TemplateTest.java
turbine/core/trunk/src/test/org/apache/turbine/services/velocity/PathConverterTest.java
turbine/core/trunk/src/torque/schema/id-table-schema.xml
turbine/core/trunk/src/torque/schema/scheduler-schema.xml
turbine/core/trunk/xdocs/features.xml
turbine/core/trunk/xdocs/fsd.xml
turbine/core/trunk/xdocs/how-to-build.xml
turbine/core/trunk/xdocs/howto/action-event-howto.xml
turbine/core/trunk/xdocs/howto/annotations.xml
turbine/core/trunk/xdocs/howto/configuration-howto.xml
turbine/core/trunk/xdocs/howto/migrate-from-2_3-howto.xml
turbine/core/trunk/xdocs/services/index.xml
turbine/core/trunk/xdocs/services/jsonrpc-service.xml
turbine/core/trunk/xdocs/services/security-service.xml
turbine/core/trunk/xdocs/services/ui-service.xml
turbine/core/trunk/xdocs/todo.xml
Modified: turbine/core/trunk/conf/CodeWrestler.excludes
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/CodeWrestler.excludes?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/CodeWrestler.excludes (original)
+++ turbine/core/trunk/conf/CodeWrestler.excludes Thu Oct 19 12:34:25 2017
@@ -1,6 +1,6 @@
#
# This is an exclude file to parse the turbine-2 code base using CodeWrestler,
-# available from
http://henning.schmiedehausen.org/eyewiki/Wiki.jsp?page=CodeWrestler
+# available from https://github.com/hgschmie/CodeWrestler
#
.*\.ai$
.*\.psd$
Modified: turbine/core/trunk/conf/componentConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/componentConfiguration.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/componentConfiguration.xml (original)
+++ turbine/core/trunk/conf/componentConfiguration.xml Thu Oct 19 12:34:25 2017
@@ -59,7 +59,7 @@
<automaticUpload>true</automaticUpload>
</parser>
- <!-- These components belong to the Fulcrum-Security services -->
+ <!-- These components belong to the Fulcrum-Security services -->
<securityService/>
<authenticator/>
<modelManager/>
Modified: turbine/core/trunk/conf/cw.sh
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/cw.sh?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/cw.sh (original)
+++ turbine/core/trunk/conf/cw.sh Thu Oct 19 12:34:25 2017
@@ -16,9 +16,10 @@
# under the License.
# Run the CodeWrestler
-# http://henning.schmiedehausen.org/eyewiki/Wiki.jsp?page=CodeWrestler
+# https://github.com/hgschmie/CodeWrestler
# Add license to new files
+# copy CodeWrestler-master.zip to ~/Dev/cw folder from
https://github.com/hgschmie/CodeWrestler
python ~/Dev/cw/CodeWrestler.py -e conf/CodeWrestler.excludes
--module=license.ReLicense --modopts='-f conf/checkstyle-license.txt -t java -n'
# Relicense existing files
python ~/Dev/cw/CodeWrestler.py -e conf/CodeWrestler.excludes
--module=license.ReLicense --modopts='-f conf/checkstyle-license.txt -t java -e'
Modified: turbine/core/trunk/conf/roleConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/roleConfiguration.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/roleConfiguration.xml (original)
+++ turbine/core/trunk/conf/roleConfiguration.xml Thu Oct 19 12:34:25 2017
@@ -65,23 +65,23 @@
name="org.apache.fulcrum.factory.FactoryService"
shorthand="factory"
default-class="org.apache.fulcrum.factory.DefaultFactoryService"/>
-
+
<role
name="org.apache.fulcrum.pool.PoolService"
shorthand="pool"
default-class="org.apache.fulcrum.pool.DefaultPoolService"/>
-
+
<role
name="org.apache.fulcrum.parser.ParserService"
shorthand="parser"
default-class="org.apache.fulcrum.parser.DefaultParserService"/>
-
+
<role
name="org.apache.fulcrum.xslt.XSLTService"
shorthand="xslt"
default-class="org.apache.fulcrum.xslt.DefaultXSLTService"/>
- <!-- These components belong to the Fulcrum-Security services -->
+ <!-- These components belong to the Fulcrum-Security services -->
<role
name="org.apache.fulcrum.security.SecurityService"
shorthand="securityService"
Modified: turbine/core/trunk/conf/test/CompleteTurbineResources.properties
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/CompleteTurbineResources.properties?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/CompleteTurbineResources.properties (original)
+++ turbine/core/trunk/conf/test/CompleteTurbineResources.properties Thu Oct 19
12:34:25 2017
@@ -484,7 +484,7 @@ tool.session.sessionData=org.apache.turb
# This pull tool can be used to provide skins to an application
tool.global.ui = org.apache.turbine.services.pull.tools.UITool
-## These properties apply to both the old UIManager and the newer UIService
+# # These properties apply to both the old UIManager and the newer UIService
tool.ui.dir.skin = /turbine-skins/
tool.ui.dir.image = /turbine-images/
tool.ui.skin = myskin
Modified:
turbine/core/trunk/conf/test/CompleteTurbineResourcesWithEncoding.properties
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/CompleteTurbineResourcesWithEncoding.properties?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/conf/test/CompleteTurbineResourcesWithEncoding.properties
(original)
+++
turbine/core/trunk/conf/test/CompleteTurbineResourcesWithEncoding.properties
Thu Oct 19 12:34:25 2017
@@ -1,2 +1,2 @@
-input.encoding=UTF-8
-include=CompleteTurbineResources.properties
\ No newline at end of file
+input.encoding=UTF-8
+include=CompleteTurbineResources.properties
Modified: turbine/core/trunk/conf/test/ConfigurationBuilder.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/ConfigurationBuilder.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/ConfigurationBuilder.xml (original)
+++ turbine/core/trunk/conf/test/ConfigurationBuilder.xml Thu Oct 19 12:34:25
2017
@@ -5,11 +5,11 @@
<!-- Meta data about the resulting combined configuration -->
</header>
<override><!-- only allowed configurations are user and turbine, relative
paths -->
- <properties config-name="user"
fileName="conf/test/usersettings.properties" config-optional="true"
config-forceCreate="true"/>
+ <properties config-name="user"
fileName="conf/test/usersettings.properties" config-optional="true"
config-forceCreate="true"/>
<xml fileName="conf/test/TurbineResources.xml"/>
<properties config-name="turbine"
fileName="conf/test/TemplateService.properties" throwExceptionOnMissing="true"/>
</override>
<additional>
<!-- Configuration declarations that form a union configuration, always
provide a unique config-name attribute -->
</additional>
-</configuration>
\ No newline at end of file
+</configuration>
Modified: turbine/core/trunk/conf/test/Log4j.properties
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/Log4j.properties?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/Log4j.properties (original)
+++ turbine/core/trunk/conf/test/Log4j.properties Thu Oct 19 12:34:25 2017
@@ -21,7 +21,7 @@ log4j.rootLogger = ERROR, logfile
log4j.category.org.apache.turbine=DEBUG, logfile
# we want to see any errors thrown by Turbine.java, primarily in the
handleException method
-#log4j.category.org.apache.turbine.Turbine=DEBUG, logfile
+# log4j.category.org.apache.turbine.Turbine=DEBUG, logfile
log4j.appender.log = org.apache.log4j.ConsoleAppender
log4j.appender.log.target = System.out
Modified: turbine/core/trunk/conf/test/TorqueTest.properties
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/TorqueTest.properties?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/TorqueTest.properties (original)
+++ turbine/core/trunk/conf/test/TorqueTest.properties Thu Oct 19 12:34:25 2017
@@ -17,7 +17,7 @@
torque.applicationRoot = .
pipeline.default.descriptor = conf/turbine-classic-pipeline.xml
-#torque.defaults.pool.defaultMaxActive=30
+# torque.defaults.pool.defaultMaxActive=30
torque.defaults.pool.testOnBorrow=true
torque.defaults.pool.validationQuery=SELECT 1
@@ -34,10 +34,10 @@ torque.dsfactory.default.factory=org.apa
torque.dsfactory.default.pool.testOnBorrow=true
torque.dsfactory.default.pool.validationQuery=SELECT 1 from
INFORMATION_SCHEMA.SYSTEM_USERS
-torque.dsfactory.default.connection.driver = org.hsqldb.jdbcDriver
+torque.dsfactory.default.connection.driver = org.hsqldb.jdbcDriver
torque.dsfactory.default.connection.url = jdbc:hsqldb:.
torque.dsfactory.default.connection.user = sa
-torque.dsfactory.default.connection.password =
+torque.dsfactory.default.connection.password =
Modified: turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml (original)
+++ turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml Thu Oct 19
12:34:25 2017
@@ -56,7 +56,7 @@
<automaticUpload>true</automaticUpload>
</parser>
- <!-- These components belong to the Fulcrum-Security services -->
+ <!-- These components belong to the Fulcrum-Security services -->
<securityService/>
<authenticator/>
<modelManager/>
@@ -82,7 +82,7 @@
configuration/properties := a set of properties to configure Quartz
configuration/properties/parameter := a single configuration
configuration/properties/parameter@name := the name of the property
- configuration/properties/parameter@value := the value of the property
+ configuration/properties/parameter@value := the value of the property
-->
<quartz>
Modified: turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml (original)
+++ turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml Thu Oct 19
12:34:25 2017
@@ -72,13 +72,13 @@
name="org.apache.fulcrum.parser.ParserService"
shorthand="parser"
default-class="org.apache.fulcrum.parser.DefaultParserService"/>
-
+
<role
name="org.apache.fulcrum.xslt.XSLTService"
shorthand="xslt"
default-class="org.apache.fulcrum.xslt.DefaultXSLTService"/>
- <!-- These components belong to the Fulcrum-Security services -->
+ <!-- These components belong to the Fulcrum-Security services -->
<role
name="org.apache.fulcrum.security.SecurityService"
shorthand="securityService"
@@ -120,7 +120,7 @@
shorthand="aclFactory"
default-class="org.apache.fulcrum.security.model.turbine.TurbineACLFactory"/>
- <!-- Service required for the QuartzSchedulerService -->
+ <!-- Service required for the QuartzSchedulerService -->
<role
name="org.apache.fulcrum.quartz.QuartzScheduler"
shorthand="quartz"
Modified: turbine/core/trunk/conf/test/quartz.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/quartz.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/quartz.xml (original)
+++ turbine/core/trunk/conf/test/quartz.xml Thu Oct 19 12:34:25 2017
@@ -1,19 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- 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
+ 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
+ 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.
+ 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.
-->
<job-scheduling-data
xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Modified:
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myotherskin/skin.props
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myotherskin/skin.props?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myotherskin/skin.props
(original)
+++
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myotherskin/skin.props
Thu Oct 19 12:34:25 2017
@@ -1 +1 @@
-skin_property_1 = skin_property_1_my_other_skin
\ No newline at end of file
+skin_property_1 = skin_property_1_my_other_skin
Modified:
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myskin/skin.props
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myskin/skin.props?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myskin/skin.props
(original)
+++
turbine/core/trunk/conf/test/turbine-resources/turbine-skins/myskin/skin.props
Thu Oct 19 12:34:25 2017
@@ -1 +1 @@
-skin_property_1 = skin_property_1_my_skin
\ No newline at end of file
+skin_property_1 = skin_property_1_my_skin
Modified: turbine/core/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/pom.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/pom.xml (original)
+++ turbine/core/trunk/pom.xml Thu Oct 19 12:34:25 2017
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
+ 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
- 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.
+ 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.
-->
<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>
@@ -33,9 +33,9 @@
can also be used independently of the web portion of Turbine as
well. In other words, we strive to make portions of Turbine easily
available for use in other applications.</description>
-
+
<url>http://turbine.apache.org/${turbine.site.path}</url>
-
+
<inceptionYear>2000</inceptionYear>
<developers>
@@ -470,7 +470,7 @@
<url />
<organization />
<timezone />
- </contributor>
+ </contributor>
</contributors>
<scm>
@@ -492,7 +492,7 @@
</includes>
</resource>
</resources>
-
+
<testResources>
<testResource>
<targetPath />
@@ -502,16 +502,16 @@
</includes>
</testResource>
</testResources>
-
+
<plugins>
- <!-- run optionally, use not as reporting plugin, as it exposes file
paths to artifacts
- mvn org.owasp:dependency-check-maven:check
+ <!-- run optionally, use not as reporting plugin, as it exposes file
paths to artifacts
+ mvn org.owasp:dependency-check-maven:check
check each possible vulnerability carefully, find more info about how
to read, false positives et al. here:
https://jeremylong.github.io/DependencyCheck/dependency-check-maven/plugin-info.html
-->
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
- <version>2.1.1</version>
+ <version>2.1.1</version>
<executions>
<execution>
<goals>
@@ -519,9 +519,9 @@
</goals>
</execution>
</executions>
- <!--configuration>
+ <!--configuration>
<suppressionFiles>true</suppressionFiles>
- </configuration-->
+ </configuration-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -538,7 +538,7 @@
<version>4.0</version>
<configuration>
<targetDatabase>mysql</targetDatabase>
- <schemaDir>src/torque/schema</schemaDir>
+ <schemaDir>src/torque/schema</schemaDir>
</configuration>
<executions>
<execution>
@@ -802,13 +802,13 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
- <configuration>
+ <configuration>
<aggregate>false</aggregate>
- </configuration>
+ </configuration>
</plugin>
</plugins>
</reporting>
-
+
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
@@ -938,7 +938,7 @@
<artifactId>avalon-logkit</artifactId>
</exclusion>
</exclusions>
- </dependency>
+ </dependency>
<!-- using snapshot, until released -->
<dependency>
<groupId>org.apache.fulcrum</groupId>
@@ -965,7 +965,7 @@
<version>1.1.0</version>
</dependency>
<dependency>
- <!-- TODO update to stable 2.7.1, because of CVE-2016-5699 -->
+ <!-- TODO update to stable 2.7.1, because of CVE-2016-5699 -->
<groupId>org.python</groupId>
<artifactId>jython</artifactId>
<version>2.7.0</version>
@@ -1044,7 +1044,7 @@
<scope>test</scope>
</dependency>
</dependencies>
-
+
<profiles>
<profile>
<id>apache-release</id>
@@ -1090,16 +1090,16 @@
</configuration>
</execution>
</executions>
- </plugin>
+ </plugin>
</plugins>
</build>
- </profile>
+ </profile>
</profiles>
<properties>
- <!-- TODO: Change for release -->
+ <!-- TODO: Change for release -->
<turbine.site.path>turbine/development/turbine-4.0</turbine.site.path>
<slf4j.version>1.7.25</slf4j.version>
</properties>
-
+
</project>
Modified: turbine/core/trunk/src/assembly/binaries.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/assembly/binaries.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/assembly/binaries.xml (original)
+++ turbine/core/trunk/src/assembly/binaries.xml Thu Oct 19 12:34:25 2017
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0
http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>binaries</id>
@@ -75,4 +75,4 @@
</includes>
</fileSet>
</fileSets>
-</assembly>
\ No newline at end of file
+</assembly>
Modified: turbine/core/trunk/src/assembly/source.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/assembly/source.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/assembly/source.xml (original)
+++ turbine/core/trunk/src/assembly/source.xml Thu Oct 19 12:34:25 2017
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0
http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>source</id>
@@ -73,4 +73,4 @@
</includes>
</fileSet>
</fileSets>
-</assembly>
\ No newline at end of file
+</assembly>
Modified: turbine/core/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/changes/changes.xml?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/changes/changes.xml (original)
+++ turbine/core/trunk/src/changes/changes.xml Thu Oct 19 12:34:25 2017
@@ -25,6 +25,21 @@
<body>
<release version="4.0" date="in Subversion">
+ <action type="update" dev="gk">
+ OWASP vulnerability check
+ </action>
+ <action type="update" dev="gk">
+ Decoupling from DefaultUserImpl class by introducing a user wrapper
class definition, which the UserManager uses as wrapper for Fulcrum Security
and a TurbineUserDelegate marker interface.
+ </action>
+ <action type="update" dev="gk">
+ Update/Add Tests for Turbine and Fulcrum Security Service version
1.1.1 interaction / handling
+ </action>
+ <action type="update" dev="gk">
+ Using slf4j over log4j (currently version 1.7.25)
+ </action>
+ <action type="update" dev="tv">
+ Assembly bugfixes
+ </action>
<action type="update" dev="tv">
Replace mockobjects with Mockito
</action>
@@ -59,7 +74,7 @@
Add annotation processing to pull tools
</action>
<action type="remove" dev="tv">
- Eventually remove all static service accessors and replace them by
lookups or annotations
+ Eventually remove all static service accessors and replace them by
lookups or annotations
</action>
</release>
<release version="4.0-M2" date="2015-12-21">
@@ -88,7 +103,7 @@
Update to Torque 4.0.0
</action>
<action type="add" dev="tv">
- Add Annotation @TurbineActionEvent to annotate action methods
+ Add Annotation @TurbineActionEvent to annotate action methods
with arbitrary event names.
</action>
<action type="update" dev="tv">
@@ -103,7 +118,7 @@
Update Turbine Parent POM to version 3
</action>
<action type="add" dev="tv">
- Add Annotation @TurbineLoader to inject a loader
+ Add Annotation @TurbineLoader to inject a loader
instance into objects.
</action>
<action type="update" dev="tv">
@@ -113,14 +128,14 @@
Refactor handling of annotated fields into AnnotationProcessor.
</action>
<action type="add" dev="tv">
- Add Annotation @TurbineConfiguration to inject a configuration
+ Add Annotation @TurbineConfiguration to inject a configuration
instance into objects.
</action>
<action type="fix" dev="tv">
Fix Velocity logging.
</action>
<action type="update" dev="gk">
- Reintroduce VelocityCachedLayout/Screen classes
+ Reintroduce VelocityCachedLayout/Screen classes
</action>
<action type="update" dev="tv">
Adjust site for Apache Turbine Parent POM version 2
@@ -130,7 +145,7 @@
</action>
<action type="add" dev="tv">
Add Annotation @TurbineService to inject Turbine service instance into
assemblers
- such as screens, actions, navigations etc. and pipeline valves.
+ such as screens, actions, navigations etc. and pipeline valves.
See VelocityActionWithServiceInjection for an example.
</action>
<action type="add" dev="tv">
@@ -232,7 +247,7 @@
loaders. Loaders are expected to be provided by the module factories.
</action>
<action type="update" dev="tv">
- Moved the different loader caches into the AssemblerBrokerService and
+ Moved the different loader caches into the AssemblerBrokerService and
centralized several loader features. The loaders do no longer extend
Hashtable.
</action>
@@ -243,18 +258,18 @@
without any hard-wired module types.
</action>
<action type="update" dev="tv">
- Ported the class cache for JavaBaseFactory from Turbine 2.3
+ Ported the class cache for JavaBaseFactory from Turbine 2.3
</action>
<action type="update" dev="tv">
Use the transparent service lookup in all service lookups
</action>
<action type="update" dev="tv">
- Initialize the locale of RunData, the ParameterParser and the
CookieParser
- from the HttpServletRequest. Make RunData.setLocale propagate the
locale
+ Initialize the locale of RunData, the ParameterParser and the
CookieParser
+ from the HttpServletRequest. Make RunData.setLocale propagate the
locale
setting to the parsers.
</action>
<action type="update" dev="tv" issue="TRB-39">
- Make sure that Turbine uses the ParserService to get
+ Make sure that Turbine uses the ParserService to get
correctly initialized parser objects.
</action>
<action type="fix" dev="seade">
Modified: turbine/core/trunk/src/java/org/apache/turbine/Turbine.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/Turbine.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/Turbine.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/Turbine.java Thu Oct 19
12:34:25 2017
@@ -403,7 +403,7 @@ public class Turbine
if (!descriptorPath.startsWith( "/" )) {
descriptorPath = "/" + descriptorPath;
}
-
+
InputStream reader = context.getResourceAsStream(descriptorPath);
JAXBContext jaxb = JAXBContext.newInstance(TurbinePipeline.class);
Unmarshaller unmarshaller = jaxb.createUnmarshaller();
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/AnnotationProcessor.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/AnnotationProcessor.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/AnnotationProcessor.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/AnnotationProcessor.java
Thu Oct 19 12:34:25 2017
@@ -1,416 +1,414 @@
-package org.apache.turbine.annotation;
-
-
-/*
- * 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.
- */
-
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Field;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.turbine.Turbine;
-import org.apache.turbine.modules.Loader;
-import org.apache.turbine.services.ServiceManager;
-import org.apache.turbine.services.TurbineServices;
-import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
-import org.apache.turbine.util.TurbineException;
-
-/**
- * AnnotationProcessor contains static helper methods that handle the
- * Turbine annotations for objects
- *
- * @author <a href="mailto:[email protected]">Thomas Vandahl</a>
- * @version $Id: TurbineAssemblerBrokerService.java 1521103 2013-09-09
13:38:07Z tv $
- */
-public class AnnotationProcessor
-{
- /** Logging */
- private static Log log = LogFactory.getLog(AnnotationProcessor.class);
-
- /** Annotation cache */
- private static ConcurrentMap<String, Annotation[]> annotationCache = new
ConcurrentHashMap<String, Annotation[]>();
-
- /**
- * Get cached annotations for field, class or method
- *
- * @param object a field, class or method
- *
- * @return the declared annotations for the object
- */
- public static Annotation[] getAnnotations(AccessibleObject object)
- {
- String key = object.getClass() + object.toString();
- Annotation[] annotations = annotationCache.get(key);
- if (annotations == null)
- {
- Annotation[] newAnnotations = object.getDeclaredAnnotations();
- annotations = annotationCache.putIfAbsent(key, newAnnotations);
- if (annotations == null)
- {
- annotations = newAnnotations;
- }
- }
- return annotations;
- }
-
- /**
- * Search for annotated fields of the object and inject the appropriate
- * objects
- *
- * @param object the object
- * @throws TurbineException if the objects could not be injected
- */
- public static void process(Object object) throws TurbineException
- {
- ServiceManager manager = null;
- Configuration config = null;
- AssemblerBrokerService assembler = null;
- Class<?> clazz = object.getClass();
-
- while (clazz != null)
- {
- Field[] fields = clazz.getDeclaredFields();
-
- for (Field field : fields)
- {
- Annotation[] annotations = getAnnotations(field);
-
- for (Annotation a : annotations)
- {
- if (a instanceof TurbineService)
- {
- if (manager == null)
- {
- manager = TurbineServices.getInstance();
- }
- injectTurbineService(object, manager, field,
(TurbineService) a);
- }
- else if (a instanceof TurbineConfiguration)
- {
- if (config == null)
- {
- config = Turbine.getConfiguration();
- }
- injectTurbineConfiguration(object, config, field,
(TurbineConfiguration) a);
- }
- else if (a instanceof TurbineLoader)
- {
- if (assembler == null)
- {
- assembler = (AssemblerBrokerService)
TurbineServices.getInstance().
-
getService(AssemblerBrokerService.SERVICE_NAME);
- }
- injectTurbineLoader(object, assembler, field,
(TurbineLoader) a);
- }
- }
- }
-
- clazz = clazz.getSuperclass();
- }
- }
-
- /**
- * Inject Turbine configuration into field of object
- *
- * @param object the object to process
- * @param assembler AssemblerBrokerService, provides the loader
- * @param field the field
- * @param annotation the value of the annotation
- *
- * @throws TurbineException if loader cannot be set
- */
- private static void injectTurbineLoader(Object object,
AssemblerBrokerService assembler, Field field, TurbineLoader annotation) throws
TurbineException
- {
- Loader<?> loader = assembler.getLoader(annotation.value());
- field.setAccessible(true);
-
- try
- {
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + loader + " into object " + object);
- }
-
- field.set(object, loader);
- }
- catch (IllegalArgumentException e)
- {
- throw new TurbineException("Could not inject loader "
- + loader + " into object " + object, e);
- }
- catch (IllegalAccessException e)
- {
- throw new TurbineException("Could not inject loader "
- + loader + " into object " + object, e);
- }
- }
-
- /**
- * Inject Turbine configuration into field of object
- *
- * @param object the object to process
- * @param conf the configuration to use
- * @param field the field
- * @param annotation the value of the annotation
- *
- * @throws TurbineException if configuration cannot be set
- */
- private static void injectTurbineConfiguration(Object object,
Configuration conf, Field field, TurbineConfiguration annotation) throws
TurbineException
- {
- Class<?> type = field.getType();
- String key = annotation.value();
-
- try
- {
- if (Configuration.class.isAssignableFrom(type))
- {
- // Check for annotation value
- if (StringUtils.isNotEmpty(key))
- {
- conf = conf.subset(key);
- }
-
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + conf + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.set(object, conf);
- }
- else if (conf.containsKey(key))
- {
- if ( String.class.isAssignableFrom( type ) )
- {
- String value = conf.getString(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.set(object, value);
- }
- else if ( Boolean.TYPE.isAssignableFrom( type ) )
- {
- boolean value = conf.getBoolean(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setBoolean(object, value);
- }
- else if ( Integer.TYPE.isAssignableFrom( type ) )
- {
- int value = conf.getInt(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setInt(object, value);
- }
- else if ( Long.TYPE.isAssignableFrom( type ) )
- {
- long value = conf.getLong(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setLong(object, value);
- }
- else if ( Short.TYPE.isAssignableFrom( type ) )
- {
- short value = conf.getShort(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setShort(object, value);
- }
- else if ( Long.TYPE.isAssignableFrom( type ) )
- {
- long value = conf.getLong(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setLong(object, value);
- }
- else if ( Float.TYPE.isAssignableFrom( type ) )
- {
- float value = conf.getFloat(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setFloat(object, value);
- }
- else if ( Double.TYPE.isAssignableFrom( type ) )
- {
- double value = conf.getDouble(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setDouble(object, value);
- }
- else if ( Byte.TYPE.isAssignableFrom( type ) )
- {
- byte value = conf.getByte(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + value + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.setByte(object, value);
- }
- else if ( List.class.isAssignableFrom( type ) )
- {
- List<Object> values = conf.getList(key);
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + values + " into object " +
object);
- }
-
- field.setAccessible(true);
- field.set(object, values);
- }
- }
- }
- catch (IllegalArgumentException e)
- {
- throw new TurbineException("Could not inject configuration "
- + conf + " into object " + object, e);
- }
- catch (IllegalAccessException e)
- {
- throw new TurbineException("Could not inject configuration "
- + conf + " into object " + object, e);
- }
- }
-
- /**
- * Inject Turbine service into field of object
- *
- * @param object the object to process
- * @param manager the service manager
- * @param field the field
- * @param annotation the value of the annotation
- *
- * @throws TurbineException if service is not available
- */
- private static void injectTurbineService(Object object, ServiceManager
manager, Field field, TurbineService annotation) throws TurbineException
- {
- String serviceName = null;
- // Check for annotation value
- if (StringUtils.isNotEmpty(annotation.value()))
- {
- serviceName = annotation.value();
- }
- // Check for fields SERVICE_NAME and ROLE
- else
- {
- Field[] typeFields = field.getType().getFields();
- for (Field f : typeFields)
- {
- if (TurbineService.SERVICE_NAME.equals(f.getName()))
- {
- try
- {
- serviceName = (String)f.get(null);
- }
- catch (Exception e)
- {
- continue;
- }
- break;
- }
- else if (TurbineService.ROLE.equals(f.getName()))
- {
- try
- {
- serviceName = (String)f.get(null);
- }
- catch (Exception e)
- {
- continue;
- }
- break;
- }
- }
- }
-
- if (StringUtils.isEmpty(serviceName))
- {
- // Try interface class name
- serviceName = field.getType().getName();
- }
-
- if (log.isDebugEnabled())
- {
- log.debug("Looking up service for injection: " + serviceName + "
for object " + object);
- }
-
- Object service = manager.getService(serviceName); // throws Exception
on unknown service
- field.setAccessible(true);
-
- try
- {
- if (log.isDebugEnabled())
- {
- log.debug("Injection of " + serviceName + " into object " +
object);
- }
-
- field.set(object, service);
- }
- catch (IllegalArgumentException e)
- {
- throw new TurbineException("Could not inject service "
- + serviceName + " into object " + object, e);
- }
- catch (IllegalAccessException e)
- {
- throw new TurbineException("Could not inject service "
- + serviceName + " into object " + object, e);
- }
- }
-}
+package org.apache.turbine.annotation;
+
+/*
+ * 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.
+ */
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Field;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.turbine.Turbine;
+import org.apache.turbine.modules.Loader;
+import org.apache.turbine.services.ServiceManager;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
+import org.apache.turbine.util.TurbineException;
+
+/**
+ * AnnotationProcessor contains static helper methods that handle the
+ * Turbine annotations for objects
+ *
+ * @author <a href="mailto:[email protected]">Thomas Vandahl</a>
+ * @version $Id: TurbineAssemblerBrokerService.java 1521103 2013-09-09
13:38:07Z tv $
+ */
+public class AnnotationProcessor
+{
+ /** Logging */
+ private static Log log = LogFactory.getLog(AnnotationProcessor.class);
+
+ /** Annotation cache */
+ private static ConcurrentMap<String, Annotation[]> annotationCache = new
ConcurrentHashMap<String, Annotation[]>();
+
+ /**
+ * Get cached annotations for field, class or method
+ *
+ * @param object a field, class or method
+ *
+ * @return the declared annotations for the object
+ */
+ public static Annotation[] getAnnotations(AccessibleObject object)
+ {
+ String key = object.getClass() + object.toString();
+ Annotation[] annotations = annotationCache.get(key);
+ if (annotations == null)
+ {
+ Annotation[] newAnnotations = object.getDeclaredAnnotations();
+ annotations = annotationCache.putIfAbsent(key, newAnnotations);
+ if (annotations == null)
+ {
+ annotations = newAnnotations;
+ }
+ }
+ return annotations;
+ }
+
+ /**
+ * Search for annotated fields of the object and inject the appropriate
+ * objects
+ *
+ * @param object the object
+ * @throws TurbineException if the objects could not be injected
+ */
+ public static void process(Object object) throws TurbineException
+ {
+ ServiceManager manager = null;
+ Configuration config = null;
+ AssemblerBrokerService assembler = null;
+ Class<?> clazz = object.getClass();
+
+ while (clazz != null)
+ {
+ Field[] fields = clazz.getDeclaredFields();
+
+ for (Field field : fields)
+ {
+ Annotation[] annotations = getAnnotations(field);
+
+ for (Annotation a : annotations)
+ {
+ if (a instanceof TurbineService)
+ {
+ if (manager == null)
+ {
+ manager = TurbineServices.getInstance();
+ }
+ injectTurbineService(object, manager, field,
(TurbineService) a);
+ }
+ else if (a instanceof TurbineConfiguration)
+ {
+ if (config == null)
+ {
+ config = Turbine.getConfiguration();
+ }
+ injectTurbineConfiguration(object, config, field,
(TurbineConfiguration) a);
+ }
+ else if (a instanceof TurbineLoader)
+ {
+ if (assembler == null)
+ {
+ assembler = (AssemblerBrokerService)
TurbineServices.getInstance().
+
getService(AssemblerBrokerService.SERVICE_NAME);
+ }
+ injectTurbineLoader(object, assembler, field,
(TurbineLoader) a);
+ }
+ }
+ }
+
+ clazz = clazz.getSuperclass();
+ }
+ }
+
+ /**
+ * Inject Turbine configuration into field of object
+ *
+ * @param object the object to process
+ * @param assembler AssemblerBrokerService, provides the loader
+ * @param field the field
+ * @param annotation the value of the annotation
+ *
+ * @throws TurbineException if loader cannot be set
+ */
+ private static void injectTurbineLoader(Object object,
AssemblerBrokerService assembler, Field field, TurbineLoader annotation) throws
TurbineException
+ {
+ Loader<?> loader = assembler.getLoader(annotation.value());
+ field.setAccessible(true);
+
+ try
+ {
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + loader + " into object " + object);
+ }
+
+ field.set(object, loader);
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new TurbineException("Could not inject loader "
+ + loader + " into object " + object, e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new TurbineException("Could not inject loader "
+ + loader + " into object " + object, e);
+ }
+ }
+
+ /**
+ * Inject Turbine configuration into field of object
+ *
+ * @param object the object to process
+ * @param conf the configuration to use
+ * @param field the field
+ * @param annotation the value of the annotation
+ *
+ * @throws TurbineException if configuration cannot be set
+ */
+ private static void injectTurbineConfiguration(Object object,
Configuration conf, Field field, TurbineConfiguration annotation) throws
TurbineException
+ {
+ Class<?> type = field.getType();
+ String key = annotation.value();
+
+ try
+ {
+ if (Configuration.class.isAssignableFrom(type))
+ {
+ // Check for annotation value
+ if (StringUtils.isNotEmpty(key))
+ {
+ conf = conf.subset(key);
+ }
+
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + conf + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.set(object, conf);
+ }
+ else if (conf.containsKey(key))
+ {
+ if ( String.class.isAssignableFrom( type ) )
+ {
+ String value = conf.getString(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.set(object, value);
+ }
+ else if ( Boolean.TYPE.isAssignableFrom( type ) )
+ {
+ boolean value = conf.getBoolean(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setBoolean(object, value);
+ }
+ else if ( Integer.TYPE.isAssignableFrom( type ) )
+ {
+ int value = conf.getInt(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setInt(object, value);
+ }
+ else if ( Long.TYPE.isAssignableFrom( type ) )
+ {
+ long value = conf.getLong(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setLong(object, value);
+ }
+ else if ( Short.TYPE.isAssignableFrom( type ) )
+ {
+ short value = conf.getShort(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setShort(object, value);
+ }
+ else if ( Long.TYPE.isAssignableFrom( type ) )
+ {
+ long value = conf.getLong(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setLong(object, value);
+ }
+ else if ( Float.TYPE.isAssignableFrom( type ) )
+ {
+ float value = conf.getFloat(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setFloat(object, value);
+ }
+ else if ( Double.TYPE.isAssignableFrom( type ) )
+ {
+ double value = conf.getDouble(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setDouble(object, value);
+ }
+ else if ( Byte.TYPE.isAssignableFrom( type ) )
+ {
+ byte value = conf.getByte(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + value + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.setByte(object, value);
+ }
+ else if ( List.class.isAssignableFrom( type ) )
+ {
+ List<Object> values = conf.getList(key);
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + values + " into object " +
object);
+ }
+
+ field.setAccessible(true);
+ field.set(object, values);
+ }
+ }
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new TurbineException("Could not inject configuration "
+ + conf + " into object " + object, e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new TurbineException("Could not inject configuration "
+ + conf + " into object " + object, e);
+ }
+ }
+
+ /**
+ * Inject Turbine service into field of object
+ *
+ * @param object the object to process
+ * @param manager the service manager
+ * @param field the field
+ * @param annotation the value of the annotation
+ *
+ * @throws TurbineException if service is not available
+ */
+ private static void injectTurbineService(Object object, ServiceManager
manager, Field field, TurbineService annotation) throws TurbineException
+ {
+ String serviceName = null;
+ // Check for annotation value
+ if (StringUtils.isNotEmpty(annotation.value()))
+ {
+ serviceName = annotation.value();
+ }
+ // Check for fields SERVICE_NAME and ROLE
+ else
+ {
+ Field[] typeFields = field.getType().getFields();
+ for (Field f : typeFields)
+ {
+ if (TurbineService.SERVICE_NAME.equals(f.getName()))
+ {
+ try
+ {
+ serviceName = (String)f.get(null);
+ }
+ catch (Exception e)
+ {
+ continue;
+ }
+ break;
+ }
+ else if (TurbineService.ROLE.equals(f.getName()))
+ {
+ try
+ {
+ serviceName = (String)f.get(null);
+ }
+ catch (Exception e)
+ {
+ continue;
+ }
+ break;
+ }
+ }
+ }
+
+ if (StringUtils.isEmpty(serviceName))
+ {
+ // Try interface class name
+ serviceName = field.getType().getName();
+ }
+
+ if (log.isDebugEnabled())
+ {
+ log.debug("Looking up service for injection: " + serviceName + "
for object " + object);
+ }
+
+ Object service = manager.getService(serviceName); // throws Exception
on unknown service
+ field.setAccessible(true);
+
+ try
+ {
+ if (log.isDebugEnabled())
+ {
+ log.debug("Injection of " + serviceName + " into object " +
object);
+ }
+
+ field.set(object, service);
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new TurbineException("Could not inject service "
+ + serviceName + " into object " + object, e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new TurbineException("Could not inject service "
+ + serviceName + " into object " + object, e);
+ }
+ }
+}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineActionEvent.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineActionEvent.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineActionEvent.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineActionEvent.java
Thu Oct 19 12:34:25 2017
@@ -1,10 +1,5 @@
package org.apache.turbine.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,6 +19,12 @@ import java.lang.annotation.Target;
* under the License.
*/
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
/**
* Annotation to associate methods in modules to action events
*/
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineConfiguration.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineConfiguration.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineConfiguration.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineConfiguration.java
Thu Oct 19 12:34:25 2017
@@ -1,10 +1,5 @@
package org.apache.turbine.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,6 +19,12 @@ import java.lang.annotation.Target;
* under the License.
*/
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
/**
* Annotation to mark fields in modules that require a configuration to be
injected
*/
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineLoader.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineLoader.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineLoader.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineLoader.java
Thu Oct 19 12:34:25 2017
@@ -1,12 +1,5 @@
package org.apache.turbine.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.turbine.modules.Assembler;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -26,6 +19,14 @@ import org.apache.turbine.modules.Assemb
* under the License.
*/
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.turbine.modules.Assembler;
+
+
/**
* Annotation to mark fields in modules that require a loader to be injected
*/
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredPermission.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredPermission.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredPermission.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredPermission.java
Thu Oct 19 12:34:25 2017
@@ -1,10 +1,5 @@
package org.apache.turbine.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,6 +19,12 @@ import java.lang.annotation.Target;
* under the License.
*/
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
/**
* Annotation to mark modules or methods in modules that require certain
permissions to be executed
*/
@@ -40,7 +41,7 @@ public @interface TurbineRequiredPermiss
/**
* Get the name of the permission-associated group
- *
+ *
* @return a group name, empty string if the global group
*/
String group() default "";
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredRole.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredRole.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredRole.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineRequiredRole.java
Thu Oct 19 12:34:25 2017
@@ -1,10 +1,5 @@
package org.apache.turbine.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,6 +19,12 @@ import java.lang.annotation.Target;
* under the License.
*/
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
/**
* Annotation to mark modules or methods in modules that require certain roles
to be executed
*/
@@ -37,10 +38,10 @@ public @interface TurbineRequiredRole
* @return an array of role names
*/
String[] value();
-
+
/**
* Get the name of the role-associated group
- *
+ *
* @return a group name, empty string if the global group
*/
String group() default "";
Modified:
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineService.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineService.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineService.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/annotation/TurbineService.java
Thu Oct 19 12:34:25 2017
@@ -1,10 +1,5 @@
package org.apache.turbine.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -24,6 +19,12 @@ import java.lang.annotation.Target;
* under the License.
*/
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
/**
* Annotation to mark fields in modules that require a service to be injected
*/
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java Thu
Oct 19 12:34:25 2017
@@ -1,7 +1,5 @@
package org.apache.turbine.modules;
-import java.lang.annotation.Annotation;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -21,6 +19,9 @@ import java.lang.annotation.Annotation;
* under the License.
*/
+import java.lang.annotation.Annotation;
+
+
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Loader.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Loader.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Loader.java
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Loader.java Thu Oct
19 12:34:25 2017
@@ -1,6 +1,5 @@
package org.apache.turbine.modules;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LoginUser.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LoginUser.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LoginUser.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LoginUser.java
Thu Oct 19 12:34:25 2017
@@ -101,7 +101,7 @@ public class LoginUser
{
throw new TurbineException("Anonymous user cannot login");
}
-
+
// Authenticate the user and get the object.
User user = security.getAuthenticatedUser(username, password);
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/SessionValidator.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/SessionValidator.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/SessionValidator.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/sessionvalidator/SessionValidator.java
Thu Oct 19 12:34:25 2017
@@ -52,10 +52,10 @@ import org.apache.turbine.util.RunData;
*/
public abstract class SessionValidator extends Action
{
-
+
@TurbineService
protected SecurityService security;
-
+
@TurbineConfiguration( TurbineConstants.TEMPLATE_HOMEPAGE )
protected String templateHomepage;
@@ -72,13 +72,13 @@ public abstract class SessionValidator e
// forms. This can be used to prevent a user from using the
// browsers back button and submitting stale data.
/**
- *
+ *
* @param data
- * @param screenOnly {@link DefaultSessionValidator}
+ * @param screenOnly {@link DefaultSessionValidator}
*/
protected void handleFormCounterToken( RunData data, boolean screenOnly )
{
- if (data.getParameters().containsKey("_session_access_counter"))
+ if (data.getParameters().containsKey("_session_access_counter"))
{
if (screenOnly) {
// See comments in screens.error.InvalidState.
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityCachedLayout.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityCachedLayout.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityCachedLayout.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/layouts/VelocityCachedLayout.java
Thu Oct 19 12:34:25 2017
@@ -35,10 +35,10 @@ import org.apache.velocity.context.Conte
/**
* This Layout module is Turbine 2.3.3 VelocityDirectLayout (same package)
* with methods added for {@link PipelineData}. It is used in Jetspeed-1
portal.
- *
- * By using this layout any view write will immediately call the provided
print writer {@link RunData#getOut()} and
+ *
+ * By using this layout any view write will immediately call the provided
print writer {@link RunData#getOut()} and
* the HTTP servlet response will be flushed and set the committed flag. This
means of course
- * no change to the HTTP response header will be possible afterwards. By
setting the {@link RunData#setAction(String)} in the request
+ * no change to the HTTP response header will be possible afterwards. By
setting the {@link RunData#setAction(String)} in the request
* (not only the model, but also) additional response headers could be set,
cft. {@link DefaultPage#doBuild(PipelineData)}.
*
* @author <a href="mailto:[email protected]">Raphaël Luta</a>
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/JSONScreen.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/screens/JSONScreen.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/JSONScreen.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/JSONScreen.java
Thu Oct 19 12:34:25 2017
@@ -70,7 +70,7 @@ import org.jabsorb.JSONRPCBridge;
* }
* </code>
*
- * <p>This code is derived from the com.metaparadigm.jsonrpc.JSONRPCServlet
and (after upgrade) checked against
+ * <p>This code is derived from the com.metaparadigm.jsonrpc.JSONRPCServlet
and (after upgrade) checked against
* org.jabsorb.JSONRPCServlet.
*
* @author [email protected]
@@ -98,7 +98,7 @@ public class JSONScreen extends RawScree
/**
* Output the dynamic content.
- *
+ *
* Encodign is UTF-8. @{@link #JSONRPC_CONTENT_TYPE}: {@value
#JSONRPC_CONTENT_TYPE}.
*
* @param pipelineData The PipelineData object.
Modified: turbine/core/trunk/src/java/org/apache/turbine/om/OMTool.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/OMTool.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/om/OMTool.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/om/OMTool.java Thu Oct 19
12:34:25 2017
@@ -32,7 +32,7 @@ import org.apache.turbine.services.pull.
* @author <a href="mailto:[email protected]">John D. McNally</a>
* @author <a href="mailto:[email protected]">Henning P. Schmiedehausen</a>
* @version $Id$
- *
+ *
* @deprecated This class is probably not used anymore, it may have been
intended for cacheable Torque OM or might be used with Fulcrum Security Torque.
*/
@Deprecated
Modified: turbine/core/trunk/src/java/org/apache/turbine/om/Retrievable.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/Retrievable.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/om/Retrievable.java
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/om/Retrievable.java Thu Oct
19 12:34:25 2017
@@ -26,7 +26,7 @@ package org.apache.turbine.om;
*
* @author <a href="mailto:[email protected]">John D. McNally</a>
* @version $Id$
- *
+ *
* @deprecated cft. deprecation comment in {@link OMTool}.
*/
@Deprecated
Modified: turbine/core/trunk/src/java/org/apache/turbine/om/Retriever.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/Retriever.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/om/Retriever.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/om/Retriever.java Thu Oct 19
12:34:25 2017
@@ -26,7 +26,7 @@ package org.apache.turbine.om;
*
* @author <a href="mailto:[email protected]">John D. McNally</a>
* @version $Id$
- *
+ *
* @deprecated cft. deprecation comment in {@link OMTool}.
*/
@Deprecated
Modified:
turbine/core/trunk/src/java/org/apache/turbine/om/RetrieverFactory.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/RetrieverFactory.java?rev=1812628&r1=1812627&r2=1812628&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/om/RetrieverFactory.java
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/om/RetrieverFactory.java Thu
Oct 19 12:34:25 2017
@@ -26,7 +26,7 @@ package org.apache.turbine.om;
*
* @author <a href="mailto:[email protected]">John D. McNally</a>
* @version $Id$
- *
+ *
* @deprecated cft. deprecation comment in {@link OMTool}.
*/
@Deprecated