• No se han encontrado resultados

APÉNDICE D. Uso del servidor de usuarios.

N/A
N/A
Protected

Academic year: 2022

Share "APÉNDICE D. Uso del servidor de usuarios."

Copied!
5
0
0

Texto completo

(1)

APÉNDICE D.

Uso del servidor de usuarios.

En el siguiente ejemplo se muestran el uso de los métodos utilizados:

import mx.udlap.centia.ums.*;

import mx.udlap.centia.*;

import java.rmi.Naming;

import java.rmi.RemoteException;

import java.rmi.NotBoundException;

import java.net.MalformedURLException;

/**

* Esta clase sirve de prueba para el servidor de modelos de usuario.

* @author Salvador Garcia Martinez */

public class UserModelClient {

public static void main(String args[]) { try {

// Para obtener un toolkit, que te permite trabajar con el servidor remoto. UserModelToolkit umt = (UserModelToolkit)

Naming.lookup("rmi://cambal3.udlap.mx:1099/UserModelService");

//Para dar de alta una aplicación en el servidor, sólo es necesario hacerlo la primera vez.

umt.setApplication("prueba","prueba_descripcion");

(2)

//Para obtener una aplicacion umt.getApplication("prueba");

//Para obtener las constantes de una aplicacion

ApplicationConstants ap = umt.getApplicationConstants("prueba");

System.out.println("Constantes: " + ap);

//Para dar de alta o modificar las constantes de trabajo de la aplicación.

ap = new ApplicationConstants();

// Posibles relaciones entre los recursos y su importancia (valor entre cero y uno).

ac.getDerivedInterestFactors().put("R1",0.8f);

ac.getDerivedInterestFactors().put("R2",0.6f);

ac.getDerivedInterestFactors().put("R1_R2",0.4f);

ac.getDerivedInterestFactors().put("R2_R3",0.2f);

//Para dar de alta o modificar los datos de un modelo de usuario.

// Datos de registro del usuario, el unico que no puede modificarse una vez establecido es el login.

User u = new User();

u.setFirstName("Name");

u.setLastName("LastName");

u.setEmail("[email protected]");

u.setLogin("login");

(3)

u.setPassword("password");

u.setGenre(User.MALE);

u.setActivity("Estudiante");

u.setCapability("Ing. en Sistemas");

u.setCapability("IInformatica");

UserModel um = new UserModel(u);

// El estereotipo al que pertenece el usuario, cada aplicación debe desarrollar su propia clase, heredando de ums.Stereotype.

UserStereotype s = new UserStereotype();

um.setStereotype(s);

// Asignar el modelo de usuario, para hacer pruebas con la segunda parte sin reiniciar el modelo de usuario debe comentarse la siguiente linea.

umt.setUserModel("prueba",um);

//Para obtener un modelo de usuario.

um = umt.getUserModel("prueba","login");

//Para crear un nuevo interés.

um.setInterest(new Interest("R1"));

//Para señalar una acción selectiva sobre un recurso, no es necesario crear el interés previamente.

um.selectiveAction("R1");

um.selectiveAction("R2");

//Para negar una acción selectiva.

um.negativeAction("R2");

//Para confirmar una acción selectiva.

(4)

um.confirmativeAction("R2");

//Para crear un interés derivado en base al tipo de relación, el primer recurso debe ser parte de los intereses.

um.setDerivedInterest("R1","R2","R1_R2");

//Para descartar las creencias cuya probabilidad es menor al umbral indicado en las constantes de trabajo.

um.discardBelieves();

// Asignación del nuevo modelo de usuario.

umt.setUserModel("prueba", um);

//Para obtener los intereses superiores al umbral de interés señalado por la aplicación en sus constantes.

Interest[] interests = um.getInterestsOverThreshold();

for(int i=0; i<interests.length; i++)

System.out.println("IntOverThres: " + interests[i] + " : select : " + interests[i].getNumberOfSelectActions() + " : access : " +

interests[i].getTotalNumberOfAccess());

//Para obtener el promedio de los intereses de los usuarios pertenecientes a un estereotipo.

Interest[] inter =

umt.getStereotypeInterests("salvadorPr",um.getStereotype().getName());

for(int i=0; i<inter.length; i++)

System.out.println("IntOfStereo: " + inter[i]);

}

(5)

catch (MalformedURLException mue) {

System.err.println("The specified URL is not a valid format.");

mue.printStackTrace();

}

catch (RemoteException re) {

System.err.println("The registry couldn't be contacted.");

re.printStackTrace();

}

catch (NotBoundException nbe) {

System.err.println("The requested service was not bounded.");

nbe.printStackTrace();

} }

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en