cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vgritse...@apache.org
Subject svn commit: r170999 - /cocoon/blocks/unsupported/repository/trunk/java/org/apache/cocoon/components/source/impl/XPathSourceInspector.java
Date Thu, 19 May 2005 21:06:47 GMT
Author: vgritsenko
Date: Thu May 19 14:06:47 2005
New Revision: 170999

URL: http://svn.apache.org/viewcvs?rev=170999&view=rev
Log:
set input source system id

Modified:
    cocoon/blocks/unsupported/repository/trunk/java/org/apache/cocoon/components/source/impl/XPathSourceInspector.java

Modified: cocoon/blocks/unsupported/repository/trunk/java/org/apache/cocoon/components/source/impl/XPathSourceInspector.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/repository/trunk/java/org/apache/cocoon/components/source/impl/XPathSourceInspector.java?rev=170999&r1=170998&r2=170999&view=diff
==============================================================================
--- cocoon/blocks/unsupported/repository/trunk/java/org/apache/cocoon/components/source/impl/XPathSourceInspector.java
(original)
+++ cocoon/blocks/unsupported/repository/trunk/java/org/apache/cocoon/components/source/impl/XPathSourceInspector.java
Thu May 19 14:06:47 2005
@@ -1,12 +1,12 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
- * 
+ * Copyright 1999-2005 The Apache Software Foundation.
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -40,11 +40,12 @@
 
 /**
  * This source inspector inspects XML files with a xpath expression.
- * 
- * @version CVS $Id: XPathSourceInspector.java,v 1.8 2004/03/27 21:49:09 unico Exp $
+ *
+ * @version $Id$
  */
-public class XPathSourceInspector extends AbstractLogEnabled 
-implements SourceInspector, Serviceable, Parameterizable, ThreadSafe {
+public class XPathSourceInspector extends AbstractLogEnabled
+                                  implements SourceInspector, Serviceable,
+                                             Parameterizable, ThreadSafe {
 
     /**
      * The default namespace uri of the property exposed by this SourceInspector.
@@ -53,7 +54,7 @@
      * </p>
      */
     public static final String DEFAULT_PROPERTY_NS = "http://apache.org/cocoon/inspector/xpath/1.0";
-        
+
     /**
      * The default property name exposed by this SourceInspector.
      * <p>
@@ -61,46 +62,49 @@
      * </p>
      */
     public static final String DEFAULT_PROPERTY_NAME = "result";
-    
+
     private String m_namespace;
     private String m_propertyname;
     private String m_extension;
     private String m_xpath;
-    
-    private ServiceManager manager = null;
-    
+
+    private ServiceManager manager;
+
+
     public XPathSourceInspector() {
     }
-    
+
     public void service(ServiceManager manager) {
         this.manager = manager;
     }
-    
+
     public void parameterize(Parameters params) throws ParameterException {
         this.m_namespace = params.getParameter("namespace", DEFAULT_PROPERTY_NS);
         this.m_propertyname = params.getParameter("name", DEFAULT_PROPERTY_NAME);
         this.m_extension = params.getParameter("extension", ".xml");
         this.m_xpath = params.getParameter("xpath", "/*");
     }
-    
-    public SourceProperty getSourceProperty(Source source, String namespace, String name)

+
+    public SourceProperty getSourceProperty(Source source, String namespace, String name)
     throws SourceException {
 
-        if ((namespace.equals(m_namespace)) && 
-                (name.equals(m_propertyname)) && 
+        if ((namespace.equals(m_namespace)) &&
+                (name.equals(m_propertyname)) &&
                 (source.getURI().endsWith(m_extension))) {
 
             DOMParser parser = null;
             Document doc = null;
-            try { 
+            try {
                 parser = (DOMParser) manager.lookup(DOMParser.ROLE);
-                doc = parser.parseDocument(new InputSource(source.getInputStream()));
+                InputSource is = new InputSource(source.getInputStream());
+                is.setSystemId(source.getURI());
+                doc = parser.parseDocument(is);
             } catch (SAXException se) {
-                this.getLogger().error(source.getURI() + " is not a valid XML file");
+                getLogger().error(source.getURI() + " is not a valid XML file");
             } catch (IOException ioe) {
-                this.getLogger().error("Could not read file", ioe);
+                getLogger().error("Could not read file", ioe);
             } catch (ServiceException ce) {
-                this.getLogger().error("Missing service dependency: DOMParser", ce);
+                getLogger().error("Missing service dependency: DOMParser", ce);
             } finally {
                 if (parser != null) {
                     this.manager.release(parser);
@@ -123,7 +127,7 @@
                     }
                 }
             }
-        } 
+        }
         return null;
     }
 
@@ -133,7 +137,7 @@
             return new SourceProperty[]{property};
         return null;
     }
-    
+
     public boolean handlesProperty(String namespace, String name) {
         return this.m_namespace.equals(namespace) && this.m_propertyname.equals(name);
     }
@@ -144,6 +148,5 @@
     public SourceValidity getValidity(Source source) {
         return NOPValidity.SHARED_INSTANCE;
     }
-    
-}
 
+}



Mime
View raw message