[ome-users] QueryService

Woodbridge, Mark R m.woodbridge at imperial.ac.uk
Mon Nov 9 10:33:20 GMT 2009


Log says that it's actually the thumbnail service generating the error - which explains why your code works! Sorry for the terrible bug report.

But the same problem applies... here's the test case:

import static omero.rtypes.rint;
import omero.api.ThumbnailStorePrx;

public class Thumbnail {
    public static void main(String[] args) throws Exception {
		ThumbnailStorePrx tsp = new omero.client("localhost").createSession("root", "ome").createThumbnailStore();
		tsp.setPixelsId(29);
		tsp.getThumbnail(rint(64), rint(64));
    }
}

Is this because there are no rendering settings for root for this image?

Mark.

________________________________________
From: josh.moore at gmx.de [josh.moore at gmx.de]
Sent: 09 November 2009 08:51
To: Woodbridge, Mark R
Cc: Chris Allan; ome-users at lists.openmicroscopy.org.uk
Subject: Re: [ome-users] QueryService

Hi Mark,

would you mind sending your server log in which the exception gets
thrown? I'm not sure where the "o_id" parameter would be coming from.

Testing briefly I see:

josh at mac:~/code/omero.git/dist$ java -cp lib/client/omero_client.jar:. mark
102
josh at mac:~/code/omero.git/dist$ cat mark.java
import omero.sys.*;
import omero.model.*;
import omero.api.*;

public class mark {
    public static void main(String[] args) throws Exception {
        omero.client c = new omero.client("localhost");
        ServiceFactoryPrx sf = c.createSession("root","ome");
        IQueryPrx iQuery = sf.getQueryService();
        IObject image = sf.getQueryService().findByQuery(
          "select i from Image i join fetch i.pixels where i.id = :id",
          new ParametersI().add("id", omero.rtypes.rlong(401)));
        System.out.println(image.getDetails().getOwner().getId().getValue());
    }
}

but you're right, that the error should definitely not be happening,
so it would be good to track it down.

Cheers,
~J.

Woodbridge, Mark R writes:
 > Well, yes. The actual code I'm running is:
 >
 > IObject image = factory.getQueryService().findByQuery("select i
 > from Image i join fetch i.pixels where i.id = :id", new
 > ParametersI().add("id", rlong(id)));
 >
 > The problem is that it won't in a session owned by root (it returns
 > the aforementioned error). It works fine in a session owned by the
 > owner of the image, but this means sudo-ing. Just wondered why I
 > can't do it as the super user...
 >
 > -----Original Message-----
 > From: Chris Allan [mailto:callan at lifesci.dundee.ac.uk]
 > Sent: 06 November 2009 14:25
 > To: Woodbridge, Mark R
 > Cc: ome-users at lists.openmicroscopy.org.uk
 > Subject: Re: [ome-users] QueryService
 >
 > Something that looks like this:
 >
 > Parameters p = new Parameters();
 > p.setId(1L)
 > List<Image = iQuery.findAllByQuery(select i from Image i join fetch
 > i.pixels where i.id = :id);
 >
 > ??
 >
 > -Chris
 > On 6 Nov 2009, at 14:02, Woodbridge, Mark R wrote:
 >
 > > Hi,
 > >
 > > I'm using the client API from Java to run the query:
 > >
 > > select i from Image i join fetch i.pixels where i.id = :id
 > >
 > > I'm doing this in order to get pixels IDs to pass to the thumbnail
 > > service. When I run it as the OMERO super user I get the message:
 > >
 > > "Null parameters not allowed: o_id"
 > >
 > > I assumed that image Ids would be unique, but it looks like a need
 > > to pass the ID of the owner, as well as the image ID. Is this
 > > correct? Perhaps I have misunderstood...
 > >
 > > Mark.



More information about the ome-users mailing list