53 lines
1.9 KiB
Plaintext
Executable File
53 lines
1.9 KiB
Plaintext
Executable File
package com.fp.general.rules.query.code;
|
|
|
|
import java.sql.Timestamp;
|
|
|
|
import com.fp.dto.Response;
|
|
import com.fp.dto.query.QueryRequest;
|
|
import com.fp.dto.rules.QueryRule;
|
|
import com.fp.persistence.commondb.PersistenceHelper;
|
|
import com.fp.persistence.commondb.helper.FormatDates;
|
|
import com.fp.persistence.pgeneral.image.TgeneFilesDetail;
|
|
import com.fp.persistence.pgeneral.image.TgeneFilesDetailKey;
|
|
|
|
/**
|
|
* Clase que devuelve en bytes un archivo
|
|
*
|
|
* @author scastillo
|
|
*/
|
|
public class DataBaseFile extends QueryRule {
|
|
|
|
/**
|
|
* Metodo que devuelve en forma de bytes un archivo
|
|
*
|
|
* @param pQueryRequest
|
|
* @return
|
|
* @throws Exception
|
|
*/
|
|
@Override
|
|
public QueryRequest process(QueryRequest pQueryRequest) throws Exception {
|
|
Response response = pQueryRequest.getResponse();
|
|
Integer code = (Integer) pQueryRequest.get("code");
|
|
Timestamp dateto = null;
|
|
if (pQueryRequest.get("dateto") != null) {
|
|
dateto = Timestamp.valueOf((String) pQueryRequest.get("dateto"));
|
|
} else {
|
|
dateto = FormatDates.getDefaultExpiryTimestamp();
|
|
}
|
|
TgeneFilesDetailKey tgeneFilesDetailKey = new TgeneFilesDetailKey(code, dateto);
|
|
TgeneFilesDetail tgeneFilesDetail = (TgeneFilesDetail) PersistenceHelper.getSession().get(TgeneFilesDetail.class, tgeneFilesDetailKey);
|
|
if (tgeneFilesDetail != null) {
|
|
response.put("file", tgeneFilesDetail.getImage());
|
|
response.put("extension", tgeneFilesDetail.getExtension());
|
|
response.put("contentType", tgeneFilesDetail.getContenttype());
|
|
response.put("name", tgeneFilesDetail.getName());
|
|
} else {
|
|
response.put("file", null);
|
|
response.put("extension", null);
|
|
response.put("contentType", null);
|
|
response.put("name", null);
|
|
}
|
|
return pQueryRequest;
|
|
}
|
|
}
|