1 19 23 24 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.ejbmodule; 25 26 import java.util.ResourceBundle ; 27 28 import org.netbeans.modules.j2ee.sun.dd.api.ejb.Finder; 29 import org.netbeans.modules.j2ee.sun.share.configbean.CmpEntityEjb; 30 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.BeanTableModel; 31 import org.netbeans.modules.j2ee.sun.share.configbean.StorageBeanFactory; 32 33 34 39 public class OneOneFinderModel extends BeanTableModel { 40 41 42 static final ResourceBundle bundle = 43 ResourceBundle.getBundle( 44 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.ejbmodule.Bundle"); 46 47 private static final String [] columnNames = { 48 bundle.getString("LBL_Method_Name"), bundle.getString("LBL_Query_Params"), bundle.getString("LBL_Query_Filter"), bundle.getString("LBL_Query_Variables"), bundle.getString("LBL_Query_Ordering")}; 54 55 protected String [] getColumnNames() { 56 return columnNames; 57 } 58 59 60 public Object getValueAt(int row, int column){ 61 Object retValue = null; 62 Finder param = (Finder)getChildren().get(row); 63 if(param != null){ 64 switch(column){ 65 case 0: { 66 retValue = param.getMethodName(); 67 } 68 break; 69 case 1: { 70 retValue = param.getQueryParams(); 71 } 72 break; 73 case 2: { 74 retValue = param.getQueryFilter(); 75 } 76 break; 77 case 3: { 78 retValue = param.getQueryVariables(); 79 } 80 break; 81 case 4: { 82 retValue = param.getQueryOrdering(); 83 } 84 break; 85 default: { 86 assert(false); 88 } 89 break; 90 } 91 } 92 return retValue; 93 } 94 95 96 public Object addRow(Object [] values){ 98 StorageBeanFactory storageFactory = ((CmpEntityEjb) getParent()).getConfig().getStorageFactory(); 99 Finder param = storageFactory.createFinder(); 100 param.setMethodName((String )values[0]); 101 param.setQueryParams((String )values[1]); 102 param.setQueryFilter((String )values[2]); 103 param.setQueryVariables((String )values[3]); 104 param.setQueryOrdering((String )values[4]); 105 106 ((CmpEntityEjb)getParent()).addFinder(param); 107 getChildren().add(param); 108 fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1); 109 return param; 110 } 111 112 113 public void editRow(int row, Object [] values){ 114 Finder param = (Finder)getChildren().get(row); 115 if(param != null){ 116 param.setMethodName((String )values[0]); 117 param.setQueryParams((String )values[1]); 118 param.setQueryFilter((String )values[2]); 119 param.setQueryVariables((String )values[3]); 120 param.setQueryOrdering((String )values[4]); 121 fireTableDataChanged(); 122 } 123 } 124 125 126 public void removeRow(int row){ 127 ((CmpEntityEjb)getParent()).removeFinder( 128 (Finder)getChildren().get(row)); 129 getChildren().remove(row); 130 fireTableRowsDeleted(row, row); 131 } 132 133 134 public Object [] getValues(int row){ 135 Object [] values = new Object [5]; 136 Finder finder = 137 (Finder)getChildren().get(row); 138 if(finder != null){ 139 values[0] = (Object )finder.getMethodName(); 140 values[1] = (Object )finder.getQueryParams(); 141 values[2] = (Object )finder.getQueryFilter(); 142 values[3] = (Object )finder.getQueryVariables(); 143 values[4] = (Object )finder.getQueryOrdering(); 144 } 145 return values; 146 } 147 148 149 public boolean alreadyExists(Object [] values){ 151 boolean exists = false; 152 153 if(values != null){ 154 String methodName = (String )values[0]; 155 if(methodName != null){ 156 int count = getRowCount(); 157 Finder finder; 158 for(int i=0; i<count; i++){ 159 finder = (Finder)getChildren().get(i); 160 if(finder != null){ 161 if(methodName.equals( 162 finder.getMethodName())){ 163 exists = true; 164 break; 165 } 166 } 167 } 168 } 169 } 170 return exists; 171 } 172 } 173 | Popular Tags |