Author: nico.ben
Date: 2008-12-12 09:45:51 -0500 (Fri, 12 Dec 2008)
New Revision: 9763
Modified:
trunk/doc/Seam_Reference_Guide/it-IT/Concepts.po
trunk/doc/Seam_Reference_Guide/it-IT/Elenhancements.po
trunk/doc/Seam_Reference_Guide/it-IT/Preface.po
Log:
JBSEAM-3767: Italian translation of Seam guide
Modified: trunk/doc/Seam_Reference_Guide/it-IT/Concepts.po
===================================================================
--- trunk/doc/Seam_Reference_Guide/it-IT/Concepts.po 2008-12-12 14:44:37 UTC (rev 9762)
+++ trunk/doc/Seam_Reference_Guide/it-IT/Concepts.po 2008-12-12 14:45:51 UTC (rev 9763)
@@ -6,8 +6,8 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-04 00:58+0000\n"
-"PO-Revision-Date: 2008-04-04 01:24+0000\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2008-12-12 15:45+0100\n"
+"Last-Translator: Nicola Benaglia <nico.benaz(a)gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,14 +22,7 @@
#. Tag: para
#: Concepts.xml:6
#, no-c-format
-msgid ""
-"The two core concepts in Seam are the notion of a
<emphasis>context</"
-"emphasis> and the notion of a <emphasis>component</emphasis>.
Components are "
-"stateful objects, usually EJBs, and an instance of a component is associated
"
-"with a context, and given a name in that context.
<emphasis>Bijection</"
-"emphasis> provides a mechanism for aliasing internal component names "
-"(instance variables) to contextual names, allowing component trees to be "
-"dynamically assembled, and reassembled by Seam."
+msgid "The two core concepts in Seam are the notion of a
<emphasis>context</emphasis> and the notion of a
<emphasis>component</emphasis>. Components are stateful objects, usually EJBs,
and an instance of a component is associated with a context, and given a name in that
context. <emphasis>Bijection</emphasis> provides a mechanism for aliasing
internal component names (instance variables) to contextual names, allowing component
trees to be dynamically assembled, and reassembled by Seam."
msgstr ""
#. Tag: para
@@ -42,23 +35,19 @@
#: Concepts.xml:19
#, no-c-format
msgid "Seam contexts"
-msgstr ""
+msgstr "Contesti di Seam"
#. Tag: para
#: Concepts.xml:20
#, no-c-format
-msgid ""
-"Seam contexts are created and destroyed by the framework. The application "
-"does not control context demarcation via explicit Java API calls. Context "
-"are usually implicit. In some cases, however, contexts are demarcated via "
-"annotations."
+msgid "Seam contexts are created and destroyed by the framework. The application
does not control context demarcation via explicit Java API calls. Context are usually
implicit. In some cases, however, contexts are demarcated via annotations."
msgstr ""
#. Tag: para
#: Concepts.xml:23
#, no-c-format
msgid "The basic Seam contexts are:"
-msgstr ""
+msgstr "I contesti base di Seam sono:"
#. Tag: para
#: Concepts.xml:27
@@ -73,31 +62,36 @@
msgstr ""
#. Tag: para
-#: Concepts.xml:33 Concepts.xml:225
+#: Concepts.xml:33
+#: Concepts.xml:225
#, no-c-format
msgid "<para>Page context</para>"
msgstr ""
#. Tag: para
-#: Concepts.xml:36 Concepts.xml:228
+#: Concepts.xml:36
+#: Concepts.xml:228
#, no-c-format
msgid "<para>Conversation context</para>"
msgstr ""
#. Tag: para
-#: Concepts.xml:39 Concepts.xml:231
+#: Concepts.xml:39
+#: Concepts.xml:231
#, no-c-format
msgid "<para>Session context</para>"
msgstr ""
#. Tag: para
-#: Concepts.xml:42 Concepts.xml:234
+#: Concepts.xml:42
+#: Concepts.xml:234
#, no-c-format
msgid "<para>Business process context</para>"
msgstr ""
#. Tag: para
-#: Concepts.xml:45 Concepts.xml:237
+#: Concepts.xml:45
+#: Concepts.xml:237
#, no-c-format
msgid "<para>Application context</para>"
msgstr ""
@@ -105,18 +99,7 @@
#. Tag: para
#: Concepts.xml:49
#, no-c-format
-msgid ""
-"You will recognize some of these contexts from servlet and related "
-"specifications. However, two of them might be new to you: "
-"<emphasis>conversation context</emphasis>, and <emphasis>business
process "
-"context</emphasis>. One reason state management in web applications is so
"
-"fragile and error-prone is that the three built-in contexts (request, "
-"session and application) are not especially meaningful from the point of "
-"view of the business logic. A user login session, for example, is a fairly "
-"arbitrary construct in terms of the actual application work flow. Therefore,
"
-"most Seam components are scoped to the conversation or business process "
-"contexts, since they are the contexts which are most meaningful in terms of "
-"the application."
+msgid "You will recognize some of these contexts from servlet and related
specifications. However, two of them might be new to you: <emphasis>conversation
context</emphasis>, and <emphasis>business process context</emphasis>.
One reason state management in web applications is so fragile and error-prone is that the
three built-in contexts (request, session and application) are not especially meaningful
from the point of view of the business logic. A user login session, for example, is a
fairly arbitrary construct in terms of the actual application work flow. Therefore, most
Seam components are scoped to the conversation or business process contexts, since they
are the contexts which are most meaningful in terms of the application."
msgstr ""
#. Tag: para
@@ -129,182 +112,120 @@
#: Concepts.xml:65
#, no-c-format
msgid "<title>Stateless context</title>"
-msgstr ""
+msgstr "<title>Contesto Stateless</title>"
#. Tag: para
#: Concepts.xml:66
#, no-c-format
-msgid ""
-"Components which are truly stateless (stateless session beans, primarily) "
-"always live in the stateless context (which is basically the absense of a "
-"context since the instance Seam resolves is not stored). Stateless "
-"components are not very interesting, and are arguably not very object-"
-"oriented. Nevertheless, they do get developed and used and are thus an "
-"important part of any Seam application."
+msgid "Components which are truly stateless (stateless session beans, primarily)
always live in the stateless context (which is basically the absense of a context since
the instance Seam resolves is not stored). Stateless components are not very interesting,
and are arguably not very object-oriented. Nevertheless, they do get developed and used
and are thus an important part of any Seam application."
msgstr ""
#. Tag: title
#: Concepts.xml:75
#, no-c-format
msgid "<title>Event context</title>"
-msgstr ""
+msgstr "<title>Contesto Evento</title>"
#. Tag: para
#: Concepts.xml:76
#, no-c-format
-msgid ""
-"The event context is the \"narrowest\" stateful context, and is a "
-"generalization of the notion of the web request context to cover other kinds
"
-"of events. Nevertheless, the event context associated with the lifecycle of "
-"a JSF request is the most important example of an event context, and the one
"
-"you will work with most often. Components associated with the event context "
-"are destroyed at the end of the request, but their state is available and "
-"well-defined for at least the lifecycle of the request."
+msgid "The event context is the \"narrowest\" stateful context, and is a
generalization of the notion of the web request context to cover other kinds of events.
Nevertheless, the event context associated with the lifecycle of a JSF request is the most
important example of an event context, and the one you will work with most often.
Components associated with the event context are destroyed at the end of the request, but
their state is available and well-defined for at least the lifecycle of the
request."
msgstr ""
#. Tag: para
#: Concepts.xml:83
#, no-c-format
-msgid ""
-"When you invoke a Seam component via RMI, or Seam Remoting, the event "
-"context is created and destroyed just for the invocation."
+msgid "When you invoke a Seam component via RMI, or Seam Remoting, the event context
is created and destroyed just for the invocation."
msgstr ""
#. Tag: title
#: Concepts.xml:90
#, no-c-format
msgid "<title>Page context</title>"
-msgstr ""
+msgstr "<title>Contesto Pagina</title>"
#. Tag: para
#: Concepts.xml:91
#, no-c-format
-msgid ""
-"The page context allows you to associate state with a particular instance of
"
-"a rendered page. You can initialize state in your event listener, or while "
-"actually rendering the page, and then have access to it from any event that "
-"originates from that page. This is especially useful for functionality like "
-"clickable lists, where the list is backed by changing data on the server "
-"side. The state is actually serialized to the client, so this construct is "
-"extremely robust with respect to multi-window operation and the back button."
+msgid "The page context allows you to associate state with a particular instance of
a rendered page. You can initialize state in your event listener, or while actually
rendering the page, and then have access to it from any event that originates from that
page. This is especially useful for functionality like clickable lists, where the list is
backed by changing data on the server side. The state is actually serialized to the
client, so this construct is extremely robust with respect to multi-window operation and
the back button."
msgstr ""
#. Tag: title
#: Concepts.xml:102
#, no-c-format
msgid "<title>Conversation context</title>"
-msgstr ""
+msgstr "<title>Contesto Conversazione</title>"
#. Tag: para
#: Concepts.xml:103
#, no-c-format
-msgid ""
-"The conversation context is a truly central concept in Seam. A "
-"<emphasis>conversation</emphasis> is a unit of work from the point of
view "
-"of the user. It might span several interactions with the user, several "
-"requests, and several database transactions. But to the user, a conversation
"
-"solves a single problem. For example, \"book hotel\", \"approve
contract\", "
-"\"create order\" are all conversations. You might like to think of a
"
-"conversation implementing a single \"use case\" or \"user
story\", but the "
-"relationship is not necessarily quite exact."
+msgid "The conversation context is a truly central concept in Seam. A
<emphasis>conversation</emphasis> is a unit of work from the point of view of
the user. It might span several interactions with the user, several requests, and several
database transactions. But to the user, a conversation solves a single problem. For
example, \"book hotel\", \"approve contract\", \"create
order\" are all conversations. You might like to think of a conversation implementing
a single \"use case\" or \"user story\", but the relationship is not
necessarily quite exact."
msgstr ""
#. Tag: para
#: Concepts.xml:111
#, no-c-format
-msgid ""
-"A conversation holds state associated with \"what the user is doing now, in
"
-"this window\". A single user may have multiple conversations in progress at
"
-"any point in time, usually in multiple windows. The conversation context "
-"allows us to ensure that state from the different conversations does not "
-"collide and cause bugs."
+msgid "A conversation holds state associated with \"what the user is doing now,
in this window\". A single user may have multiple conversations in progress at any
point in time, usually in multiple windows. The conversation context allows us to ensure
that state from the different conversations does not collide and cause bugs."
msgstr ""
#. Tag: para
#: Concepts.xml:117
#, no-c-format
-msgid ""
-"It might take you some time to get used to thinking of applications in terms
"
-"of conversations. But once you get used to it, we think you'll love the "
-"notion, and never be able to not think in terms of conversations again!"
+msgid "It might take you some time to get used to thinking of applications in terms
of conversations. But once you get used to it, we think you'll love the notion, and
never be able to not think in terms of conversations again!"
msgstr ""
#. Tag: para
#: Concepts.xml:122
#, no-c-format
-msgid ""
-"Some conversations last for just a single request. Conversations that span "
-"multiple requests must be demarcated using annotations provided by Seam."
+msgid "Some conversations last for just a single request. Conversations that span
multiple requests must be demarcated using annotations provided by Seam."
msgstr ""
#. Tag: para
#: Concepts.xml:126
#, no-c-format
-msgid ""
-"Some conversations are also <emphasis>tasks</emphasis>. A task is a
"
-"conversation that is significant in terms of a long-running business "
-"process, and has the potential to trigger a business process state "
-"transition when it is successfully completed. Seam provides a special set of
"
-"annotations for task demarcation."
+msgid "Some conversations are also <emphasis>tasks</emphasis>. A task is
a conversation that is significant in terms of a long-running business process, and has
the potential to trigger a business process state transition when it is successfully
completed. Seam provides a special set of annotations for task demarcation."
msgstr ""
#. Tag: para
#: Concepts.xml:132
#, no-c-format
-msgid ""
-"Conversations may be <emphasis>nested</emphasis>, with one conversation
"
-"taking place \"inside\" a wider conversation. This is an advanced
feature."
+msgid "Conversations may be <emphasis>nested</emphasis>, with one
conversation taking place \"inside\" a wider conversation. This is an advanced
feature."
msgstr ""
#. Tag: para
#: Concepts.xml:136
#, no-c-format
-msgid ""
-"Usually, conversation state is actually held by Seam in the servlet session "
-"between requests. Seam implements configurable <emphasis>conversation "
-"timeout</emphasis>, automatically destroying inactive conversations, and
"
-"thus ensuring that the state held by a single user login session does not "
-"grow without bound if the user abandons conversations."
+msgid "Usually, conversation state is actually held by Seam in the servlet session
between requests. Seam implements configurable <emphasis>conversation
timeout</emphasis>, automatically destroying inactive conversations, and thus
ensuring that the state held by a single user login session does not grow without bound if
the user abandons conversations."
msgstr ""
#. Tag: para
#: Concepts.xml:142
#, no-c-format
-msgid ""
-"Seam serializes processing of concurrent requests that take place in the "
-"same long-running conversation context, in the same process."
+msgid "Seam serializes processing of concurrent requests that take place in the same
long-running conversation context, in the same process."
msgstr ""
#. Tag: para
#: Concepts.xml:146
#, no-c-format
-msgid ""
-"Alternatively, Seam may be configured to keep conversational state in the "
-"client browser."
+msgid "Alternatively, Seam may be configured to keep conversational state in the
client browser."
msgstr ""
#. Tag: title
#: Concepts.xml:152
#, no-c-format
msgid "<title>Session context</title>"
-msgstr ""
+msgstr "<title>Contesto Sessione</title>"
#. Tag: para
#: Concepts.xml:153
#, no-c-format
-msgid ""
-"A session context holds state associated with the user login session. While "
-"there are some cases where it is useful to share state between several "
-"conversations, we generally frown on the use of session context for holding "
-"components other than global information about the logged in user."
+msgid "A session context holds state associated with the user login session. While
there are some cases where it is useful to share state between several conversations, we
generally frown on the use of session context for holding components other than global
information about the logged in user."
msgstr ""
#. Tag: para
#: Concepts.xml:158
#, no-c-format
-msgid ""
-"In a JSR-168 portal environment, the session context represents the portlet "
-"session."
+msgid "In a JSR-168 portal environment, the session context represents the portlet
session."
msgstr ""
#. Tag: title
@@ -316,15 +237,7 @@
#. Tag: para
#: Concepts.xml:165
#, no-c-format
-msgid ""
-"The business process context holds state associated with the long running "
-"business process. This state is managed and made persistent by the BPM "
-"engine (JBoss jBPM). The business process spans multiple interactions with "
-"multiple users, so this state is shared between multiple users, but in a "
-"well-defined manner. The current task determines the current business "
-"process instance, and the lifecycle of the business process is defined "
-"externally using a <emphasis>process definition language</emphasis>, so
"
-"there are no special annotations for business process demarcation."
+msgid "The business process context holds state associated with the long running
business process. This state is managed and made persistent by the BPM engine (JBoss
jBPM). The business process spans multiple interactions with multiple users, so this state
is shared between multiple users, but in a well-defined manner. The current task
determines the current business process instance, and the lifecycle of the business
process is defined externally using a <emphasis>process definition
language</emphasis>, so there are no special annotations for business process
demarcation."
msgstr ""
#. Tag: title
@@ -336,47 +249,32 @@
#. Tag: para
#: Concepts.xml:177
#, no-c-format
-msgid ""
-"The application context is the familiar servlet context from the servlet "
-"spec. Application context is mainly useful for holding static information "
-"such as configuration data, reference data or metamodels. For example, Seam "
-"stores its own configuration and metamodel in the application context."
+msgid "The application context is the familiar servlet context from the servlet
spec. Application context is mainly useful for holding static information such as
configuration data, reference data or metamodels. For example, Seam stores its own
configuration and metamodel in the application context."
msgstr ""
#. Tag: title
#: Concepts.xml:185
#, no-c-format
msgid "Context variables"
-msgstr ""
+msgstr "Variabili di contesto"
#. Tag: para
#: Concepts.xml:186
#, no-c-format
-msgid ""
-"A context defines a namespace, a set of <emphasis>context
variables</"
-"emphasis>. These work much the same as session or request attributes in the
"
-"servlet spec. You may bind any value you like to a context variable, but "
-"usually we bind Seam component instances to context variables."
+msgid "A context defines a namespace, a set of <emphasis>context
variables</emphasis>. These work much the same as session or request attributes in
the servlet spec. You may bind any value you like to a context variable, but usually we
bind Seam component instances to context variables."
msgstr ""
#. Tag: para
#: Concepts.xml:192
#, no-c-format
-msgid ""
-"So, within a context, a component instance is identified by the context "
-"variable name (this is usually, but not always, the same as the component "
-"name). You may programatically access a named component instance in a "
-"particular scope via the <literal>Contexts</literal> class, which
provides "
-"access to several thread-bound instances of the
<literal>Context</literal> "
-"interface:"
+msgid "So, within a context, a component instance is identified by the context
variable name (this is usually, but not always, the same as the component name). You may
programatically access a named component instance in a particular scope via the
<literal>Contexts</literal> class, which provides access to several
thread-bound instances of the <literal>Context</literal> interface:"
msgstr ""
#. Tag: programlisting
#: Concepts.xml:199
#, no-c-format
-msgid ""
-"<![CDATA[User user = (User)
Contexts.getSessionContext().get(\"user\");]]>"
-msgstr ""
+msgid "<![CDATA[User user = (User)
Contexts.getSessionContext().get(\"user\");]]>"
+msgstr "<![CDATA[User user = (User)
Contexts.getSessionContext().get(\"user\");]]>"
#. Tag: para
#: Concepts.xml:201
@@ -388,14 +286,12 @@
#: Concepts.xml:205
#, no-c-format
msgid "<![CDATA[Contexts.getSessionContext().set(\"user\",
user);]]>"
-msgstr ""
+msgstr "<![CDATA[Contexts.getSessionContext().set(\"user\",
user);]]>"
#. Tag: para
#: Concepts.xml:207
#, no-c-format
-msgid ""
-"Usually, however, we obtain components from a context via injection, and put
"
-"component instances into a context via outjection."
+msgid "Usually, however, we obtain components from a context via injection, and put
component instances into a context via outjection."
msgstr ""
#. Tag: title
@@ -407,25 +303,19 @@
#. Tag: para
#: Concepts.xml:215
#, no-c-format
-msgid ""
-"Sometimes, as above, component instances are obtained from a particular "
-"known scope. Other times, all stateful scopes are searched, in "
-"<emphasis>priority order</emphasis>. The order is as follows:"
+msgid "Sometimes, as above, component instances are obtained from a particular known
scope. Other times, all stateful scopes are searched, in <emphasis>priority
order</emphasis>. The order is as follows:"
msgstr ""
#. Tag: para
#: Concepts.xml:222
#, no-c-format
msgid "<para>Event context</para>"
-msgstr ""
+msgstr "<para>Contesto Evento</para>"
#. Tag: para
#: Concepts.xml:241
#, no-c-format
-msgid ""
-"You can perform a priority search by calling <literal>Contexts."
-"lookupInStatefulContexts()</literal>. Whenever you access a component by
"
-"name from a JSF page, a priority search occurs."
+msgid "You can perform a priority search by calling
<literal>Contexts.lookupInStatefulContexts()</literal>. Whenever you access a
component by name from a JSF page, a priority search occurs."
msgstr ""
#. Tag: title
@@ -437,83 +327,43 @@
#. Tag: para
#: Concepts.xml:250
#, no-c-format
-msgid ""
-"Neither the servlet nor EJB specifications define any facilities for "
-"managing concurrent requests originating from the same client. The servlet "
-"container simply lets all threads run concurrently and leaves enforcing "
-"threadsafeness to application code. The EJB container allows stateless "
-"components to be accessed concurrently, and throws an exception if multiple "
-"threads access a stateful session bean."
+msgid "Neither the servlet nor EJB specifications define any facilities for managing
concurrent requests originating from the same client. The servlet container simply lets
all threads run concurrently and leaves enforcing threadsafeness to application code. The
EJB container allows stateless components to be accessed concurrently, and throws an
exception if multiple threads access a stateful session bean."
msgstr ""
#. Tag: para
#: Concepts.xml:256
#, no-c-format
-msgid ""
-"This behavior might have been okay in old-style web applications which were "
-"based around fine-grained, synchronous requests. But for modern applications
"
-"which make heavy use of many fine-grained, asynchronous (AJAX) requests, "
-"concurrency is a fact of life, and must be supported by the programming "
-"model. Seam weaves a concurrency management layer into its context model."
+msgid "This behavior might have been okay in old-style web applications which were
based around fine-grained, synchronous requests. But for modern applications which make
heavy use of many fine-grained, asynchronous (AJAX) requests, concurrency is a fact of
life, and must be supported by the programming model. Seam weaves a concurrency management
layer into its context model."
msgstr ""
#. Tag: para
#: Concepts.xml:262
#, no-c-format
-msgid ""
-"The Seam session and application contexts are multithreaded. Seam will allow
"
-"concurrent requests in a context to be processed concurrently. The event and
"
-"page contexts are by nature single threaded. The business process context is
"
-"strictly speaking multi-threaded, but in practice concurrency is "
-"sufficiently rare that this fact may be disregarded most of the time. "
-"Finally, Seam enforces a <emphasis>single thread per conversation per "
-"process</emphasis> model for the conversation context by serializing "
-"concurrent requests in the same long-running conversation context."
+msgid "The Seam session and application contexts are multithreaded. Seam will allow
concurrent requests in a context to be processed concurrently. The event and page contexts
are by nature single threaded. The business process context is strictly speaking
multi-threaded, but in practice concurrency is sufficiently rare that this fact may be
disregarded most of the time. Finally, Seam enforces a <emphasis>single thread per
conversation per process</emphasis> model for the conversation context by
serializing concurrent requests in the same long-running conversation context."
msgstr ""
#. Tag: para
#: Concepts.xml:270
#, no-c-format
-msgid ""
-"Since the session context is multithreaded, and often contains volatile "
-"state, session scope components are always protected by Seam from concurrent
"
-"access so long as the Seam interceptors are not disabled for that component.
"
-"If interceptors are disabled, then any thread-safety that is required must "
-"be implemented by the component itself. Seam serializes requests to session "
-"scope session beans and JavaBeans by default (and detects and breaks any "
-"deadlocks that occur). This is not the default behaviour for application "
-"scoped components however, since application scoped components do not "
-"usually hold volatile state and because synchronization at the global level "
-"is <emphasis>extremely</emphasis> expensive. However, you can force a
"
-"serialized threading model on any session bean or JavaBean component by "
-"adding the <literal>@Synchronized</literal> annotation."
+msgid "Since the session context is multithreaded, and often contains volatile
state, session scope components are always protected by Seam from concurrent access so
long as the Seam interceptors are not disabled for that component. If interceptors are
disabled, then any thread-safety that is required must be implemented by the component
itself. Seam serializes requests to session scope session beans and JavaBeans by default
(and detects and breaks any deadlocks that occur). This is not the default behaviour for
application scoped components however, since application scoped components do not usually
hold volatile state and because synchronization at the global level is
<emphasis>extremely</emphasis> expensive. However, you can force a serialized
threading model on any session bean or JavaBean component by adding the
<literal>@Synchronized</literal> annotation."
msgstr ""
#. Tag: para
#: Concepts.xml:281
#, no-c-format
-msgid ""
-"This concurrency model means that AJAX clients can safely use volatile "
-"session and conversational state, without the need for any special work on "
-"the part of the developer."
+msgid "This concurrency model means that AJAX clients can safely use volatile
session and conversational state, without the need for any special work on the part of the
developer."
msgstr ""
#. Tag: title
#: Concepts.xml:290
#, no-c-format
msgid "Seam components"
-msgstr ""
+msgstr "Componenti di Seam"
#. Tag: para
#: Concepts.xml:291
#, no-c-format
-msgid ""
-"Seam components are POJOs (Plain Old Java Objects). In particular, they are "
-"JavaBeans or EJB 3.0 enterprise beans. While Seam does not require that "
-"components be EJBs and can even be used without an EJB 3.0 compliant "
-"container, Seam was designed with EJB 3.0 in mind and includes deep "
-"integration with EJB 3.0. Seam supports the following <emphasis>component
"
-"types</emphasis>."
+msgid "Seam components are POJOs (Plain Old Java Objects). In particular, they are
JavaBeans or EJB 3.0 enterprise beans. While Seam does not require that components be EJBs
and can even be used without an EJB 3.0 compliant container, Seam was designed with EJB
3.0 in mind and includes deep integration with EJB 3.0. Seam supports the following
<emphasis>component types</emphasis>."
msgstr ""
#. Tag: para
@@ -538,13 +388,13 @@
#: Concepts.xml:309
#, no-c-format
msgid "<para>JavaBeans</para>"
-msgstr ""
+msgstr "<para>JavaBeans</para>"
#. Tag: para
#: Concepts.xml:312
#, no-c-format
msgid "EJB 3.0 message-driven beans"
-msgstr ""
+msgstr "EJB 3.0 message-driven beans"
#. Tag: para
#: Concepts.xml:315
@@ -561,12 +411,7 @@
#. Tag: para
#: Concepts.xml:321
#, no-c-format
-msgid ""
-"Stateless session bean components are not able to hold state across multiple
"
-"invocations. Therefore, they usually work by operating upon the state of "
-"other components in the various Seam contexts. They may be used as JSF "
-"action listeners, but cannot provide properties to JSF components for "
-"display."
+msgid "Stateless session bean components are not able to hold state across multiple
invocations. Therefore, they usually work by operating upon the state of other components
in the various Seam contexts. They may be used as JSF action listeners, but cannot provide
properties to JSF components for display."
msgstr ""
#. Tag: para
@@ -578,29 +423,19 @@
#. Tag: para
#: Concepts.xml:329
#, no-c-format
-msgid ""
-"Stateless session beans can be accessed concurrently as a new instance is "
-"used for each request. Assigning the instance to the request is the "
-"responsibility of the EJB3 container (normally instances will be allocated "
-"from a reusable pool meaning that you may find any instance variables "
-"contain data from previous uses of the bean)."
+msgid "Stateless session beans can be accessed concurrently as a new instance is
used for each request. Assigning the instance to the request is the responsibility of the
EJB3 container (normally instances will be allocated from a reusable pool meaning that you
may find any instance variables contain data from previous uses of the bean)."
msgstr ""
#. Tag: para
#: Concepts.xml:335
#, no-c-format
-msgid ""
-"Stateless session beans are the least interesting kind of Seam component."
+msgid "Stateless session beans are the least interesting kind of Seam
component."
msgstr ""
#. Tag: para
#: Concepts.xml:338
#, no-c-format
-msgid ""
-"Seam stateless session bean components may be instantiated using "
-"<literal>Component.getInstance()</literal> or
<literal>@In(create=true)</"
-"literal>. They should not be directly instantiated via JNDI lookup or the
"
-"<literal>new</literal> operator."
+msgid "Seam stateless session bean components may be instantiated using
<literal>Component.getInstance()</literal> or
<literal>@In(create=true)</literal>. They should not be directly instantiated
via JNDI lookup or the <literal>new</literal> operator."
msgstr ""
#. Tag: title
@@ -612,53 +447,31 @@
#. Tag: para
#: Concepts.xml:347
#, no-c-format
-msgid ""
-"Stateful session bean components are able to hold state not only across "
-"multiple invocations of the bean, but also across multiple requests. "
-"Application state that does not belong in the database should usually be "
-"held by stateful session beans. This is a major difference between Seam and "
-"many other web application frameworks. Instead of sticking information about
"
-"the current conversation directly in the
<literal>HttpSession</literal>, you "
-"should keep it in instance variables of a stateful session bean that is "
-"bound to the conversation context. This allows Seam to manage the lifecycle "
-"of this state for you, and ensure that there are no collisions between state
"
-"relating to different concurrent conversations."
+msgid "Stateful session bean components are able to hold state not only across
multiple invocations of the bean, but also across multiple requests. Application state
that does not belong in the database should usually be held by stateful session beans.
This is a major difference between Seam and many other web application frameworks. Instead
of sticking information about the current conversation directly in the
<literal>HttpSession</literal>, you should keep it in instance variables of a
stateful session bean that is bound to the conversation context. This allows Seam to
manage the lifecycle of this state for you, and ensure that there are no collisions
between state relating to different concurrent conversations."
msgstr ""
#. Tag: para
#: Concepts.xml:357
#, no-c-format
-msgid ""
-"Stateful session beans are often used as JSF action listener, and as backing
"
-"beans that provide properties to JSF components for display or form "
-"submission."
+msgid "Stateful session beans are often used as JSF action listener, and as backing
beans that provide properties to JSF components for display or form submission."
msgstr ""
#. Tag: para
#: Concepts.xml:361
#, no-c-format
-msgid ""
-"By default, stateful session beans are bound to the conversation context. "
-"They may never be bound to the page or stateless contexts."
+msgid "By default, stateful session beans are bound to the conversation context.
They may never be bound to the page or stateless contexts."
msgstr ""
#. Tag: para
#: Concepts.xml:365
#, no-c-format
-msgid ""
-"Concurrent requests to session-scoped stateful session beans are always "
-"serialized by Seam as long as the Seam interceptors are not disabled for the
"
-"bean."
+msgid "Concurrent requests to session-scoped stateful session beans are always
serialized by Seam as long as the Seam interceptors are not disabled for the bean."
msgstr ""
#. Tag: para
#: Concepts.xml:370
#, no-c-format
-msgid ""
-"Seam stateful session bean components may be instantiated using "
-"<literal>Component.getInstance()</literal> or
<literal>@In(create=true)</"
-"literal>. They should not be directly instantiated via JNDI lookup or the
"
-"<literal>new</literal> operator."
+msgid "Seam stateful session bean components may be instantiated using
<literal>Component.getInstance()</literal> or
<literal>@In(create=true)</literal>. They should not be directly instantiated
via JNDI lookup or the <literal>new</literal> operator."
msgstr ""
#. Tag: title
@@ -670,85 +483,55 @@
#. Tag: para
#: Concepts.xml:379
#, no-c-format
-msgid ""
-"Entity beans may be bound to a context variable and function as a seam "
-"component. Because entities have a persistent identity in addition to their "
-"contextual identity, entity instances are usually bound explicitly in Java "
-"code, rather than being instantiated implicitly by Seam."
+msgid "Entity beans may be bound to a context variable and function as a seam
component. Because entities have a persistent identity in addition to their contextual
identity, entity instances are usually bound explicitly in Java code, rather than being
instantiated implicitly by Seam."
msgstr ""
#. Tag: para
#: Concepts.xml:384
#, no-c-format
-msgid ""
-"Entity bean components do not support bijection or context demarcation. Nor "
-"does invocation of an entity bean trigger validation."
+msgid "Entity bean components do not support bijection or context demarcation. Nor
does invocation of an entity bean trigger validation."
msgstr ""
#. Tag: para
#: Concepts.xml:388
#, no-c-format
-msgid ""
-"Entity beans are not usually used as JSF action listeners, but do often "
-"function as backing beans that provide properties to JSF components for "
-"display or form submission. In particular, it is common to use an entity as "
-"a backing bean, together with a stateless session bean action listener to "
-"implement create/update/delete type functionality."
+msgid "Entity beans are not usually used as JSF action listeners, but do often
function as backing beans that provide properties to JSF components for display or form
submission. In particular, it is common to use an entity as a backing bean, together with
a stateless session bean action listener to implement create/update/delete type
functionality."
msgstr ""
#. Tag: para
#: Concepts.xml:394
#, no-c-format
-msgid ""
-"By default, entity beans are bound to the conversation context. They may "
-"never be bound to the stateless context."
+msgid "By default, entity beans are bound to the conversation context. They may
never be bound to the stateless context."
msgstr ""
#. Tag: para
#: Concepts.xml:398
#, no-c-format
-msgid ""
-"Note that it in a clustered environment is somewhat less efficient to bind "
-"an entity bean directly to a conversation or session scoped Seam context "
-"variable than it would be to hold a reference to the entity bean in a "
-"stateful session bean. For this reason, not all Seam applications define "
-"entity beans to be Seam components."
+msgid "Note that it in a clustered environment is somewhat less efficient to bind an
entity bean directly to a conversation or session scoped Seam context variable than it
would be to hold a reference to the entity bean in a stateful session bean. For this
reason, not all Seam applications define entity beans to be Seam components."
msgstr ""
#. Tag: para
#: Concepts.xml:404
#, no-c-format
-msgid ""
-"Seam entity bean components may be instantiated using
<literal>Component."
-"getInstance()</literal>, <literal>@In(create=true)</literal> or
directly "
-"using the <literal>new</literal> operator."
+msgid "Seam entity bean components may be instantiated using
<literal>Component.getInstance()</literal>,
<literal>@In(create=true)</literal> or directly using the
<literal>new</literal> operator."
msgstr ""
#. Tag: title
#: Concepts.xml:411
#, no-c-format
msgid "<title>JavaBeans</title>"
-msgstr ""
+msgstr "<title>JavaBeans</title>"
#. Tag: para
#: Concepts.xml:412
#, no-c-format
-msgid ""
-"Javabeans may be used just like a stateless or stateful session bean. "
-"However, they do not provide the functionality of a session bean "
-"(declarative transaction demarcation, declarative security, efficient "
-"clustered state replication, EJB 3.0 persistence, timeout methods, etc)."
+msgid "Javabeans may be used just like a stateless or stateful session bean.
However, they do not provide the functionality of a session bean (declarative transaction
demarcation, declarative security, efficient clustered state replication, EJB 3.0
persistence, timeout methods, etc)."
msgstr ""
#. Tag: para
#: Concepts.xml:417
#, no-c-format
-msgid ""
-"In a later chapter, we show you how to use Seam and Hibernate without an EJB
"
-"container. In this use case, components are JavaBeans instead of session "
-"beans. Note, however, that in many application servers it is somewhat less "
-"efficient to cluster conversation or session scoped Seam JavaBean components
"
-"than it is to cluster stateful session bean components."
+msgid "In a later chapter, we show you how to use Seam and Hibernate without an EJB
container. In this use case, components are JavaBeans instead of session beans. Note,
however, that in many application servers it is somewhat less efficient to cluster
conversation or session scoped Seam JavaBean components than it is to cluster stateful
session bean components."
msgstr ""
#. Tag: para
@@ -760,18 +543,13 @@
#. Tag: para
#: Concepts.xml:426
#, no-c-format
-msgid ""
-"Concurrent requests to session-scoped JavaBeans are always serialized by "
-"Seam."
+msgid "Concurrent requests to session-scoped JavaBeans are always serialized by
Seam."
msgstr ""
#. Tag: para
#: Concepts.xml:429
#, no-c-format
-msgid ""
-"Seam JavaBean components may be instantiated using <literal>Component."
-"getInstance()</literal> or <literal>@In(create=true)</literal>.
They should "
-"not be directly instantiated using the <literal>new</literal>
operator."
+msgid "Seam JavaBean components may be instantiated using
<literal>Component.getInstance()</literal> or
<literal>@In(create=true)</literal>. They should not be directly instantiated
using the <literal>new</literal> operator."
msgstr ""
#. Tag: title
@@ -783,47 +561,31 @@
#. Tag: para
#: Concepts.xml:438
#, no-c-format
-msgid ""
-"Message-driven beans may function as a seam component. However, message-"
-"driven beans are called quite differently to other Seam components - instead
"
-"of invoking them via the context variable, they listen for messages sent to "
-"a JMS queue or topic."
+msgid "Message-driven beans may function as a seam component. However,
message-driven beans are called quite differently to other Seam components - instead of
invoking them via the context variable, they listen for messages sent to a JMS queue or
topic."
msgstr ""
#. Tag: para
#: Concepts.xml:443
#, no-c-format
-msgid ""
-"Message-driven beans may not be bound to a Seam context. Nor do they have "
-"access to the session or conversation state of their \"caller\". However,
"
-"they do support bijection and some other Seam functionality."
+msgid "Message-driven beans may not be bound to a Seam context. Nor do they have
access to the session or conversation state of their \"caller\". However, they
do support bijection and some other Seam functionality."
msgstr ""
#. Tag: para
#: Concepts.xml:448
#, no-c-format
-msgid ""
-"Message-driven beans are never instantiated by the application. They are "
-"instantiated by the EJB container when a message is received."
+msgid "Message-driven beans are never instantiated by the application. They are
instantiated by the EJB container when a message is received."
msgstr ""
#. Tag: title
#: Concepts.xml:455
#, no-c-format
msgid "Interception"
-msgstr ""
+msgstr "Intercettazione"
#. Tag: para
#: Concepts.xml:456
#, no-c-format
-msgid ""
-"In order to perform its magic (bijection, context demarcation, validation, "
-"etc), Seam must intercept component invocations. For JavaBeans, Seam is in "
-"full control of instantiation of the component, and no special configuration
"
-"is needed. For entity beans, interception is not required since bijection "
-"and context demarcation are not defined. For session beans, we must register
"
-"an EJB interceptor for the session bean component. We could use an "
-"annotation, as follows:"
+msgid "In order to perform its magic (bijection, context demarcation, validation,
etc), Seam must intercept component invocations. For JavaBeans, Seam is in full control of
instantiation of the component, and no special configuration is needed. For entity beans,
interception is not required since bijection and context demarcation are not defined. For
session beans, we must register an EJB interceptor for the session bean component. We
could use an annotation, as follows:"
msgstr ""
#. Tag: programlisting
@@ -836,13 +598,16 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Stateless\n"
+"(a)Interceptors(SeamInterceptor.class)\n"
+"public class LoginAction implements Login { \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:466
#, no-c-format
-msgid ""
-"But a much better way is to define the interceptor in
<literal>ejb-jar.xml</"
-"literal>."
+msgid "But a much better way is to define the interceptor in
<literal>ejb-jar.xml</literal>."
msgstr ""
#. Tag: programlisting
@@ -851,19 +616,29 @@
msgid ""
"<![CDATA[<interceptors>\n"
" <interceptor>\n"
-"
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-"
-"class>\n"
+"
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>\n"
" </interceptor>\n"
"</interceptors>\n"
" \n"
"<assembly-descriptor>\n"
" <interceptor-binding>\n"
" <ejb-name>*</ejb-name>\n"
-"
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-"
-"class>\n"
+"
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>\n"
" </interceptor-binding>\n"
"</assembly-descriptor>]]>"
msgstr ""
+"<![CDATA[<interceptors>\n"
+" <interceptor>\n"
+"
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>\n"
+" </interceptor>\n"
+"</interceptors>\n"
+" \n"
+"<assembly-descriptor>\n"
+" <interceptor-binding>\n"
+" <ejb-name>*</ejb-name>\n"
+"
<interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>\n"
+" </interceptor-binding>\n"
+"</assembly-descriptor>]]>"
#. Tag: title
#: Concepts.xml:475
@@ -874,9 +649,7 @@
#. Tag: para
#: Concepts.xml:476
#, no-c-format
-msgid ""
-"All seam components need a name. We can assign a name to a component using "
-"the <literal>@Name</literal> annotation:"
+msgid "All seam components need a name. We can assign a name to a component using
the <literal>@Name</literal> annotation:"
msgstr ""
#. Tag: programlisting
@@ -889,51 +662,34 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:483
#, no-c-format
-msgid ""
-"This name is the <emphasis>seam component name</emphasis> and is not
related "
-"to any other name defined by the EJB specification. However, seam component "
-"names work just like JSF managed bean names and you can think of the two "
-"concepts as identical."
+msgid "This name is the <emphasis>seam component name</emphasis> and is
not related to any other name defined by the EJB specification. However, seam component
names work just like JSF managed bean names and you can think of the two concepts as
identical."
msgstr ""
#. Tag: para
#: Concepts.xml:489
#, no-c-format
-msgid ""
-"<literal>@Name</literal> is not the only way to define a component
name, but "
-"we always need to specify the name <emphasis>somewhere</emphasis>. If
we "
-"don't, then none of the other Seam annotations will function."
+msgid "<literal>@Name</literal> is not the only way to define a
component name, but we always need to specify the name
<emphasis>somewhere</emphasis>. If we don't, then none of the other Seam
annotations will function."
msgstr ""
#. Tag: para
#: Concepts.xml:495
#, no-c-format
-msgid ""
-"Whenever Seam instantiates a component, it binds the new instance to a "
-"variable in the scope configured for the component that matches the "
-"component name. This behavior is identical to how JSF managed beans work, "
-"except that Seam allows you to configure this mapping using annotations "
-"rather than XML. You can also programmatically bind a component to a context
"
-"variable. This is useful if a particular component serves more than one role
"
-"in the system. For example, the currently logged in
<literal>User</literal> "
-"might be bound to the <literal>currentUser</literal> session context
"
-"variable, while a <literal>User</literal> that is the subject of some
"
-"administration functionality might be bound to the
<literal>user</literal> "
-"conversation context variable. Be careful, though, because through a "
-"programmatic assignment, it's possible to overwrite a context variable that
"
-"has a reference to a Seam component, potentially confusing matters."
+msgid "Whenever Seam instantiates a component, it binds the new instance to a
variable in the scope configured for the component that matches the component name. This
behavior is identical to how JSF managed beans work, except that Seam allows you to
configure this mapping using annotations rather than XML. You can also programmatically
bind a component to a context variable. This is useful if a particular component serves
more than one role in the system. For example, the currently logged in
<literal>User</literal> might be bound to the
<literal>currentUser</literal> session context variable, while a
<literal>User</literal> that is the subject of some administration
functionality might be bound to the <literal>user</literal> conversation
context variable. Be careful, though, because through a programmatic assignment, it's
possible to overwrite a context variable that has a reference to a Seam component,
potentially confusing matters."
msgstr ""
#. Tag: para
#: Concepts.xml:506
#, no-c-format
-msgid ""
-"For very large applications, and for built-in seam components, qualified "
-"component names are often used to avoid naming conflicts."
+msgid "For very large applications, and for built-in seam components, qualified
component names are often used to avoid naming conflicts."
msgstr ""
#. Tag: programlisting
@@ -946,13 +702,16 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[(a)Name(\"com.jboss.myapp.loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:513
#, no-c-format
-msgid ""
-"We may use the qualified component name both in Java code and in JSF's "
-"expression language:"
+msgid "We may use the qualified component name both in Java code and in JSF's
expression language:"
msgstr ""
#. Tag: programlisting
@@ -962,40 +721,32 @@
"<![CDATA[<h:commandButton type=\"submit\"
value=\"Login\"\n"
"
action=\"#{com.jboss.myapp.loginAction.login}\"/>]]>"
msgstr ""
+"<![CDATA[<h:commandButton type=\"submit\"
value=\"Login\"\n"
+"
action=\"#{com.jboss.myapp.loginAction.login}\"/>]]>"
#. Tag: para
#: Concepts.xml:519
#, no-c-format
-msgid ""
-"Since this is noisy, Seam also provides a means of aliasing a qualified name
"
-"to a simple name. Add a line like this to the
<literal>components.xml</"
-"literal> file:"
+msgid "Since this is noisy, Seam also provides a means of aliasing a qualified name
to a simple name. Add a line like this to the
<literal>components.xml</literal> file:"
msgstr ""
#. Tag: programlisting
#: Concepts.xml:524
#, no-c-format
-msgid ""
-"<![CDATA[<factory name=\"loginAction\"
scope=\"STATELESS\" value=\"#{com."
-"jboss.myapp.loginAction}\"/>]]>"
-msgstr ""
+msgid "<![CDATA[<factory name=\"loginAction\"
scope=\"STATELESS\"
value=\"#{com.jboss.myapp.loginAction}\"/>]]>"
+msgstr "<![CDATA[<factory name=\"loginAction\"
scope=\"STATELESS\"
value=\"#{com.jboss.myapp.loginAction}\"/>]]>"
#. Tag: para
#: Concepts.xml:526
#, no-c-format
-msgid ""
-"All of the built-in Seam components have qualified names but can be accessed
"
-"through their unqualified names due to the namespace import feature of Seam.
"
-"The <literal>components.xml</literal> file included in the Seam JAR
defines "
-"the following namespaces."
+msgid "All of the built-in Seam components have qualified names but can be accessed
through their unqualified names due to the namespace import feature of Seam. The
<literal>components.xml</literal> file included in the Seam JAR defines the
following namespaces."
msgstr ""
#. Tag: programlisting
#: Concepts.xml:533
#, no-c-format
msgid ""
-"<components
xmlns="http://jboss.com/products/seam/components""
-">\n"
+"<components
xmlns="http://jboss.com/products/seam/components"&g...
" \n"
" <import>org.jboss.seam.core</import>\n"
" <import>org.jboss.seam.cache</import>\n"
@@ -1021,11 +772,7 @@
#. Tag: para
#: Concepts.xml:535
#, no-c-format
-msgid ""
-"When attempting to resolve an unqualified name, Seam will check each of "
-"those namespaces, in order. You can include additional namespaces in your "
-"application's <literal>components.xml</literal> file for
application-"
-"specific namespaces."
+msgid "When attempting to resolve an unqualified name, Seam will check each of those
namespaces, in order. You can include additional namespaces in your application's
<literal>components.xml</literal> file for application-specific
namespaces."
msgstr ""
#. Tag: title
@@ -1037,10 +784,7 @@
#. Tag: para
#: Concepts.xml:544
#, no-c-format
-msgid ""
-"We can override the default scope (context) of a component using the "
-"<literal>@Scope</literal> annotation. This lets us define what context
a "
-"component instance is bound to, when it is instantiated by Seam."
+msgid "We can override the default scope (context) of a component using the
<literal>@Scope</literal> annotation. This lets us define what context a
component instance is bound to, when it is instantiated by Seam."
msgstr ""
#. Tag: programlisting
@@ -1054,13 +798,17 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"user\")\n"
+"@Entity\n"
+"@Scope(SESSION)\n"
+"public class User { \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:552
#, no-c-format
-msgid ""
-"<literal>org.jboss.seam.ScopeType</literal> defines an enumeration of
"
-"possible scopes."
+msgid "<literal>org.jboss.seam.ScopeType</literal> defines an
enumeration of possible scopes."
msgstr ""
#. Tag: title
@@ -1072,17 +820,7 @@
#. Tag: para
#: Concepts.xml:560
#, no-c-format
-msgid ""
-"Some Seam component classes can fulfill more than one role in the system. "
-"For example, we often have a <literal>User</literal> class which is
usually "
-"used as a session-scoped component representing the current user but is used
"
-"in user administration screens as a conversation-scoped component. The "
-"<literal>@Role</literal> annotation lets us define an additional named
role "
-"for a component, with a different scope—it lets us bind the same "
-"component class to different context variables. (Any Seam component "
-"<emphasis>instance</emphasis> may be bound to multiple context
variables, "
-"but this lets us do it at the class level, and take advantage of auto-"
-"instantiation.)"
+msgid "Some Seam component classes can fulfill more than one role in the system. For
example, we often have a <literal>User</literal> class which is usually used
as a session-scoped component representing the current user but is used in user
administration screens as a conversation-scoped component. The
<literal>@Role</literal> annotation lets us define an additional named role
for a component, with a different scope—it lets us bind the same component class
to different context variables. (Any Seam component
<emphasis>instance</emphasis> may be bound to multiple context variables, but
this lets us do it at the class level, and take advantage of auto-instantiation.)"
msgstr ""
#. Tag: programlisting
@@ -1097,13 +835,18 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"user\")\n"
+"@Entity\n"
+"@Scope(CONVERSATION)\n"
+"@Role(name=\"currentUser\", scope=SESSION)\n"
+"public class User { \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:572
#, no-c-format
-msgid ""
-"The <literal>@Roles</literal> annotation lets us specify as many
additional "
-"roles as we like."
+msgid "The <literal>@Roles</literal> annotation lets us specify as many
additional roles as we like."
msgstr ""
#. Tag: programlisting
@@ -1119,6 +862,14 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"user\")\n"
+"@Entity\n"
+"@Scope(CONVERSATION)\n"
+"@Roles({@Role(name=\"currentUser\", scope=SESSION),\n"
+" @Role(name=\"tempUser\", scope=EVENT)})\n"
+"public class User { \n"
+" ... \n"
+"}]]>"
#. Tag: title
#: Concepts.xml:581
@@ -1129,101 +880,61 @@
#. Tag: para
#: Concepts.xml:582
#, no-c-format
-msgid ""
-"Like many good frameworks, Seam eats its own dogfood and is implemented "
-"mostly as a set of built-in Seam interceptors (see later) and Seam "
-"components. This makes it easy for applications to interact with built-in "
-"components at runtime or even customize the basic functionality of Seam by "
-"replacing the built-in components with custom implementations. The built-in "
-"components are defined in the Seam namespace
<literal>org.jboss.seam.core</"
-"literal> and the Java package of the same name."
+msgid "Like many good frameworks, Seam eats its own dogfood and is implemented
mostly as a set of built-in Seam interceptors (see later) and Seam components. This makes
it easy for applications to interact with built-in components at runtime or even customize
the basic functionality of Seam by replacing the built-in components with custom
implementations. The built-in components are defined in the Seam namespace
<literal>org.jboss.seam.core</literal> and the Java package of the same
name."
msgstr ""
#. Tag: para
#: Concepts.xml:589
#, no-c-format
-msgid ""
-"The built-in components may be injected, just like any Seam components, but "
-"they also provide convenient static <literal>instance()</literal>
methods:"
+msgid "The built-in components may be injected, just like any Seam components, but
they also provide convenient static <literal>instance()</literal>
methods:"
msgstr ""
#. Tag: programlisting
#: Concepts.xml:593
#, no-c-format
-msgid ""
-"<![CDATA[FacesMessages.instance().add(\"Welcome back,
#{user.name}!\");]]>"
-msgstr ""
+msgid "<![CDATA[FacesMessages.instance().add(\"Welcome back,
#{user.name}!\");]]>"
+msgstr "<![CDATA[FacesMessages.instance().add(\"Welcome back,
#{user.name}!\");]]>"
#. Tag: title
#: Concepts.xml:599
#, no-c-format
msgid "Bijection"
-msgstr ""
+msgstr "Bijection"
#. Tag: para
#: Concepts.xml:600
#, no-c-format
-msgid ""
-"<emphasis>Dependency injection</emphasis> or <emphasis>inversion
of control</"
-"emphasis> is by now a familiar concept to most Java developers. Dependency
"
-"injection allows a component to obtain a reference to another component by "
-"having the container \"inject\" the other component to a setter method or
"
-"instance variable. In all dependency injection implementations that we have "
-"seen, injection occurs when the component is constructed, and the reference "
-"does not subsequently change for the lifetime of the component instance. For
"
-"stateless components, this is reasonable. From the point of view of a "
-"client, all instances of a particular stateless component are "
-"interchangeable. On the other hand, Seam emphasizes the use of stateful "
-"components. So traditional dependency injection is no longer a very useful "
-"construct. Seam introduces the notion of <emphasis>bijection</emphasis>
as a "
-"generalization of injection. In contrast to injection, bijection is:"
+msgid "<emphasis>Dependency injection</emphasis> or
<emphasis>inversion of control</emphasis> is by now a familiar concept to most
Java developers. Dependency injection allows a component to obtain a reference to another
component by having the container \"inject\" the other component to a setter
method or instance variable. In all dependency injection implementations that we have
seen, injection occurs when the component is constructed, and the reference does not
subsequently change for the lifetime of the component instance. For stateless components,
this is reasonable. From the point of view of a client, all instances of a particular
stateless component are interchangeable. On the other hand, Seam emphasizes the use of
stateful components. So traditional dependency injection is no longer a very useful
construct. Seam introduces the notion of <emphasis>bijection</emphasis> as a
generalization of injection. In contrast to injection, bijection is:"
msgstr ""
#. Tag: para
#: Concepts.xml:614
#, no-c-format
-msgid ""
-"<emphasis>contextual</emphasis> - bijection is used to assemble
stateful "
-"components from various different contexts (a component from a \"wider\"
"
-"context may even have a reference to a component from a \"narrower\"
context)"
+msgid "<emphasis>contextual</emphasis> - bijection is used to assemble
stateful components from various different contexts (a component from a
\"wider\" context may even have a reference to a component from a
\"narrower\" context)"
msgstr ""
#. Tag: para
#: Concepts.xml:621
#, no-c-format
-msgid ""
-"<emphasis>bidirectional</emphasis> - values are injected from context
"
-"variables into attributes of the component being invoked, and also "
-"<emphasis>outjected</emphasis> from the component attributes back out
to the "
-"context, allowing the component being invoked to manipulate the values of "
-"contextual variables simply by setting its own instance variables"
+msgid "<emphasis>bidirectional</emphasis> - values are injected from
context variables into attributes of the component being invoked, and also
<emphasis>outjected</emphasis> from the component attributes back out to the
context, allowing the component being invoked to manipulate the values of contextual
variables simply by setting its own instance variables"
msgstr ""
#. Tag: para
#: Concepts.xml:629
#, no-c-format
-msgid ""
-"<emphasis>dynamic</emphasis> - since the value of contextual variables
"
-"changes over time, and since Seam components are stateful, bijection takes "
-"place every time a component is invoked"
+msgid "<emphasis>dynamic</emphasis> - since the value of contextual
variables changes over time, and since Seam components are stateful, bijection takes place
every time a component is invoked"
msgstr ""
#. Tag: para
#: Concepts.xml:636
#, no-c-format
-msgid ""
-"In essence, bijection lets you alias a context variable to a component "
-"instance variable, by specifying that the value of the instance variable is "
-"injected, outjected, or both. Of course, we use annotations to enable "
-"bijection."
+msgid "In essence, bijection lets you alias a context variable to a component
instance variable, by specifying that the value of the instance variable is injected,
outjected, or both. Of course, we use annotations to enable bijection."
msgstr ""
#. Tag: para
#: Concepts.xml:642
#, no-c-format
-msgid ""
-"The <literal>@In</literal> annotation specifies that a value should be
"
-"injected, either into an instance variable:"
+msgid "The <literal>@In</literal> annotation specifies that a value
should be injected, either into an instance variable:"
msgstr ""
#. Tag: programlisting
@@ -1237,6 +948,12 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" @In User user;\n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:649
@@ -1261,36 +978,35 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" User user;\n"
+" \n"
+" @In\n"
+" public void setUser(User user) {\n"
+" this.user=user;\n"
+" }\n"
+" \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:656
#, no-c-format
-msgid ""
-"By default, Seam will do a priority search of all contexts, using the name "
-"of the property or instance variable that is being injected. You may wish to
"
-"specify the context variable name explicitly, using, for example, "
-"<literal>(a)In(\"currentUser\")</literal>."
+msgid "By default, Seam will do a priority search of all contexts, using the name of
the property or instance variable that is being injected. You may wish to specify the
context variable name explicitly, using, for example,
<literal>(a)In(\"currentUser\")</literal>."
msgstr ""
#. Tag: para
#: Concepts.xml:662
#, no-c-format
-msgid ""
-"If you want Seam to create an instance of the component when there is no "
-"existing component instance bound to the named context variable, you should "
-"specify <literal>@In(create=true)</literal>. If the value is optional
(it "
-"can be null), specify <literal>(a)In(required=false)</literal>."
+msgid "If you want Seam to create an instance of the component when there is no
existing component instance bound to the named context variable, you should specify
<literal>@In(create=true)</literal>. If the value is optional (it can be
null), specify <literal>(a)In(required=false)</literal>."
msgstr ""
#. Tag: para
#: Concepts.xml:668
#, no-c-format
-msgid ""
-"For some components, it can be repetitive to have to specify
<literal>@In"
-"(create=true)</literal> everywhere they are used. In such cases, you can
"
-"annotate the component <literal>@AutoCreate</literal>, and then it will
"
-"always be created, whenever needed, even without the explicit use of "
-"<literal>create=true</literal>."
+msgid "For some components, it can be repetitive to have to specify
<literal>@In(create=true)</literal> everywhere they are used. In such cases,
you can annotate the component <literal>@AutoCreate</literal>, and then it
will always be created, whenever needed, even without the explicit use of
<literal>create=true</literal>."
msgstr ""
#. Tag: para
@@ -1310,29 +1026,29 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" @In(\"#{user.username}\") String username;\n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:680
#, no-c-format
-msgid ""
-"Injected values are disinjected (i.e., set to <literal>null</literal>)
"
-"immediately after method completion and outjection."
+msgid "Injected values are disinjected (i.e., set to
<literal>null</literal>) immediately after method completion and
outjection."
msgstr ""
#. Tag: para
#: Concepts.xml:685
#, no-c-format
-msgid ""
-"(There is much more information about component lifecycle and injection in "
-"the next chapter.)"
+msgid "(There is much more information about component lifecycle and injection in
the next chapter.)"
msgstr ""
#. Tag: para
#: Concepts.xml:689
#, no-c-format
-msgid ""
-"The <literal>@Out</literal> annotation specifies that an attribute
should be "
-"outjected, either from an instance variable:"
+msgid "The <literal>@Out</literal> annotation specifies that an
attribute should be outjected, either from an instance variable:"
msgstr ""
#. Tag: programlisting
@@ -1346,6 +1062,12 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" @Out User user;\n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:696
@@ -1370,6 +1092,18 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" User user;\n"
+" \n"
+" @Out\n"
+" public User getUser() {\n"
+" return user;\n"
+" }\n"
+" \n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:702
@@ -1388,12 +1122,18 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" @In @Out User user;\n"
+" ... \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:708
#, no-c-format
msgid "<para>or:</para>"
-msgstr ""
+msgstr "<para>o:</para>"
#. Tag: programlisting
#: Concepts.xml:712
@@ -1417,6 +1157,23 @@
" ... \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"loginAction\")\n"
+"@Stateless\n"
+"public class LoginAction implements Login { \n"
+" User user;\n"
+" \n"
+" @In\n"
+" public void setUser(User user) {\n"
+" this.user=user;\n"
+" }\n"
+" \n"
+" @Out\n"
+" public User getUser() {\n"
+" return user;\n"
+" }\n"
+" \n"
+" ... \n"
+"}]]>"
#. Tag: title
#: Concepts.xml:717
@@ -1427,53 +1184,31 @@
#. Tag: para
#: Concepts.xml:719
#, no-c-format
-msgid ""
-"Session bean and entity bean Seam components support all the usual EJB 3.0 "
-"lifecycle callback (<literal>@PostConstruct</literal>,
<literal>@PreDestroy</"
-"literal>, etc). But Seam also supports the use of any of these callbacks "
-"with JavaBean components. However, since these annotations are not available
"
-"in a J2EE environment, Seam defines two additional component lifecycle "
-"callbacks, equivalent to <literal>@PostConstruct</literal> and "
-"<literal>(a)PreDestroy</literal>."
+msgid "Session bean and entity bean Seam components support all the usual EJB 3.0
lifecycle callback (<literal>@PostConstruct</literal>,
<literal>@PreDestroy</literal>, etc). But Seam also supports the use of any of
these callbacks with JavaBean components. However, since these annotations are not
available in a J2EE environment, Seam defines two additional component lifecycle
callbacks, equivalent to <literal>@PostConstruct</literal> and
<literal>(a)PreDestroy</literal>."
msgstr ""
#. Tag: para
#: Concepts.xml:727
#, no-c-format
-msgid ""
-"The <literal>@Create</literal> method is called after Seam instantiates
a "
-"component. Components may define only one <literal>@Create</literal>
method."
+msgid "The <literal>@Create</literal> method is called after Seam
instantiates a component. Components may define only one
<literal>@Create</literal> method."
msgstr ""
#. Tag: para
#: Concepts.xml:732
#, no-c-format
-msgid ""
-"The <literal>@Destroy</literal> method is called when the context that
the "
-"Seam component is bound to ends. Components may define only one "
-"<literal>@Destroy</literal> method."
+msgid "The <literal>@Destroy</literal> method is called when the context
that the Seam component is bound to ends. Components may define only one
<literal>@Destroy</literal> method."
msgstr ""
#. Tag: para
#: Concepts.xml:737
#, no-c-format
-msgid ""
-"In addition, stateful session bean components <emphasis>must</emphasis>
"
-"define a method with no parameters annotated
<literal>@Remove</literal>. "
-"This method is called by Seam when the context ends."
+msgid "In addition, stateful session bean components
<emphasis>must</emphasis> define a method with no parameters annotated
<literal>@Remove</literal>. This method is called by Seam when the context
ends."
msgstr ""
#. Tag: para
#: Concepts.xml:742
#, no-c-format
-msgid ""
-"Finally, a related annotation is the <literal>@Startup</literal>
annotation, "
-"which may be applied to any application or session scoped component. The "
-"<literal>@Startup</literal> annotation tells Seam to instantiate the
"
-"component immediately, when the context begins, instead of waiting until it "
-"is first referenced by a client. It is possible to control the order of "
-"instantiation of startup components by specifying
<literal>@Startup(depends="
-"{....})</literal>."
+msgid "Finally, a related annotation is the <literal>@Startup</literal>
annotation, which may be applied to any application or session scoped component. The
<literal>@Startup</literal> annotation tells Seam to instantiate the component
immediately, when the context begins, instead of waiting until it is first referenced by a
client. It is possible to control the order of instantiation of startup components by
specifying <literal>@Startup(depends={....})</literal>."
msgstr ""
#. Tag: title
@@ -1485,10 +1220,7 @@
#. Tag: para
#: Concepts.xml:755
#, no-c-format
-msgid ""
-"The <literal>@Install</literal> annotation lets you control conditional
"
-"installation of components that are required in some deployment scenarios "
-"and not in others. This is useful if:"
+msgid "The <literal>@Install</literal> annotation lets you control
conditional installation of components that are required in some deployment scenarios and
not in others. This is useful if:"
msgstr ""
#. Tag: para
@@ -1500,69 +1232,49 @@
#. Tag: para
#: Concepts.xml:767
#, no-c-format
-msgid ""
-"You want change the implementation of a component in certain deployment "
-"scenarios."
+msgid "You want change the implementation of a component in certain deployment
scenarios."
msgstr ""
#. Tag: para
#: Concepts.xml:773
#, no-c-format
-msgid ""
-"You want to install some components only if their dependencies are available
"
-"(useful for framework authors)."
+msgid "You want to install some components only if their dependencies are available
(useful for framework authors)."
msgstr ""
#. Tag: para
#: Concepts.xml:780
#, no-c-format
-msgid ""
-"<literal>@Install</literal> works by letting you specify "
-"<emphasis>precedence</emphasis> and
<emphasis>dependencies</emphasis>."
+msgid "<literal>@Install</literal> works by letting you specify
<emphasis>precedence</emphasis> and
<emphasis>dependencies</emphasis>."
msgstr ""
#. Tag: para
#: Concepts.xml:785
#, no-c-format
-msgid ""
-"The precedence of a component is a number that Seam uses to decide which "
-"component to install when there are multiple classes with the same component
"
-"name in the classpath. Seam will choose the component with the higher "
-"precendence. There are some predefined precedence values (in ascending "
-"order):"
+msgid "The precedence of a component is a number that Seam uses to decide which
component to install when there are multiple classes with the same component name in the
classpath. Seam will choose the component with the higher precendence. There are some
predefined precedence values (in ascending order):"
msgstr ""
#. Tag: para
#: Concepts.xml:794
#, no-c-format
-msgid ""
-"<literal>BUILT_IN</literal> — the lowest precedece components
are the "
-"components built in to Seam."
+msgid "<literal>BUILT_IN</literal> — the lowest precedece
components are the components built in to Seam."
msgstr ""
#. Tag: para
#: Concepts.xml:800
#, no-c-format
-msgid ""
-"<literal>FRAMEWORK</literal> — components defined by
third-party "
-"frameworks may override built-in components, but are overridden by "
-"application components."
+msgid "<literal>FRAMEWORK</literal> — components defined by
third-party frameworks may override built-in components, but are overridden by application
components."
msgstr ""
#. Tag: para
#: Concepts.xml:807
#, no-c-format
-msgid ""
-"<literal>APPLICATION</literal> — the default precedence. This
is "
-"appropriate for most application components."
+msgid "<literal>APPLICATION</literal> — the default
precedence. This is appropriate for most application components."
msgstr ""
#. Tag: para
#: Concepts.xml:813
#, no-c-format
-msgid ""
-"<literal>DEPLOYMENT</literal> — for application components
which are "
-"deployment-specific."
+msgid "<literal>DEPLOYMENT</literal> — for application
components which are deployment-specific."
msgstr ""
#. Tag: para
@@ -1574,9 +1286,7 @@
#. Tag: para
#: Concepts.xml:825
#, no-c-format
-msgid ""
-"Suppose we have a component named <literal>messageSender</literal> that
"
-"talks to a JMS queue."
+msgid "Suppose we have a component named
<literal>messageSender</literal> that talks to a JMS queue."
msgstr ""
#. Tag: programlisting
@@ -1590,15 +1300,17 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"messageSender\") \n"
+"public class MessageSender {\n"
+" public void sendMessage() {\n"
+" //do something with JMS\n"
+" }\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:832
#, no-c-format
-msgid ""
-"In our unit tests, we don't have a JMS queue available, so we would like to
"
-"stub out this method. We'll create a <emphasis>mock</emphasis>
component "
-"that exists in the classpath when unit tests are running, but is never "
-"deployed with the application:"
+msgid "In our unit tests, we don't have a JMS queue available, so we would like
to stub out this method. We'll create a <emphasis>mock</emphasis>
component that exists in the classpath when unit tests are running, but is never deployed
with the application:"
msgstr ""
#. Tag: programlisting
@@ -1613,35 +1325,31 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"messageSender\") \n"
+"@Install(precedence=MOCK)\n"
+"public class MockMessageSender extends MessageSender {\n"
+" public void sendMessage() {\n"
+" //do nothing!\n"
+" }\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:841
#, no-c-format
-msgid ""
-"The <literal>precedence</literal> helps Seam decide which version to
use "
-"when it finds both components in the classpath."
+msgid "The <literal>precedence</literal> helps Seam decide which version
to use when it finds both components in the classpath."
msgstr ""
#. Tag: para
#: Concepts.xml:846
#, no-c-format
-msgid ""
-"This is nice if we are able to control exactly which classes are in the "
-"classpath. But if I'm writing a reusable framework with many dependecies, I
"
-"don't want to have to break that framework across many jars. I want to be
"
-"able to decide which components to install depending upon what other "
-"components are installed, and upon what classes are available in the "
-"classpath. The <literal>@Install</literal> annotation also controls
this "
-"functionality. Seam uses this mechanism internally to enable conditional "
-"installation of many of the built-in components. However, you probably won't
"
-"need to use it in your application."
+msgid "This is nice if we are able to control exactly which classes are in the
classpath. But if I'm writing a reusable framework with many dependecies, I don't
want to have to break that framework across many jars. I want to be able to decide which
components to install depending upon what other components are installed, and upon what
classes are available in the classpath. The <literal>@Install</literal>
annotation also controls this functionality. Seam uses this mechanism internally to enable
conditional installation of many of the built-in components. However, you probably
won't need to use it in your application."
msgstr ""
#. Tag: title
#: Concepts.xml:860
#, no-c-format
msgid "Logging"
-msgstr ""
+msgstr "Logging"
#. Tag: para
#: Concepts.xml:862
@@ -1653,8 +1361,7 @@
#: Concepts.xml:866
#, no-c-format
msgid ""
-"<![CDATA[private static final Log log =
LogFactory.getLog(CreateOrderAction."
-"class);\n"
+"<![CDATA[private static final Log log =
LogFactory.getLog(CreateOrderAction.class);\n"
" \n"
"public Order createOrder(User user, Product product, int quantity) {\n"
" if ( log.isDebugEnabled() ) {\n"
@@ -1665,15 +1372,21 @@
" return new Order(user, product, quantity);\n"
"}]]>"
msgstr ""
+"<![CDATA[private static final Log log =
LogFactory.getLog(CreateOrderAction.class);\n"
+" \n"
+"public Order createOrder(User user, Product product, int quantity) {\n"
+" if ( log.isDebugEnabled() ) {\n"
+" log.debug(\"Creating new order for user: \" + user.username() +
\n"
+" \" product: \" + product.name() \n"
+" + \" quantity: \" + quantity);\n"
+" }\n"
+" return new Order(user, product, quantity);\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:868
#, no-c-format
-msgid ""
-"It is difficult to imagine how the code for a simple log message could "
-"possibly be more verbose. There is more lines of code tied up in logging "
-"than in the actual business logic! I remain totally astonished that the Java
"
-"community has not come up with anything better in 10 years."
+msgid "It is difficult to imagine how the code for a simple log message could
possibly be more verbose. There is more lines of code tied up in logging than in the
actual business logic! I remain totally astonished that the Java community has not come up
with anything better in 10 years."
msgstr ""
#. Tag: para
@@ -1689,38 +1402,33 @@
"<![CDATA[@Logger private Log log;\n"
" \n"
"public Order createOrder(User user, Product product, int quantity) {\n"
-" log.debug(\"Creating new order for user: #0 product: #1 quantity:
#2\", "
-"user.username(), product.name(), quantity);\n"
+" log.debug(\"Creating new order for user: #0 product: #1 quantity:
#2\", user.username(), product.name(), quantity);\n"
" return new Order(user, product, quantity);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Logger private Log log;\n"
+" \n"
+"public Order createOrder(User user, Product product, int quantity) {\n"
+" log.debug(\"Creating new order for user: #0 product: #1 quantity:
#2\", user.username(), product.name(), quantity);\n"
+" return new Order(user, product, quantity);\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:880
#, no-c-format
-msgid ""
-"It doesn't matter if you declare the <literal>log</literal>
variable static "
-"or not—it will work either way, except for entity bean components "
-"which require the <literal>log</literal> variable to be static."
+msgid "It doesn't matter if you declare the <literal>log</literal>
variable static or not—it will work either way, except for entity bean
components which require the <literal>log</literal> variable to be
static."
msgstr ""
#. Tag: para
#: Concepts.xml:886
#, no-c-format
-msgid ""
-"Note that we don't need the noisy <literal>if ( log.isDebugEnabled()
)</"
-"literal> guard, since string concatenation happens
<emphasis>inside</"
-"emphasis> the <literal>debug()</literal> method. Note also that we
don't "
-"usually need to specify the log category explicitly, since Seam knows what "
-"component it is injecting the <literal>Log</literal> into."
+msgid "Note that we don't need the noisy <literal>if (
log.isDebugEnabled() )</literal> guard, since string concatenation happens
<emphasis>inside</emphasis> the <literal>debug()</literal> method.
Note also that we don't usually need to specify the log category explicitly, since
Seam knows what component it is injecting the <literal>Log</literal>
into."
msgstr ""
#. Tag: para
#: Concepts.xml:901
#, no-c-format
-msgid ""
-"If <literal>User</literal> and <literal>Product</literal>
are Seam "
-"components available in the current contexts, it gets even better:"
+msgid "If <literal>User</literal> and
<literal>Product</literal> are Seam components available in the current
contexts, it gets even better:"
msgstr ""
#. Tag: programlisting
@@ -1730,67 +1438,45 @@
"<![CDATA[@Logger private Log log;\n"
" \n"
"public Order createOrder(User user, Product product, int quantity) {\n"
-" log.debug(\"Creating new order for user: #{user.username} product:
#"
-"{product.name} quantity: #0\", quantity);\n"
+" log.debug(\"Creating new order for user: #{user.username} product:
#{product.name} quantity: #0\", quantity);\n"
" return new Order(user, product, quantity);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Logger private Log log;\n"
+" \n"
+"public Order createOrder(User user, Product product, int quantity) {\n"
+" log.debug(\"Creating new order for user: #{user.username} product:
#{product.name} quantity: #0\", quantity);\n"
+" return new Order(user, product, quantity);\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:908
#, no-c-format
-msgid ""
-"Seam logging automagically chooses whether to send output to log4j or JDK "
-"logging. If log4j is in the classpath, Seam with use it. If it is not, Seam "
-"will use JDK logging."
+msgid "Seam logging automagically chooses whether to send output to log4j or JDK
logging. If log4j is in the classpath, Seam with use it. If it is not, Seam will use JDK
logging."
msgstr ""
#. Tag: title
#: Concepts.xml:916
#, no-c-format
-msgid ""
-"The <literal>Mutable</literal> interface and
<literal>@ReadOnly</literal>"
+msgid "The <literal>Mutable</literal> interface and
<literal>@ReadOnly</literal>"
msgstr ""
#. Tag: para
#: Concepts.xml:917
#, no-c-format
-msgid ""
-"Many application servers feature an amazingly broken implementation of "
-"<literal>HttpSession</literal> clustering, where changes to the state
of "
-"mutable objects bound to the session are only replicated when the "
-"application calls <literal>setAttribute()</literal> explicitly. This is
a "
-"source of bugs that can not effectively be tested for at development time, "
-"since they will only manifest when failover occurs. Furthermore, the actual "
-"replication message contains the entire serialized object graph bound to the
"
-"session attribute, which is inefficient."
+msgid "Many application servers feature an amazingly broken implementation of
<literal>HttpSession</literal> clustering, where changes to the state of
mutable objects bound to the session are only replicated when the application calls
<literal>setAttribute()</literal> explicitly. This is a source of bugs that
can not effectively be tested for at development time, since they will only manifest when
failover occurs. Furthermore, the actual replication message contains the entire
serialized object graph bound to the session attribute, which is inefficient."
msgstr ""
#. Tag: para
#: Concepts.xml:926
#, no-c-format
-msgid ""
-"Of course, EJB stateful session beans must perform automatic dirty checking "
-"and replication of mutable state and a sophisticated EJB container can "
-"introduce optimizations such as attribute-level replication. Unfortunately, "
-"not all Seam users have the good fortune to be working in an environment "
-"that supports EJB 3.0. So, for session and conversation scoped JavaBean and "
-"entity bean components, Seam provides an extra layer of cluster-safe state "
-"management over the top of the web container session clustering."
+msgid "Of course, EJB stateful session beans must perform automatic dirty checking
and replication of mutable state and a sophisticated EJB container can introduce
optimizations such as attribute-level replication. Unfortunately, not all Seam users have
the good fortune to be working in an environment that supports EJB 3.0. So, for session
and conversation scoped JavaBean and entity bean components, Seam provides an extra layer
of cluster-safe state management over the top of the web container session
clustering."
msgstr ""
#. Tag: para
#: Concepts.xml:934
#, no-c-format
-msgid ""
-"For session or conversation scoped JavaBean components, Seam automatically "
-"forces replication to occur by calling
<literal>setAttribute()</literal> "
-"once in every request that the component was invoked by the application. Of "
-"course, this strategy is inefficient for read-mostly components. You can "
-"control this behavior by implementing the
<literal>org.jboss.seam.core."
-"Mutable</literal> interface, or by extending
<literal>org.jboss.seam.core."
-"AbstractMutable</literal>, and writing your own dirty-checking logic inside
"
-"the component. For example,"
+msgid "For session or conversation scoped JavaBean components, Seam automatically
forces replication to occur by calling <literal>setAttribute()</literal> once
in every request that the component was invoked by the application. Of course, this
strategy is inefficient for read-mostly components. You can control this behavior by
implementing the <literal>org.jboss.seam.core.Mutable</literal> interface, or
by extending <literal>org.jboss.seam.core.AbstractMutable</literal>, and
writing your own dirty-checking logic inside the component. For example,"
msgstr ""
#. Tag: programlisting
@@ -1817,13 +1503,30 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"account\")\n"
+"public class Account extends AbstractMutable\n"
+"{\n"
+" private BigDecimal balance;\n"
+" \n"
+" public void setBalance(BigDecimal balance)\n"
+" {\n"
+" setDirty(this.balance, balance);\n"
+" this.balance = balance;\n"
+" }\n"
+" \n"
+" public BigDecimal getBalance()\n"
+" {\n"
+" return balance;\n"
+" }\n"
+" \n"
+" ...\n"
+" \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:945
#, no-c-format
-msgid ""
-"Or, you can use the <literal>@ReadOnly</literal> annotation to achieve
a "
-"similar effect:"
+msgid "Or, you can use the <literal>@ReadOnly</literal> annotation to
achieve a similar effect:"
msgstr ""
#. Tag: programlisting
@@ -1850,19 +1553,30 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"account\")\n"
+"public class Account\n"
+"{\n"
+" private BigDecimal balance;\n"
+" \n"
+" public void setBalance(BigDecimal balance)\n"
+" {\n"
+" this.balance = balance;\n"
+" }\n"
+" \n"
+" @ReadOnly\n"
+" public BigDecimal getBalance()\n"
+" {\n"
+" return balance;\n"
+" }\n"
+" \n"
+" ...\n"
+" \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:951
#, no-c-format
-msgid ""
-"For session or conversation scoped entity bean components, Seam "
-"automatically forces replication to occur by calling
<literal>setAttribute()"
-"</literal> once in every request, <emphasis>unless the
(conversation-scoped) "
-"entity is currently associated with a Seam-managed persistence context, in "
-"which case no replication is needed</emphasis>. This strategy is not "
-"necessarily efficient, so session or conversation scope entity beans should "
-"be used with care. You can always write a stateful session bean or JavaBean "
-"component to \"manage\" the entity bean instance. For example,"
+msgid "For session or conversation scoped entity bean components, Seam automatically
forces replication to occur by calling <literal>setAttribute()</literal> once
in every request, <emphasis>unless the (conversation-scoped) entity is currently
associated with a Seam-managed persistence context, in which case no replication is
needed</emphasis>. This strategy is not necessarily efficient, so session or
conversation scope entity beans should be used with care. You can always write a stateful
session bean or JavaBean component to \"manage\" the entity bean instance. For
example,"
msgstr ""
#. Tag: programlisting
@@ -1885,14 +1599,26 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Stateful\n"
+"@Name(\"account\")\n"
+"public class AccountManager extends AbstractMutable\n"
+"{\n"
+" private Account account; // an entity bean\n"
+" \n"
+" @Unwrap\n"
+" public Account getAccount()\n"
+" {\n"
+" return account;\n"
+" }\n"
+" \n"
+" ...\n"
+" \n"
+"}]]>"
#. Tag: para
#: Concepts.xml:962
#, no-c-format
-msgid ""
-"Note that the <literal>EntityHome</literal> class in the Seam
Application "
-"Framework provides a great example of managing an entity bean instance using
"
-"a Seam component."
+msgid "Note that the <literal>EntityHome</literal> class in the Seam
Application Framework provides a great example of managing an entity bean instance using a
Seam component."
msgstr ""
#. Tag: title
@@ -1904,29 +1630,13 @@
#. Tag: para
#: Concepts.xml:971
#, no-c-format
-msgid ""
-"We often need to work with objects that are not Seam components. But we "
-"still want to be able to inject them into our components using
<literal>@In</"
-"literal> and use them in value and method binding expressions, etc. "
-"Sometimes, we even need to tie them into the Seam context lifecycle "
-"(<literal>@Destroy</literal>, for example). So the Seam contexts can
contain "
-"objects which are not Seam components, and Seam provides a couple of nice "
-"features that make it easier to work with non-component objects bound to "
-"contexts."
+msgid "We often need to work with objects that are not Seam components. But we still
want to be able to inject them into our components using
<literal>@In</literal> and use them in value and method binding expressions,
etc. Sometimes, we even need to tie them into the Seam context lifecycle
(<literal>@Destroy</literal>, for example). So the Seam contexts can contain
objects which are not Seam components, and Seam provides a couple of nice features that
make it easier to work with non-component objects bound to contexts."
msgstr ""
#. Tag: para
#: Concepts.xml:979
#, no-c-format
-msgid ""
-"The <emphasis>factory component pattern</emphasis> lets a Seam
component act "
-"as the instantiator for a non-component object. A <emphasis>factory
method</"
-"emphasis> will be called when a context variable is referenced but has no
"
-"value bound to it. We define factory methods using the
<literal>@Factory</"
-"literal> annotation. The factory method binds a value to the context "
-"variable, and determines the scope of the bound value. There are two styles "
-"of factory method. The first style returns a value, which is bound to the "
-"context by Seam:"
+msgid "The <emphasis>factory component pattern</emphasis> lets a Seam
component act as the instantiator for a non-component object. A <emphasis>factory
method</emphasis> will be called when a context variable is referenced but has no
value bound to it. We define factory methods using the
<literal>@Factory</literal> annotation. The factory method binds a value to
the context variable, and determines the scope of the bound value. There are two styles of
factory method. The first style returns a value, which is bound to the context by
Seam:"
msgstr ""
#. Tag: programlisting
@@ -1938,13 +1648,15 @@
" return ... ;\n"
"} ]]>"
msgstr ""
+"<![CDATA[@Factory(scope=CONVERSATION)\n"
+"public List<Customer> getCustomerList() { \n"
+" return ... ;\n"
+"} ]]>"
#. Tag: para
#: Concepts.xml:990
#, no-c-format
-msgid ""
-"The second style is a method of type <literal>void</literal> which
binds the "
-"value to the context variable itself:"
+msgid "The second style is a method of type <literal>void</literal>
which binds the value to the context variable itself:"
msgstr ""
#. Tag: programlisting
@@ -1958,27 +1670,23 @@
" customerList = ... ;\n"
"} ]]>"
msgstr ""
+"<![CDATA[@DataModel List<Customer> customerList;\n"
+"\n"
+"@Factory(\"customerList\")\n"
+"public void initCustomerList() { \n"
+" customerList = ... ;\n"
+"} ]]>"
#. Tag: para
#: Concepts.xml:997
#, no-c-format
-msgid ""
-"In both cases, the factory method is called when we reference the "
-"<literal>customerList</literal> context variable and its value is null,
and "
-"then has no further part to play in the lifecycle of the value. An even more
"
-"powerful pattern is the <emphasis>manager component pattern</emphasis>.
In "
-"this case, we have a Seam component that is bound to a context variable, "
-"that manages the value of the context variable, while remaining invisible to
"
-"clients."
+msgid "In both cases, the factory method is called when we reference the
<literal>customerList</literal> context variable and its value is null, and
then has no further part to play in the lifecycle of the value. An even more powerful
pattern is the <emphasis>manager component pattern</emphasis>. In this case,
we have a Seam component that is bound to a context variable, that manages the value of
the context variable, while remaining invisible to clients."
msgstr ""
#. Tag: para
#: Concepts.xml:1005
#, no-c-format
-msgid ""
-"A manager component is any component with an <literal>@Unwrap</literal>
"
-"method. This method returns the value that will be visable to clients, and "
-"is called <emphasis>every time</emphasis> a context variable is
referenced."
+msgid "A manager component is any component with an
<literal>@Unwrap</literal> method. This method returns the value that will be
visable to clients, and is called <emphasis>every time</emphasis> a context
variable is referenced."
msgstr ""
#. Tag: programlisting
@@ -1997,17 +1705,22 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"customerList\")\n"
+"@Scope(CONVERSATION)\n"
+"public class CustomerListManager\n"
+"{\n"
+" ...\n"
+" \n"
+" @Unwrap\n"
+" public List<Customer> getCustomerList() { \n"
+" return ... ;\n"
+" }\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:1015
#, no-c-format
-msgid ""
-"The manager component pattern is especially useful if we have an object "
-"where you need more control over the lifecycle of the component. For "
-"example, if you have a heavyweight object that needs a cleanup operation "
-"when the context ends you could <literal>@Unwrap</literal> the object,
and "
-"perform cleanup in the <literal>@Destroy</literal> method of the
manager "
-"component."
+msgid "The manager component pattern is especially useful if we have an object where
you need more control over the lifecycle of the component. For example, if you have a
heavyweight object that needs a cleanup operation when the context ends you could
<literal>@Unwrap</literal> the object, and perform cleanup in the
<literal>@Destroy</literal> method of the manager component."
msgstr ""
#. Tag: programlisting
@@ -2052,12 +1765,47 @@
" ...\n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"hens\")\n"
+"@Scope(APPLICATION) \n"
+"public class HenHouse\n"
+"{\n"
+" Set<Hen> hens;\n"
+" \n"
+" @In(required=false) Hen hen;\n"
+" \n"
+" @Unwrap\n"
+" public List<Hen> getHens()\n"
+" {\n"
+" if (hens == null)\n"
+" {\n"
+" // Setup our hens\n"
+" }\n"
+" return hens;\n"
+" }\n"
+" \n"
+" @Observer({\"chickBorn\",
\"chickenBoughtAtMarket\"})\n"
+" public addHen()\n"
+" {\n"
+" hens.add(hen);\n"
+" }\n"
+" \n"
+" @Observer(\"chickenSoldAtMarket\")\n"
+" public removeHen()\n"
+" {\n"
+" hens.remove(hen);\n"
+" }\n"
+" \n"
+" @Observer(\"foxGetsIn\")\n"
+" public removeAllHens()\n"
+" {\n"
+" hens.clear();\n"
+" }\n"
+" ...\n"
+"}]]>"
#. Tag: para
#: Concepts.xml:1024
#, no-c-format
-msgid ""
-"Here the managed component observes many events which change the underlying "
-"object. The component manages these actions itself, and because the object "
-"is unwrapped on every access, a consistent view is provided."
+msgid "Here the managed component observes many events which change the underlying
object. The component manages these actions itself, and because the object is unwrapped on
every access, a consistent view is provided."
msgstr ""
+
Modified: trunk/doc/Seam_Reference_Guide/it-IT/Elenhancements.po
===================================================================
--- trunk/doc/Seam_Reference_Guide/it-IT/Elenhancements.po 2008-12-12 14:44:37 UTC (rev
9762)
+++ trunk/doc/Seam_Reference_Guide/it-IT/Elenhancements.po 2008-12-12 14:45:51 UTC (rev
9763)
@@ -6,8 +6,8 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-04-04 01:24+0000\n"
-"PO-Revision-Date: 2008-04-04 01:24+0000\n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2008-12-12 15:38+0100\n"
+"Last-Translator: Nicola Benaglia <nico.benaz(a)gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,45 +17,37 @@
#: Elenhancements.xml:5
#, no-c-format
msgid "JBoss EL"
-msgstr ""
+msgstr "JBoss EL"
#. Tag: para
#: Elenhancements.xml:7
#, no-c-format
-msgid ""
-"Seam uses JBoss EL which provides an extension to the standard Unified "
-"Expression Language (EL). JBoss EL provides a number of enhancements that "
-"increase the expressiveness and power of EL expressions."
+msgid "Seam uses JBoss EL which provides an extension to the standard Unified
Expression Language (EL). JBoss EL provides a number of enhancements that increase the
expressiveness and power of EL expressions."
msgstr ""
#. Tag: title
#: Elenhancements.xml:14
#, no-c-format
msgid "Parameterized Expressions"
-msgstr ""
+msgstr "Espressioni parametrizzate"
#. Tag: para
#: Elenhancements.xml:16
#, no-c-format
-msgid ""
-"Standard EL does not allow you to use a method with user defined parameters "
-"— of course, JSF listener methods (e.g. a "
-"<literal>valueChangeListener</literal>) take parameters provided by
JSF."
+msgid "Standard EL does not allow you to use a method with user defined parameters
— of course, JSF listener methods (e.g. a
<literal>valueChangeListener</literal>) take parameters provided by
JSF."
msgstr ""
#. Tag: para
#: Elenhancements.xml:22
#, no-c-format
msgid "JBoss EL removes this restriction. For example:"
-msgstr ""
+msgstr "JBoss EL rimuove questa restrizione. Per esempio:"
#. Tag: programlisting
#: Elenhancements.xml:26
#, no-c-format
-msgid ""
-"<![CDATA[<h:commandButton
action=\"#{hotelBooking.bookHotel(hotel)}\" value="
-"\"Book Hotel\"/>]]>"
-msgstr ""
+msgid "<![CDATA[<h:commandButton
action=\"#{hotelBooking.bookHotel(hotel)}\" value=\"Book
Hotel\"/>]]>"
+msgstr "<![CDATA[<h:commandButton
action=\"#{hotelBooking.bookHotel(hotel)}\" value=\"Book
Hotel\"/>]]>"
#. Tag: programlisting
#: Elenhancements.xml:28
@@ -69,36 +61,36 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[@Name(\"hotelBooking\")\n"
+"public class HotelBooking {\n"
+" \n"
+" public String bookHotel(Hotel hotel) {\n"
+" // Book the hotel\n"
+" }\n"
+"}]]>"
#. Tag: title
#: Elenhancements.xml:31
#, no-c-format
msgid "Usage"
-msgstr ""
+msgstr "Utilizzo"
#. Tag: para
#: Elenhancements.xml:33
#, no-c-format
-msgid ""
-"Just as in calls to method from Java, parameters are surrounded by "
-"parentheses, and separated by commas:"
+msgid "Just as in calls to method from Java, parameters are surrounded by
parentheses, and separated by commas:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:38
#, no-c-format
-msgid ""
-"<![CDATA[<h:commandButton action=\"#{hotelBooking.bookHotel(hotel,
user)}\" "
-"value=\"Book Hotel\"/>]]>"
-msgstr ""
+msgid "<![CDATA[<h:commandButton action=\"#{hotelBooking.bookHotel(hotel,
user)}\" value=\"Book Hotel\"/>]]>"
+msgstr "<![CDATA[<h:commandButton
action=\"#{hotelBooking.bookHotel(hotel, user)}\" value=\"Book
Hotel\"/>]]>"
#. Tag: para
#: Elenhancements.xml:40
#, no-c-format
-msgid ""
-"The parameters <literal>hotel</literal> and
<literal>user</literal> will be "
-"evaluated as value expressions and passed to the
<literal>bookHotel()</"
-"literal> method of the component."
+msgid "The parameters <literal>hotel</literal> and
<literal>user</literal> will be evaluated as value expressions and passed to
the <literal>bookHotel()</literal> method of the component."
msgstr ""
#. Tag: para
@@ -115,26 +107,20 @@
" action=\"#{hotelBooking.bookHotel(hotel.id, user.username)}\"
\n"
" value=\"Book Hotel\"/>]]>"
msgstr ""
+"<![CDATA[<h:commandButton \n"
+" action=\"#{hotelBooking.bookHotel(hotel.id, user.username)}\"
\n"
+" value=\"Book Hotel\"/>]]>"
#. Tag: para
#: Elenhancements.xml:51
#, no-c-format
-msgid ""
-"It's important to fully understand how this extension to EL works. When the
"
-"page is rendered, the parameter <emphasis>names</emphasis> are stored
(for "
-"example, <literal>hotel.id</literal> and
<literal>user.username</literal>), "
-"and evaluated (as value expressions) when the page is submitted. You can't
"
-"pass objects as parameters!"
+msgid "It's important to fully understand how this extension to EL works. When
the page is rendered, the parameter <emphasis>names</emphasis> are stored (for
example, <literal>hotel.id</literal> and
<literal>user.username</literal>), and evaluated (as value expressions) when
the page is submitted. You can't pass objects as parameters!"
msgstr ""
#. Tag: para
#: Elenhancements.xml:60
#, no-c-format
-msgid ""
-"You must ensure that the parameters are available not only when the page is "
-"rendered, but also when it is submittedIf the arguments can not be resolved "
-"when the page is submitted the action method will be called with "
-"<literal>null</literal> arguments!"
+msgid "You must ensure that the parameters are available not only when the page is
rendered, but also when it is submittedIf the arguments can not be resolved when the page
is submitted the action method will be called with <literal>null</literal>
arguments!"
msgstr ""
#. Tag: para
@@ -146,38 +132,26 @@
#. Tag: programlisting
#: Elenhancements.xml:71
#, no-c-format
-msgid ""
-"<![CDATA[<h:commandLink action=\"#{printer.println('Hello
world!')}\" value="
-"\"Hello\"/>]]>"
-msgstr ""
+msgid "<![CDATA[<h:commandLink action=\"#{printer.println('Hello
world!')}\" value=\"Hello\"/>]]>"
+msgstr "<![CDATA[<h:commandLink action=\"#{printer.println('Hello
world!')}\" value=\"Hello\"/>]]>"
#. Tag: para
#: Elenhancements.xml:73
#, no-c-format
-msgid ""
-"Unified EL also supports value expressions, used to bind a field to a "
-"backing bean. Value expressions use JavaBean naming conventions and expect a
"
-"getter/setter pair. Often JSF expects a value expression where only "
-"retrieval (get) is needed (e.g. the <literal>rendered</literal>
attribute). "
-"Many objects, however, don't have appropriately named property accessors or
"
-"require parameters."
+msgid "Unified EL also supports value expressions, used to bind a field to a backing
bean. Value expressions use JavaBean naming conventions and expect a getter/setter pair.
Often JSF expects a value expression where only retrieval (get) is needed (e.g. the
<literal>rendered</literal> attribute). Many objects, however, don't have
appropriately named property accessors or require parameters."
msgstr ""
#. Tag: para
#: Elenhancements.xml:82
#, no-c-format
-msgid ""
-"JBoss EL removes this restriction by allowing values to be retrieved using "
-"the method syntax. For example:"
+msgid "JBoss EL removes this restriction by allowing values to be retrieved using
the method syntax. For example:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:87
#, no-c-format
-msgid ""
-"<![CDATA[<h:outputText value=\"#{person.name}\"
rendered=\"#{person.name."
-"length() > 5}\" />]]>"
-msgstr ""
+msgid "<![CDATA[<h:outputText value=\"#{person.name}\"
rendered=\"#{person.name.length() > 5}\" />]]>"
+msgstr "<![CDATA[<h:outputText value=\"#{person.name}\"
rendered=\"#{person.name.length() > 5}\" />]]>"
#. Tag: para
#: Elenhancements.xml:89
@@ -189,35 +163,31 @@
#: Elenhancements.xml:93
#, no-c-format
msgid "#{searchResults.size()}"
-msgstr ""
+msgstr "<![CDATA[<h:outputText value=\"#{person.name}\"
rendered=\"#{person.name.length() > 5}\" />]]>"
#. Tag: para
#: Elenhancements.xml:95
#, no-c-format
-msgid ""
-"In general any expression of the form #{obj.property} would be identical to "
-"the expression #{obj.getProperty()}."
-msgstr ""
+msgid "In general any expression of the form #{obj.property} would be identical to
the expression #{obj.getProperty()}."
+msgstr "In generale qualsiasi espressione nella forma #{obj.property} è identica
all'espressione #{obj.getProperty()}."
#. Tag: para
#: Elenhancements.xml:99
#, no-c-format
-msgid ""
-"Parameters are also allowed. The following example calls the "
-"<literal>productsByColorMethod</literal> with a literal string
argument:"
+msgid "Parameters are also allowed. The following example calls the
<literal>productsByColorMethod</literal> with a literal string
argument:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:105
#, no-c-format
msgid "#{controller.productsByColor('blue')}"
-msgstr ""
+msgstr "#{controller.productsByColor('blue')}"
#. Tag: title
#: Elenhancements.xml:110
#, no-c-format
msgid "Limitations and Hints"
-msgstr ""
+msgstr "Limitazioni e suggerimenti"
#. Tag: para
#: Elenhancements.xml:112
@@ -228,23 +198,13 @@
#. Tag: para
#: Elenhancements.xml:118
#, no-c-format
-msgid ""
-"<emphasis>Incompatibility with JSP 2.1</emphasis> — JBoss EL
can't "
-"currently be used with JSP 2.1 as the compiler rejects expressions with "
-"parameters in. So, if you want to use this extension with JSF 1.2, you will "
-"need to use Facelets. The extension works correctly with JSP 2.0."
+msgid "<emphasis>Incompatibility with JSP 2.1</emphasis> —
JBoss EL can't currently be used with JSP 2.1 as the compiler rejects expressions with
parameters in. So, if you want to use this extension with JSF 1.2, you will need to use
Facelets. The extension works correctly with JSP 2.0."
msgstr ""
#. Tag: para
#: Elenhancements.xml:127
#, no-c-format
-msgid ""
-"<emphasis>Use inside iterative components</emphasis> —
Components like "
-"<literal><c:forEach /></literal> and
<literal><ui:repeat /></"
-"literal>iterate over a List or array, exposing each item in the list to "
-"nested components. This works great if you are selecting a row using a "
-"<literal><h:commandButton /></literal> or
<literal><h:commandLink /"
-"></literal>:"
+msgid "<emphasis>Use inside iterative components</emphasis> —
Components like <literal><c:forEach /></literal> and
<literal><ui:repeat /></literal>iterate over a List or array,
exposing each item in the list to nested components. This works great if you are selecting
a row using a <literal><h:commandButton /></literal> or
<literal><h:commandLink /></literal>:"
msgstr ""
#. Tag: programlisting
@@ -256,6 +216,10 @@
" return entityManager.createQuery(\"select
...\").getResultList();\n"
"}]]>"
msgstr ""
+"<![CDATA[@Factory(\"items\")\n"
+"public List<Item> getItems() {\n"
+" return entityManager.createQuery(\"select
...\").getResultList();\n"
+"}]]>"
#. Tag: programlisting
#: Elenhancements.xml:137
@@ -263,176 +227,133 @@
msgid ""
"<![CDATA[<h:dataTable value=\"#{items}\"
var=\"item\">\n"
" <h:column>\n"
-" <h:commandLink value=\"Select #{item.name}\"
action=\"#{itemSelector."
-"select(item})\" />\n"
+" <h:commandLink value=\"Select #{item.name}\"
action=\"#{itemSelector.select(item})\" />\n"
" </h:column>\n"
"</h:dataTable>]]>"
msgstr ""
+"<![CDATA[<h:dataTable value=\"#{items}\"
var=\"item\">\n"
+" <h:column>\n"
+" <h:commandLink value=\"Select #{item.name}\"
action=\"#{itemSelector.select(item})\" />\n"
+" </h:column>\n"
+"</h:dataTable>]]>"
#. Tag: para
#: Elenhancements.xml:138
#, no-c-format
-msgid ""
-"However if you want to use <literal><s:link /></literal>
or "
-"<literal><s:button /></literal> you
<emphasis>must</emphasis> expose "
-"the items as a <literal>DataModel</literal>, and use a
<literal><"
-"dataTable /></literal> (or equivalent from a component set like
"
-"<literal><rich:dataTable /></literal> ). Neither
<literal><s:link /"
-"></literal> or <literal><s:button
/></literal> submit the form (and "
-"therefore produce a bookmarkable link) so a \"magic\" parameter is needed
to "
-"recreate the item when the action method is called. This magic parameter can
"
-"only be added when a data table backed by a
<literal>DataModel</literal> is "
-"used."
+msgid "However if you want to use <literal><s:link
/></literal> or <literal><s:button /></literal> you
<emphasis>must</emphasis> expose the items as a
<literal>DataModel</literal>, and use a <literal><dataTable
/></literal> (or equivalent from a component set like
<literal><rich:dataTable /></literal> ). Neither
<literal><s:link /></literal> or <literal><s:button
/></literal> submit the form (and therefore produce a bookmarkable link) so a
\"magic\" parameter is needed to recreate the item when the action method is
called. This magic parameter can only be added when a data table backed by a
<literal>DataModel</literal> is used."
msgstr ""
#. Tag: para
#: Elenhancements.xml:154
#, no-c-format
-msgid ""
-"<emphasis>Calling a <literal>MethodExpression</literal> from Java
code</"
-"emphasis> — Normally, when a
<literal>MethodExpression</literal> is "
-"created, the parameter types are passed in by JSF. In the case of a method "
-"binding, JSF assumes that there are no parameters to pass. With this "
-"extension, we can't know the parameter types until after the expression has
"
-"been evaluated. This has two minor consequences:"
+msgid "<emphasis>Calling a <literal>MethodExpression</literal>
from Java code</emphasis> — Normally, when a
<literal>MethodExpression</literal> is created, the parameter types are passed
in by JSF. In the case of a method binding, JSF assumes that there are no parameters to
pass. With this extension, we can't know the parameter types until after the
expression has been evaluated. This has two minor consequences:"
msgstr ""
#. Tag: para
#: Elenhancements.xml:167
#, no-c-format
-msgid ""
-"When you invoke a <literal>MethodExpression</literal> in Java code,
"
-"parameters you pass may be ignored. Parameters defined in the expression "
-"will take precedence."
+msgid "When you invoke a <literal>MethodExpression</literal> in Java
code, parameters you pass may be ignored. Parameters defined in the expression will take
precedence."
msgstr ""
#. Tag: para
#: Elenhancements.xml:175
#, no-c-format
-msgid ""
-"Ordinarily, it is safe to call
<literal>methodExpression.getMethodInfo()."
-"getParamTypes()</literal> at any time. For an expression with parameters,
"
-"you must first invoke the <literal>MethodExpression</literal> before
calling "
-"<literal>getParamTypes()</literal>."
+msgid "Ordinarily, it is safe to call
<literal>methodExpression.getMethodInfo().getParamTypes()</literal> at any
time. For an expression with parameters, you must first invoke the
<literal>MethodExpression</literal> before calling
<literal>getParamTypes()</literal>."
msgstr ""
#. Tag: para
#: Elenhancements.xml:185
#, no-c-format
-msgid ""
-"Both of these cases are exceedingly rare and only apply when you want to "
-"invoke the <literal>MethodExpression</literal> by hand in Java
code."
+msgid "Both of these cases are exceedingly rare and only apply when you want to
invoke the <literal>MethodExpression</literal> by hand in Java code."
msgstr ""
#. Tag: title
#: Elenhancements.xml:196
#, no-c-format
msgid "Projection"
-msgstr ""
+msgstr "Proiezione"
#. Tag: para
#: Elenhancements.xml:198
#, no-c-format
-msgid ""
-"JBoss EL supports a limited projection syntax. A projection expression maps "
-"a sub-expression across a multi-valued (list, set, etc...) expression. For "
-"instance, the expression:"
+msgid "JBoss EL supports a limited projection syntax. A projection expression maps a
sub-expression across a multi-valued (list, set, etc...) expression. For instance, the
expression:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:204
#, no-c-format
msgid "#{company.departments}"
-msgstr ""
+msgstr "#{company.departments}"
#. Tag: para
#: Elenhancements.xml:206
#, no-c-format
-msgid ""
-"might return a list of departments. If you only need a list of department "
-"names, your only option is to iterate over the list to retrieve the values. "
-"JBoss EL allows this with a projection expression:"
+msgid "might return a list of departments. If you only need a list of department
names, your only option is to iterate over the list to retrieve the values. JBoss EL
allows this with a projection expression:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:212
#, no-c-format
msgid "#{company.departments.{d|d.name}}"
-msgstr ""
+msgstr "#{company.departments.{d|d.name}}"
#. Tag: para
#: Elenhancements.xml:214
#, no-c-format
-msgid ""
-"The subexpression is enclosed in braces. In this example, the expression "
-"<literal>d.name</literal> is evaluated for each department, using
"
-"<literal>d</literal> as an alias to the department object. The result
of "
-"this expression will be a list of String values."
+msgid "The subexpression is enclosed in braces. In this example, the expression
<literal>d.name</literal> is evaluated for each department, using
<literal>d</literal> as an alias to the department object. The result of this
expression will be a list of String values."
msgstr ""
#. Tag: para
#: Elenhancements.xml:221
#, no-c-format
-msgid ""
-"Any valid expression can be used in an expression, so it would be perfectly "
-"valid to write the following, assuming you had a use for the lengths of all "
-"the department names in a company:"
+msgid "Any valid expression can be used in an expression, so it would be perfectly
valid to write the following, assuming you had a use for the lengths of all the department
names in a company:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:227
#, no-c-format
msgid "#{company.departments.{d|d.size()}}"
-msgstr ""
+msgstr "#{company.departments.{d|d.size()}}"
#. Tag: para
#: Elenhancements.xml:229
#, no-c-format
-msgid ""
-"Projections can be nested. The following expression returns the last names "
-"of every employee in every department:"
+msgid "Projections can be nested. The following expression returns the last names of
every employee in every department:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:234
#, no-c-format
msgid "#{company.departments.{d|d.employees.{emp|emp.lastName}}}"
-msgstr ""
+msgstr "#{company.departments.{d|d.employees.{emp|emp.lastName}}}"
#. Tag: para
#: Elenhancements.xml:236
#, no-c-format
-msgid ""
-"Nested projections can be slightly tricky, however. The following expression
"
-"looks like it returns a list of all the employees in all the departments:"
+msgid "Nested projections can be slightly tricky, however. The following expression
looks like it returns a list of all the employees in all the departments:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:242
#, no-c-format
msgid "#{company.departments.{d|d.employees}}"
-msgstr ""
+msgstr "#{company.departments.{d|d.employees}}"
#. Tag: para
#: Elenhancements.xml:244
#, no-c-format
-msgid ""
-"However, it actually returns a list containing a list of the employees for "
-"each individual department. To combine the values, it is necessary to use a "
-"slightly longer expression:"
+msgid "However, it actually returns a list containing a list of the employees for
each individual department. To combine the values, it is necessary to use a slightly
longer expression:"
msgstr ""
#. Tag: programlisting
#: Elenhancements.xml:250
#, no-c-format
msgid "#{company.departments.{d|d.employees.{e|e}}}"
-msgstr ""
+msgstr "#{company.departments.{d|d.employees.{e|e}}}"
#. Tag: para
#: Elenhancements.xml:252
#, no-c-format
-msgid ""
-"It is important to note that this syntax cannot be parsed by Facelets or JSP
"
-"and thus cannot be used in xhtml or JSP files. We anticipate that the "
-"projection syntax will change in future versions of JBoss EL."
+msgid "It is important to note that this syntax cannot be parsed by Facelets or JSP
and thus cannot be used in xhtml or JSP files. We anticipate that the projection syntax
will change in future versions of JBoss EL."
msgstr ""
+
Modified: trunk/doc/Seam_Reference_Guide/it-IT/Preface.po
===================================================================
--- trunk/doc/Seam_Reference_Guide/it-IT/Preface.po 2008-12-12 14:44:37 UTC (rev 9762)
+++ trunk/doc/Seam_Reference_Guide/it-IT/Preface.po 2008-12-12 14:45:51 UTC (rev 9763)
@@ -6,7 +6,7 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-04-04 01:24+0000\n"
-"PO-Revision-Date: 2008-12-12 14:48+0100\n"
+"PO-Revision-Date: 2008-12-12 15:33+0100\n"
"Last-Translator: Nicola Benaglia <nico.benaz(a)gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
@@ -212,7 +212,7 @@
#: Preface.xml:219
#, no-c-format
msgid "Seam components, being plain Java classes, are by nature unit testable. But
for complex applications, unit testing alone is insufficient. Integration testing has
traditionally been a messy and difficult task for Java web applications. Therefore, Seam
provides for testability of Seam applications as a core feature of the framework. You can
easily write JUnit or TestNG tests that reproduce a whole interaction with a user,
exercising all components of the system apart from the view (the JSP or Facelets page).
You can run these tests directly inside your IDE, where Seam will automatically deploy EJB
components using JBoss Embedded."
-msgstr "I componenti Seam, essendo semplici classi Java, sono per natura unità
testabili. Ma per le applicazioni complesse, il test dell'unità (testing unit) da solo
è insufficiente. Il test d'integrazione (integration testing) è tradizionalmente stato
complicato e difficile per le applicazioni web Java. Seam fornisce la testabilità delle
applicazioni come caratteristica essenziale del framework. Potrai facilmente scrivere test
JUnit o TestNG che riproducano tutta l'interazione con l'utente, provando tutti i
componenti del sistema separati dalla vista (pagina JSP o Facelet). Potrai eseguire questi
test direttamente dentro il tu IDE, dove Seam automaticamente eseguirà il deploy dei
componenti EJB usando JBoss Embedded."
+msgstr "I componenti Seam, essendo semplici classi Java, sono per natura unità
testabili. Ma per le applicazioni complesse, il test dell'unità (testing unit) da solo
è insufficiente. Il test d'integrazione (integration testing) è tradizionalmente stato
complicato e difficile per le applicazioni web Java. Seam fornisce la testabilità delle
applicazioni come caratteristica essenziale del framework. Potrai facilmente scrivere test
JUnit o TestNG che riproducano tutta l'interazione con l'utente, provando tutti i
componenti del sistema separati dalla vista (pagina JSP o Facelet). Potrai eseguire questi
test direttamente dentro il tuo IDE, dove Seam automaticamente eseguirà il deploy dei
componenti EJB usando JBoss Embedded."
#. Tag: emphasis
#: Preface.xml:232