Hi Andreas

 Here you mention that better solution is to use
ElementHelper#getTextAsStream method but I saw in the synapse
jira(SYNAPSE-809) you  had made a comment on that
"ElementHelper#getTextAsStream is useless here." I am little bit confusing
about this could you please explain this

/Jasintha

On Thu, Oct 27, 2011 at 2:17 AM, Andreas Veithen
<[email protected]>wrote:

> Jasintha,
>
> That method assumes that the object model was produced by a coalescing
> parser, which is not the case here. It should use OMElement#getText()
> instead of OMText#getText(). However, that defeats the purpose of the
> PlainTextBuilder/WrappedTextNodeOMDataSourceFromReader stuff because
> it would read the entire CSV file into memory (Given the method
> signature of PayloadHelper#getTextPayload, it has no other choice).
> The better solution is to use ElementHelper#getTextAsStream from the
> Axiom API because that method enables streaming.
>
> Andreas
>
> On Wed, Oct 26, 2011 at 06:55, Jasintha Dasanayaka <[email protected]>
> wrote:
> >  Hi Andreas
> >
> > We are using smooks meditor in ESB to convert csv file to xml  but we
> > couldn't convert the whole file into xml it's only convert 4KB size of
> data
> > .We identified that other part of the massage has lost  within the
> synapse
> > class called "PayloadHelper.java" method name is
> > "getTextPayload(SOAPEnvelope envelope)" that method uses above way to get
> > axiom child
> >
> > you can find this code in synapse trunk   class "PayloadHelper.java" line
> > number 199
> >
> > Thanks & Regards
> > /Jasintha
> >
> > On Tue, Oct 25, 2011 at 11:58 PM, Andreas Veithen
> > <[email protected]> wrote:
> >>
> >> Jasintha,
> >>
> >> The sample code doesn't really show what you are trying to achieve.
> >> Obviously you wouldn't use Axiom to read the content of a file into a
> >> String, so what is the actual use case?
> >>
> >> Andreas
> >>
> >> On Tue, Oct 25, 2011 at 06:48, Jasintha Dasanayaka <[email protected]
> >
> >> wrote:
> >> >  Hi Andreas
> >> >
> >> >  According to you Answer in issue[1] I have modified the method as
> >> > follows
> >> > is this the correct way to do this If not could you please suggest a
> >> > correct
> >> > way
> >> >
> >> >
> >> >
> >> > private static String readFile(String file) throws IOException,
> >> > XMLStreamException {
> >> >
> >> >         FileInputStream fin = new FileInputStream(file);
> >> >         OMFactory factory = OMAbstractFactory.getOMFactory();
> >> >         String charSetEnc =
> >> > BuilderUtil.getCharSetEncoding("text/plain");
> >> >         QName wrapperQName = BaseConstants.DEFAULT_TEXT_WRAPPER;
> >> >         Reader reader;
> >> >         try {
> >> >             reader = new InputStreamReader(fin, charSetEnc);
> >> >         } catch (UnsupportedEncodingException ex) {
> >> >             throw new AxisFault("Unsupported encoding: " + charSetEnc,
> >> > ex);
> >> >         }
> >> >         OMElement om =  new OMSourcedElementImpl(wrapperQName,
> factory,
> >> >                 new
> WrappedTextNodeOMDataSourceFromReader(wrapperQName,
> >> > reader));
> >> >         om.serialize(System.out);
> >> >
> >> >        /*  before modify
> >> >        OMNode textNode = om.getFirstOMChild();
> >> >         OMText text = (OMText) textNode;
> >> >         return text.getText();
> >> >       */
> >> >
> >> >         StringBuffer buffer = new StringBuffer();
> >> >         Iterator<OMNode> iterator = om.getChildren();
> >> >         while(iterator.hasNext()){
> >> >             OMText text = (OMText) iterator.next();
> >> >             buffer.append(text.getText());
> >> >         }
> >> >
> >> >         return buffer.toString();
> >> >
> >> >     }
> >> >
> >> >
> >> >  Thanks & Regards
> >> >  /Jasintha
> >> >
> >> > [1]-https://issues.apache.org/jira/browse/AXIOM-395
> >> >
> >> > --
> >> > Thanks & Regards
> >> >
> >> > Jasintha Dasanayake
> >> > Software Engineer.
> >> >
> >> > WSO2 Inc,|http://wso2.com
> >> > lean . enterprise . middleware
> >> >
> >> > mobile +94 772 916 596 ,
> >> >
> >> >
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >
> >
> >
> > --
> > Thanks & Regards
> >
> > Jasintha Dasanayake
> > Software Engineer.
> >
> > WSO2 Inc,|http://wso2.com
> > lean . enterprise . middleware
> >
> > mobile +94 772 916 596 ,
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
*Thanks & Regards

Jasintha Dasanayake
Software Engineer.

WSO2 Inc <http://wso2.com/>,|*http://wso2.com
*lean . enterprise . middleware*

mobile +94 772 916 596 ,

Reply via email to