Examples of OlapConnection


Examples of org.olap4j.OlapConnection

    }

    if (PentahoSystem.getObjectFactory().objectDefined(MDXConnection.MDX_CONNECTION_MAPPER_KEY)) {
      IConnectionUserRoleMapper mondrianUserRoleMapper = PentahoSystem.get(IConnectionUserRoleMapper.class, MDXConnection.MDX_CONNECTION_MAPPER_KEY, null);
      if (mondrianUserRoleMapper != null) {
        OlapConnection c = (OlapConnection) con.getConnection();
        String[] validMondrianRolesForUser = mondrianUserRoleMapper.mapConnectionRoles(PentahoSessionHolder.getSession(), c.getCatalog());
        if (setRole(con, validMondrianRolesForUser, datasource)) {
          return con;
        }
      }
    }
View Full Code Here

Examples of org.olap4j.OlapConnection

  private boolean setRole(ISaikuConnection con, String[] validMondrianRolesForUser, SaikuDatasource datasource) {
    if (con.getConnection() instanceof OlapConnection)
    {
      try {
        OlapConnection c = (OlapConnection) con.getConnection();
        String roles = "";
        if (validMondrianRolesForUser != null && validMondrianRolesForUser.length > 0) {
          for (String r : validMondrianRolesForUser) {
            // lets make sure the role is actually available, just to be safe
            if (c.getAvailableRoleNames().contains(r)) {
              roles += r +",";
            }
          }

          System.out.println("Setting role to datasource:" + datasource.getName() + " role: " + roles);

          if (validMondrianRolesForUser != null && validMondrianRolesForUser.length == 0) {
            return true;
          }
          else if (validMondrianRolesForUser != null && validMondrianRolesForUser.length == 1) {
            c.setRoleName(validMondrianRolesForUser[0]);
          } else {
            SaikuMondrianHelper.setRoles(c, validMondrianRolesForUser);
          }
        } else {
          c.setRoleName(null);
        }


        return true;
      } catch (Exception e) {
View Full Code Here

Examples of org.olap4j.OlapConnection

  }

  private boolean setRole(ISaikuConnection con, String roleName, SaikuDatasource datasource) {
    if (con.getConnection() instanceof OlapConnection) {
      OlapConnection c = (OlapConnection) con.getConnection();

      System.out.println("Setting role to datasource:" + datasource.getName() + " role:" + roleName);
      try {
        if (StringUtils.isNotBlank(roleName) && SaikuMondrianHelper.isMondrianConnection(c)
            && roleName.split(",").length > 1) {
          SaikuMondrianHelper.setRoles(c, roleName.split(","));
        } else {
          c.setRoleName(roleName);
        }
        return true;
      } catch (Exception e) {
        LOG.error("Error setting role: " + roleName, e);
      }
View Full Code Here

Examples of org.olap4j.OlapConnection

  }

  private List<String> getConnectionRoles(ISaikuConnection con) {
    if (con.getDatasourceType().equals(ISaikuConnection.OLAP_DATASOURCE)
        && con.getConnection() instanceof OlapConnection) {
      OlapConnection c = (OlapConnection) con.getConnection();
      try {
        return c.getAvailableRoleNames();
      } catch (OlapException e) {
        LOG.error("Error getting connection roles", e);
      }
    }
    return new ArrayList<String>();
View Full Code Here

Examples of org.olap4j.OlapConnection

  public String createConnection(final String userId, final String sessionId,
                                 final String driverName, final String connectStr,
                                 final String username, final String password) throws OlapException {

    OlapConnection connection;
    final String connectionId = UUID.randomUUID().toString();

    try {
      Class.forName(driverName);

      if (username == null && password == null) {
        connection = (OlapConnection) DriverManager
            .getConnection(connectStr);
      } else {
        connection = (OlapConnection) DriverManager.getConnection(
            connectStr, username, password);
      }

      final OlapWrapper wrapper = connection;

      final OlapConnection olapConnection = wrapper
          .unwrap(OlapConnection.class);

      if (olapConnection == null) {
        throw new OlapException("Services.Session.NullConnection"); //$NON-NLS-1$
      } else {
View Full Code Here

Examples of org.olap4j.OlapConnection

  @NotNull
  public Map<String, Object> getProperties(@NotNull SaikuCube cube) {
    Map<String, Object> properties = new HashMap<String, Object>();
    try {
      Cube c = getNativeCube(cube);
      OlapConnection con = c.getSchema().getCatalog().getDatabase().getOlapConnection();
      properties.put("saiku.olap.query.drillthrough", c.isDrillThroughEnabled());
      properties.put("org.saiku.query.explain", con.isWrapperFor(RolapConnection.class));

      try {
        Boolean isScenario = c.getDimensions().get("Scenario") != null;
        properties.put("org.saiku.connection.scenario", isScenario);
      } catch (Exception e) {
View Full Code Here

Examples of org.olap4j.OlapConnection

      }
    }

    Class.forName(driver);
    Connection object = DriverManager.getConnection(url, username, password);
    OlapConnection connection;
    connection = (OlapConnection) DriverManager.getConnection(url, username, password);
    final OlapWrapper wrapper = connection;
    OlapConnection tmpolapConnection = wrapper.unwrap(OlapConnection.class);


    if (tmpolapConnection == null) {
      throw new Exception("Connection is null");
    }

    System.out.println("Catalogs:" + tmpolapConnection.getOlapCatalogs().size());
    olapConnection = tmpolapConnection;
    initialized = true;
    return true;
  }
View Full Code Here

Examples of org.olap4j.OlapConnection

  public ISaikuConnection process(ISaikuConnection con) {
    if (con != null
        && ISaikuConnection.OLAP_DATASOURCE.equals(con.getDatasourceType())
        && con.getConnection() instanceof OlapConnection)
    {
      OlapConnection olapCon = (OlapConnection) con.getConnection();
      try {
        RolapConnection rCon = olapCon.unwrap(RolapConnection.class);
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
      //rCon.setRole(myCustomRoleImplementation);
View Full Code Here

Examples of org.olap4j.OlapConnection

  public OlapMetaExplorer(IConnectionManager ic) {
    connections = ic;
  }

  public SaikuConnection getConnection(String connectionName) throws SaikuOlapException {
    OlapConnection olapcon = connections.getOlapConnection(connectionName);
    SaikuConnection connection;
    if (olapcon != null) {
      List<SaikuCatalog> catalogs = new ArrayList<SaikuCatalog>();
      try {
        for (Catalog cat : olapcon.getOlapCatalogs()) {
          List<SaikuSchema> schemas = new ArrayList<SaikuSchema>();
          for (Schema schem : cat.getSchemas()) {
            List<SaikuCube> cubes = new ArrayList<SaikuCube>();
            for (Cube cub : schem.getCubes()) {
              cubes.add(
                  new SaikuCube(connectionName, cub.getUniqueName(), cub.getName(), cub.getCaption(), cat.getName(),
                      schem.getName(), cub.isVisible()));
            }
            Collections.sort(cubes, new SaikuCubeCaptionComparator());
            schemas.add(new SaikuSchema(schem.getName(), cubes));
          }
          if (schemas.size() == 0) {
            OlapDatabaseMetaData olapDbMeta = olapcon.getMetaData();
            ResultSet cubesResult = olapDbMeta.getCubes(cat.getName(), null, null);

            try {
              List<SaikuCube> cubes = new ArrayList<SaikuCube>();
              while (cubesResult.next()) {
View Full Code Here

Examples of org.olap4j.OlapConnection

  }


  @NotNull
  List<SaikuCube> getCubes(String connectionName) throws SaikuOlapException {
    OlapConnection olapcon = connections.getOlapConnection(connectionName);
    List<SaikuCube> cubes = new ArrayList<SaikuCube>();
    if (olapcon != null) {
      try {
        for (Catalog cat : olapcon.getOlapCatalogs()) {
          for (Schema schem : cat.getSchemas()) {
            for (Cube cub : schem.getCubes()) {
              cubes.add(
                  new SaikuCube(connectionName, cub.getUniqueName(), cub.getName(), cub.getCaption(), cat.getName(),
                      schem.getName(), cub.isVisible()));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.