You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2007/04/16 17:30:31 UTC
svn commit: r529289 - in /tiles/site/src/site/apt/migration: apis.apt
configuration.apt extension.apt index.apt tags.apt
Author: apetrelli
Date: Mon Apr 16 08:30:29 2007
New Revision: 529289
URL: http://svn.apache.org/viewvc?view=rev&rev=529289
Log:
TILESSHARED-4
Added extensions and API migration pages. Improved navigation.
Added:
tiles/site/src/site/apt/migration/apis.apt (with props)
Modified:
tiles/site/src/site/apt/migration/configuration.apt
tiles/site/src/site/apt/migration/extension.apt
tiles/site/src/site/apt/migration/index.apt
tiles/site/src/site/apt/migration/tags.apt
Added: tiles/site/src/site/apt/migration/apis.apt
URL: http://svn.apache.org/viewvc/tiles/site/src/site/apt/migration/apis.apt?view=auto&rev=529289
==============================================================================
--- tiles/site/src/site/apt/migration/apis.apt (added)
+++ tiles/site/src/site/apt/migration/apis.apt Mon Apr 16 08:30:29 2007
@@ -0,0 +1,61 @@
+~~ $Id$
+~~
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements. See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership. The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License. You may obtain a copy of the License at
+~~
+~~ http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied. See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+~~
+ -----------
+ Java APIs considerations
+ -----------
+
+Introduction
+
+ In this part of the migration guide we address the differences of the APIs
+ in Struts Tiles and Tiles 2.
+
+ If you are a Tiles extension developer and you want to convert your existing
+ extension, see {{{extension.html}Tiles extensions}} migration guide.
+
+Controllers and View Preparers
+
+ In Tiles 2, the concept of a Tiles <<<Controller>>>, i.e. an object that it is
+ invoked before rendering a definition, has been replaced with
+ <<<ViewPreparer>>>.
+
+ The classes that implement the <<<Controller>>> interface must now implement
+ the new <<<ViewPreparer>>> interface, or extend the <<<ViewPreparerSupport>>>
+ class.
+
+Tiles <<<ComponentContext>>>
+
+ The <<<ComponentContext>>>, i.e. the Tiles-specific context in which the
+ current attribute values are stored, has been renamed to
+ <<<AttributeContext>>>.
+
+ The method <<<getAttribute>>> returns an <<Attribute>>, and not an
+ <<Attribute Value>>, i.e. a simple object.
+
+ * Previous Migration Pages
+
+ ** {{{index.html}Introduction }}
+
+ ** {{{configuration.html}Tiles configuration files}}.
+
+ ** {{{tags.html}Tiles JSP tags}}
+
+ * Next Migration Pages
+
+ ** {{{extension.html}Tiles extensions}}.
Propchange: tiles/site/src/site/apt/migration/apis.apt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tiles/site/src/site/apt/migration/apis.apt
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/site/src/site/apt/migration/configuration.apt
URL: http://svn.apache.org/viewvc/tiles/site/src/site/apt/migration/configuration.apt?view=diff&rev=529289&r1=529288&r2=529289
==============================================================================
--- tiles/site/src/site/apt/migration/configuration.apt (original)
+++ tiles/site/src/site/apt/migration/configuration.apt Mon Apr 16 08:30:29 2007
@@ -87,4 +87,17 @@
* \[3\] <<<\<add-list-attribute\>>>> is used when it is needed to a list
attribute as an element of another list attribute.
-
\ No newline at end of file
+
+ []
+
+ * Previous Migration Pages
+
+ ** {{{index.html}Introduction }}
+
+ * Next Migration Pages
+
+ ** {{{tags.html}Tiles JSP tags}}
+
+ ** {{{apis.html}Java APIs considerations}}.
+
+ ** {{{extension.html}Tiles extensions}}.
Modified: tiles/site/src/site/apt/migration/extension.apt
URL: http://svn.apache.org/viewvc/tiles/site/src/site/apt/migration/extension.apt?view=diff&rev=529289&r1=529288&r2=529289
==============================================================================
--- tiles/site/src/site/apt/migration/extension.apt (original)
+++ tiles/site/src/site/apt/migration/extension.apt Mon Apr 16 08:30:29 2007
@@ -21,6 +21,68 @@
Tiles extensions migration
-----------
-Migration of Tiles extensions
+Introduction
- TBD
\ No newline at end of file
+ Tiles extensions is the part of Tiles where a major effort in refactoring is
+ needed.
+
+ The internal part of Tiles changed completely, not only in classes names, but
+ also in their behaviour.
+
+Writing definitions factories
+
+ Usually, Struts-Tiles extension writing meant writing a
+ <<<DefinitionsFactory>>> or a <<<FactorySet>>> implementation. Here you will
+ find how to convert your definitions factory to work correctly with Tiles 2.
+
+* Requests management
+
+ Tiles 2 is now technology-independent, that means that Tiles 2 is no longer
+ bound to a Servlet environment. That means for you that all references to
+ <<<HttpServletRequest>>> and <<<HttpServletResponse>>> have been removed,
+ replacing them with <<<TilesRequestContext>>>
+
+* Definitions factory implementation
+
+ The most common way to implement a Definitions Factory is extending the
+ <<<UrlDefinitionsFactory>>> class, that contains code to load definitions,
+ resolve Locale-specific definitions, etc.
+
+ If you implemented <<<FactorySet>>>, here comes the bad news: it has been
+ <<removed>>! Getting a "key" to map different definitions factory was an
+ uncommon implementation detail. But it is easily reproducable, since you can
+ take the <<<TilesRequestContext>>> and calculate your "key". This key can be
+ used to map different <<<Definitions>>> instances, or to be given to an
+ instance of a class extending <<<Definitions>>>. Whatever you choose, it's
+ only a question of taste.
+
+Class and interfaces new names
+
+ The following is a conversion table between Struts-Tiles and Tiles 2 class
+ names.
+
+*---------------------------------+---------------------------------+
+| <<Struts-Tiles>> | <<Tiles 2>> |
+*---------------------------------+---------------------------------+
+| <<<ComponentDefinition>>> | <<<Definition>>> |
+*---------------------------------+---------------------------------+
+| <<<XmlDefinitionsSet>>> | <<<Definitions>>> |
+*---------------------------------+---------------------------------+
+| <<<XmlAttribute>>> | <<<Attribute>>> |
+*---------------------------------+---------------------------------+
+| <<<ComponentListAttribute>>> | <<<ListAttribute>>> |
+*---------------------------------+---------------------------------+
+| <<<I18nFactorySet>>> | <<<UrlDefinitionsFactory>>> |
+*---------------------------------+---------------------------------+
+| <<<XmlParser>>> | <<<DigesterDefinitionsReader>>> |
+*---------------------------------+---------------------------------+
+
+ * Previous Migration Pages
+
+ ** {{{index.html}Introduction }}
+
+ ** {{{configuration.html}Tiles configuration files}}.
+
+ ** {{{tags.html}Tiles JSP tags}}
+
+ ** {{{apis.html}Java APIs considerations}}.
Modified: tiles/site/src/site/apt/migration/index.apt
URL: http://svn.apache.org/viewvc/tiles/site/src/site/apt/migration/index.apt?view=diff&rev=529289&r1=529288&r2=529289
==============================================================================
--- tiles/site/src/site/apt/migration/index.apt (original)
+++ tiles/site/src/site/apt/migration/index.apt Mon Apr 16 08:30:29 2007
@@ -44,6 +44,9 @@
* {{{tags.html}Tiles JSP tags}}: How to migrate Tiles JSP tags, the
<<<\<tiles:...\>>>> tags.
+
+ * {{{apis.html}Java APIs considerations}}: Some information and warnings on
+ the different behaviour of the Tiles Java API.
* {{{extension.html}Tiles extensions}}: How to migrate Tiles
extensions, with explanation of main changes in the code structure.
Modified: tiles/site/src/site/apt/migration/tags.apt
URL: http://svn.apache.org/viewvc/tiles/site/src/site/apt/migration/tags.apt?view=diff&rev=529289&r1=529288&r2=529289
==============================================================================
--- tiles/site/src/site/apt/migration/tags.apt (original)
+++ tiles/site/src/site/apt/migration/tags.apt Mon Apr 16 08:30:29 2007
@@ -118,3 +118,15 @@
*---------------------------------+--------------------------------------------+
| <<<\<tiles:initComponentDefinitions\>>>> | <<<\<tiles:initContainer\>>>> |
*---------------------------------+--------------------------------------------+
+
+ * Previous Migration Pages
+
+ ** {{{index.html}Introduction }}
+
+ ** {{{configuration.html}Tiles configuration files}}.
+
+ * Next Migration Pages
+
+ ** {{{apis.html}Java APIs considerations}}.
+
+ ** {{{extension.html}Tiles extensions}}.