Recuperar lista de proyectos de un usuario en MicroStrategy con Java

En esta entrada vamos aprender a recuperar lista de proyectos de un usuario en MicroStrategy con Java. Utilizaremos Eclipse como herramienta para escribir y ejecutar el código Java. Partiremos de un tutorial anterior donde aprendimos a iniciar y cerrar sesión correctamente y lo complementaremos con el código de este articulo.

Especificaciones del entorno

  • Microsoft Windows 10
  • MicroStrategy 2020 update 2
  • SDK MicroStrategy 2020
  • Eclipse 2019-12

Proyecto Java

Punto de partida

Este tutorial presupone que ya has creado un Proyecto Java y que se ha creado el paquete y la clase principal estableciendo la conexión al servidor de Microtrategy. Si no es así, puedes seguir este tutorial para realizarlo antes de continuar.

Importación de clases

Para recuperar lista de proyectos de un usuario en MicroStrategy con Java es necesario importar las siguientes clases adicionales a las que ya has utilizado para iniciar sesión.

  • Escribe después de la definición package las siguientes líneas:
import javax.swing.JOptionPane;
import com.microstrategy.web.objects.WebProjectInstance;
import com.microstrategy.web.objects.WebProjectInstances;
import com.microstrategy.web.objects.WebProjectSource;
import com.microstrategy.webapi.EnumDSSXMLProjectStatus;

Código para recuperar lista de proyectos de un usuario

  • Situate entre los métodos main e iniciarSesión
  • Escribe el siguiente código:
public static void listaProyectosUsuario() throws WebObjectsException {
    	 try {
    		 WebProjectSource fuenteProyecto = factory.getProjectSource();
    		 WebProjectInstances listaInstancia = fuenteProyecto.
    		     		 getAccessibleProjectsInCluster();
    		 WebProjectInstance instanciaUnica = null;
    		 
    		 //Variable para el contador de proyectos
    		 int num_proyecto = 0;

    		 //Comenzamos con el primero e iremos uno a uno
    		 for(int i=0;i<listaInstancia.size();i++){
    			 instanciaUnica = listaInstancia.get(i);
    		 
    			 if (instanciaUnica.getStatus() == EnumDSSXMLProjectStatus.
    		     		 DssXmlProjectStatusActive){
    				 num_proyecto = i+1;
    				 System.out.println("Proyecto " + num_proyecto +": " 
    		     		     		 + instanciaUnica.getProjectName());
    				 System.out.println("Identificador: " 
    		     		     		 + instanciaUnica.getProjectDSSID());
    				 System.out.println("Descripción: " 
    		     		     		 + instanciaUnica.getProjectDescription());
    				 System.out.println("--------------------");
    			 }
    		 }
    	 }
    	 catch (WebObjectsException ex) {
    		 mostrarError(sesionServidor, "Error:" + ex.getMessage());
    		 JOptionPane.showMessageDialog(null, "Error:" + ex.getMessage());
    	 }
     }
  • Ubicate en el método main y escribe entre las llamadas a los métodos iniciarSesion y cerrarSesion la llamada al nuevo método escribiendo listaProyectosUsuario();

A tener en cuenta

Este programa recupera la lista de proyectos del usuario con el que se realiza el login en el método iniciarSesion(). Adapta el código a tus necesidades o modifica el método para conectarte con otro usuario.

Resultado

Si ejecutamos el código anterior se mostrara en la consola la lista de proyectos del usuario conectado.

Escribir un comentario