1 14 package org.compiere.model; 15 16 import java.util.*; 17 import java.sql.*; 18 19 import org.compiere.util.*; 20 21 27 public class MAttributeSet extends X_M_AttributeSet 28 { 29 34 public MAttributeSet (Properties ctx, int M_AttributeSet_ID) 35 { 36 super (ctx, M_AttributeSet_ID); 37 if (M_AttributeSet_ID == 0) 38 { 39 setIsGuaranteeDate (false); 40 setIsLot (false); 41 setIsSerNo (false); 42 setM_AttributeSet_ID (0); 43 setName (null); 44 } 45 } 47 52 public MAttributeSet (Properties ctx, ResultSet rs) 53 { 54 super (ctx, rs); 55 } 57 58 private MAttribute[] m_instanceAttributes = null; 59 60 private MAttribute[] m_productAttributes = null; 61 62 63 68 public MAttribute[] getMAttributes (boolean instanceAttributes) 69 { 70 if ((m_instanceAttributes == null && instanceAttributes) 71 || m_productAttributes == null && !instanceAttributes) 72 { 73 String sql = "SELECT mau.M_Attribute_ID " 74 + "FROM M_AttributeUse mau" 75 + " INNER JOIN M_Attribute ma ON (mau.M_Attribute_ID=ma.M_Attribute_ID) " 76 + "WHERE mau.IsActive='Y' AND ma.IsActive='Y'" 77 + " AND mau.M_AttributeSet_ID=? AND ma.IsInstanceAttribute=? " + "ORDER BY mau.SeqNo"; 79 ArrayList list = new ArrayList(); 80 PreparedStatement pstmt = null; 81 try 82 { 83 pstmt = DB.prepareStatement(sql); 84 pstmt.setInt(1, getM_AttributeSet_ID()); 85 pstmt.setString(2, instanceAttributes ? "Y" : "N"); 86 ResultSet rs = pstmt.executeQuery(); 87 while (rs.next()) 88 list.add (new MAttribute (getCtx(), rs.getInt(1))); 89 rs.close(); 90 pstmt.close(); 91 pstmt = null; 92 } 93 catch (SQLException ex) 94 { 95 log.error("getMAttributes", ex); 96 } 97 try 98 { 99 if (pstmt != null) 100 pstmt.close(); 101 } 102 catch (SQLException ex1) 103 { 104 } 105 pstmt = null; 106 if (instanceAttributes) 108 { 109 m_instanceAttributes = new MAttribute[list.size()]; 110 list.toArray (m_instanceAttributes); 111 } 112 else 113 { 114 m_productAttributes = new MAttribute[list.size()]; 115 list.toArray (m_productAttributes); 116 } 117 } 118 if (instanceAttributes) 120 return m_instanceAttributes; 121 return m_productAttributes; 122 } 124 125 }
| Popular Tags
|