def setup_method(self, method):
     self.clis = []
     self.sess = self.create_client_session(self.user)
     self.name = UserAccount.uuid()
     ns = UserAccount.uuid()
     self.ft_space = ns + '/features'
     self.ann_space = ns + '/source'
 def setup_method(self, method):
     self.clis = []
     self.sess = self.create_client_session(self.user)
     self.name = UserAccount.uuid()
     ns = UserAccount.uuid()
     self.ft_space = ns + "/features"
     self.ann_space = ns + "/source"
 def setup_method(self, method):
     self.cli = omero.client()
     un = unwrap(self.user.getOmeName())
     self.sess = self.cli.createSession(un, un)
     self.fsmeta = {'fsname': 'a'}
     ns = UserAccount.uuid()
     self.nsc = ns + '/c'
     self.nsr = ns + '/r'
 def setup_method(self, method):
     self.cli = omero.client()
     un = unwrap(self.user.getOmeName())
     self.sess = self.cli.createSession(un, un)
     self.fsmeta = {'fsname': 'a', 'version': '1'}
     self.rowmetas = [{'id': '1'}, {'id': '2'}]
     self.valuess = [[1.0, 2.0], [-1.0, -2.0]]
     self.ns = UserAccount.uuid()
     self.nsc = self.ns + '/featureset'
     self.nsr = self.ns + '/sample'
    def test_create_map_ann(self):
        ns = UserAccount.uuid()
        ma = OmeroMetadata.MapAnnotations(self.sess, namespace=ns)
        d = {'a': '1', 'bb': 'cc'}
        aid = ma.create_map_ann({'a': '1', 'bb': 'cc'})

        params = omero.sys.ParametersI()
        params.addLong('id', aid)
        mr = self.sess.getQueryService().findByQuery(
            'from MapAnnotation ann join fetch ann.mapValue where id=:id',
            params)

        assert unwrap(mr.getNs()) == ns
        assert unwrap(mr.getMapValue()) == d
    def test_query_by_map_ann(self, projection):
        ns = UserAccount.uuid()
        ma = OmeroMetadata.MapAnnotations(self.sess, namespace=ns)

        d1 = {'a': '1', 'bb': 'cc'}
        d1f = {'bb': 'cc'}
        d2 = {'a': '1', 'bb': 'd'}
        d2f = {'bb': 'd'}

        m1 = omero.model.MapAnnotationI()
        m1.setNs(wrap(ns))
        m1.setMapValue(wrap(d1).val)
        m2 = omero.model.MapAnnotationI()
        m2.setNs(wrap(ns))
        m2.setMapValue(wrap(d2).val)

        m1 = self.sess.getUpdateService().saveAndReturnObject(m1)
        m2 = self.sess.getUpdateService().saveAndReturnObject(m2)

        rs = ma.query_by_map_ann(d1, projection)
        assert len(rs) == 1
        if projection:
            if projection is True:
                assert rs.values()[0] == d1
            else:
                assert rs.values()[0] == d1f
        else:
            assert unwrap(rs[0].getNs()) == ns
            assert unwrap(rs[0].getMapValue()) == d1

        rs = ma.query_by_map_ann({'a': '1'}, projection)
        assert len(rs) == 2
        if projection:
            rmv1, rmv2 = rs.values()
            if projection is True:
                self.assert_equal_any_order((rmv1, rmv2), (d1, d2))
            else:
                self.assert_equal_any_order((rmv1, rmv2), (d1f, d2f))
        else:
            assert unwrap(rs[0].getNs()) == ns
            assert unwrap(rs[1].getNs()) == ns
            rmv1 = unwrap(rs[0].getMapValue())
            rmv2 = unwrap(rs[1].getMapValue())
            self.assert_equal_any_order((rmv1, rmv2), (d1, d2))