1 14 package org.compiere.process; 15 16 import java.math.*; 17 18 import org.compiere.model.*; 19 20 26 public class ProjectSetType extends SvrProcess 27 { 28 29 private int m_C_Project_ID = 0; 30 31 private int m_C_ProjectType_ID = 0; 32 33 36 protected void prepare() 37 { 38 ProcessInfoParameter[] para = getParameter(); 39 for (int i = 0; i < para.length; i++) 40 { 41 String name = para[i].getParameterName(); 42 if (para[i].getParameter() == null) 43 continue; 44 else if (name.equals("C_ProjectType_ID")) 45 m_C_ProjectType_ID = ((BigDecimal)para[i].getParameter()).intValue(); 46 else 47 log.error("prepare - Unknown Parameter: " + name); 48 } 49 } 51 56 protected String doIt() throws Exception 57 { 58 m_C_Project_ID = getRecord_ID(); 59 log.info("doIt - C_Project_ID=" + m_C_Project_ID + ", C_ProjectType_ID=" + m_C_ProjectType_ID); 60 MProject project = new MProject (getCtx(), m_C_Project_ID); 62 if (project.getC_Project_ID() == 0 || project.getC_Project_ID() != m_C_Project_ID) 63 throw new IllegalArgumentException ("Project not found C_Project_ID=" + m_C_Project_ID); 64 if (project.getC_ProjectType_IDasInt() > 0) 65 throw new IllegalArgumentException ("Project already has Type (Cannot overwrite) " + project.getC_ProjectType_ID()); 66 MProjectType type = new MProjectType (getCtx(), m_C_ProjectType_ID); 68 if (type.getC_ProjectType_ID() == 0 || type.getC_ProjectType_ID() != m_C_ProjectType_ID) 69 throw new IllegalArgumentException ("Project Type not found C_ProjectType_ID=" + m_C_ProjectType_ID); 70 71 project.setProjectType(type); 73 if (!project.save()) 74 throw new Exception ("@Error@"); 75 return "@OK@"; 77 } 79 } | Popular Tags |