62 lines
3.0 KiB
Plaintext
Executable File
62 lines
3.0 KiB
Plaintext
Executable File
package com.fp.bpm.actions;
|
|
|
|
import java.util.List;
|
|
|
|
import com.fp.bpm.ActionExecutor;
|
|
import com.fp.bpm.query.QueryProcessor;
|
|
import com.fp.common.fin.MessageGenerator;
|
|
import com.fp.dto.Response;
|
|
import com.fp.dto.helper.FileHelper;
|
|
import com.fp.dto.json.Serializer;
|
|
import com.fp.dto.query.QueryRequest;
|
|
|
|
/**
|
|
* Clase que se encarga del logon del usuario.
|
|
*
|
|
* @author Santiago Castillo.
|
|
* @version 2.1
|
|
*/
|
|
public class LogonAction extends ActionExecutor {
|
|
|
|
@Override
|
|
public String execute(String pRequest, List<FileHelper> fileItem) throws Exception {
|
|
String[] globaldata = pRequest.split(",");
|
|
String[] datacompany = globaldata[0].split(":");
|
|
String dataAux = globaldata[1].substring(8, globaldata[1].length() - 3);
|
|
String[] data = dataAux.split(":");
|
|
if (data.length != 5) {
|
|
return "";
|
|
}
|
|
String company = datacompany[1];
|
|
String login = data[0];
|
|
String password = data[1].substring(16, 56);
|
|
String jsessionid = data[2];
|
|
String ip = data[3];
|
|
String host = data[4];
|
|
String newRequest = "\"{" + "\"company\":" + company + "," + "\"transactionModule\":\"1\"," + "\"transactionCode\":9998,"
|
|
+ "\"transactionVersion\":1," + "\"login\":\"" + login + "\"," + "\"ip\":\"" + ip + "\"," + "\"itemValue\":\"" + password + "\"," + "\"jsessionid\":\"" + jsessionid
|
|
+ "\"," + "\"host\":\"" + host + "\"," + "\"TSAFEUSERDETAIL\":{" + "\"automatic\":true,"
|
|
+ "\"beanName\":\"com.fp.persistence.pgeneral.safe.TsafeUserDetail\"," + "\"criteria\":[" + "{" + "\"operation\":\"=\","
|
|
+ "\"order\":null," + "\"value\":" + company + "," + "\"property\":\"companycode\","
|
|
+ "\"transportBeanClass\":\"com.fp.dto.query.QueryCriteria\"" + "}," + "{" + "\"operation\":\"=\"," + "\"order\":null,"
|
|
+ "\"value\":\"" + login + "\"," + "\"property\":\"pk.usercode\"," + "\"transportBeanClass\":\"com.fp.dto.query.QueryCriteria\""
|
|
+ "}," + "{" + "\"operation\":\"=\"," + "\"order\":null," + "\"value\":\"2999-12-31\"," + "\"property\":\"pk.dateto\","
|
|
+ "\"transportBeanClass\":\"com.fp.dto.query.QueryCriteria\"" + "}" + "]," + "\"page\":1," + "\"pageSize\":10,"
|
|
+ "\"transportBeanClass\":\"com.fp.dto.query.QueryBean\"," + "\"multirecord\":false" + "}," + "\"querytype\":\"T\"" + "}\"";
|
|
Serializer ser = new Serializer(newRequest);
|
|
QueryRequest qr = (QueryRequest) ser.toObject(QueryRequest.class);
|
|
MessageGenerator mg = MessageGenerator.getInstance();
|
|
qr.setJournalId(mg.generateId(qr.getUser()));
|
|
// Log de transaccion
|
|
super.request = qr;
|
|
super.requestToLog();
|
|
// fin log transaccion
|
|
Response res = new Response(Response.RESPONSE_OK, "OK");
|
|
QueryProcessor qp = new QueryProcessor();
|
|
qr.setResponse(res);
|
|
qp.process(qr);
|
|
ser = new Serializer(res);
|
|
return ser.toJSON();
|
|
}
|
|
}
|