Merge "BUG 1966 - change message logging level (info -> trace)"
[controller.git] / opendaylight / md-sal / sal-dom-xsql / src / main / java / org / opendaylight / controller / md / sal / dom / xsql / XSQLBluePrint.java
1 package org.opendaylight.controller.md.sal.dom.xsql;
2
3 import java.io.DataInputStream;
4 import java.io.DataOutputStream;
5 import java.io.FileOutputStream;
6 import java.io.InputStream;
7 import java.io.ObjectInputStream;
8 import java.io.ObjectOutputStream;
9 import java.io.Serializable;
10 import java.lang.reflect.InvocationHandler;
11 import java.lang.reflect.Method;
12 import java.lang.reflect.ParameterizedType;
13 import java.lang.reflect.Proxy;
14 import java.lang.reflect.Type;
15 import java.sql.Connection;
16 import java.sql.DatabaseMetaData;
17 import java.sql.ResultSet;
18 import java.sql.RowIdLifetime;
19 import java.sql.SQLException;
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.HashSet;
23 import java.util.List;
24 import java.util.Map;
25 import java.util.Set;
26
27 public class XSQLBluePrint implements DatabaseMetaData, Serializable {
28
29     private static final long serialVersionUID = 1L;
30
31     public static final String CACHE_FILE_NAME = "./BluePrintCache.dat";
32
33     private Map<String, XSQLBluePrintNode> tableNameToBluePrint = new HashMap<String, XSQLBluePrintNode>();
34     private Map<String, Map<String, XSQLBluePrintNode>> odlNameToBluePrint = new HashMap<String, Map<String, XSQLBluePrintNode>>();
35
36     private boolean cacheLoadedSuccessfuly = false;
37     private DatabaseMetaData myProxy = null;
38
39     public static final String replaceAll(String source, String toReplace,
40             String withThis) {
41         int index = source.indexOf(toReplace);
42         int index2 = 0;
43         StringBuffer result = new StringBuffer();
44         while (index != -1) {
45             result.append(source.substring(index2, index));
46             result.append(withThis);
47             index2 = index + toReplace.length();
48             index = source.indexOf(toReplace, index2);
49         }
50         if (index2 < source.length()) {
51             result.append(source.substring(index2));
52         }
53         return result.toString();
54     }
55
56     public XSQLBluePrint() {
57     }
58
59     public static void save(XSQLBluePrint bp) {
60         ObjectOutputStream out = null;
61         try {
62             out = new ObjectOutputStream(new DataOutputStream(
63                     new FileOutputStream(CACHE_FILE_NAME)));
64             out.writeObject(bp);
65         } catch (Exception err) {
66             err.printStackTrace();
67         } finally {
68             try {
69                 out.close();
70             } catch (Exception err) {
71             }
72         }
73     }
74
75     public static XSQLBluePrint load(InputStream ins) {
76         ObjectInputStream in = null;
77         try {
78             in = new ObjectInputStream(new DataInputStream(ins));
79             return (XSQLBluePrint) in.readObject();
80         } catch (Exception err) {
81             err.printStackTrace();
82         } finally {
83             try {
84                 in.close();
85             } catch (Exception err) {
86             }
87         }
88         return null;
89     }
90
91     private class NQLBluePrintProxy implements InvocationHandler {
92         public Object invoke(Object proxy, Method method, Object[] args)
93                 throws Throwable {
94             System.out.println("Method " + method);
95             return method.invoke(XSQLBluePrint.this, args);
96         }
97     }
98
99     public DatabaseMetaData getProxy() {
100         if (myProxy == null) {
101             try {
102                 myProxy = (DatabaseMetaData) Proxy.newProxyInstance(getClass()
103                         .getClassLoader(),
104                         new Class[] { DatabaseMetaData.class },
105                         new NQLBluePrintProxy());
106             } catch (Exception err) {
107                 err.printStackTrace();
108             }
109         }
110         return myProxy;
111     }
112
113     public XSQLBluePrintNode[] getBluePrintNodeByODLTableName(
114             String odlTableName) {
115         Map<String, XSQLBluePrintNode> map = this.odlNameToBluePrint
116                 .get(odlTableName);
117         if (map == null)
118             return null;
119         return map.values().toArray(new XSQLBluePrintNode[map.size()]);
120     }
121
122     public XSQLBluePrintNode getBluePrintNodeByTableName(String tableName) {
123         if (tableName.indexOf(".") != -1) {
124             tableName = tableName.substring(tableName.lastIndexOf(".") + 1);
125         }
126
127         XSQLBluePrintNode node = tableNameToBluePrint.get(tableName);
128
129         if (node != null) {
130             return node;
131         }
132
133         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
134             if (n.getBluePrintNodeName().endsWith(tableName)) {
135                 return n;
136             }
137         }
138
139         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
140             if (n.getBluePrintNodeName().toLowerCase()
141                     .endsWith(tableName.toLowerCase())) {
142                 return n;
143             }
144         }
145
146         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
147             if (n.getBluePrintNodeName().toLowerCase()
148                     .equals(tableName.toLowerCase())) {
149                 return n;
150             }
151         }
152
153         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
154             if (n.getBluePrintNodeName().toLowerCase()
155                     .indexOf(tableName.toLowerCase()) != -1) {
156                 return n;
157             }
158         }
159         return null;
160     }
161
162     public boolean isCacheLoaded() {
163         return cacheLoadedSuccessfuly;
164     }
165
166     private static Map<Class, Set<Class>> superClassMap = new HashMap<Class, Set<Class>>();
167
168     public static Set<Class> getInheritance(Class myObjectClass,
169             Class returnType) {
170
171         if (returnType != null && myObjectClass.equals(returnType)) {
172             return new HashSet<Class>();
173         }
174         Set<Class> result = superClassMap.get(myObjectClass);
175         if (result != null) {
176             return result;
177         }
178         result = new HashSet<Class>();
179         superClassMap.put(myObjectClass, result);
180         if (returnType != null) {
181             if (!returnType.equals(myObjectClass)) {
182                 Class mySuperClass = myObjectClass.getSuperclass();
183                 while (mySuperClass != null) {
184                     result.add(mySuperClass);
185                     mySuperClass = mySuperClass.getSuperclass();
186                 }
187                 result.addAll(collectInterfaces(myObjectClass));
188             }
189         }
190         return result;
191     }
192
193     public static Set<Class> collectInterfaces(Class cls) {
194         Set<Class> result = new HashSet();
195         Class myInterfaces[] = cls.getInterfaces();
196         if (myInterfaces != null) {
197             for (Class in : myInterfaces) {
198                 result.add(in);
199                 result.addAll(collectInterfaces(in));
200             }
201         }
202         return result;
203     }
204
205     public void addToBluePrintCache(XSQLBluePrintNode blNode) {
206         this.tableNameToBluePrint.put(blNode.getBluePrintNodeName(), blNode);
207         Map<String, XSQLBluePrintNode> map = this.odlNameToBluePrint.get(blNode
208                 .getODLTableName());
209         if (map == null) {
210             map = new HashMap<String, XSQLBluePrintNode>();
211             this.odlNameToBluePrint.put(blNode.getODLTableName(), map);
212         }
213         map.put(blNode.getBluePrintNodeName(), blNode);
214     }
215
216     public Class getGenericType(ParameterizedType type) {
217         Type[] typeArguments = type.getActualTypeArguments();
218         for (Type typeArgument : typeArguments) {
219             if (typeArgument instanceof ParameterizedType) {
220                 ParameterizedType pType = (ParameterizedType) typeArgument;
221                 return (Class) pType.getRawType();
222             } else if (typeArgument instanceof Class) {
223                 return (Class) typeArgument;
224             }
225         }
226         return null;
227     }
228
229     public Class getMethodReturnTypeFromGeneric(Method m) {
230         Type rType = m.getGenericReturnType();
231         if (rType instanceof ParameterizedType) {
232             return getGenericType((ParameterizedType) rType);
233         }
234         return null;
235     }
236
237     public List<String> getAllTableNames() {
238         List<String> names = new ArrayList<String>();
239         for (XSQLBluePrintNode n : this.tableNameToBluePrint.values()) {
240             if (!n.isModule() && !n.getColumns().isEmpty()) {
241                 names.add(n.getBluePrintNodeName());
242             }
243         }
244         return names;
245
246     }
247
248     public List<String> getInterfaceNames(XSQLBluePrintNode node) {
249         Set<XSQLBluePrintNode> children = node.getChildren();
250         List<String> names = new ArrayList<String>();
251         for (XSQLBluePrintNode n : children) {
252             if (!n.isModule() && !n.getColumns().isEmpty()) {
253                 names.add(n.toString());
254             }
255             names.addAll(getInterfaceNames(n));
256         }
257         return names;
258     }
259
260     @Override
261     public boolean allProceduresAreCallable() throws SQLException {
262         return false;
263     }
264
265     @Override
266     public boolean allTablesAreSelectable() throws SQLException {
267         return true;
268     }
269
270     @Override
271     public boolean autoCommitFailureClosesAllResultSets() throws SQLException {
272         // TODO Auto-generated method stub
273         return false;
274     }
275
276     @Override
277     public boolean dataDefinitionCausesTransactionCommit() throws SQLException {
278         // TODO Auto-generated method stub
279         return false;
280     }
281
282     @Override
283     public boolean dataDefinitionIgnoredInTransactions() throws SQLException {
284         // TODO Auto-generated method stub
285         return false;
286     }
287
288     @Override
289     public boolean deletesAreDetected(int type) throws SQLException {
290         // TODO Auto-generated method stub
291         return false;
292     }
293
294     @Override
295     public boolean doesMaxRowSizeIncludeBlobs() throws SQLException {
296         // TODO Auto-generated method stub
297         return false;
298     }
299
300     @Override
301     public ResultSet getAttributes(String catalog, String schemaPattern,
302             String typeNamePattern, String attributeNamePattern)
303             throws SQLException {
304         // TODO Auto-generated method stub
305         return null;
306     }
307
308     @Override
309     public ResultSet getBestRowIdentifier(String catalog, String schema,
310             String table, int scope, boolean nullable) throws SQLException {
311         // TODO Auto-generated method stub
312         return null;
313     }
314
315     @Override
316     public ResultSet getCatalogs() throws SQLException {
317         // TODO Auto-generated method stub
318         return null;
319     }
320
321     @Override
322     public String getCatalogSeparator() throws SQLException {
323         // TODO Auto-generated method stub
324         return null;
325     }
326
327     @Override
328     public String getCatalogTerm() throws SQLException {
329         // TODO Auto-generated method stub
330         return null;
331     }
332
333     @Override
334     public ResultSet getClientInfoProperties() throws SQLException {
335         // TODO Auto-generated method stub
336         return null;
337     }
338
339     @Override
340     public ResultSet getColumnPrivileges(String catalog, String schema,
341             String table, String columnNamePattern) throws SQLException {
342         // TODO Auto-generated method stub
343         return null;
344     }
345
346     @Override
347     public ResultSet getColumns(String catalog, String schemaPattern,
348             String tableNamePattern, String columnNamePattern)
349             throws SQLException {
350         // TODO Auto-generated method stub
351         return null;
352     }
353
354     @Override
355     public Connection getConnection() throws SQLException {
356         // TODO Auto-generated method stub
357         return null;
358     }
359
360     @Override
361     public ResultSet getCrossReference(String parentCatalog,
362             String parentSchema, String parentTable, String foreignCatalog,
363             String foreignSchema, String foreignTable) throws SQLException {
364         // TODO Auto-generated method stub
365         return null;
366     }
367
368     @Override
369     public int getDatabaseMajorVersion() throws SQLException {
370         return 0;
371     }
372
373     @Override
374     public int getDatabaseMinorVersion() throws SQLException {
375         // TODO Auto-generated method stub
376         return 1;
377     }
378
379     @Override
380     public String getDatabaseProductName() throws SQLException {
381         return "OpenDayLight";
382     }
383
384     @Override
385     public String getDatabaseProductVersion() throws SQLException {
386         return "0.1";
387     }
388
389     @Override
390     public int getDefaultTransactionIsolation() throws SQLException {
391         // TODO Auto-generated method stub
392         return 0;
393     }
394
395     @Override
396     public int getDriverMajorVersion() {
397         // TODO Auto-generated method stub
398         return 0;
399     }
400
401     @Override
402     public int getDriverMinorVersion() {
403         // TODO Auto-generated method stub
404         return 0;
405     }
406
407     @Override
408     public String getDriverName() throws SQLException {
409         // TODO Auto-generated method stub
410         return null;
411     }
412
413     @Override
414     public String getDriverVersion() throws SQLException {
415         // TODO Auto-generated method stub
416         return null;
417     }
418
419     @Override
420     public ResultSet getExportedKeys(String catalog, String schema, String table)
421             throws SQLException {
422         // TODO Auto-generated method stub
423         return null;
424     }
425
426     @Override
427     public String getExtraNameCharacters() throws SQLException {
428         // TODO Auto-generated method stub
429         return null;
430     }
431
432     @Override
433     public ResultSet getFunctionColumns(String catalog, String schemaPattern,
434             String functionNamePattern, String columnNamePattern)
435             throws SQLException {
436         // TODO Auto-generated method stub
437         return null;
438     }
439
440     @Override
441     public ResultSet getFunctions(String catalog, String schemaPattern,
442             String functionNamePattern) throws SQLException {
443         // TODO Auto-generated method stub
444         return null;
445     }
446
447     @Override
448     public String getIdentifierQuoteString() throws SQLException {
449         // TODO Auto-generated method stub
450         return null;
451     }
452
453     @Override
454     public ResultSet getImportedKeys(String catalog, String schema, String table)
455             throws SQLException {
456         // TODO Auto-generated method stub
457         return null;
458     }
459
460     @Override
461     public ResultSet getIndexInfo(String catalog, String schema, String table,
462             boolean unique, boolean approximate) throws SQLException {
463         // TODO Auto-generated method stub
464         return null;
465     }
466
467     @Override
468     public int getJDBCMajorVersion() throws SQLException {
469         // TODO Auto-generated method stub
470         return 0;
471     }
472
473     @Override
474     public int getJDBCMinorVersion() throws SQLException {
475         // TODO Auto-generated method stub
476         return 0;
477     }
478
479     @Override
480     public int getMaxBinaryLiteralLength() throws SQLException {
481         // TODO Auto-generated method stub
482         return 0;
483     }
484
485     @Override
486     public int getMaxCatalogNameLength() throws SQLException {
487         // TODO Auto-generated method stub
488         return 0;
489     }
490
491     @Override
492     public int getMaxCharLiteralLength() throws SQLException {
493         // TODO Auto-generated method stub
494         return 0;
495     }
496
497     @Override
498     public int getMaxColumnNameLength() throws SQLException {
499         // TODO Auto-generated method stub
500         return 0;
501     }
502
503     @Override
504     public int getMaxColumnsInGroupBy() throws SQLException {
505         // TODO Auto-generated method stub
506         return 0;
507     }
508
509     @Override
510     public int getMaxColumnsInIndex() throws SQLException {
511         // TODO Auto-generated method stub
512         return 0;
513     }
514
515     @Override
516     public int getMaxColumnsInOrderBy() throws SQLException {
517         // TODO Auto-generated method stub
518         return 0;
519     }
520
521     @Override
522     public int getMaxColumnsInSelect() throws SQLException {
523         // TODO Auto-generated method stub
524         return 0;
525     }
526
527     @Override
528     public int getMaxColumnsInTable() throws SQLException {
529         // TODO Auto-generated method stub
530         return 0;
531     }
532
533     @Override
534     public int getMaxConnections() throws SQLException {
535         // TODO Auto-generated method stub
536         return 0;
537     }
538
539     @Override
540     public int getMaxCursorNameLength() throws SQLException {
541         // TODO Auto-generated method stub
542         return 0;
543     }
544
545     @Override
546     public int getMaxIndexLength() throws SQLException {
547         // TODO Auto-generated method stub
548         return 0;
549     }
550
551     @Override
552     public int getMaxProcedureNameLength() throws SQLException {
553         // TODO Auto-generated method stub
554         return 0;
555     }
556
557     @Override
558     public int getMaxRowSize() throws SQLException {
559         // TODO Auto-generated method stub
560         return 0;
561     }
562
563     @Override
564     public int getMaxSchemaNameLength() throws SQLException {
565         // TODO Auto-generated method stub
566         return 0;
567     }
568
569     @Override
570     public int getMaxStatementLength() throws SQLException {
571         // TODO Auto-generated method stub
572         return 0;
573     }
574
575     @Override
576     public int getMaxStatements() throws SQLException {
577         // TODO Auto-generated method stub
578         return 0;
579     }
580
581     @Override
582     public int getMaxTableNameLength() throws SQLException {
583         // TODO Auto-generated method stub
584         return 0;
585     }
586
587     @Override
588     public int getMaxTablesInSelect() throws SQLException {
589         // TODO Auto-generated method stub
590         return 0;
591     }
592
593     @Override
594     public int getMaxUserNameLength() throws SQLException {
595         // TODO Auto-generated method stub
596         return 0;
597     }
598
599     @Override
600     public String getNumericFunctions() throws SQLException {
601         // TODO Auto-generated method stub
602         return null;
603     }
604
605     @Override
606     public ResultSet getPrimaryKeys(String catalog, String schema, String table)
607             throws SQLException {
608         // TODO Auto-generated method stub
609         return null;
610     }
611
612     @Override
613     public ResultSet getProcedureColumns(String catalog, String schemaPattern,
614             String procedureNamePattern, String columnNamePattern)
615             throws SQLException {
616         // TODO Auto-generated method stub
617         return null;
618     }
619
620     @Override
621     public ResultSet getProcedures(String catalog, String schemaPattern,
622             String procedureNamePattern) throws SQLException {
623         // TODO Auto-generated method stub
624         return null;
625     }
626
627     @Override
628     public String getProcedureTerm() throws SQLException {
629         // TODO Auto-generated method stub
630         return null;
631     }
632
633     @Override
634     public int getResultSetHoldability() throws SQLException {
635         // TODO Auto-generated method stub
636         return 0;
637     }
638
639     @Override
640     public RowIdLifetime getRowIdLifetime() throws SQLException {
641         // TODO Auto-generated method stub
642         return null;
643     }
644
645     @Override
646     public ResultSet getSchemas() throws SQLException {
647         // TODO Auto-generated method stub
648         return null;
649     }
650
651     @Override
652     public ResultSet getSchemas(String catalog, String schemaPattern)
653             throws SQLException {
654         // TODO Auto-generated method stub
655         return null;
656     }
657
658     @Override
659     public String getSchemaTerm() throws SQLException {
660         // TODO Auto-generated method stub
661         return null;
662     }
663
664     @Override
665     public String getSearchStringEscape() throws SQLException {
666         // TODO Auto-generated method stub
667         return null;
668     }
669
670     @Override
671     public String getSQLKeywords() throws SQLException {
672         // TODO Auto-generated method stub
673         return null;
674     }
675
676     @Override
677     public int getSQLStateType() throws SQLException {
678         // TODO Auto-generated method stub
679         return 0;
680     }
681
682     @Override
683     public String getStringFunctions() throws SQLException {
684         // TODO Auto-generated method stub
685         return null;
686     }
687
688     @Override
689     public ResultSet getSuperTables(String catalog, String schemaPattern,
690             String tableNamePattern) throws SQLException {
691         // TODO Auto-generated method stub
692         return null;
693     }
694
695     @Override
696     public ResultSet getSuperTypes(String catalog, String schemaPattern,
697             String typeNamePattern) throws SQLException {
698         // TODO Auto-generated method stub
699         return null;
700     }
701
702     @Override
703     public String getSystemFunctions() throws SQLException {
704         // TODO Auto-generated method stub
705         return null;
706     }
707
708     @Override
709     public ResultSet getTablePrivileges(String catalog, String schemaPattern,
710             String tableNamePattern) throws SQLException {
711         // TODO Auto-generated method stub
712         return null;
713     }
714
715     @Override
716     public ResultSet getTables(String catalog, String schemaPattern,
717             String tableNamePattern, String[] types) throws SQLException {
718         return new TablesResultSet(this);
719     }
720
721     @Override
722     public ResultSet getTableTypes() throws SQLException {
723         // TODO Auto-generated method stub
724         return null;
725     }
726
727     @Override
728     public String getTimeDateFunctions() throws SQLException {
729         // TODO Auto-generated method stub
730         return null;
731     }
732
733     @Override
734     public ResultSet getTypeInfo() throws SQLException {
735         // TODO Auto-generated method stub
736         return null;
737     }
738
739     @Override
740     public ResultSet getUDTs(String catalog, String schemaPattern,
741             String typeNamePattern, int[] types) throws SQLException {
742         // TODO Auto-generated method stub
743         return null;
744     }
745
746     @Override
747     public String getURL() throws SQLException {
748         // TODO Auto-generated method stub
749         return null;
750     }
751
752     @Override
753     public String getUserName() throws SQLException {
754         // TODO Auto-generated method stub
755         return null;
756     }
757
758     @Override
759     public ResultSet getVersionColumns(String catalog, String schema,
760             String table) throws SQLException {
761         // TODO Auto-generated method stub
762         return null;
763     }
764
765     @Override
766     public boolean insertsAreDetected(int type) throws SQLException {
767         // TODO Auto-generated method stub
768         return false;
769     }
770
771     @Override
772     public boolean isCatalogAtStart() throws SQLException {
773         // TODO Auto-generated method stub
774         return false;
775     }
776
777     @Override
778     public boolean isReadOnly() throws SQLException {
779         // TODO Auto-generated method stub
780         return false;
781     }
782
783     @Override
784     public boolean locatorsUpdateCopy() throws SQLException {
785         // TODO Auto-generated method stub
786         return false;
787     }
788
789     @Override
790     public boolean nullPlusNonNullIsNull() throws SQLException {
791         // TODO Auto-generated method stub
792         return false;
793     }
794
795     @Override
796     public boolean nullsAreSortedAtEnd() throws SQLException {
797         // TODO Auto-generated method stub
798         return false;
799     }
800
801     @Override
802     public boolean nullsAreSortedAtStart() throws SQLException {
803         // TODO Auto-generated method stub
804         return false;
805     }
806
807     @Override
808     public boolean nullsAreSortedHigh() throws SQLException {
809         // TODO Auto-generated method stub
810         return false;
811     }
812
813     @Override
814     public boolean nullsAreSortedLow() throws SQLException {
815         // TODO Auto-generated method stub
816         return false;
817     }
818
819     @Override
820     public boolean othersDeletesAreVisible(int type) throws SQLException {
821         // TODO Auto-generated method stub
822         return false;
823     }
824
825     @Override
826     public boolean othersInsertsAreVisible(int type) throws SQLException {
827         // TODO Auto-generated method stub
828         return false;
829     }
830
831     @Override
832     public boolean othersUpdatesAreVisible(int type) throws SQLException {
833         // TODO Auto-generated method stub
834         return false;
835     }
836
837     @Override
838     public boolean ownDeletesAreVisible(int type) throws SQLException {
839         // TODO Auto-generated method stub
840         return false;
841     }
842
843     @Override
844     public boolean ownInsertsAreVisible(int type) throws SQLException {
845         // TODO Auto-generated method stub
846         return false;
847     }
848
849     @Override
850     public boolean ownUpdatesAreVisible(int type) throws SQLException {
851         // TODO Auto-generated method stub
852         return false;
853     }
854
855     @Override
856     public boolean storesLowerCaseIdentifiers() throws SQLException {
857         // TODO Auto-generated method stub
858         return false;
859     }
860
861     @Override
862     public boolean storesLowerCaseQuotedIdentifiers() throws SQLException {
863         // TODO Auto-generated method stub
864         return false;
865     }
866
867     @Override
868     public boolean storesMixedCaseIdentifiers() throws SQLException {
869         // TODO Auto-generated method stub
870         return false;
871     }
872
873     @Override
874     public boolean storesMixedCaseQuotedIdentifiers() throws SQLException {
875         // TODO Auto-generated method stub
876         return false;
877     }
878
879     @Override
880     public boolean storesUpperCaseIdentifiers() throws SQLException {
881         // TODO Auto-generated method stub
882         return false;
883     }
884
885     @Override
886     public boolean storesUpperCaseQuotedIdentifiers() throws SQLException {
887         // TODO Auto-generated method stub
888         return false;
889     }
890
891     @Override
892     public boolean supportsAlterTableWithAddColumn() throws SQLException {
893         // TODO Auto-generated method stub
894         return false;
895     }
896
897     @Override
898     public boolean supportsAlterTableWithDropColumn() throws SQLException {
899         // TODO Auto-generated method stub
900         return false;
901     }
902
903     @Override
904     public boolean supportsANSI92EntryLevelSQL() throws SQLException {
905         // TODO Auto-generated method stub
906         return false;
907     }
908
909     @Override
910     public boolean supportsANSI92FullSQL() throws SQLException {
911         // TODO Auto-generated method stub
912         return false;
913     }
914
915     @Override
916     public boolean supportsANSI92IntermediateSQL() throws SQLException {
917         // TODO Auto-generated method stub
918         return false;
919     }
920
921     @Override
922     public boolean supportsBatchUpdates() throws SQLException {
923         // TODO Auto-generated method stub
924         return false;
925     }
926
927     @Override
928     public boolean supportsCatalogsInDataManipulation() throws SQLException {
929         // TODO Auto-generated method stub
930         return false;
931     }
932
933     @Override
934     public boolean supportsCatalogsInIndexDefinitions() throws SQLException {
935         // TODO Auto-generated method stub
936         return false;
937     }
938
939     @Override
940     public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException {
941         // TODO Auto-generated method stub
942         return false;
943     }
944
945     @Override
946     public boolean supportsCatalogsInProcedureCalls() throws SQLException {
947         // TODO Auto-generated method stub
948         return false;
949     }
950
951     @Override
952     public boolean supportsCatalogsInTableDefinitions() throws SQLException {
953         // TODO Auto-generated method stub
954         return false;
955     }
956
957     @Override
958     public boolean supportsColumnAliasing() throws SQLException {
959         // TODO Auto-generated method stub
960         return false;
961     }
962
963     @Override
964     public boolean supportsConvert() throws SQLException {
965         // TODO Auto-generated method stub
966         return false;
967     }
968
969     @Override
970     public boolean supportsConvert(int fromType, int toType)
971             throws SQLException {
972         // TODO Auto-generated method stub
973         return false;
974     }
975
976     @Override
977     public boolean supportsCoreSQLGrammar() throws SQLException {
978         // TODO Auto-generated method stub
979         return false;
980     }
981
982     @Override
983     public boolean supportsCorrelatedSubqueries() throws SQLException {
984         // TODO Auto-generated method stub
985         return false;
986     }
987
988     @Override
989     public boolean supportsDataDefinitionAndDataManipulationTransactions()
990             throws SQLException {
991         // TODO Auto-generated method stub
992         return false;
993     }
994
995     @Override
996     public boolean supportsDataManipulationTransactionsOnly()
997             throws SQLException {
998         // TODO Auto-generated method stub
999         return false;
1000     }
1001
1002     @Override
1003     public boolean supportsDifferentTableCorrelationNames() throws SQLException {
1004         // TODO Auto-generated method stub
1005         return false;
1006     }
1007
1008     @Override
1009     public boolean supportsExpressionsInOrderBy() throws SQLException {
1010         // TODO Auto-generated method stub
1011         return false;
1012     }
1013
1014     @Override
1015     public boolean supportsExtendedSQLGrammar() throws SQLException {
1016         // TODO Auto-generated method stub
1017         return false;
1018     }
1019
1020     @Override
1021     public boolean supportsFullOuterJoins() throws SQLException {
1022         // TODO Auto-generated method stub
1023         return false;
1024     }
1025
1026     @Override
1027     public boolean supportsGetGeneratedKeys() throws SQLException {
1028         // TODO Auto-generated method stub
1029         return false;
1030     }
1031
1032     @Override
1033     public boolean supportsGroupBy() throws SQLException {
1034         // TODO Auto-generated method stub
1035         return false;
1036     }
1037
1038     @Override
1039     public boolean supportsGroupByBeyondSelect() throws SQLException {
1040         // TODO Auto-generated method stub
1041         return false;
1042     }
1043
1044     @Override
1045     public boolean supportsGroupByUnrelated() throws SQLException {
1046         // TODO Auto-generated method stub
1047         return false;
1048     }
1049
1050     @Override
1051     public boolean supportsIntegrityEnhancementFacility() throws SQLException {
1052         // TODO Auto-generated method stub
1053         return false;
1054     }
1055
1056     @Override
1057     public boolean supportsLikeEscapeClause() throws SQLException {
1058         // TODO Auto-generated method stub
1059         return false;
1060     }
1061
1062     @Override
1063     public boolean supportsLimitedOuterJoins() throws SQLException {
1064         // TODO Auto-generated method stub
1065         return false;
1066     }
1067
1068     @Override
1069     public boolean supportsMinimumSQLGrammar() throws SQLException {
1070         // TODO Auto-generated method stub
1071         return false;
1072     }
1073
1074     @Override
1075     public boolean supportsMixedCaseIdentifiers() throws SQLException {
1076         // TODO Auto-generated method stub
1077         return false;
1078     }
1079
1080     @Override
1081     public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException {
1082         // TODO Auto-generated method stub
1083         return false;
1084     }
1085
1086     @Override
1087     public boolean supportsMultipleOpenResults() throws SQLException {
1088         // TODO Auto-generated method stub
1089         return false;
1090     }
1091
1092     @Override
1093     public boolean supportsMultipleResultSets() throws SQLException {
1094         // TODO Auto-generated method stub
1095         return false;
1096     }
1097
1098     @Override
1099     public boolean supportsMultipleTransactions() throws SQLException {
1100         // TODO Auto-generated method stub
1101         return false;
1102     }
1103
1104     @Override
1105     public boolean supportsNamedParameters() throws SQLException {
1106         // TODO Auto-generated method stub
1107         return false;
1108     }
1109
1110     @Override
1111     public boolean supportsNonNullableColumns() throws SQLException {
1112         // TODO Auto-generated method stub
1113         return false;
1114     }
1115
1116     @Override
1117     public boolean supportsOpenCursorsAcrossCommit() throws SQLException {
1118         // TODO Auto-generated method stub
1119         return false;
1120     }
1121
1122     @Override
1123     public boolean supportsOpenCursorsAcrossRollback() throws SQLException {
1124         // TODO Auto-generated method stub
1125         return false;
1126     }
1127
1128     @Override
1129     public boolean supportsOpenStatementsAcrossCommit() throws SQLException {
1130         // TODO Auto-generated method stub
1131         return false;
1132     }
1133
1134     @Override
1135     public boolean supportsOpenStatementsAcrossRollback() throws SQLException {
1136         // TODO Auto-generated method stub
1137         return false;
1138     }
1139
1140     @Override
1141     public boolean supportsOrderByUnrelated() throws SQLException {
1142         // TODO Auto-generated method stub
1143         return false;
1144     }
1145
1146     @Override
1147     public boolean supportsOuterJoins() throws SQLException {
1148         // TODO Auto-generated method stub
1149         return false;
1150     }
1151
1152     @Override
1153     public boolean supportsPositionedDelete() throws SQLException {
1154         // TODO Auto-generated method stub
1155         return false;
1156     }
1157
1158     @Override
1159     public boolean supportsPositionedUpdate() throws SQLException {
1160         // TODO Auto-generated method stub
1161         return false;
1162     }
1163
1164     @Override
1165     public boolean supportsResultSetConcurrency(int type, int concurrency)
1166             throws SQLException {
1167         // TODO Auto-generated method stub
1168         return false;
1169     }
1170
1171     @Override
1172     public boolean supportsResultSetHoldability(int holdability)
1173             throws SQLException {
1174         // TODO Auto-generated method stub
1175         return false;
1176     }
1177
1178     @Override
1179     public boolean supportsResultSetType(int type) throws SQLException {
1180         // TODO Auto-generated method stub
1181         return false;
1182     }
1183
1184     @Override
1185     public boolean supportsSavepoints() throws SQLException {
1186         // TODO Auto-generated method stub
1187         return false;
1188     }
1189
1190     @Override
1191     public boolean supportsSchemasInDataManipulation() throws SQLException {
1192         // TODO Auto-generated method stub
1193         return false;
1194     }
1195
1196     @Override
1197     public boolean supportsSchemasInIndexDefinitions() throws SQLException {
1198         // TODO Auto-generated method stub
1199         return false;
1200     }
1201
1202     @Override
1203     public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException {
1204         // TODO Auto-generated method stub
1205         return false;
1206     }
1207
1208     @Override
1209     public boolean supportsSchemasInProcedureCalls() throws SQLException {
1210         // TODO Auto-generated method stub
1211         return false;
1212     }
1213
1214     @Override
1215     public boolean supportsSchemasInTableDefinitions() throws SQLException {
1216         // TODO Auto-generated method stub
1217         return false;
1218     }
1219
1220     @Override
1221     public boolean supportsSelectForUpdate() throws SQLException {
1222         // TODO Auto-generated method stub
1223         return false;
1224     }
1225
1226     @Override
1227     public boolean supportsStatementPooling() throws SQLException {
1228         // TODO Auto-generated method stub
1229         return false;
1230     }
1231
1232     @Override
1233     public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException {
1234         // TODO Auto-generated method stub
1235         return false;
1236     }
1237
1238     @Override
1239     public boolean supportsStoredProcedures() throws SQLException {
1240         // TODO Auto-generated method stub
1241         return false;
1242     }
1243
1244     @Override
1245     public boolean supportsSubqueriesInComparisons() throws SQLException {
1246         // TODO Auto-generated method stub
1247         return false;
1248     }
1249
1250     @Override
1251     public boolean supportsSubqueriesInExists() throws SQLException {
1252         // TODO Auto-generated method stub
1253         return false;
1254     }
1255
1256     @Override
1257     public boolean supportsSubqueriesInIns() throws SQLException {
1258         // TODO Auto-generated method stub
1259         return false;
1260     }
1261
1262     @Override
1263     public boolean supportsSubqueriesInQuantifieds() throws SQLException {
1264         // TODO Auto-generated method stub
1265         return false;
1266     }
1267
1268     @Override
1269     public boolean supportsTableCorrelationNames() throws SQLException {
1270         // TODO Auto-generated method stub
1271         return false;
1272     }
1273
1274     @Override
1275     public boolean supportsTransactionIsolationLevel(int level)
1276             throws SQLException {
1277         // TODO Auto-generated method stub
1278         return false;
1279     }
1280
1281     @Override
1282     public boolean supportsTransactions() throws SQLException {
1283         // TODO Auto-generated method stub
1284         return false;
1285     }
1286
1287     @Override
1288     public boolean supportsUnion() throws SQLException {
1289         // TODO Auto-generated method stub
1290         return false;
1291     }
1292
1293     @Override
1294     public boolean supportsUnionAll() throws SQLException {
1295         // TODO Auto-generated method stub
1296         return false;
1297     }
1298
1299     @Override
1300     public boolean updatesAreDetected(int type) throws SQLException {
1301         // TODO Auto-generated method stub
1302         return false;
1303     }
1304
1305     @Override
1306     public boolean usesLocalFilePerTable() throws SQLException {
1307         // TODO Auto-generated method stub
1308         return false;
1309     }
1310
1311     @Override
1312     public boolean usesLocalFiles() throws SQLException {
1313         // TODO Auto-generated method stub
1314         return false;
1315     }
1316
1317     @Override
1318     public boolean isWrapperFor(Class<?> iface) throws SQLException {
1319         // TODO Auto-generated method stub
1320         return false;
1321     }
1322
1323     @Override
1324     public <T> T unwrap(Class<T> iface) throws SQLException {
1325         // TODO Auto-generated method stub
1326         return null;
1327     }
1328
1329     @Override
1330     public ResultSet getPseudoColumns(String catalog, String schemaPattern,
1331             String tableNamePattern, String columnNamePattern)
1332             throws SQLException {
1333         // TODO Auto-generated method stub
1334         return null;
1335     }
1336
1337     @Override
1338     public boolean generatedKeyAlwaysReturned() throws SQLException {
1339         // TODO Auto-generated method stub
1340         return false;
1341     }
1342
1343 }