use of org.compiere.util.Trx in project adempiere by adempiere.
the class DeleteEntityControler method deleteSelectedNodes.
/**
* De;ete Selected nodes
* @param commit
* @return
*/
public int deleteSelectedNodes() {
int totalCount = 0;
Trx trx = Trx.get(Trx.createTrxName("delete"), true);
String errorMsg = null;
try {
//
while (!stack.empty()) {
DeleteEntitiesModel tableData = (DeleteEntitiesModel) stack.pop();
totalCount += tableData.delete(trx);
}
// Commit changes
if (!isDryRun()) {
trx.commit(true);
} else {
trx.rollback(true);
}
} catch (Exception ex) {
errorMsg = ex.getLocalizedMessage();
log.log(Level.WARNING, "Cascade delete failed.", ex);
totalCount = 0;
trx.rollback();
} finally {
trx.close();
}
// Exception
if (errorMsg != null)
throw new AdempiereException(errorMsg);
// Return
return totalCount;
}
use of org.compiere.util.Trx in project adempiere by adempiere.
the class OrderTest method run.
/**
* Run
*/
public void run() {
long time = System.currentTimeMillis();
int count = 0;
MBPartner bp = new MBPartner(Env.getCtx(), 117, null);
bp.setSOCreditStatus(MBPartner.SOCREDITSTATUS_NoCreditCheck);
bp.saveEx();
//
for (int i = 0; i < m_numberOrders; i++) {
Trx trx = Trx.get(Trx.createTrxName("Test" + m_no + "_" + i), true);
trx.start();
//
MOrder order = new MOrder(Env.getCtx(), 0, trx.getTrxName());
order.setDescription("#" + m_no + "_" + i);
// POS
order.setC_DocTypeTarget_ID(135);
// C&W
order.setC_BPartner_ID(117);
// GardenAdmin
order.setSalesRep_ID(101);
order.setDeliveryRule(MOrder.DELIVERYRULE_Force);
if (!order.save()) {
log.warning("#" + m_no + "_" + i + ": Not saved(1)");
m_errors++;
continue;
}
Random r = new Random();
int linesNumber = r.nextInt(m_maxLines) + 1;
for (int j = 0; j < linesNumber; j++) {
MOrderLine line = new MOrderLine(order);
// Oak Tree
line.setM_Product_ID(123);
line.setQty(new BigDecimal(5));
if (!line.save()) {
log.warning("#" + m_no + "_" + i + ": Line not saved");
m_errors++;
}
}
// Process
order.setDocAction(DocAction.ACTION_Complete);
if (!order.processIt(DocAction.ACTION_Complete)) {
log.warning("#" + m_no + "_" + i + ": Not processed");
m_errors++;
trx.rollback();
trx.close();
continue;
}
if (!order.save()) {
log.warning("#" + m_no + "_" + i + ": Not saved(2)");
m_errors++;
} else
count++;
trx.commit();
trx.close();
//
log.info(order.toString());
}
time = System.currentTimeMillis() - time;
log.warning("#" + m_no + ", Errors=" + m_errors + ", Count=" + count + " " + ((float) count * 100 / m_numberOrders) + "% - " + time + "ms - ea " + ((float) time / count) + "ms");
}
use of org.compiere.util.Trx in project adempiere by adempiere.
the class AdempiereTestCase method commit.
/**
* Commit active transaction
* @throws Exception
*/
protected void commit() throws Exception {
Trx trx = null;
if (trxName != null)
trx = Trx.get(trxName, false);
if (trx != null && trx.isActive()) {
try {
trx.commit(true);
} finally {
trx.close();
}
}
trx = null;
}
use of org.compiere.util.Trx in project adempiere by adempiere.
the class AdempiereTestCase method tearDown.
@Override
protected void tearDown() throws Exception {
super.tearDown();
// Rollback the transaction, if any
Trx trx = null;
if (trxName != null)
trx = Trx.get(trxName, false);
if (trx != null && trx.isActive()) {
trx.rollback();
trx.close();
}
trx = null;
testProperties = null;
m_Ctx = null;
}
use of org.compiere.util.Trx in project adempiere by adempiere.
the class WProcess method createProcessPage.
// createParameterPage
//Modified by Rob klein 4/29/07
/**************************************************************************
* Create Parocess Page
* @param request request
* @param AD_Process_ID Process
* @return Page
*/
public void createProcessPage(HttpServletRequest request, HttpServletResponse response, int AD_Process_ID, int AD_Window_ID) {
WebSessionCtx wsc = WebSessionCtx.get(request);
MProcess process = MProcess.get(wsc.ctx, AD_Process_ID);
log.info("PI table id " + process.get_Table_ID());
log.info("PI table name id " + process.get_TableName());
log.info("PI table client id " + process.getAD_Client_ID());
log.info("PI table process id " + process.getAD_Process_ID());
log.info("PI process class name " + process.getClassname());
// need to check if Role can access
WebDoc doc = null;
if (process == null) {
doc = WebDoc.createWindow("Process Not Found");
} else {
doc = WebDoc.createWindow(process.getName());
td center = doc.addWindowCenter(false);
if (process.getDescription() != null)
center.addElement(new p(new i(process.getDescription())));
if (process.getHelp() != null)
center.addElement(new p(process.getHelp(), AlignType.LEFT));
// Create Process Instance
MPInstance pInstance = fillParameter(request, process);
//
int AD_Table_ID = WebUtil.getParameterAsInt(request, "AD_Table_ID");
int AD_Record_ID = WebUtil.getParameterAsInt(request, "AD_Record_ID");
ProcessInfo pi = new ProcessInfo(process.getName(), process.getAD_Process_ID(), AD_Table_ID, AD_Record_ID);
pi.setAD_User_ID(Env.getAD_User_ID(wsc.ctx));
pi.setAD_Client_ID(Env.getAD_Client_ID(wsc.ctx));
pi.setClassName(process.getClassname());
log.info("PI client id " + pi.getAD_Client_ID());
pi.setAD_PInstance_ID(pInstance.getAD_PInstance_ID());
// Info
p p = new p();
p.addElement(Msg.translate(wsc.ctx, "AD_PInstance_ID") + ": " + pInstance.getAD_PInstance_ID());
center.addElement(p);
// Start
boolean processOK = false;
if (process.isWorkflow()) {
Trx trx = Trx.get(Trx.createTrxName("WebPrc"), true);
try {
WProcessCtl.process(this, AD_Window_ID, pi, trx, request);
//processOK = process.processIt(pi, trx);
trx.commit();
trx.close();
} catch (Throwable t) {
trx.rollback();
trx.close();
}
if (pi.isError()) {
center.addElement(new p("Error:" + pi.getSummary(), AlignType.LEFT).setClass("Cerror"));
processOK = false;
} else {
center.addElement(new p("OK: Workflow Started", AlignType.LEFT));
processOK = true;
}
center.addElement(new p().addElement(pi.getSummary()));
center.addElement(pi.getLogInfo(true));
}
String jasper = process.getJasperReport();
if (process.isJavaProcess()) {
if (jasper != null) {
pi.setPrintPreview(false);
pi.setIsBatch(true);
}
Trx trx = Trx.get(Trx.createTrxName("WebPrc"), true);
try {
processOK = process.processIt(pi, trx);
trx.commit();
trx.close();
} catch (Throwable t) {
trx.rollback();
trx.close();
}
if (!processOK || pi.isError()) {
center.addElement(new p("Error:" + pi.getSummary(), AlignType.LEFT).setClass("Cerror"));
processOK = false;
} else {
if (jasper != null) {
String error = WebUtil.streamFile(response, pi.getPDFReport());
//String error = streamResult (request, response, pInstance.getAD_PInstance_ID(), file);
if (error == null)
return;
doc = WebDoc.create(error);
wsc.ctx.put("AD_PInstance_ID=" + pInstance.getAD_PInstance_ID(), "ok");
} else {
center.addElement(new p().addElement(pi.getSummary()));
center.addElement(pi.getLogInfo(true));
}
}
}
// Report
if (process.isReport()) //if (processOK && process.isReport())
{
if (jasper == null) {
log.info(response.toString());
ReportEngine re = ReportEngine.get(wsc.ctx, pi);
if (re == null) {
center.addElement(new p("Could not start ReportEngine", AlignType.LEFT).setClass("Cerror"));
} else {
try {
File file = File.createTempFile("WProcess", ".pdf");
boolean ok = re.createPDF(file);
if (ok) {
String error = WebUtil.streamFile(response, file);
//String error = streamResult (request, response, pInstance.getAD_PInstance_ID(), file);
if (error == null)
return;
doc = WebDoc.create(error);
//Modified by Rob Klein 6/1/07
/**
String url = "WProcess?AD_PInstance_ID="
+ pInstance.getAD_PInstance_ID()
+ "&File="
+ URLEncoder.encode(file.getAbsolutePath(), WebEnv.ENCODING);
a link = new a (url, null, a.TARGET_BLANK, process.getName());
center
.addElement(new p()
.addElement("Report created: ")
.addElement(link));
// Marker that Process is OK
* */
wsc.ctx.put("AD_PInstance_ID=" + pInstance.getAD_PInstance_ID(), "ok");
} else
center.addElement(new p("Could not create Report", AlignType.LEFT).setClass("Cerror"));
} catch (Exception e) {
center.addElement(new p("Could not create Report:", AlignType.LEFT).setClass("Cerror"));
center.addElement(e.toString());
}
}
}
}
}
doc.addPopupClose(wsc.ctx);
try {
WebUtil.createResponse(request, response, this, null, doc, false);
} catch (IOException e) {
log.info(e.toString());
}
}
Aggregations