[Libreoffice-commits] core.git: tdf#97597: attempt to add test for multithreaded input stream buffering.

Kohei Yoshida libreoffice at kohei.us
Wed Jan 18 14:29:54 UTC 2017


> On January 18, 2017 at 3:31 AM Stephan Bergmann <sbergman at redhat.com> wrote:
> 
> 
> On 01/17/2017 03:06 AM, Kohei Yoshida wrote:
> > commit 294f2e627cc6f1d0483f7affcf96467a4bd3ba5a
> > Author: Kohei Yoshida <kohei.yoshida at collabora.com>
> > Date:   Mon Jan 16 15:33:37 2017 -0500
> >
> >     tdf#97597: attempt to add test for multithreaded input stream buffering.
> >
> >     But it always passes, even when UseBufferedStream is set to false...
> >     Needs improvement.
> >
> >     Change-Id: I98f65dcd7bec3b47a437fdc6cc42c6e8e3775522
> >     Reviewed-on: https://gerrit.libreoffice.org/33190
> >     Tested-by: Jenkins <ci at libreoffice.org>
> >     Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
> >
> > diff --git a/offapi/com/sun/star/packages/zip/ZipFileAccess.idl b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
> > index 6d54509..7677c94 100644
> > --- a/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
> > +++ b/offapi/com/sun/star/packages/zip/ZipFileAccess.idl
> > @@ -23,7 +23,7 @@
> >  #include <com/sun/star/packages/zip/ZipException.idl>
> >  #include <com/sun/star/ucb/ContentCreationException.idl>
> >  #include <com/sun/star/ucb/InteractiveIOException.idl>
> > -
> > +#include <com/sun/star/beans/NamedValue.idl>
> >
> >
> >  module com {  module sun {  module star {   module packages {  module zip {
> > @@ -38,6 +38,12 @@ service ZipFileAccess : XZipFileAccess2
> >                   com::sun::star::ucb::ContentCreationException,
> >                   com::sun::star::ucb::InteractiveIOException,
> >                   com::sun::star::packages::zip::ZipException );
> > +
> > +    createWithArguments( [in] sequence<com::sun::star::beans::NamedValue> args )
> > +        raises ( com::sun::star::io::IOException,
> > +                 com::sun::star::ucb::ContentCreationException,
> > +                 com::sun::star::ucb::InteractiveIOException,
> > +                 com::sun::star::packages::zip::ZipException );
> >  };
> 
> [...]
> 
> > +
> > +        uno::Sequence<beans::NamedValue> aArgs(2);
> > +        aArgs[0].Name = "URL";
> > +        aArgs[0].Value <<= aURL;
> > +        aArgs[1].Name = "UseBufferedStream";
> > +        aArgs[1].Value <<= true;
> > +
> > +        uno::Reference<packages::zip::XZipFileAccess2> xZip(
> > +            packages::zip::ZipFileAccess::createWithArguments(comphelper::getProcessComponentContext(), aArgs));
> 
> Hm, I stumbled when seeing this commit.  Those "new-style" service ctors 
> are meant to make service instantiation easier and safer compared to the 
> original create-instance-from-factory way.  While createWithArguments 
> addresses safety in the return type, it does nothing for the arguments 
> (doesn't even document what they could be).

Can you elaborate on this?  Is it the lack of documentation you are concerned with (which I can gladly add), or what is lacking in terms of the "safety of the arguments"?

> For an apparently (at least for now) one-off usage, I'm not sure adding 
> such a ctor is too useful overall.  Maybe instead use the old 
> create-instance-from-factory way in that one place?

Well, I added this because I saw value in adding such a ctor.  So, at least one person finds it useful. :-)  If that's not enough of an argument for adding a new ctor, then so be it.

  (And if not 
> reverting it, please add at least a @since tag.)

Sure, that's no problem.

Kohei


More information about the LibreOffice mailing list