Desarrollo de la respuesta a este algoritmo utilizando JAVA:
String valor= CIBIF|4000|{65010101646C0400|400||}{0201010403010001||51991243992|}{65010101646C0402||519912439920101|}{65010101646C0403|2||}{65010101646C0406|0||}{65010101646C0407|1||}{65010101646C0408|600||}{65010101646C0409||PEN|}{65010101646C040A|1||}{65010101646C040B|1||}{65010101646C040C||"=|agent=92002113;EAI_IVR_CARGAMONTON_LLN6;"|}
Buscar el identificador "65010101646C0407" en la cadena, luego obtener el valor de la siguiente posición después del "|":
Validar:
-> Si el valor obtenido es 1, entonces transaccion = Proceso1
-> Caso contrario transaccion = Proceso2
Considerar: después de la posición 4 que es "400", los datos son dinamanicos.
package ejercicios_java;
import java.util.Iterator;
public class conseguir_token {
static String token= "CIBIF|4000|{65010101646C0400|400||}"
+ "{0201010403010001||51991243992|}{65010101646C0402||519912439920101|}"
+ "{65010101646C0403|2||}{65010101646C0406|0||}{65010101646C0407|1||}"
+ "{65010101646C0408|600||}{65010101646C0409||PEN|}{65010101646C040A|1||}{65010101646C040B|1||}"
+ "{65010101646C040C||\"=|agent=92002113;EAI_IVR_CARGAMONTON_LLN6;\"|}";
static String identificador= "65010101646C0407";
public static void main(String[] args) {
conseguir_token ct = new conseguir_token();
ct.buscar_identificador(token, identificador);
}
public int buscar_identificador(String t, String id) {
int resultado=0;
int posicion_pipeline=0;
String token_cortado="";
for (int i = 0; i <= (t.length()-id.length()); i++) {
if(t.charAt(i) == '6'){
token_cortado= t.substring(i, i+(id.length()));
if(token_cortado.equals(id)){
posicion_pipeline=i+(id.length());
String codigo=t.substring(posicion_pipeline+1, posicion_pipeline +2);
mostrar_estado(codigo);
//System.out.println(t.substring(posicion_pipeline, posicion_pipeline+1));
}
}
}
return(resultado);
}
public void mostrar_estado(String cod) {
/**Si el valor obtenido es 1, entonces transaccion = Proceso1
Caso contrario transaccion = Proceso2*/
if(Integer.parseInt(cod)==1) {
System.out.println("transaccion = Proceso1");
}else {
System.out.println("transaccion = Proceso2");
}
}
}