i

Please enable JavaScript to view this site.

Documentación 8.7

La clase modelo contiene las propiedades con sus métodos getter y setter, mientras que la clase servicio contiene las operaciones a realizar con el modelo.

Contenido de la Clase Modelo

 

El modelo de un usuario contiene:

Constructor del modelo.

Conjunto de métodos getter y setter de sus atributos.

 

Métodos getter para obtener los atributos del usuario

 

La clase modelo de un caso contiene un conjunto de métodos getter para los atributos del usuario.

 

 

Operación

Descripción

Parámetros

getFirstName()

Obtiene el nombre del usuario.


getLastName()

Obtiene el apellido del usuario.


getEmail()

Obtiene el email del usuario.


getUserCode()

Obtiene el código del usuario.


getAlias()

Obtiene el alias del usuario.


getOrganizationalUnit()

Obtiene la unidad organizacional del usuario.


getAuthorizedUserCode()

Obtiene el código del usuario autorizante.


getCalendar()

Obtiene el calendario del usuario.


getJobs()

Obtiene los puestos laborales.


getDelegates()

Obtiene los usuarios delegados del usuario.


getDelegatesOf()

Obtiene los usuarios donde el usuario se encuentra definido como delegado.


getActive()

Obtiene el estado del usuario.

 

Valores posibles:

1 - Activo

0- Inactivo


getExpiration()

Obtiene la fecha de caducidad del usuario.


getUserDurationDays()

Obtiene la cantidad de días en los que expira la contraseña desde que el usuario fue creado.

 

Valores posibles:

0 - Nunca

30 - 30 días

60 - 60 días

90 - 90 días


getLicenses()

Retorna una lista con los productos licenciados para el usuario.


getPermissions()

Retorna una lista con  los permisos del usuario.

 


getRoles()

Retorna una lista con los roles del usuario.


getIdentificationType()

Obtiene el tipo de identificación de los datos personales del usuario.


getIdentificationNumber()

Obtiene el número de identificación de los datos personales del usuario.


getPhone()

Obtiene el número de teléfono del usuario.


getExtensionNumber()

Obtiene la extensión de teléfono del usuario.


getNationality()

Obtiene la nacionalidad del usuario.


getBirthday()

Obtiene la fecha de nacimiento del usuario.


getCountry()

Obtiene el país del usuario.


getState()

Obtiene la provincia del usuario


getCity()

Obtiene la ciudad del usuario.


getZipCode()

Obtiene el código postal del usuario.


getStreetName()

Obtiene la calle del usuario.


getStreetNumber()

Obtiene el número de vivienda del  usuario.


getDepartament()

Obtiene el código de departamento del usuario.


getLinkedinAccount()

Obtiene el código de usuario de linkedin.


getTwitterAccount()

Obtiene el código de usuario de twitter.


getFacebookAccount()

Obtiene el código de usuario de facebook.


getYouTubeAccount()

Obtiene el código de usuario de youtube.


getSkypeAccount()

Obtiene el código de usuario de skype.


getObservation()

Obtiene las observaciones del usuario.


Contenido de la Clase Servicio

 

El servicio permite realizar las siguientes operaciones:

 

 

Operación

Descripción

Parámetros

read(user)

Lee una instancia.

User user: Objeto modelo a leer

create(user)

Si el usuario ejecutor tiene permiso para crear usuarios, se crea uno.

En caso de éxito retorna el código de usuario, caso contrario da una excepción con el mensaje de error.

User user: Objeto modelo a crear

update(user)

Si el usuario ejecutor tiene permiso para modificar usuarios, se realiza la modificación.

En caso de éxito retorna el código de usuario, caso contrario da una excepción con el mensaje de error.

User user: Objeto modelo a modificar

delete(user)

Si el usuario ejecutor tiene permiso para eliminar usuarios, lo elimina.

Si no es exitoso, da una excepción con el mensaje de error.

User user: Objeto modelo a elininar

getUserImage(user)

Obtiene la imagen del perfil del usuario.

