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