private void DisplayProductsSuppliersList() {
		
		try {
			// creates DB connection
			Class.forName("oracle.jdbc.driver.OracleDriver");
			Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "ictoosd", "ictoosd");
			Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			
			// *** get  the all product/supplier data for Jlist				
			String sql = "SELECT DISTINCT ";
			sql += "ps.ProductSupplierId, "; 
			sql += "ps.ProductId,";
			sql += "ps.SupplierId,";
			sql += "p.ProdName,";
			sql += "s.SupName ";
			sql += "FROM ";
			sql += "packages_products_suppliers pps,";
			sql += "products_suppliers ps,"; 
			sql += "products p, "; 
			sql += "suppliers s ";
			sql += "WHERE "; 
			sql += "pps.ProductSupplierId = ps.ProductSupplierId ";
			sql += "AND ";
			sql += "ps.ProductID = p.ProductID ";
			sql += "AND ";
			sql += "ps.SupplierID = s.SupplierID "; 
			sql += " ORDER BY "; 
			sql += "p.ProdName,s.SupName";
			
			// executes SQL
			rs = stmt.executeQuery(sql);			
			
			// get result count
			int cnt = 0;
			while (rs.next()){					
				cnt++;
			}
			
			System.out.println("allCnt=" + (cnt));
			
			// move resultset to beforefirst
		    rs.beforeFirst();
			
			
			Items = new String[cnt]; // create array of list item text (used to compare method for selected items)
			lstVals = new int[cnt];  // create array of list item value (used in save method)
			
			int i = 0;
			// create defaultlistmodel
			DefaultListModel model = new DefaultListModel();
			
			// loop through product/supplier data
			while (rs.next()){
								
				System.out.println(rs.getString("ProductId").toString());
				System.out.println(rs.getString("SupplierId").toString());
				System.out.println(rs.getString("ProdName").toString());
				System.out.println(rs.getString("SupName").toString());	

				// set data to defaultlistmodel
				model.addElement(rs.getString("ProdName").toString() + " / " + rs.getString("SupName").toString());
				
				// set data to array of list item text
				Items[i] = rs.getString("ProdName").toString() + " / " + rs.getString("SupName").toString();
				
				// set data to array of list item value
				lstVals[i] = Integer.parseInt(rs.getString("ProductSupplierId"));					
				i++;
				
			}
			
						
			// *** get  product/supplier data which is associated to the package ID
			sql = "SELECT DISTINCT ";
			sql += "ps.ProductSupplierId, "; 
			sql += "ps.ProductId,";
			sql += "ps.SupplierId,";
			sql += "p.ProdName,";
			sql += "s.SupName ";
			sql += "FROM ";
			sql += "packages_products_suppliers pps,";
			sql += "products_suppliers ps,"; 
			sql += "products p, "; 
			sql += "suppliers s ";
			sql += "WHERE "; 
			sql += "pps.ProductSupplierId = ps.ProductSupplierId ";
			sql += "AND ";
			sql += "ps.ProductID = p.ProductID ";
			sql += "AND ";
			sql += "ps.SupplierID = s.SupplierID "; 
			sql += "AND ";
			sql += "pps.PackageId = "+ packageID;
			sql += " ORDER BY "; 
			sql += "p.ProdName,s.SupName";
			
			// executes SQL
			rsSel = stmt.executeQuery(sql);				
		
			// get result count
			int selectCnt = 0;			
			while (rsSel.next()){
				selectCnt++;
			}
			
			System.out.println("selectCnt=" + selectCnt);
			// move resultset to beforefirst
			rsSel.beforeFirst();
			
			System.out.println("rsSel.beforeFirst()");
			
			// create array of selected list item 
			selectItems = new String[selectCnt];
			i = 0;
			
			// loop through the selected product/supplier data associated to Package ID
			while (rsSel.next()){
			
				// set data to array of selected item                   
				selectItems[i] = rsSel.getString("ProdName").toString() + " / " + rsSel.getString("SupName").toString();
				i++;
			}
		
			
			System.out.println("-----start compare");
			
			// create array of selected index
			selectIdx = new int[selectCnt];
			int j =0;
			
			// loop through the all product/supplier data
			for(int idx = 0; idx < cnt; idx++){
//				private JTextArea taDescription;
//				private JTextArea jTextArea1;

				System.out.println("Items[" + idx + "] = " + Items[idx]);
				
				// loop through the product/supplier data associated to the package ID
				for(int sel = 0; sel < selectCnt;sel ++) {
					System.out.println("selectItems[" + sel + "] = " + selectItems[sel]);
					
					// if item matches, add to the array of selected index
					if(Items[idx].toString().equals(selectItems[sel].toString())){
						System.out.println("---selectEDIdx = " + idx);
						selectIdx[j] = idx;
						
						j++;
					}
				}
				
			}					
			conn.close();
				
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	
		}