/** * Parse Variable * * @param variable variable * @param po po * @return translated variable or if not found the original tag */ private String parseVariable(String variable, PO po) { int index = po.get_ColumnIndex(variable); if (index == -1) { StringBuilder msgreturn = new StringBuilder("@").append(variable).append("@"); return msgreturn.toString(); // keep for next } // MColumn col = MColumn.get(Env.getCtx(), po.get_TableName(), variable); Object value = null; if (col != null && col.isSecure()) { value = "********"; } else if (col.getAD_Reference_ID() == DisplayType.Date || col.getAD_Reference_ID() == DisplayType.DateTime || col.getAD_Reference_ID() == DisplayType.Time) { SimpleDateFormat sdf = DisplayType.getDateFormat(col.getAD_Reference_ID()); value = sdf.format(po.get_Value(index)); } else if (col.getAD_Reference_ID() == DisplayType.YesNo) { if (po.get_ValueAsBoolean(variable)) value = Msg.getMsg(Env.getCtx(), "Yes"); else value = Msg.getMsg(Env.getCtx(), "No"); } else { value = po.get_Value(index); } if (value == null) return ""; return value.toString(); } // translate
/** * Set PO for parse * * @param po po * @param analyse if set to true, search for BPartner/User */ public void setPO(PO po, boolean analyse) { m_po = po; if (analyse) { int index = po.get_ColumnIndex("C_BPartner_ID"); if (index > 0) { Object oo = po.get_Value(index); if (oo instanceof Integer) { int C_BPartner_ID = ((Integer) oo).intValue(); setBPartner(C_BPartner_ID); } } index = po.get_ColumnIndex("AD_User_ID"); if (index > 0) { Object oo = po.get_Value(index); if (oo instanceof Integer) { int AD_User_ID = ((Integer) oo).intValue(); setUser(AD_User_ID); } } } } // setPO