User user: Objeto modelo a leer

getThumbnail(user)

Obtiene la imagen del perfil del usuario en miniatura.

User user: Objeto modelo a leer

verifySecurity(user,function)

Retorna verdadero si el usuario tiene en sus permisos la función de seguridad especificada como parámetro, y falso en caso contrario.

User user: Objeto modelo a leer

 

String function: Código de la función de seguridad especificada

search(searchCriteria)

Permite recuperar las instancias de usuario que cumplan con los criterios de búsqueda.

SearchCriteria searchCriteria: Criterios de búsqueda

invite(Mail, Subjet, Text, IdApplication, OrganizationalUnit, Licences, Permissions, Roles)

Permite realizar invitaciones de usuarios a una aplicación específica de Deyel. Si no se informa la misma, se asume la aplicación Global.

 

Si el invitado tiene usuario, al mismo se le agregan los permisos de la invitación que hasta el momento no tenía. Si tiene sesión abierta, ingresa a la aplicación especificada, caso contrario se lo redirige al login de dicha aplicación.

Si el invitado no tiene usuario, al aceptar la invitación el mismo se crea y  se loguea a Deyel desde la invitación especificada.

 

Si alguno de los datos no fuera válido retorna una excepción indicando el motivo.

String Mail: correo electrónico del usuario a invitar

 

String Subjet: asunto del mail a  enviar.

 

String Text: contenido del mail a enviar.

 

String IdApplication: identificador de la aplicación a la cuál ingresará el usuario invitado

 

String OrganizationalUnit: código de la unidad organizacional del usuario invitado

 

List<User.Licenses> Licences: tipos de licencias asignados al usuario invitado

 

List<User.Permissions> Permissions: permisos asignados al usuario invitado

 

List<User.Roles> Roles: roles asignados al usuario invitado

Ejemplo de Uso

 

En los ejemplos se utiliza el objeto Deyel usuario y cada ejemplo contiene el uso de la clase modelo “User” y la clase servicio “UserService”.

 

1.Creación del servicio

 

Este servicio se crea por única vez en la regla y se lo reutiliza en las distintas operaciones.

 

 

UserService userService = new UserService(getApiClient());

 

 

 

2.Lectura de un usuario

 

En este ejemplo se lee un usuario con la propiedad userCode con valor “JPAZ”, utilizando el método read(user) de la clase servicio “UserService”. Se obtiene el valor de la propiedad lastName con el método getter de la clase modelo “User”.

 

 

User user = new User();

user.setUserCode("AFARIAS");

user = userService.read(user);

 

 

 

3.Creación de un usuario

 

En este ejemplo se crea un usuario con la propiedad userCode con valor "NUEVO". Se lo activa con licencia para el producto Deyel y el permiso de usuario Final.

 

 

UserService userService = new UserService(getApiClient());

User user = new User();

user.setUserCode("NUEVO");

user.setFirstName("Nuevo");

user.setLastName("Usuario");

user.setEmail("nuevousuario@optaris.com");

user.setAlias("nuevousuario@optaris.com");

user.setOrganizationalUnit("0000000003");

user.setActive(1);

List<User.Licenses> licensesList = new ArrayList<>();

User.Licenses licenses = new User.Licenses();

licenses.setProduct("DEYEL");

licenses.setLicenseType("EVE");

licensesList.add(licenses);

List<User.Permissions> permissionsList = new ArrayList<>();

User.Permissions permissions = new User.Permissions();

permissions.setApplication("DEYEL");

permissions.setPermissionCode("USUARIOFINAL");

permissionsList.add(permissions);

user.setLicenses(licensesList);

user.setPermissions(permissionsList);

userService.create(user);

 

 

 

4.Modificación de un usuario

 

En este ejemplo se modifica el usuario identificado con userCode "AFARIAS". Se lo inactiva y se le cambia la unidad organizacional.

 

 

User user = new User();

user.setUserCode(“AFARIAS”);

user = userService.read(user); 

