You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2005/07/19 19:29:38 UTC

svn commit: r219722 - in /portals/jetspeed-2/trunk/components: page-manager/src/java/META-INF/ page-manager/src/java/org/apache/jetspeed/page/document/ page-manager/src/test/org/apache/jetspeed/page/ page-manager/testdata/pages/ registry/src/java/org/a...

Author: rwatler
Date: Tue Jul 19 10:29:36 2005
New Revision: 219722

URL: http://svn.apache.org/viewcvs?rev=219722&view=rev
Log:
standarize PSML document encoding, (UTF-8), and correct Castor mappings and locale specific metadata operation, [JIRA JS2-139/JS2-268], includes patches from James Liao

Modified:
    portals/jetspeed-2/trunk/components/page-manager/src/java/META-INF/page-mapping.xml
    portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/CastorFileSystemDocumentHandler.java
    portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java
    portals/jetspeed-2/trunk/components/page-manager/testdata/pages/default-page.psml
    portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/GenericMetadataImpl.java
    portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/LocalizedFieldImpl.java

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/META-INF/page-mapping.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/java/META-INF/page-mapping.xml?rev=219722&r1=219721&r2=219722&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/META-INF/page-mapping.xml (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/META-INF/page-mapping.xml Tue Jul 19 10:29:36 2005
@@ -54,7 +54,7 @@
       <bind-xml name="name" node="attribute"/>
     </field>
 
-    <field name="locale" type="java.lang.String" set-method="setLanguage">
+    <field name="language" type="java.lang.String">
       <bind-xml name="xml:lang" node="attribute"/>
     </field>
 

Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/CastorFileSystemDocumentHandler.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/CastorFileSystemDocumentHandler.java?rev=219722&r1=219721&r2=219722&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/CastorFileSystemDocumentHandler.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/document/CastorFileSystemDocumentHandler.java Tue Jul 19 10:29:36 2005
@@ -16,11 +16,14 @@
 package org.apache.jetspeed.page.document;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
@@ -67,9 +70,10 @@
  */
 public class CastorFileSystemDocumentHandler implements org.apache.jetspeed.page.document.DocumentHandler, FileCacheEventListener
 {
-
     private final static Log log = LogFactory.getLog(CastorFileSystemDocumentHandler.class);
 
+    private final static String PSML_DOCUMENT_ENCODING = "UTF-8";
+
     protected String mappingFile;
     protected String documentType;
     protected Class expectedReturnType;
@@ -107,7 +111,7 @@
         this.format = new OutputFormat();
         format.setIndenting(true);
         format.setIndent(4);
-        format.setEncoding("UTF-8");
+        format.setEncoding(PSML_DOCUMENT_ENCODING);
 
         loadMapping();
     }
@@ -175,7 +179,7 @@
             fileName = path + this.documentType;
         }
         File f = new File(this.documentRootDir, fileName);
