Buscar un usuario en MicroStrategy con Java

En el tutorial de hoy vamos a buscar un usuario en MicroStrategy con Java y mostraremos su nombre y su ID. Utilizaremos Eclipse como herramienta para escribir y ejecutar el código Java donde mostraremos el nombre y el identificador del usuario demo de nuestro servidor MicroStrategy.

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 crear un grupo de usuario 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.SimpleList;
import com.microstrategy.web.objects.WebObjectInfo;
import com.microstrategy.web.objects.WebObjectSource;
import com.microstrategy.web.objects.WebSearch;
import com.microstrategy.webapi.EnumDSSXMLObjectTypes;
import com.microstrategy.webapi.EnumDSSXMLSearchDomain;
import com.microstrategy.webapi.EnumDSSXMLSearchFlags;

Código para buscar un usuario

  • Situate entre los métodos main e iniciarSesión
  • Escribe el siguiente código:
public static void buscarUsuario() throws WebObjectsException {
    	 
    	WebObjectSource objectSource=factory.getObjectSource();
		WebSearch webSearch=objectSource.getNewSearchObject();
		
		webSearch.setSearchFlags(EnumDSSXMLSearchFlags.DssXmlSearchNameWildCard
				+EnumDSSXMLSearchFlags.DssXmlSearchRootRecursive);

		SimpleList searchTypes = webSearch.types();
		Integer type=new Integer(EnumDSSXMLObjectTypes.DssXmlTypeUser);
		searchTypes.add(type);
		
		String searchString = "demo";
		webSearch.setAbbreviationPattern(searchString);
		webSearch.setDomain( EnumDSSXMLSearchDomain.DssXmlSearchDomainRepository );
		webSearch.setAsync(false);
		WebObjectInfo objectInfo = null;

		try {
			webSearch.submit();
			if (webSearch.getResults().isEmpty())
				System.out.println("El usuario con nombre "+searchString 
								+ " no existe.");
			else {
				objectInfo = webSearch.getResults().get(0);
				
				System.out.println("El usuario " + objectInfo.getDisplayName() 
								+ " existe. Tiene el ID: " + objectInfo.getID());
				
				JOptionPane.showMessageDialog(null, "El usuario " 
								+ objectInfo.getDisplayName() 
								+ " existe. Tiene el ID: " + objectInfo.getID());
			}
		}
		catch (Exception e){
			System.out.println("La busqueda ha fallado: "+e);
			JOptionPane.showMessageDialog(null, "La busqueda ha fallado: "+e);
			cerrarSesion(sesionServidor);
		}
     }
  • 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 buscarUsuario();

Resultado

Si ejecutamos el código anterior se nos mostrara una ventana informándonos de si existe el usuario y cuál es su ID.

Ahora puedes exportar tu código o seguir modificando tu programa.

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.