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