Author: jdimanos(a)jboss.com
Date: 2009-03-28 06:36:03 -0400 (Sat, 28 Mar 2009)
New Revision: 7947
Modified:
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/de-DE/Architecture.po
Log:
update
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/de-DE/Architecture.po
===================================================================
---
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/de-DE/Architecture.po 2009-03-28
02:53:56 UTC (rev 7946)
+++
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/de-DE/Architecture.po 2009-03-28
10:36:03 UTC (rev 7947)
@@ -1,36 +1,38 @@
+# translation of Architecture.po to
# Language /tmp/mike/JBEAP420/Cache translations for JBEAP package.
-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009 Free Software Foundation, Inc.
# Automatically generated, 2007.
#
msgid ""
msgstr ""
-"Project-Id-Version: JBEAP 420\n"
+"Project-Id-Version: Architecture\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2001-02-09 01:25+0100\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-03-28 21:34+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: Architecture.xml:5
#, no-c-format
msgid "Architecture"
-msgstr ""
+msgstr "Architektur"
#. Tag: para
#: Architecture.xml:6
#, no-c-format
msgid "Following explains the concepts and top-level design of PojoCache."
-msgstr ""
+msgstr "Folgendes erklärt die Konzepte und das Design auf höchster Ebene von
PojoCache."
#. Tag: title
#: Architecture.xml:9
#, no-c-format
msgid "Dynamic AOP interception"
-msgstr ""
+msgstr "Dynamische AOP-Interzeption"
#. Tag: para
#: Architecture.xml:10
@@ -98,19 +100,19 @@
#: Architecture.xml:27
#, no-c-format
msgid "Dynamic AOP interception for field write"
-msgstr ""
+msgstr "Dynamische AOP-Interzeption für Feld \"write\""
#. Tag: title
#: Architecture.xml:35
#, no-c-format
msgid "Dynamic AOP Interception for field read"
-msgstr ""
+msgstr "Dynamische AOP-Interzeption für Feld \"read\""
#. Tag: title
#: Architecture.xml:42 Architecture.xml:85
#, no-c-format
msgid "Object mapping by reachability"
-msgstr ""
+msgstr "Objekt-Mapping nach Erreichbarkeit"
#. Tag: para
#: Architecture.xml:43
@@ -125,18 +127,23 @@
"discussed above. In addition, the cache will map recursively the primitive "
"object fields into the corresponding cache nodes."
msgstr ""
+"Ein komplexes ist seiner Definition nach ein Objekt, das aus zusammengesetzten
Objektreferenzen bestehen kann. Nachdem ein komplexes Objekt als \"vorbereitet\"
deklariert ist (z.B. ein "
+"<literal>Person</literal>-Objekt), während der
<literal>putObject(Fqn fqn, "
+"Object pojo)</literal>-Operation, fügt PojoCache eine "
+"<literal>CacheInterceptor</literal>-Instanz dem "
+"<literal>InstanceAdvisor</literal> hinzu, der mit diesem Objekt
assoziiert wird, wie bereits oben besprochen. Zusätzlich mappt das Cache die primitiven
Objektfelder in die entsprechenden Cache-Nodes."
#. Tag: para
#: Architecture.xml:46
#, no-c-format
msgid "The mapping rule is as follows:"
-msgstr ""
+msgstr "Die Mapping-Regel lautet wie folgt:"
#. Tag: para
#: Architecture.xml:51
#, no-c-format
msgid "Create a tree node using <literal>fqn</literal>, if not yet
existed."
-msgstr ""
+msgstr "Erstellen Sie unter Verwendung von <literal>fqn</literal> einen
Baum-Node, falls noch nicht vorhanden."
#. Tag: para
#: Architecture.xml:56
@@ -145,6 +152,8 @@
"Go through all the fields (say, with an association
<literal>java.lang."
"reflect.Field</literal> type field) in POJO,"
msgstr ""
+"Gehen Sie durch alle Felder (sagen wir, mit einem assoziierten
<literal>java.lang."
+"reflect.Field</literal>-Typenfeld) in POJO,"
#. Tag: para
#: Architecture.xml:61
@@ -156,6 +165,10 @@
"types supported now: <literal>String, Boolean, Double, Float, Integer, Long,
"
"Short, Character.</literal>"
msgstr ""
+"Handelt es sich um einen primitiven Typ, so wird der Feldwert unter "
+"<literal>fqn</literal> mit einem <literal>(key,
value)</literal> Paar von <literal>"
+"(field.getName(), field.getValue()).</literal> gespeichert. Folgendes sind
die jetzt unterstützten primitiven Typen: <literal>String, Boolean, Double, Float,
Integer, Long, "
+"Short, Character.</literal>"
#. Tag: para
#: Architecture.xml:66
@@ -164,13 +177,13 @@
"If it is a non-primitive type, creates a child <literal>FQN</literal>
and "
"then recursively executes another <literal>pubObject</literal> until it
"
"reaches all primitive types."
-msgstr ""
+msgstr "Handelt es sich um einen nicht-primitiven Typ, so wird ein untergeordnetes
<literal>FQN</literal> erstellt und dann rekursiv ein weiteres
<literal>pubObject</literal> ausgeführt bis alle primitiven Typen erreicht
wurden."
#. Tag: para
#: Architecture.xml:73
#, no-c-format
msgid "Following is a code snippet that illustrates this mapping process"
-msgstr ""
+msgstr "Folgendes ist ein Code-Schnipsel, das diesen Mapping-Prozess
illustriert"
#. Tag: programlisting
#: Architecture.xml:76
@@ -186,6 +199,15 @@
" putObject(new Fqn(fqn, field.getName()), value);\n"
"}"
msgstr ""
+"for (Iterator i = type.getFields().iterator(); i.hasNext();) {\n"
+" Field field = (Field) i.next();\n"
+" Object value = field.get(obj);\n"
+" CachedType fieldType = getCachedType(field.getType());\n"
+" if (fieldType.isImmediate()) {\n"
+" immediates.put(field.getName(), value);\n"
+"} else {\n"
+" putObject(new Fqn(fqn, field.getName()), value);\n"
+"}"
#. Tag: para
#: Architecture.xml:77
@@ -197,6 +219,8 @@
"literal> call, the resulting tree node will schematically look like the "
"cache node in the following figures:"
msgstr ""
+"Nehmen wir eine Beispiel POJO Klassendefinition aus dem Anhangabschnitt, wo wir ein
<literal>Person</literal>-Objekt haben, das zusammengesetzte, nicht-primitive
Typen (z.B. List und Address) besitzt. Nachdem wir den
<literal>putObject</"
+"literal>-Aufruf ausgeführt haben, wird der resultierende Baum-Node schematisch
wie der Cache-Node in folgenden Abbildungen aussehen:"
#. Tag: programlisting
#: Architecture.xml:80
@@ -207,6 +231,10 @@
"\n"
"cache.putObject(\"/aop/joe\", joe);"
msgstr ""
+"Person joe = new Person();\n"
+"joe.setAddress(new Address());\n"
+"\n"
+"cache.putObject(\"/aop/joe\", joe);"
#. Tag: para
#: Architecture.xml:81
@@ -229,6 +257,11 @@
"will have <literal>Zip</literal> ,
<literal>Street</literal> , etc. stored "
"there)."
msgstr ""
+"Die PojoCache APIs werden später genauer erläutert. Aber beachten Sie die
Darstellung des Objekt-Mapping nach Erreichbarkeit in folgender Abbildung. Der fqn
(\"fully qualified name\", zu dt. vollqualifizierter Name)
<literal>/aop/joe</literal> wird mit dem POJO <literal>joe</"
+"literal> assoziiert. Unter diesem fqn befinden sich dann drei untergeordnete
Nodes: <literal>addr,"
+"</literal><literal>skills,</literal> und
<literal>languages.</literal>. Wenn Sie sich die
<literal>Person</literal>-Klassendeklaration ansehen, so sehen Sie, dass
<literal>addr</literal> eine <literal>Address</literal>-Klasse,
<literal>skills</literal> ein <literal>Set</literal> und "
+"<literal>languages</literal> ein
<literal>List</literal>-Typ ist. Da sie nicht-primitiv sind, werden sie
rekursiv unter dem übergeordneten Objekt "
+"(<literal>joe</literal>) eingefügt, bis alle primitiven Typen erreicht
sind. Auf diese Weise haben wir das Objektdiagramm in eine Baumansicht aufgelöst, die gut
in unsere interne Struktur passt. Beachten Sie, dass alle primitiven Typen innerhalb der
HashMap des betreffenden Nodes gespeichert werden (z.B. wird
<literal>addr</literal> <literal>Zip</literal> ,
<literal>Street</literal> usw. dort gespeichert haben)."
#. Tag: para
#: Architecture.xml:92
@@ -239,6 +272,8 @@
"object (e.g., <literal>joe</literal>) that has complex object
references "
"will be mapped into the underlying cache store as explained above."
msgstr ""
+"Hier ist ein Code-Schnipsel, um das Objekt-Mapping nach Erreichbarkeits-Feature zu
demonstrieren, "
+"das wir gerade erklärt haben. Beachten Sie, wie ein
<literal>Person</literal>-Objekt (z.B. <literal>joe</literal>) das
komplexe Objektreferenzen besitzt, in den zugrundeliegenden Cache-Speicher gemappt wird
wie oben beschrieben."
#. Tag: programlisting
#: Architecture.xml:95
@@ -271,6 +306,32 @@
"// of cache contents automatically.\n"
"joe.setAge(41);"
msgstr ""
+"import org.jboss.cache.PropertyConfigurator;\n"
+"import org.jboss.cache.aop.PojoCache;\n"
+"import org.jboss.test.cache.test.standAloneAop.Person;\n"
+"import org.jboss.test.cache.test.standAloneAop.Address;\n"
+"\n"
+"PojoCache tree = new PojoCache();\n"
+"PropertyConfigurator config = new PropertyConfigurator(); // configure tree "
+"cache.\n"
+"config.configure(tree, \"META-INF/replSync-service.xml\");\n"
+"\n"
+"Person joe = new Person(); // instantiate a Person object named joe\n"
+"joe.setName(\"Joe Black\");\n"
+"joe.setAge(31);\n"
+"\n"
+"Address addr = new Address(); // instantiate a Address object named addr\n"
+"addr.setCity(\"Sunnyvale\");\n"
+"addr.setStreet(\"123 Albert Ave\");\n"
+"addr.setZip(94086);\n"
+"joe.setAddress(addr); // set the address reference\n"
+"\n"
+"tree.startService(); // kick start tree cache\n"
+"tree.putObject(\"/aop/joe\", joe); // add aop sanctioned object (and
sub-"
+"objects) into cache.\n"
+"// since it is aspectized, use of plain get/set methods will take care\n"
+"// of cache contents automatically.\n"
+"joe.setAge(41);"
#. Tag: para
#: Architecture.xml:96
@@ -280,7 +341,7 @@
"instantiating the <literal>PojoCache</literal> , configuring, and
starting "
"the cache instance. Then, a user creates the aspectized POJO that will be "
"put into the cache using <literal>putObject()</literal> API."
-msgstr ""
+msgstr "Beachten Sie, das eine typische
<literal>PojoCache</literal>-Verwendung die Instantiierung von
<literal>PojoCache</literal> , Konfiguration und den Start der Cache-Instanz
beinhaltet. Dann erstellt der Benutzer das aspektisierte POJO, das mittels der
<literal>putObject()</literal>-API im Cache platziert wird."
#. Tag: para
#: Architecture.xml:99
@@ -295,6 +356,9 @@
"replicated GUI point of view. Details of Collection class support will be "
"given later."
msgstr ""
+"Zusätzlich unterstützt PojoCache auch get/set mit Parameter-Typ einiger "
+"<literal>Collection</literal>-Klassen (d.h.
<literal>List</literal> , "
+"<literal>Map</literal> und <literal>Set</literal> )
automatisch. Der folgende Code-Schnipsel zum Beispiel bringt PojoCache zusätzlich zum
oberen Beispiel dazu, auch die Stati für die
<literal>Languages</literal>-Liste zu verwenden. Die folgende Abbildung
illustriert die Node-Struktur aus Sicht der replizierten GUI. Einzelheiten zum Support der
Collection-Klasse werden später erklärt."
#. Tag: programlisting
#: Architecture.xml:102
@@ -305,18 +369,22 @@
"lang.add(\"Mandarin\");\n"
"joe.setLanguages(lang);"
msgstr ""
+"ArrayList lang = new ArrayList();\n"
+"lang.add(\"Ensligh\");\n"
+"lang.add(\"Mandarin\");\n"
+"joe.setLanguages(lang);"
#. Tag: title
#: Architecture.xml:104
#, no-c-format
msgid "Schematic illustration of List class mapping"
-msgstr ""
+msgstr "Schematische Illustrierung von \"List\" Klassen-Mapping"
#. Tag: title
#: Architecture.xml:111
#, no-c-format
msgid "Object relationship management"
-msgstr ""
+msgstr "Management der Objektbeziehung"
#. Tag: para
#: Architecture.xml:112
@@ -336,6 +404,7 @@
#. Tag: para
#: Architecture.xml:115
#, no-c-format
+#, fuzzy
msgid ""
"During the mapping process, we will check whether any of its associated "
"object is multiple or circular referenced. A reference counting mechanism "
@@ -344,6 +413,12 @@
"referenced <literal>fqn</literal> will be stored there to redirect any
query "
"and update to the original node."
msgstr ""
+"Während des Mapping-Vorgangs prüfen wir, ob associated "
+"object is multiple or circular referenced. A reference counting mechanism "
+"has been implemented associating with the
<literal>CacheInterceptor</"
+"literal>. If a new object created in the cache referenced to another POJO, a
"
+"referenced <literal>fqn</literal> will be stored there to redirect any
query "
+"and update to the original node."
#. Tag: para
#: Architecture.xml:118
@@ -416,6 +491,44 @@
"tree.removeObject(\"/aop/joe\");\n"
"maryAddr = mary.getAddress(); // Should still have the address."
msgstr ""
+"import org.jboss.cache.PropertyConfigurator;\n"
+"import org.jboss.cache.aop.PojoCache;\n"
+"import org.jboss.test.cache.test.standAloneAop.Person;\n"
+"import org.jboss.test.cache.test.standAloneAop.Address;\n"
+"\n"
+"PojoCache tree = new PojoCache();\n"
+"PropertyConfigurator config = new PropertyConfigurator(); // configure tree "
+"cache.\n"
+"config.configure(tree, \"META-INF/replSync-service.xml\");\n"
+"\n"
+"Person joe = new Person(); // instantiate a Person object named joe\n"
+"joe.setName(\"Joe Black\");\n"
+"joe.setAge(31);\n"
+"\n"
+"Person mary = new Person(); // instantiate a Person object named mary\n"
+"mary.setName(\"Mary White\");\n"
+"mary.setAge(30);\n"
+"\n"
+"Address addr = new Address(); // instantiate a Address object named addr\n"
+"addr.setCity(\"Sunnyvale\");\n"
+"addr.setStreet(\"123 Albert Ave\");\n"
+"addr.setZip(94086);\n"
+"\n"
+"joe.setAddress(addr); // set the address reference\n"
+"mary.setAddress(addr); // set the address reference\n"
+"\n"
+"tree.startService(); // kick start tree\n"
+"tree.putObject(\"/aop/joe\", joe); // add aop sanctioned object (and
sub-"
+"objects) into cache.\n"
+"tree.putObject(\"/aop/mary\", mary); // add aop sanctioned object (and
sub-"
+"objects) into cache.\n"
+"\n"
+"Address joeAddr = joe.getAddress();\n"
+"Address maryAddr = mary.getAddress(); // joeAddr and maryAddr should be the "
+"same instance\n"
+"\n"
+"tree.removeObject(\"/aop/joe\");\n"
+"maryAddr = mary.getAddress(); // Should still have the address."
#. Tag: para
#: Architecture.xml:133
@@ -468,6 +581,31 @@
"int zip = joeAddr.getAddress().getZip(); // Should be 95123 as well instead "
"of 94086!"
msgstr ""
+"/**\n"
+" * Code snippet on cache2 during fail-over\n"
+" */\n"
+"import org.jboss.cache.PropertyConfigurator;\n"
+"import org.jboss.cache.aop.PojoCache;\n"
+"import org.jboss.test.cache.test.standAloneAop.Person;\n"
+"import org.jboss.test.cache.test.standAloneAop.Address;\n"
+"\n"
+"PojoCache tree = new PojoCache();\n"
+"PropertyConfigurator config = new PropertyConfigurator(); // configure tree "
+"cache.\n"
+"config.configure(tree, \"META-INF/replSync-service.xml\");\n"
+"\n"
+"tree.startService(); // kick start tree\n"
+"Person joe = tree.getObject(\"/aop/joe\"); // retrieve the POJO
reference.\n"
+"Person mary = tree.getObject(\"/aop/mary\"); // retrieve the POJO "
+"reference.\n"
+"\n"
+"Address joeAddr = joe.getAddress();\n"
+"Address maryAddr = mary.getAddress(); // joeAddr and maryAddr should be the "
+"same instance!!!\n"
+"\n"
+"maryAddr = mary.getAddress().setZip(95123);\n"
+"int zip = joeAddr.getAddress().getZip(); // Should be 95123 as well instead "
+"of 94086!"
#. Tag: title
#: Architecture.xml:140
@@ -515,6 +653,21 @@
"joe.setYear(\"Junior\"); // will be intercepted by the cache\n"
"joe.setName(\"Joe Black II\"); // also intercepted by the cache"
msgstr ""
+"import org.jboss.test.cache.test.standAloneAop.Student;\n"
+"\n"
+"Student joe = new Student(); // Student extends Person class\n"
+"joe.setName(\"Joe Black\"); // This is base class attributes\n"
+"joe.setAge(22); // This is also base class attributes\n"
+"joe.setYear(\"Senior\"); // This is Student class attribute\n"
+"\n"
+"tree.putObject(\"/aop/student/joe\", joe);\n"
+"\n"
+"//...\n"
+"\n"
+"joe = (Student)tree.putObject(\"/aop/student/joe\");\n"
+"Person person = (Person)joe; // it will be correct here\n"
+"joe.setYear(\"Junior\"); // will be intercepted by the cache\n"
+"joe.setName(\"Joe Black II\"); // also intercepted by the cache"
#. Tag: title
#: Architecture.xml:148
@@ -566,6 +719,16 @@
"reference\n"
"proxyList.add(\"FOUR\"); // This will be intercepted by the cache"
msgstr ""
+"List list = new ArrayList();\n"
+"list.add(\"ONE\");\n"
+"list.add(\"TWO\");\n"
+"\n"
+"tree.putObject(\"/aop/list\", list);\n"
+"list.add(\"THREE\"); // This won't intercept by the cache!\n"
+"\n"
+"List proxyList = tree.getObject(\"/aop/list\"; // Note that list is a
proxy "
+"reference\n"
+"proxyList.add(\"FOUR\"); // This will be intercepted by the cache"
#. Tag: para
#: Architecture.xml:164
@@ -591,6 +754,17 @@
"ArrayList lang = joe.getLanguages(); // Note that lang is a proxy
reference\n"
"lang.add(\"French\"); // This will be intercepted by the cache"
msgstr ""
+"Person joe = new Person();\n"
+"joe.setName(\"Joe Black\"); // This is base class attributes\n"
+"ArrayList lang = new ArrayList();\n"
+"lang.add(\"English\");\n"
+"lang.add(\"Mandarin\");\n"
+"joe.setLanguages(lang);\n"
+"// This will map the languages List automatically and swap it out with the "
+"proxy reference.\n"
+"tree.putObject(\"/aop/student/joe\", joe);\n"
+"ArrayList lang = joe.getLanguages(); // Note that lang is a proxy
reference\n"
+"lang.add(\"French\"); // This will be intercepted by the cache"
#. Tag: para
#: Architecture.xml:168
@@ -626,6 +800,17 @@
"tree.removeObject(\"/aop/list\"); // detach from the cache\n"
"proxyList.add(\"FOUR\"); // proxyList has 4 elements still."
msgstr ""
+"List list = new ArrayList();\n"
+"list.add(\"ONE\");\n"
+"list.add(\"TWO\");\n"
+"\n"
+"tree.putObject(\"/aop/list\", list);\n"
+"List proxyList = tree.getObject(\"/aop/list\"); // Note that list is a
proxy "
+"reference\n"
+"proxyList.add(\"THREE\"); // This will be intercepted by the
cache\n"
+"\n"
+"tree.removeObject(\"/aop/list\"); // detach from the cache\n"
+"proxyList.add(\"FOUR\"); // proxyList has 4 elements still."
#. Tag: title
#: Architecture.xml:175
@@ -666,3 +851,4 @@
"items to a Set is slower than a List or Map, since Set does not allow "
"duplicate entries."
msgstr ""
+