1 19 20 package org.netbeans.lib.ddl.adaptors; 21 22 import java.awt.Component ; 23 import java.awt.Graphics ; 24 import java.awt.Rectangle ; 25 import java.beans.PropertyChangeListener ; 26 import java.beans.PropertyChangeSupport ; 27 import java.beans.PropertyDescriptor ; 28 import java.beans.PropertyEditor ; 29 import java.beans.SimpleBeanInfo ; 30 import org.openide.util.Exceptions; 31 import org.openide.util.NbBundle; 32 33 public class DefaultAdaptorBeanInfo extends SimpleBeanInfo 34 { 35 38 public PropertyDescriptor [] getPropertyDescriptors() 39 { 40 PropertyDescriptor [] desc = null; 41 try { 42 43 desc = new PropertyDescriptor [] { 44 45 47 new PropertyDescriptor (DefaultAdaptor.PROP_PROCEDURES_ARE_CALLABLE, DefaultAdaptor.class), 48 new PropertyDescriptor (DefaultAdaptor.PROP_TABLES_ARE_SELECTABLE, DefaultAdaptor.class), 49 new PropertyDescriptor (DefaultAdaptor.PROP_READONLY, DefaultAdaptor.class, "getreadOnly", "setreadOnly"), new PropertyDescriptor (DefaultAdaptor.PROP_LOCAL_FILES, DefaultAdaptor.class), 51 new PropertyDescriptor (DefaultAdaptor.PROP_FILE_PER_TABLE, DefaultAdaptor.class), 52 new PropertyDescriptor (DefaultAdaptor.PROP_MIXEDCASE_IDENTIFIERS, DefaultAdaptor.class), 53 new PropertyDescriptor (DefaultAdaptor.PROP_MIXEDCASE_QUOTED_IDENTIFIERS, DefaultAdaptor.class), 54 new PropertyDescriptor (DefaultAdaptor.PROP_ALTER_ADD, DefaultAdaptor.class), 55 new PropertyDescriptor (DefaultAdaptor.PROP_ALTER_DROP, DefaultAdaptor.class), 56 new PropertyDescriptor (DefaultAdaptor.PROP_COLUMN_ALIASING, DefaultAdaptor.class), 57 58 new PropertyDescriptor (DefaultAdaptor.PROP_NULL_PLUS_NULL_IS_NULL, DefaultAdaptor.class), 59 new PropertyDescriptor (DefaultAdaptor.PROP_CONVERT, DefaultAdaptor.class), 60 new PropertyDescriptor (DefaultAdaptor.PROP_TABLE_CORRELATION_NAMES, DefaultAdaptor.class), 61 new PropertyDescriptor (DefaultAdaptor.PROP_DIFF_TABLE_CORRELATION_NAMES, DefaultAdaptor.class), 62 new PropertyDescriptor (DefaultAdaptor.PROP_EXPRESSIONS_IN_ORDERBY, DefaultAdaptor.class), 63 new PropertyDescriptor (DefaultAdaptor.PROP_ORDER_BY_UNRELATED, DefaultAdaptor.class), 64 new PropertyDescriptor (DefaultAdaptor.PROP_GROUP_BY, DefaultAdaptor.class), 65 new PropertyDescriptor (DefaultAdaptor.PROP_UNRELATED_GROUP_BY, DefaultAdaptor.class), 66 new PropertyDescriptor (DefaultAdaptor.PROP_BEYOND_GROUP_BY, DefaultAdaptor.class), 67 new PropertyDescriptor (DefaultAdaptor.PROP_ESCAPE_LIKE, DefaultAdaptor.class), 68 69 new PropertyDescriptor (DefaultAdaptor.PROP_MULTIPLE_RS, DefaultAdaptor.class), 70 new PropertyDescriptor (DefaultAdaptor.PROP_MULTIPLE_TRANSACTIONS, DefaultAdaptor.class), 71 new PropertyDescriptor (DefaultAdaptor.PROP_NON_NULL_COLUMNSS, DefaultAdaptor.class), 72 new PropertyDescriptor (DefaultAdaptor.PROP_MINUMUM_SQL_GRAMMAR, DefaultAdaptor.class), 73 new PropertyDescriptor (DefaultAdaptor.PROP_CORE_SQL_GRAMMAR, DefaultAdaptor.class), 74 new PropertyDescriptor (DefaultAdaptor.PROP_EXTENDED_SQL_GRAMMAR, DefaultAdaptor.class), 75 new PropertyDescriptor (DefaultAdaptor.PROP_ANSI_SQL_GRAMMAR, DefaultAdaptor.class), 76 new PropertyDescriptor (DefaultAdaptor.PROP_INTERMEDIATE_SQL_GRAMMAR, DefaultAdaptor.class), 77 new PropertyDescriptor (DefaultAdaptor.PROP_FULL_SQL_GRAMMAR, DefaultAdaptor.class), 78 new PropertyDescriptor (DefaultAdaptor.PROP_INTEGRITY_ENHANCEMENT, DefaultAdaptor.class), 79 80 new PropertyDescriptor (DefaultAdaptor.PROP_OUTER_JOINS, DefaultAdaptor.class), 81 new PropertyDescriptor (DefaultAdaptor.PROP_FULL_OUTER_JOINS, DefaultAdaptor.class), 82 new PropertyDescriptor (DefaultAdaptor.PROP_LIMITED_OUTER_JOINS, DefaultAdaptor.class), 83 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOG_AT_START, DefaultAdaptor.class, "getcatalogAtStart", "setcatalogAtStart"), new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMAS_IN_DML, DefaultAdaptor.class), 85 new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMAS_IN_PROCEDURE_CALL, DefaultAdaptor.class), 86 new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMAS_IN_TABLE_DEFINITION, DefaultAdaptor.class), 87 new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMAS_IN_INDEX, DefaultAdaptor.class), 88 new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMAS_IN_PRIVILEGE_DEFINITION, DefaultAdaptor.class), 89 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_IN_DML, DefaultAdaptor.class), 90 91 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_IN_PROCEDURE_CALL, DefaultAdaptor.class), 92 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_IN_TABLE_DEFINITION, DefaultAdaptor.class), 93 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_IN_INDEX, DefaultAdaptor.class), 94 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_IN_PRIVILEGE_DEFINITION, DefaultAdaptor.class), 95 new PropertyDescriptor (DefaultAdaptor.PROP_POSITIONED_DELETE, DefaultAdaptor.class), 96 new PropertyDescriptor (DefaultAdaptor.PROP_POSITIONED_UPDATE, DefaultAdaptor.class), 97 new PropertyDescriptor (DefaultAdaptor.PROP_SELECT_FOR_UPDATE, DefaultAdaptor.class), 98 new PropertyDescriptor (DefaultAdaptor.PROP_STORED_PROCEDURES, DefaultAdaptor.class), 99 new PropertyDescriptor (DefaultAdaptor.PROP_SUBQUERY_IN_COMPARSIONS, DefaultAdaptor.class), 100 new PropertyDescriptor (DefaultAdaptor.PROP_SUBQUERY_IN_EXISTS, DefaultAdaptor.class), 101 new PropertyDescriptor (DefaultAdaptor.PROP_SUBQUERY_IN_INS, DefaultAdaptor.class), 102 103 new PropertyDescriptor (DefaultAdaptor.PROP_SUBQUERY_IN_QUANTIFIEDS, DefaultAdaptor.class), 104 new PropertyDescriptor (DefaultAdaptor.PROP_CORRELATED_SUBQUERIES, DefaultAdaptor.class), 105 new PropertyDescriptor (DefaultAdaptor.PROP_UNION, DefaultAdaptor.class), 106 new PropertyDescriptor (DefaultAdaptor.PROP_UNION_ALL, DefaultAdaptor.class), 107 new PropertyDescriptor (DefaultAdaptor.PROP_OPEN_CURSORS_ACROSS_COMMIT, DefaultAdaptor.class), 108 new PropertyDescriptor (DefaultAdaptor.PROP_OPEN_CURSORS_ACROSS_ROLLBACK, DefaultAdaptor.class), 109 new PropertyDescriptor (DefaultAdaptor.PROP_OPEN_STATEMENTS_ACROSS_COMMIT, DefaultAdaptor.class), 110 new PropertyDescriptor (DefaultAdaptor.PROP_OPEN_STATEMENTS_ACROSS_ROLLBACK, DefaultAdaptor.class), 111 new PropertyDescriptor (DefaultAdaptor.PROP_ROWSIZE_INCLUDING_BLOBS, DefaultAdaptor.class), 112 new PropertyDescriptor (DefaultAdaptor.PROP_TRANSACTIONS, DefaultAdaptor.class), 113 114 new PropertyDescriptor (DefaultAdaptor.PROP_DDL_AND_DML_TRANSACTIONS, DefaultAdaptor.class), 115 new PropertyDescriptor (DefaultAdaptor.PROP_DML_TRANSACTIONS_ONLY, DefaultAdaptor.class), 116 new PropertyDescriptor (DefaultAdaptor.PROP_DDL_CAUSES_COMMIT, DefaultAdaptor.class), 117 new PropertyDescriptor (DefaultAdaptor.PROP_DDL_IGNORED_IN_TRANSACTIONS, DefaultAdaptor.class), 118 new PropertyDescriptor (DefaultAdaptor.PROP_BATCH_UPDATES, DefaultAdaptor.class), 119 120 122 new PropertyDescriptor (DefaultAdaptor.PROP_NULL_SORT, DefaultAdaptor.class), 123 new PropertyDescriptor (DefaultAdaptor.PROP_IDENTIFIER_STORE, DefaultAdaptor.class), 124 new PropertyDescriptor (DefaultAdaptor.PROP_QUOTED_IDENTS, DefaultAdaptor.class), 125 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_BINARY_LITERAL_LENGTH, DefaultAdaptor.class), 126 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_CHAR_LITERAL_LENGTH, DefaultAdaptor.class), 127 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_COLUMN_NAME_LENGTH, DefaultAdaptor.class), 128 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_COLUMNS_IN_GROUPBY, DefaultAdaptor.class), 129 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_COLUMNS_IN_INDEX, DefaultAdaptor.class), 130 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_COLUMNS_IN_ORDERBY, DefaultAdaptor.class), 131 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_COLUMNS_IN_SELECT, DefaultAdaptor.class), 132 133 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_COLUMNS_IN_TABLE, DefaultAdaptor.class), 134 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_CONNECTIONS, DefaultAdaptor.class), 135 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_CURSORNAME_LENGTH, DefaultAdaptor.class), 136 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_INDEX_LENGTH, DefaultAdaptor.class), 137 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_SCHEMA_NAME, DefaultAdaptor.class), 138 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_PROCEDURE_NAME, DefaultAdaptor.class), 139 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_CATALOG_NAME, DefaultAdaptor.class), 140 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_ROW_SIZE, DefaultAdaptor.class), 141 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_STATEMENT_LENGTH, DefaultAdaptor.class), 142 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_STATEMENTS, DefaultAdaptor.class), 143 144 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_TABLENAME_LENGTH, DefaultAdaptor.class), 145 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_TABLES_IN_SELECT, DefaultAdaptor.class), 146 new PropertyDescriptor (DefaultAdaptor.PROP_MAX_USERNAME, DefaultAdaptor.class), 147 new PropertyDescriptor (DefaultAdaptor.PROP_DEFAULT_ISOLATION, DefaultAdaptor.class), 148 149 151 new PropertyDescriptor (DefaultAdaptor.PROP_URL, DefaultAdaptor.class), 152 new PropertyDescriptor (DefaultAdaptor.PROP_USERNAME, DefaultAdaptor.class), 153 new PropertyDescriptor (DefaultAdaptor.PROP_PRODUCTNAME, DefaultAdaptor.class), 154 new PropertyDescriptor (DefaultAdaptor.PROP_PRODUCTVERSION, DefaultAdaptor.class), 155 new PropertyDescriptor (DefaultAdaptor.PROP_DRIVERNAME, DefaultAdaptor.class), 156 new PropertyDescriptor (DefaultAdaptor.PROP_DRIVER_VERSION, DefaultAdaptor.class), 157 new PropertyDescriptor (DefaultAdaptor.PROP_DRIVER_MAJOR_VERSION, DefaultAdaptor.class), 158 new PropertyDescriptor (DefaultAdaptor.PROP_DRIVER_MINOR_VERSION, DefaultAdaptor.class), 159 new PropertyDescriptor (DefaultAdaptor.PROP_IDENTIFIER_QUOTE, DefaultAdaptor.class), 160 new PropertyDescriptor (DefaultAdaptor.PROP_SQL_KEYWORDS, DefaultAdaptor.class), 161 162 new PropertyDescriptor (DefaultAdaptor.PROP_NUMERIC_FUNCTIONS, DefaultAdaptor.class), 163 new PropertyDescriptor (DefaultAdaptor.PROP_STRING_FUNCTIONS, DefaultAdaptor.class), 164 new PropertyDescriptor (DefaultAdaptor.PROP_SYSTEM_FUNCTIONS, DefaultAdaptor.class), 165 new PropertyDescriptor (DefaultAdaptor.PROP_TIME_FUNCTIONS, DefaultAdaptor.class), 166 new PropertyDescriptor (DefaultAdaptor.PROP_STRING_ESCAPE, DefaultAdaptor.class), 167 new PropertyDescriptor (DefaultAdaptor.PROP_EXTRA_CHARACTERS, DefaultAdaptor.class), 168 new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMA_TERM, DefaultAdaptor.class), 169 new PropertyDescriptor (DefaultAdaptor.PROP_PROCEDURE_TERM, DefaultAdaptor.class), 170 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOG_TERM, DefaultAdaptor.class), 171 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_SEPARATOR, DefaultAdaptor.class), 172 173 175 new PropertyDescriptor (DefaultAdaptor.PROP_CAPITALIZE_USERNAME, DefaultAdaptor.class), 176 177 179 new PropertyDescriptor (DefaultAdaptor.PROP_PROCEDURES_QUERY, DefaultAdaptor.class), 180 new PropertyDescriptor (DefaultAdaptor.PROP_PROCEDURE_COLUMNS_QUERY, DefaultAdaptor.class), 181 new PropertyDescriptor (DefaultAdaptor.PROP_SCHEMAS_QUERY, DefaultAdaptor.class), 182 new PropertyDescriptor (DefaultAdaptor.PROP_CATALOGS_QUERY, DefaultAdaptor.class), 183 new PropertyDescriptor (DefaultAdaptor.PROP_TABLES_QUERY, DefaultAdaptor.class), 184 new PropertyDescriptor (DefaultAdaptor.PROP_TABLE_TYPES_QUERY, DefaultAdaptor.class), 185 new PropertyDescriptor (DefaultAdaptor.PROP_COLUMNS_QUERY, DefaultAdaptor.class), 186 new PropertyDescriptor (DefaultAdaptor.PROP_COLUMNS_PRIVILEGES_QUERY, DefaultAdaptor.class), 187 new PropertyDescriptor (DefaultAdaptor.PROP_TABLE_PRIVILEGES_QUERY, DefaultAdaptor.class), 188 new PropertyDescriptor (DefaultAdaptor.PROP_BEST_ROW_IDENTIFIER, DefaultAdaptor.class), 189 new PropertyDescriptor (DefaultAdaptor.PROP_VERSION_COLUMNS, DefaultAdaptor.class), 190 new PropertyDescriptor (DefaultAdaptor.PROP_PK_QUERY, DefaultAdaptor.class), 191 new PropertyDescriptor (DefaultAdaptor.PROP_IK_QUERY, DefaultAdaptor.class), 192 new PropertyDescriptor (DefaultAdaptor.PROP_EK_QUERY, DefaultAdaptor.class), 193 new PropertyDescriptor (DefaultAdaptor.PROP_CROSSREF_QUERY, DefaultAdaptor.class), 194 new PropertyDescriptor (DefaultAdaptor.PROP_TYPE_INFO_QUERY, DefaultAdaptor.class), 195 new PropertyDescriptor (DefaultAdaptor.PROP_INDEX_INFO_QUERY, DefaultAdaptor.class), 196 new PropertyDescriptor (DefaultAdaptor.PROP_UDT_QUERY, DefaultAdaptor.class) 197 }; 198 199 for (int i = 0; i < desc.length; i++) { 200 try { 201 String name = "PROP_"+desc[i].getName(); if (i>109) desc[i].setDisplayName(NbBundle.getBundle("org.netbeans.lib.ddl.resources.Bundle").getString(name)); if (i<65) desc[i].setPropertyEditorClass(BooleanEditor.class); 204 if (i<110) desc[i].setExpert(true); 205 } catch (Exception ex) {} 206 } 207 208 } catch (Exception ex) { 209 Exceptions.printStackTrace(ex); 210 } 211 return desc; 212 } 213 214 public static class BooleanEditor extends CommonEditor 215 { 216 public BooleanEditor() 217 { 218 super ( 219 new int[] { DefaultAdaptor.NOT_SET, DefaultAdaptor.YES, DefaultAdaptor.NO }, 220 new String [] { NbBundle.getBundle("org.netbeans.lib.ddl.resources.Bundle").getString("NotSet"), 221 NbBundle.getBundle("org.netbeans.lib.ddl.resources.Bundle").getString("Yes"), 222 NbBundle.getBundle("org.netbeans.lib.ddl.resources.Bundle").getString("No") } 223 ); 224 } 225 } 226 227 private static class CommonEditor implements PropertyEditor 228 { 229 private PropertyChangeSupport support; 230 private int[] constants; 231 private String [] names; 232 private int index; 233 private String name; 234 235 public CommonEditor(int[] c, String [] n) 236 { 237 support = new PropertyChangeSupport (this); 238 constants = c; 239 names = n; 240 } 241 242 public Object getValue() 243 { 244 return new Integer (constants[index]); 245 } 246 247 public void setValue(Object object) 248 { 249 int value, k = constants.length; 250 251 if (object == null) return; 252 if (object instanceof Integer ) { 253 value = ((Integer )object).intValue(); 254 } else throw new IllegalArgumentException (); 255 256 for (int i = 0; i < k; i++) { 257 if (constants[i] == value) { 258 index = i; 259 name = names[i]; 260 support.firePropertyChange ("", null, null); 261 return; 262 } 263 } 264 265 throw new IllegalArgumentException (); 266 } 267 268 public String getAsText() 269 { 270 if (index == 0) return ""; 271 return name; 272 } 273 274 public void setAsText(String string) throws IllegalArgumentException 275 { 276 if (string == null) return; 277 int k = names.length; 278 for (int i = 0; i < k; i++) { 279 if (names[i].equals(string)) { 280 index = i; 281 name = names[i]; 282 support.firePropertyChange("", null, null); 283 return; 284 } 285 } 286 287 throw new IllegalArgumentException (); 288 } 289 290 public String getJavaInitializationString() 291 { 292 return ""+index; 293 } 294 295 public String [] getTags() 296 { 297 return names; 298 } 299 300 public boolean isPaintable() 301 { 302 return false; 303 } 304 305 public void paintValue(Graphics g, Rectangle rectangle) 306 { 307 } 308 309 public boolean supportsCustomEditor() 310 { 311 return false; 312 } 313 314 public Component getCustomEditor() 315 { 316 return null; 317 } 318 319 public void addPropertyChangeListener (PropertyChangeListener propertyChangeListener) 320 { 321 support.addPropertyChangeListener (propertyChangeListener); 322 } 323 324 public void removePropertyChangeListener (PropertyChangeListener propertyChangeListener) 325 { 326 support.removePropertyChangeListener (propertyChangeListener); 327 } 328 } 329 } 330 | Popular Tags |