jboss-user
[Arriba] [Todas las Listas]

[jboss-Usuario] [jBPM] - Re: cliente de tarea Humana en un GUI de usuari

To: User development <jboss-user@xxxxxxxxxxxxxxx>
Subject: [jboss-Usuario] [jBPM] - Re: cliente de tarea Humana en un GUI de usuario diferente
From: Pierpaolo Lombardi <do-not-reply@xxxxxxxxx>
Date: Fri, 09 Sep 2011 08:27:23 -0400
Auto-submitted: yes
Delivery-date: Fri, 09 Sep 2011 08:28:24 -0400
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <2-624208-3-89560-1314866023159-2-625579-3-90600-1315500460650.jivesbs.jivemailuser@http://community.jboss.org>
List-archive: <http://lists.jboss.org/pipermail/jboss-user>
List-help: <mailto:jboss-user-request@lists.jboss.org?subject=help>
List-id: The JBoss User main mailing list <jboss-user.lists.jboss.org>
List-post: <mailto:jboss-user@lists.jboss.org>
List-subscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=subscribe>
List-unsubscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=unsubscribe>
References: <2-624208-3-89560-1314866023159.jivesbs.jivemailuser@http://community.jboss.org> <2-624208-3-89560-1314866023159-2-624241-3-2836-1314876472579.jivesbs.jivemailuser@http://community.jboss.org> <2-624208-3-89560-1314866023159-2-625579-3-90600-1315500460650.jivesbs.jivemailuser@http://community.jboss.org>
Reply-to: The JBoss User main mailing list <jboss-user@xxxxxxxxxxxxxxx>
Sender: jboss-user-bounces@xxxxxxxxxxxxxxx
*Pierpaolo *Lombardi [*http://Comunidad.*jboss.*org/Personas/*pierx83] creó la discusión

"*Re: cliente de tarea Humana en un GUI de usuario diferente"

para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/625741#625741

--------------------------------------------------------------
*Hi,

de hecho utilizo la interfaz de RESTO justo para empezar un proceso. Las actividades de administración de la Tarea son hechas por utilizar el *TaskClient la biblioteca proporcionada con *jbpm. 
Sobre el proceso de inicio, aquí mi código:

**público** ***void** *startProcess(Cadena *username,contraseña de Cadena,Cadena *processName, Cadena<de Mapa, parámetros> de Objeto)
#unknown{^*JBPMRestOperations *jbpmRestOperations = nuevo *JBPMRestOperations ("*localhost","8080");

Cadena *responseString = *esto*.*jbpmRestOperations.*requestPostService(*processName, parámetros);
**si**(*responseString.*substring(101).*startsWith("*j_Control_de seguridad")) //necesidades de RESTO *authentication

**esto**.*jbpmRestOperations.*authenticate(*username, contraseña);

**esto**.*jbpmRestOperations.*requestPostService(*processName, parámetros);}
y el *JBPMRestOperations la clase es:

