Problem with dynamic roles

  • rajeev

    I have a problem with mondrian dynamic roles.
    I cannot use roles statically defined in the xml schema definition file, I must use dynamic roles.
    After using the mondrianQuery JPivot tag in my jsp, I make something like this:
    OlapModel query11 = (OlapModel)session.getAttribute("query11");
    MondrianMdxQuery mdxQuery1 = (MondrianMdxQuery) query11.getExtensions().get("mdxQuery");
    MondrianModel mm = (MondrianModel) mdxQuery1.getModel();
    RoleImpl connRole = (RoleImpl)mm.getConnection().getRole();
    Cube promoCube = mm.getConnection().getSchema().lookupCube("AttachRate", true);
    Hierarchy aHierarchy = promoCube.lookupHierarchy(new Id.Segment("Region", Id.Quoting.UNQUOTED), false);
    Dimension clientDim = aHierarchy.getDimension();
    Member defaultMember = clientDim.getSchema().getSchemaReader().getHierarchyDefaultMember(aHierarchy);
        Member aMember = clientDim.getSchema().getSchemaReader().getMemberChildren(defaultMember);
        connRole.grant(mm.getConnection().getSchema(), Access.ALL);
        connRole.grant(promoCube, Access.ALL);
        connRole.grant(aHierarchy, Access.CUSTOM, null, null, null);
        connRole.grant(clientDim, Access.ALL);
        connRole.grant(aMember, Access.ALL);
        connRole.grant(aMember, Access.NONE);
        connRole.grant(aMember, Access.NONE);
        connRole.grant(aMember, Access.NONE);

    But it gives me an error: Mondrian Error:Internal error: assert failed: isMutable()

    Am I making something wrong?
    What should be the best way to set a dynamic role in jpivot - mondrian?

    if anybody could send example code at my email it would be really great
    Thanks for any suggestion.