user.setOrganizationalUnit("0000000008");

user.setActive(0);

userService.update(user);

 

 

 

5.Eliminación de un usuario

 

En este ejemplo se elimina al usuario identificado con userCode "AFARIAS".

 

 

User user = new User();

user.setUserCode(“AFARIAS”);

user = userService.read(user); 

userService.delete(user);

 

 

 

6.Obtener la imagen del perfil del usuario

 

En este ejemplo se lee un usuario identificado con userCode “AFARIAS” y se obtiene su imagen de perfil mediante el método getUserImage(user) de la clase servicio “UserService”.

 

 

User user = new User();

user.setUserCode("AFARIAS");

userService.getUserImage(user);

 

 

 

7.Obtener imagen en miniatura del perfil del usuario

 

En este ejemplo se lee un usuario identificado con userCode “AFARIAS” y se obtiene su imagen de perfil en miniatura mediante el método getThumbnail(user) de la clase servicio “UserService”.

 

 

User user = new User();

user.setUserCode("AFARIAS");

userService.getThumbnail(user);

 

 

 

8.Verificación de seguridad

 

En este ejemplo se verifica si un usuario identificado con userCode “AFARIAS’ tiene definida la función de seguridad “DUU0C001”. Se utiliza el método verifySecurity((user, “DuU0C001”) de la clase servicio “UserService” con el usuario leído mediante el método read(user) y la función de seguridad especificada, como parámetros.

 

 

User user = new User();

user.setUserCode("AFARIAS");

user = userService.read(user);

boolean userHasAccess = userService.verifySecurity(user, "DUU0C001");

 

 

 

9.Invitación a usuarios

 

En este ejemplo se envía una invitación al mail “prueba@optaris.com” . Dicha invitación contiene: licencia para dos productos, dos permisos y dos roles. Se establece la aplicación puntual a la que el usuario debe ingresar.

 

 

UserService userService = new UserService(getApiClient());

List<User.Licenses> licensesList = new ArrayList<>();

// Definir 2 licencias

User.Licenses licenses1 = new User.Licenses();

licenses1.setProduct("DEYEL");

licenses1.setLicenseType("NOM");

User.Licenses licenses2 = new User.Licenses();

licenses2.setProduct("CONT");

licenses2.setLicenseType("MIT");

licensesList.add(licenses1);

licensesList.add(licenses2);

// Definir 2 permisos

List<User.Permissions> permissionsList = new ArrayList<>();

User.Permissions permissions1 = new User.Permissions();

permissions1.setApplication("DEYEL");

permissions1.setPermissionCode("USUARIOFINAL");

permissions2.setApplication("GLOBAL");

permissions2.setPermissionCode("MODELADOR");

permissionsList.add(permissions1);

permissionsList.add(permissions2);

// Definir 2 roles

List<User.Roles> rolesList = new ArrayList<>();

User.Roles rol1 = new User.Roles();

rol1.setRole("DEYEL_PRUEBAFUNCIONES");

rol1.setApplication("DEYEL");

User.Roles rol2 = new User.Roles();

rol2.setRole("ARGLOBAL_COMUNICACIONCUIT");

rol2.setApplication("GLOBAL");

rolesList.add(rol1);

rolesList.add(rol2);

//Definir la aplicación

String idApp = "AED9B9C79826C48";

  try {

        userService.invite("prueba@optaris.com""Prueba de invitación con app""texto de prueba", idApp, "0000000008", licensesList, permissionsList, rolesList);

} catch (Exception e) {

        log(e.getMessage());

}

 

 

 

Búsqueda

 

Existen dos tipos de búsquedas: Eager y Lazy.

 

Las búsquedas sobre los usuarios se pueden realizar mediante el uso del objeto SearchCriteria. Dicho objeto implementa los métodos setReadTypeLazy() y setReadTypeEager() para indicar el tipo de búsqueda que se va a realizar y el método getReadType() para recuperar el tipo de búsqueda establecido.

 

Si se desea utilizar la búsqueda Eager no es necesario especificarlo con el método setReadTypyEager() porque es la que se utiliza en forma predeterminada.

 

La lectura de la búsqueda de tipo Lazy recupera en forma predeterminada los valores de las siguientes propiedades del usuario: UserCode, FirstName, LastName, Active, Type, Alias, Email, OrganizationalUnit, Calendar, la referencia de la imagen de usuario que se recupera mediante el método getUserImagelLink(), y la referencia de la imagen thumbnail de usuario que ser recupera mediante el método getThumbnailLink() del objeto User.

 

El objeto searchCriteria implementa el método setLazyFields() donde se definen las propiedades a obtener. Dicho método se utiliza cuando se requiere el valor de una propiedad que no se recupera en forma predeterminada en la búsqueda de tipo Lazy.

 

Para recuperar las propiedades del usuario: dsFirstName, dsLastName, cdActive, codigoMail, ImgUser se utiliza el método setLazyFields() que implementa el objeto searchCriteria.

 

 

List xProjection = new java.utiljj.ArrayList();

xProjection.add("dsFirstName");

xProjection.add("dsLastName");

xProjection.add("cdActive");

xProjection.add("codigoAMail");

xProjection.add("imgUser");

xSearchCriteria.setLazyFields(xProjection);

 

Ejemplos de Búsqueda

 

1.Búsqueda Eager

 

En este ejemplo se recupera una lista con los usuarios que en la propiedad dsEmail contengan “gmail” y que en la propiedad cdOrgUnit tengan el identificador de la unidad organizacional de “Ventas” (0000000007). Los resultados son ordenados por apellido en forma ascendente. Se recorre la lista visualizando los nombres y apellidos de los usuarios. Se utiliza el mismo criterio que para las búsquedas de los formularios.

 

 

SearchCriteria searchCriteria = new SearchCriteria();

Criteria criteria1 = Criteria.like("dsEmail""gmail");

Criteria criteria2 = Criteria.eq("cdOrgUnit""0000000007");

searchCriteria.addCriteria(criteria1);

searchCriteria.addCriteria(criteria2);

searchCriteria.addOrderAsc("dsLastName")

SearchResult SearchResult = userService.search(searchCriteria);

Iterator it = SearchResult.getResult().iterator();

while (it.hasNext()) {

    User user = (User) it.next();

    log(user.getFirstName() + " " + user.getLastName());

}

 

 

 

2.Búsqueda Lazy

 

En este ejemplo se quieren obtener los valores de las propiedades “dsFirstName” y “dsLastName”.

Se recuperan los usuarios que en la propiedad cdOrgUnit tengan valores del identificador de la unidad organizacional distintos de  “Ventas” (0000000007) y de “Sistemas” (0000000008). Los resultados son ordenados por apellido en forma descendente y el tamaño de la página se establece en 5.

Se recorre la lista visualizando los nombres y apellidos de los usuarios. Se utiliza el mismo criterio que para las búsquedas de los formularios.

 

 

SearchCriteria xSearchCriteria = new SearchCriteria();

xSearchCriteria.setReadTypeLazy();

xSearchCriteria.addCriteria(Criteria.nin("cdOrgUnit", java.util.Arrays.asList("0000000007""0000000008" )));

xSearchCriteria.setPageSize(5);

List xProyection = new java.util.ArrayList();

xProyection.add("dsFirstName");

xProyection.add("dsLastName");

xSearchCriteria.addOrderDesc("dsLastName");

xSearchCriteria.setLazyFields(xProyection);

SearchResult xSearchResult= xUserService.search(xSearchCriteria);

for (int page = 1; page <= xSearchResult.getPages(); page++) {

List<User> lsUser = xSearchResult.goToPage(page).getResult();

for (User xUser : lsUser) {

 log(xUser.getFirstName() + " " + xUser.getLastName()+ " pagina = "+page);

 }

}

 

Envianos tu comentario
Compartir en X Compartir en Linkedin Enviar por Email Imprimir