sgala 01/09/13 06:53:03
Modified: src/java/org/apache/jetspeed/portal/portlets
NewRSSPortlet.java RSSPortlet.java
src/java/org/apache/jetspeed/services/registry
CastorRegistryService.java
src/java/org/apache/jetspeed/util SimpleTransform.java
src/java/org/apache/jetspeed/util/servlet
EcsStylesheetElement.java
src/java/org/apache/jetspeed/xml
JetspeedXMLEntityResolver.java
Log:
Ensuring that all our InputSources have a proper systemId to resolve relatives URIs
in the XML parsing/XSLT transformation processes. Required for saxon compatibility
Revision Changes Path
1.11 +2 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/NewRSSPortlet.java
Index: NewRSSPortlet.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/NewRSSPortlet.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- NewRSSPortlet.java 2001/09/10 22:41:01 1.10
+++ NewRSSPortlet.java 2001/09/13 13:53:02 1.11
@@ -99,7 +99,7 @@
is only used for this mime-type</dd>
</dl>
@author <A HREF="mailto:[EMAIL PROTECTED]">Rapha�l Luta</A>
-@version $Id: NewRSSPortlet.java,v 1.10 2001/09/10 22:41:01 sgala Exp $
+@version $Id: NewRSSPortlet.java,v 1.11 2001/09/13 13:53:02 sgala Exp $
*/
public class NewRSSPortlet extends FileWatchPortlet {
@@ -153,6 +153,7 @@
parser.setEntityResolver(new JetspeedXMLEntityResolver() );
InputSource isrc = new InputSource( this.cleanse( content ) );
+ isrc.setSystemId( url );
isrc.setEncoding("UTF-8");
this.document = parser.parse( isrc );
1.45 +4 -3
jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/RSSPortlet.java
Index: RSSPortlet.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/portlets/RSSPortlet.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- RSSPortlet.java 2001/03/07 06:47:12 1.44
+++ RSSPortlet.java 2001/09/13 13:53:02 1.45
@@ -87,7 +87,7 @@
@author <A HREF="mailto:[EMAIL PROTECTED]">Kevin A. Burton</A>
@author <A HREF="mailto:[EMAIL PROTECTED]">Santiago Gala</A>
-@version $Id: RSSPortlet.java,v 1.44 2001/03/07 06:47:12 taylor Exp $
+@version $Id: RSSPortlet.java,v 1.45 2001/09/13 13:53:02 sgala Exp $
*/
public class RSSPortlet extends FileWatchPortlet {
@@ -100,7 +100,7 @@
/**
@author <A HREF="mailto:[EMAIL PROTECTED]">Kevin A. Burton</A>
- @version $Id: RSSPortlet.java,v 1.44 2001/03/07 06:47:12 taylor Exp $
+ @version $Id: RSSPortlet.java,v 1.45 2001/09/13 13:53:02 sgala Exp $
*/
public void init( ) throws PortletException {
@@ -119,6 +119,7 @@
//SGP Should make no difference ...
is.setEncoding( "UTF8" );
+ is.setSystemId( url );
parser.setFeature(
"http://apache.org/xml/features/allow-java-encodings",
true );
@@ -295,7 +296,7 @@
/**
@author <A HREF="mailto:[EMAIL PROTECTED]">Kevin A. Burton</A>
- @version $Id: RSSPortlet.java,v 1.44 2001/03/07 06:47:12 taylor Exp $
+ @version $Id: RSSPortlet.java,v 1.45 2001/09/13 13:53:02 sgala Exp $
*/
public boolean isCacheable() {
return true;
1.9 +4 -2
jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/CastorRegistryService.java
Index: CastorRegistryService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/CastorRegistryService.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- CastorRegistryService.java 2001/07/29 13:42:00 1.8
+++ CastorRegistryService.java 2001/09/13 13:53:02 1.9
@@ -101,7 +101,7 @@
* </p>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Rapha�l Luta</a>
- * @version $Id: CastorRegistryService.java,v 1.8 2001/07/29 13:42:00 raphael Exp $
+ * @version $Id: CastorRegistryService.java,v 1.9 2001/09/13 13:53:02 sgala Exp $
*/
public class CastorRegistryService
extends TurbineBaseService
@@ -334,7 +334,9 @@
try
{
mapping = new Mapping();
- mapping.loadMapping( new InputSource( new FileReader(map) ) );
+ InputSource is = new InputSource( new FileReader(map) );
+ is.setSystemId( mapFile );
+ mapping.loadMapping( is );
}
catch (Exception e)
{
1.17 +21 -6
jakarta-jetspeed/src/java/org/apache/jetspeed/util/SimpleTransform.java
Index: SimpleTransform.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/SimpleTransform.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- SimpleTransform.java 2001/05/29 18:21:37 1.16
+++ SimpleTransform.java 2001/09/13 13:53:02 1.17
@@ -69,7 +69,7 @@
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.Templates;
-import javax.xml.transform.stream.StreamSource;
+//import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException;
@@ -101,6 +101,7 @@
//Jetspeed stuff
import org.apache.jetspeed.cache.disk.*;
+import org.apache.jetspeed.xml.JetspeedXMLEntityResolver;
@@ -114,7 +115,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Santiago Gala</a>
- * @version $Id: SimpleTransform.java,v 1.16 2001/05/29 18:21:37 sgala Exp $
+ * @version $Id: SimpleTransform.java,v 1.17 2001/09/13 13:53:02 sgala Exp $
*/
public class SimpleTransform
{
@@ -181,10 +182,13 @@
// Create an XMLReader and set its ContentHandler.
XMLReader reader = XMLReaderFactory.createXMLReader();
reader.setContentHandler(templatesHandler);
+ // Set it to solve Entities through Jetspeed URL Manager
+ reader.setEntityResolver( new JetspeedXMLEntityResolver() );
// Parse the stylesheet.
final InputSource xstyle = new InputSource(
JetspeedDiskCache.getInstance()
.getEntry( stylesheet_url
).getReader() );
+ xstyle.setSystemId( stylesheet_url );
reader.parse( xstyle );
//Get the Templates object from the ContentHandler.
@@ -291,6 +295,9 @@
" with stylesheet: " +
stylesheet_url );
+ in.setSystemId( url );
+ style.setSystemId( stylesheet_url );
+
return transform( in,
style,
params );
@@ -423,10 +430,15 @@
// Create an XMLReader and set its ContentHandler.
XMLReader reader = XMLReaderFactory.createXMLReader();
reader.setContentHandler(templatesHandler);
-
+ // Set it to solve Entities through Jetspeed URL Manager
+ reader.setEntityResolver( new JetspeedXMLEntityResolver() );
+
// Parse the stylesheet.
- final InputSource xstyle = new InputSource(
JetspeedDiskCache.getInstance()
- .getEntry( stylesheet_url
).getReader() );
+ InputSource style = new InputSource( JetspeedDiskCache.getInstance()
+ .getEntry( stylesheet_url
).getReader() );
+ style.setSystemId( stylesheet_url );
+ final InputSource xstyle = style;
+
reader.parse( xstyle );
//Get the Templates object from the ContentHandler.
@@ -469,8 +481,11 @@
{
final Writer pw = new OutputStreamWriter( pos, "utf-8" );
+ InputSource is = new InputSource( JetspeedDiskCache.getInstance()
+ .getEntry( content_url
).getReader() );
+ is.setSystemId( content_url );
- final SAXSource xinput = new SAXSource( new InputSource(
JetspeedDiskCache.getInstance().getEntry( content_url ).getReader() ) );
+ final SAXSource xinput = new SAXSource( is );
//Perform the transformation on a new thread, using
// PipedStreams
Thread t = new Thread( new Runnable()
1.4 +1 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/util/servlet/EcsStylesheetElement.java
Index: EcsStylesheetElement.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/servlet/EcsStylesheetElement.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EcsStylesheetElement.java 2001/05/04 15:51:24 1.3
+++ EcsStylesheetElement.java 2001/09/13 13:53:03 1.4
@@ -63,7 +63,7 @@
import org.apache.ecs.ConcreteElement;
import java.util.*;
-//import org.apache.xalan.xslt.*;
+
import org.xml.sax.*;
import org.apache.jetspeed.util.SimpleTransform;
1.4 +9 -3
jakarta-jetspeed/src/java/org/apache/jetspeed/xml/JetspeedXMLEntityResolver.java
Index: JetspeedXMLEntityResolver.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/xml/JetspeedXMLEntityResolver.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JetspeedXMLEntityResolver.java 2001/03/09 12:42:19 1.3
+++ JetspeedXMLEntityResolver.java 2001/09/13 13:53:03 1.4
@@ -66,10 +66,13 @@
/**
* an entity resolver which tries to lookup DTD files
- * through the URL Manager
+ * through the URL Manager.
+ *
+ * TODO: Should be a singleton.
+ *
*@author <A HREF="mailto:[EMAIL PROTECTED]">Christian Sell</A>
*@author <A HREF="mailto:[EMAIL PROTECTED]">Santiago Gala</A>
- *@version $Id: JetspeedXMLEntityResolver.java,v 1.3 2001/03/09 12:42:19 sgala Exp
$
+ *@version $Id: JetspeedXMLEntityResolver.java,v 1.4 2001/09/13 13:53:03 sgala Exp
$
*
**/
public class JetspeedXMLEntityResolver implements EntityResolver
@@ -82,7 +85,10 @@
// " Taking " + systemId + " from cache");
Reader rdr = JetspeedDiskCache.getInstance().
getEntry(systemId).getReader();
- return new InputSource(rdr);
+ InputSource is = new InputSource(rdr);
+ is.setPublicId( publicId );
+ is.setSystemId( systemId );
+ return is;
} catch(IOException x) {}
return null;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]