-        FileWriter writer = null;
+        Writer writer = null;
 
         try
         {
@@ -183,7 +187,7 @@
             // page and folder menu definition menu elements ordered
             // polymorphic collection to strip artifical <menu-element>
             // tags enabling Castor XML binding; see META-INF/page-mapping.xml
-            writer = new FileWriter(f);
+            writer = new OutputStreamWriter(new FileOutputStream(f), PSML_DOCUMENT_ENCODING);
             Serializer serializer = new XMLSerializer(writer, this.format);
             final DocumentHandler handler = serializer.asDocumentHandler();
             Marshaller marshaller = new Marshaller(new DocumentHandler()
@@ -349,7 +353,7 @@
             SAXParser parser = factory.newSAXParser();
             XMLReader reader = parser.getXMLReader();
             final XMLReaderAdapter readerAdapter = new XMLReaderAdapter(reader);
-            final InputSource readerInput = new InputSource(new FileReader(f));
+            final InputSource readerInput = new InputSource(new InputStreamReader(new FileInputStream(f), PSML_DOCUMENT_ENCODING));
             Unmarshaller unmarshaller = new Unmarshaller(this.mapping);
             document = (Document) unmarshaller.unmarshal(new EventProducer()
                 {

Modified: portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java?rev=219722&r1=219721&r2=219722&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/test/org/apache/jetspeed/page/TestCastorXmlPageManager.java Tue Jul 19 10:29:36 2005
@@ -274,6 +274,9 @@
         System.out.println("Retrieved test_id in create " + this.testPage002);
         page.setDefaultSkin("myskin");
         page.setTitle("Created Page");
+        GenericMetadata metadata = page.getMetadata();
+        metadata.addField(Locale.FRENCH, "title", "Created Page de PSML");
+        metadata.addField(Locale.JAPANESE, "title", "Created \u3078\u3088\u3046\u3053\u305d");
 
         Fragment root = page.getRootFragment();
         root.setName("TestLayout");
@@ -321,7 +324,9 @@
         page = pageManager.getPage(this.testPage002);
         assertNotNull(page);
         assertTrue(page.getId().equals(this.testPage002));
-        assertTrue(page.getTitle().equals("Created Page"));
+        assertEquals("Created Page", page.getTitle());
+        assertEquals("Created Page de PSML", page.getTitle(Locale.FRENCH));
+        assertEquals("Created \u3078\u3088\u3046\u3053\u305d", page.getTitle(Locale.JAPANESE));
         assertNotNull(page.getRootFragment());
         assertTrue(page.getRootFragment().getName().equals("TestLayout"));
         assertTrue(page.getRootFragment().getFragments().size() == 1);
@@ -550,6 +555,9 @@
         String frenchTitle = page.getTitle(Locale.FRENCH);
         assertNotNull(frenchTitle);
         assertEquals("Ma Premiere Page de PSML", frenchTitle);
+        String japaneseTitle = page.getTitle(Locale.JAPANESE);
+        assertNotNull(japaneseTitle);
+        assertEquals("Jetspeed 2 \u3078\u3088\u3046\u3053\u305d", japaneseTitle);
         String defaultTitle = page.getTitle(Locale.GERMAN);
         assertNotNull(defaultTitle);
         assertEquals("My First PSML Page", defaultTitle);
@@ -948,5 +956,4 @@
         
         // TODO: menu testing
     }
-    
 }

Modified: portals/jetspeed-2/trunk/components/page-manager/testdata/pages/default-page.psml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/testdata/pages/default-page.psml?rev=219722&r1=219721&r2=219722&view=diff
==============================================================================
Binary files - no diff available.

Modified: portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/GenericMetadataImpl.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/GenericMetadataImpl.java?rev=219722&r1=219721&r2=219722&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/GenericMetadataImpl.java (original)
+++ portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/GenericMetadataImpl.java Tue Jul 19 10:29:36 2005
@@ -43,7 +43,7 @@
      */
     public void addField(Locale locale, String name, String value)
     {
-        LocalizedFieldImpl field = new LocalizedFieldImpl();
+        LocalizedField field = createLocalizedField();
         field.setName(name);
         field.setValue(value);
         field.setLocale(locale);

Modified: portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/LocalizedFieldImpl.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/LocalizedFieldImpl.java?rev=219722&r1=219721&r2=219722&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/LocalizedFieldImpl.java (original)
+++ portals/jetspeed-2/trunk/components/registry/src/java/org/apache/jetspeed/om/impl/LocalizedFieldImpl.java Tue Jul 19 10:29:36 2005
@@ -125,6 +125,15 @@
         }
     }
 
+    public String getLanguage()
+    {
+        if (this.locale != null)
+        {
+            return this.locale.toString();
+        }
+        return null;
+    }
+
     /* (non-Javadoc)
      * @see org.apache.jetspeed.om.common.LocalizedField#getName()
      */



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org