importación *java.*io.*BufferedReader;
Importación *java.*io.*InputStream;
Importación *java.*io.*InputStreamReader;
Importación *java.*util.*ArrayList;
Importación *java.*util.*HashMap;
Importación *java.*util.*Iterator;
Importación *java.*util.Lista;
importación *java.*util.Mapa;
importación *java.*util.Set;
importación *org.*apache.*http.*HttpResponse;
Importación *org.*apache.*http.*NameValuePair;
Importación *org.*apache.*http.Cliente.Entidad.*UrlEncodedFormEntity;
Importación *org.*apache.*http.Cliente.Métodos.*HttpPost;
Importación *org.*apache.*http.*impl.Cliente.*DefaultHttpClient;
Importación *org.*apache.*http.Mensaje.*BasicNameValuePair;
Clase pública *JBPMRestOperations
#adj_nom_nom de Cadena pública_*USERNAME = "*j_*username";
Cadena pública CONTRASEÑACLAVE = "*j_contraseña";
privado *DefaultHttpClient *httpClient; // mantiene esto fuera del método para reutilización el objeto para llamar otros servicios sin perder sesión
dirección de Cadena privada;
público *JBPMRestOperations(anfitrión de Cadena,puerto de Cadena)
#unknown{^*httpClient = nuevo *DefaultHttpClient();
esto.Anfitrión = de dirección+":"+puerto;
}
Cadena pública *authenticate(Cadena *username, contraseña de Cadena)
#nom *responseString = "";
Lista<*NameValuePair> *formparams = nuevo *ArrayList<*NameValuePair>();
*formparams.Añade(nuevo *BasicNameValuePair(LLAVE_*USERNAME, *username));
*formparams.Añade(nuevo *BasicNameValuePair(CONTRASEÑACLAVE, contraseña));
*HttpPost *httpPost = nuevo *HttpPost("*http://&*quot; + dirección + "/*gwt-consola-*server/*rs/proceso/*j_control_de seguridad");
*InputStreamReader *inputStreamReader = *null;
*BufferedReader *bufferedReader = *null;
prueba
#unknown{^*UrlEncodedFormEntity la entidad = nueva *UrlEncodedFormEntity(*formparams, "UTF-8");//*UrlEncodedFormEntity(*formparams, "*multipart/forma-dato");
*httpPost.*setEntity(Entidad);
*HttpResponse respuesta = *httpClient.Ejecuta(*httpPost);
*InputStream *inputStream = respuesta.*getEntity().*getContent();
*inputStreamReader = Nuevo *InputStreamReader(*inputStream);
*bufferedReader = nuevo *BufferedReader(*inputStreamReader);
*StringBuilder *stringBuilder = nuevo *StringBuilder();
línea de Cadena = *bufferedReader.*readLine();
Mientras (línea != *null)
#unknown{^*stringBuilder.*append(Línea);
línea = *bufferedReader.*readLine();
}
*responseString = *stringBuilder.*toString();
} Coge (Excepción *e)
#verbcj nuevo *RuntimeException(*e);
} finalmente
#cnj (*inputStreamReader != *null)
#Verbcj
#unknown{^*inputStreamReader.Cercano();
} coge (Excepción *e)
#verbcj nuevo *RuntimeException(*e);
}
}
si (*bufferedReader != *null)
#Verbcj
#unknown{^*bufferedReader.Cercano();
} coge (Excepción *e)
#verbcj nuevo *RuntimeException(*e);
}
}
}
regreso *responseString;
}

Cadena pública *requestPostService(Cadena *processName, Cadena<de Mapa, parámetros> de Objeto)
#nom *responseString = "";
Lista<*NameValuePair> *formparams = nuevo *ArrayList<*NameValuePair>();
si (parámetros == *null)
#nom = nuevo *HashMap<Cadena, Objeto>();
}
Pone<parámetros> de llaves = de la Cadena.*keySet();
Puesto que (*Iterator<Cadena> *keysIterator = llaves.*iterator(); *keysIterator.*hasNext();)
#Nom *keyString = *keysIterator.Próximo();
parámetros de valor = de la Cadena.Consigue(*keyString).*toString();
*formparams.Añade(nuevo *BasicNameValuePair(*keyString, valor));
}
*HttpPost *httpPost = nuevo *HttpPost("*http://&*quot; + dirección + "/*gwt-consola-*server/*rs/definición/de proceso/"+*processName+"/casonuevo_*params");
*InputStreamReader *inputStreamReader = *null;
*BufferedReader *bufferedReader = *null;

prueba
#unknown{^*UrlEncodedFormEntity la entidad = nueva *UrlEncodedFormEntity(*formparams, "UTF-8");
*httpPost.*setEntity(Entidad);
*HttpResponse respuesta = *httpClient.Ejecuta(*httpPost);
*InputStream *inputStream = respuesta.*getEntity().*getContent();
*inputStreamReader = Nuevo *InputStreamReader(*inputStream);
*bufferedReader = nuevo *BufferedReader(*inputStreamReader);
*StringBuilder *stringBuilder = nuevo *StringBuilder();
línea de Cadena = *bufferedReader.*readLine();
Mientras (línea != *null)
#unknown{^*stringBuilder.*append(Línea);
línea = *bufferedReader.*readLine();
}
*responseString = *stringBuilder.*toString();

} Coge (Excepción *e)
#verbcj nuevo *RuntimeException(*e);
} finalmente
#cnj (*inputStreamReader != *null)
#Verbcj
#unknown{^*inputStreamReader.Cercano();
} coge (Excepción *e)
#verbcj nuevo *RuntimeException(*e);
}
}
si (*bufferedReader != *null)
#Verbcj
#unknown{^*bufferedReader.Cercano();
} coge (Excepción *e)
#verbcj nuevo *RuntimeException(*e);
}
}
}
regreso *responseString;
}
}



--------------------------------------------------------------

Respuesta a este mensaje por ir a Comunidad
[*http://comunidad.*jboss.*org/Mensaje/625741#625741]

Empieza una discusión nueva en *jBPM en Comunidad
[*http://comunidad.*jboss.*org/Escoge-contenedor!Entrada.*jspa?*contentType=1&*containerType=14&contenedor=2034]

Pierpaolo Lombardi [http://community.jboss.org/people/pierx83] created the discussion

"Re: Human task client on a different user GUI"

To view the discussion, visit: http://community.jboss.org/message/625741#625741

--------------------------------------------------------------
Hi,

actually I use the REST interface just to start a process. The Task management activities are done by using the TaskClient library provided with jbpm. 
About the start process, here my code:

**public** **void** startProcess(String username,String password,String processName, Map<String, Object> parameters) {
JBPMRestOperations jbpmRestOperations = new JBPMRestOperations ("localhost","8080");

String responseString = *this*.jbpmRestOperations.requestPostService(processName, parameters);
**if**(responseString.substring(101).startsWith("j_security_check")) //REST needs authentication

**this**.jbpmRestOperations.authenticate(username, password);

**this**.jbpmRestOperations.requestPostService(processName, parameters);}
and the JBPMRestOperations class is:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
public class JBPMRestOperations {
public String KEY_USERNAME = "j_username";
public String KEY_PASSWORD = "j_password";
private DefaultHttpClient httpClient; // keep this out of the method in order to reuse the object for calling other services without losing session
private String address;
public JBPMRestOperations(String host,String port){
httpClient = new DefaultHttpClient();
this.address = host+":"+port;
}
public String authenticate(String username, String password) {
String responseString = "";
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair(KEY_USERNAME, username));
formparams.add(new BasicNameValuePair(KEY_PASSWORD, password));
HttpPost httpPost = new HttpPost("http://"; + address + "/gwt-console-server/rs/process/j_security_check");
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;
try {
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");//UrlEncodedFormEntity(formparams, "multipart/form-data");
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
InputStream inputStream = response.getEntity().getContent();
inputStreamReader = new InputStreamReader(inputStream);
bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
String line = bufferedReader.readLine();
while (line != null) {
stringBuilder.append(line);
line = bufferedReader.readLine();
}
responseString = stringBuilder.toString();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (inputStreamReader != null) {
try {
inputStreamReader.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
return responseString;
}

public String requestPostService(String processName, Map<String, Object> parameters) {
String responseString = "";
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
if (parameters == null) {
parameters = new HashMap<String, Object>();
}
Set<String> keys = parameters.keySet();
for (Iterator<String> keysIterator = keys.iterator(); keysIterator.hasNext();) {
String keyString = keysIterator.next();
String value = parameters.get(keyString).toString();
formparams.add(new BasicNameValuePair(keyString, value));
}
HttpPost httpPost = new HttpPost("http://"; + address + "/gwt-console-server/rs/process/definition/"+processName+"/new_instance_params");
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;

try {
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
InputStream inputStream = response.getEntity().getContent();
inputStreamReader = new InputStreamReader(inputStream);
bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
String line = bufferedReader.readLine();
while (line != null) {
stringBuilder.append(line);
line = bufferedReader.readLine();
}
responseString = stringBuilder.toString();

} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (inputStreamReader != null) {
try {
inputStreamReader.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
return responseString;
}
}



--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/625741#625741]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

_______________________________________________
*jboss-Usuario *mailing lista
*jboss-user@xxxxxxxxxxxxxxx
*https://listas.*jboss.*org/*mailman/*listinfo/*jboss-Usuario
_______________________________________________
jboss-user mailing list
jboss-user@xxxxxxxxxxxxxxx
https://lists.jboss.org/mailman/listinfo/jboss-user
<Anterior por Tema] Tema Actual [Siguiente por Tema>