03 febrero 2024

Resolución problema token

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");

}

}


}