There could be a common 'open an url' utility method. This would help
make the DIH components consistent.

2010/2/24 Noble Paul നോബിള്‍  नोब्ळ् <noble.p...@gmail.com>:
> you are right. The StreamSource class is not throwing the proper exception
>
> Do we really have to handle this.?
>
> On Thu, Feb 25, 2010 at 9:06 AM, Lance Norskog <goks...@gmail.com> wrote:
>> [Taken off the list]
>>
>> The problem is that the XSLT code swallows the real exception, and
>> does not return it as the "deeper" exception.  To show the right
>> error, the code would open a file name or an URL directly. The problem
>> is, the code has to throw an exception on a file or an URL and try the
>> other, then decide what to do.
>>
>>       try {
>>          URL u = new URL(xslt);
>>          iStream = u.openStream();
>>        } catch (MalformedURLException e) {
>>          iStream = new FileInputStream(new File(xslt));
>>        }
>>        TransformerFactory transFact = TransformerFactory.newInstance();
>>        xslTransformer = transFact.newTransformer(new StreamSource(iStream));
>>
>>
>> On Mon, Feb 22, 2010 at 6:24 AM, Roland Villemoes <r...@alpha-solutions.dk> 
>> wrote:
>>> You're right!
>>>
>>> I was as simple (stupid!) as that,
>>>
>>> Thanks a lot.... (for your time .. very appreciated)
>>>
>>> Roland
>>>
>>> -----Oprindelig meddelelse-----
>>> Fra: noble.p...@gmail.com [mailto:noble.p...@gmail.com] På vegne af Noble 
>>> Paul ??????? ??????
>>> Sendt: 22. februar 2010 14:01
>>> Til: solr-user@lucene.apache.org
>>> Emne: Re: Using XSLT with DIH for a URLDataSource
>>>
>>> The xslt file looks fine . is the location of the file correct ?
>>>
>>> On Mon, Feb 22, 2010 at 2:57 PM, Roland Villemoes <r...@alpha-solutions.dk> 
>>> wrote:
>>>>
>>>> Hi
>>>>
>>>> (thanks a lot)
>>>>
>>>> Yes, The full stacktrace is this:
>>>>
>>>> 22-02-2010 08:37:00 org.apache.solr.handler.dataimport.DataImporter 
>>>> doFullImport
>>>> SEVERE: Full Import failed
>>>> org.apache.solr.handler.dataimport.DataImportHandlerException: Error 
>>>> initializing XSL  Processing Document # 1
>>>>        at 
>>>> org.apache.solr.handler.dataimport.XPathEntityProcessor.initXpathReader(XPathEntityProcessor.java:103)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.XPathEntityProcessor.init(XPathEntityProcessor.java:76)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.EntityProcessorWrapper.init(EntityProcessorWrapper.java:71)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:319)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.DataImportHandler.handleRequestBody(DataImportHandler.java:203)
>>>>        at 
>>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
>>>>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
>>>>        at 
>>>> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
>>>>        at 
>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
>>>>        at 
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>        at 
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>        at 
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>>        at 
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>>        at 
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>>>        at 
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>        at 
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>        at 
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>>>>        at 
>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>>>>        at 
>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>>>        at 
>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>>>>        at java.lang.Thread.run(Thread.java:619)
>>>> Caused by: javax.xml.transform.TransformerConfigurationException: Could 
>>>> not compile stylesheet
>>>>        at 
>>>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:825)
>>>>        at 
>>>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:614)
>>>>        at 
>>>> org.apache.solr.handler.dataimport.XPathEntityProcessor.initXpathReader(XPathEntityProcessor.java:98)
>>>>        ... 24 more
>>>> 22-02-2010 08:37:00 org.apache.solr.update.DirectUpdateHandler2 rollback
>>>>
>>>>
>>>> My import feed (for testing is this):
>>>> <?xml version='1.0' encoding='utf-8'?>
>>>> <products>
>>>> <product id='738' rank='10'>
>>>> <brand id='48'><![CDATA[World's Best]]></brand><name><![CDATA[Kontakt 
>>>> Cream-Special 4 x 10]]></name>
>>>> <categories primarycategory='17'>
>>>>    <category id='7'>
>>>>        <name><![CDATA[Jeans & Bukser]]></name>
>>>>        <category id='17'>
>>>>            <name><![CDATA[Jeans]]></name>
>>>>        </category>
>>>>    </category>
>>>>    <category id='8'>
>>>>        <name><![CDATA[Nyheder]]></name>
>>>>    </category>
>>>> </categories>
>>>> <description><![CDATA[4 pakker med 10 stk. glatte kondomer, med reservoir 
>>>> og creme.]]></description><price currency='SEK'>310.70</price><salesprice 
>>>> currency='SEK'>233.03</salesprice><color id='227'><![CDATA[4 x 10 
>>>> kondomer]]></color><size 
>>>> id='6'><![CDATA[Large]]></size><productUrl><![CDATA[http://www.website.se/butik/visvare.asp?id=738]]></productUrl><imageUrl><![CDATA[http://www.website.se/varebilleder/738_intro.jpg]]></imageUrl><lastmodified>11-11-2008
>>>>  15:10:31</lastmodified></product>
>>>> <product id='320' rank='10'>
>>>>  <categories primarycategory='17'>
>>>>    <category id='7'>
>>>>      <name><![CDATA[Jeans & Bukser]]></name>
>>>>      <category id='17'>
>>>>        <name><![CDATA[Jeans]]></name>
>>>>      </category>
>>>>    </category>
>>>>    <category id='8'>
>>>>      <name><![CDATA[Nyheder]]></name>
>>>>    </category>
>>>>  </categories>
>>>>  <brand id='1'><![CDATA[JBS]]></brand><name><![CDATA[JBS 
>>>> trusser]]></name><category 
>>>> id='39'><![CDATA[Trusser]]></category><description><![CDATA[Gråmeleret JBS 
>>>> trusser model Classic med gylp.]]></description><price 
>>>> currency='SEK'>154.96</price><salesprice 
>>>> currency='SEK'>154.96</salesprice><color 
>>>> id='28'><![CDATA[Gråmeleret]]></color><size 
>>>> id='5'><![CDATA[Medium]]></size><productUrl><![CDATA[http://www.website.se/butik/visvare.asp?id=320]]></productUrl><imageUrl><![CDATA[http://www.website.se/varebilleder/320_intro.jpg]]></imageUrl><lastmodified>18-08-2009
>>>>  15:44:46</lastmodified></product>
>>>> </products>
>>>>
>>>>
>>>> And my test.xslt (cut down to almost nothing just to move further and see 
>>>> that XSLT was working):
>>>>
>>>> <?xml version='1.0' encoding='UTF-8'?>
>>>> <xsl:stylesheet version='1.0' 
>>>> xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
>>>>  <xsl:template match='/'>
>>>>    <products>
>>>>      <xsl:apply-templates select="./products/product"/>
>>>>    </products>
>>>>  </xsl:template>
>>>>
>>>>  <xsl:template match="product">
>>>>    <product>
>>>>      <xsl:attribute name='id'>
>>>>        <xsl:value-of select="@id"/>
>>>>      </xsl:attribute>
>>>>      <xsl:attribute name='rank'>
>>>>        <xsl:value-of select="@rank"/>
>>>>      </xsl:attribute>
>>>>    </product>
>>>>  </xsl:template>
>>>>
>>>> </xsl:stylesheet>
>>>>
>>>>
>>>>
>>>>
>>>> -----Oprindelig meddelelse-----
>>>> Fra: Shalin Shekhar Mangar [mailto:shalinman...@gmail.com]
>>>> Sendt: 22. februar 2010 10:08
>>>> Til: solr-user@lucene.apache.org
>>>> Emne: Re: Using XSLT with DIH for a URLDataSource
>>>>
>>>> On Mon, Feb 22, 2010 at 1:18 PM, Roland Villemoes 
>>>> <r...@alpha-solutions.dk>wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have to load data for Solr from a UrlDataSource supplying me with a XML
>>>>> feed.
>>>>>
>>>>> In the simple case where I just do simple XSLT select this works just 
>>>>> fine.
>>>>> Just as shown on the wiki (http://wiki.apache.org/solr/DataImportHandler)
>>>>>
>>>>> But I need to do some manipulation of the XML feed first, So I am trying 
>>>>> to
>>>>> a transform first using:
>>>>>
>>>>>
>>>>> <snip>
>>>>
>>>>
>>>>> But no matter what I do in my "test.xslt" - I get the same error:
>>>>>
>>>>> ...
>>>>> org.apache.solr.handler.dataimport.DataImportHandlerException: Error
>>>>> initializing XSL  Processing Document # 1
>>>>> ...
>>>>> Caused by: javax.xml.transform.TransformerConfigurationException: Could 
>>>>> not
>>>>> compile stylesheet
>>>>>
>>>>>
>>>>> Anyone that can help me out here? Or has a running example using XSLT with
>>>>> DIH?
>>>>>
>>>>>
>>>> Can you send the complete stacktrace?
>>>>
>>>> --
>>>> Regards,
>>>> Shalin Shekhar Mangar.
>>>>
>>>
>>>
>>>
>>> --
>>> -----------------------------------------------------
>>> Noble Paul | Systems Architect| AOL | http://aol.com
>>>
>>
>>
>>
>> --
>> Lance Norskog
>> goks...@gmail.com
>>
>
>
>
> --
> -----------------------------------------------------
> Noble Paul | Systems Architect| AOL | http://aol.com
>



-- 
Lance Norskog
goks...@gmail.com

Reply via email to