/** * Test * * @param args ignored */ public static void main(String[] args) { Adempiere.startupEnvironment(false); CLogMgt.setLevel(Level.CONFIG); ColumnEncryption columnEncryption = new ColumnEncryption(); int processId = 328; // AD_ColumnEncryption int columnId = 417; // AD_User - Password Env.setContext(Env.getCtx(), I_AD_Column.COLUMNNAME_AD_Column_ID, columnId); MPInstance instance; MPInstancePara instanceParameters; instance = new MPInstance(Env.getCtx(), processId, columnId); instance.saveEx(); instanceParameters = new MPInstancePara(instance, 10); instanceParameters.setParameter(I_AD_Column.COLUMNNAME_IsEncrypted, true); instanceParameters.saveEx(); instanceParameters = new MPInstancePara(instance, 20); instanceParameters.setParameter("ChangeSetting", true); instanceParameters.saveEx(); ProcessInfo pi = new ProcessInfo("AD_ColumnEncryption", processId); pi.setRecord_ID(instance.getRecord_ID()); pi.setAD_PInstance_ID(instance.getAD_PInstance_ID()); pi.setAD_Client_ID(0); pi.setAD_User_ID(100); columnEncryption.startProcess(Env.getCtx(), pi, null); /*List<MUser> users = new Query(Env.getCtx(), I_AD_User.Table_Name , "Password IS NOT NULL", null).list(); for (MUser user : users) { user.setPassword(user.getPassword()); user.saveEx(); }*/ processId = 53259; // Convert password to hashed pi = new ProcessInfo("AD_User_HashPassword", processId); pi.setAD_Client_ID(0); pi.setAD_User_ID(100); HashPasswords process = new HashPasswords(); process.startProcess(Env.getCtx(), pi, null); }
/** * Async Process - Do it all. <code> * - Get Instance ID * - Get Parameters * - execute (lock - start process - unlock) * </code> Creates a ProcessCtl instance, which calls lockUI and unlockUI if parent is a * ASyncProcess <br> * Called from ProcessCtl.startProcess, ProcessDialog.actionPerformed, APanel.cmd_print, * APanel.actionButton, VPaySelect.cmd_generate * * @param parent ASyncProcess & Container * @param WindowNo window no * @param pi ProcessInfo process info * @param trx Transaction * @return worker started ProcessCtl instance or null for workflow */ public static WProcessCtl process( Object parent, int WindowNo, ProcessInfo pi, Trx trx, HttpServletRequest request) { log.fine("WindowNo=" + WindowNo + " - " + pi); WebSessionCtx wsc = WebSessionCtx.get(request); MPInstance instance = new MPInstance(wsc.ctx, pi.getAD_Process_ID(), pi.getRecord_ID()); if (!instance.save()) { pi.setSummary(Msg.getMsg(wsc.ctx, "ProcessNoInstance")); pi.setError(true); return null; } pi.setAD_PInstance_ID(instance.getAD_PInstance_ID()); // Get Parameters (Dialog) /** * ProcessParameter para = new ProcessParameter (Env.getFrame((Container)parent), WindowNo, pi); * if (para.initDialog()) { para.setVisible(true); if (!para.isOK()) { pi.setSummary * (Msg.getMsg(Env.getCtx(), "ProcessCancelled")); pi.setError (true); return null; } } */ // execute WProcessCtl worker = new WProcessCtl(parent, pi, trx, wsc.ctx); worker.start(); // MUST be start! return worker; } // execute
/** * Parent Constructor * * @param instance instance * @param SeqNo sequence */ public MPInstancePara(MPInstance instance, int SeqNo) { super(instance.getCtx(), 0, instance.get_TrxName()); setAD_PInstance_ID(instance.getAD_PInstance_ID()); setSeqNo(SeqNo); } // MPInstance_Para