Fix checkstyle if-statements must use braces sal-dom-xsql
[controller.git] / opendaylight / md-sal / sal-dom-xsql / src / main / java / org / opendaylight / controller / md / sal / dom / xsql / jdbc / JDBCResultSet.java
index 7603a3e9ae34aac783b0f049e8e671d7bbd1a549..d37fdb8819b9d037356a7c38b525fbe8bc6e3074 100644 (file)
@@ -4,6 +4,7 @@ import java.io.InputStream;
 import java.io.Reader;
 import java.io.Serializable;
 import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.math.BigDecimal;
 import java.net.URL;
 import java.sql.Array;
@@ -37,26 +38,48 @@ import org.opendaylight.controller.md.sal.dom.xsql.XSQLColumn;
 import org.opendaylight.controller.md.sal.dom.xsql.XSQLCriteria;
 import org.opendaylight.controller.md.sal.dom.xsql.XSQLODLUtils;
 
-public class JDBCResultSet
-    implements Serializable, ResultSet, ResultSetMetaData {
+public class JDBCResultSet implements Serializable, ResultSet,
+        ResultSetMetaData {
     private static final long serialVersionUID = -7450200738431047057L;
 
     private String sql = null;
-    private List<XSQLBluePrintNode> tablesInQuery =
-        new ArrayList<XSQLBluePrintNode>();
-    private Map<String, XSQLBluePrintNode> tablesInQueryMap =
-        new ConcurrentHashMap<String, XSQLBluePrintNode>();
+    private List<XSQLBluePrintNode> tablesInQuery = new ArrayList<XSQLBluePrintNode>();
+    private Map<String, XSQLBluePrintNode> tablesInQueryMap = new ConcurrentHashMap<String, XSQLBluePrintNode>();
     private List<XSQLColumn> fieldsInQuery = new ArrayList<XSQLColumn>();
-    private transient LinkedList<Map> records = new LinkedList<Map>();
-    private transient Map currentRecord = null;
+    private transient LinkedList<Map<String, Object>> records = new LinkedList<>();
+    private transient Map<String, Object> currentRecord = null;
     private boolean finished = false;
     private int id = 0;
     private static Integer nextID = new Integer(0);
     public int numberOfTasks = 0;
-    private Map<String, Map<XSQLColumn, List<XSQLCriteria>>> criteria =
-        new ConcurrentHashMap<String, Map<XSQLColumn, List<XSQLCriteria>>>();
+    private Map<String, Map<XSQLColumn, List<XSQLCriteria>>> criteria = new ConcurrentHashMap<String, Map<XSQLColumn, List<XSQLCriteria>>>();
     private Exception err = null;
     private List<Record> EMPTY_RESULT = new LinkedList<Record>();
+    private transient Map<String,JDBCResultSet> subQueries = new HashMap<String,JDBCResultSet>();
+
+    public ResultSet getProxy() {
+         return (ResultSet) Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[] {ResultSet.class }, new JDBCProxy(this));
+    }
+
+    public void setSQL(String _sql) {
+        this.sql = _sql;
+    }
+
+    public JDBCResultSet addSubQuery(String _sql,String logicalName) {
+        if (subQueries == null) {
+            subQueries = new HashMap<String,JDBCResultSet>();
+        }
+        JDBCResultSet rs = new JDBCResultSet(_sql);
+        this.subQueries.put(logicalName,rs);
+        return rs;
+    }
+
+    public Map<String,JDBCResultSet> getSubQueries() {
+        if (this.subQueries==null) {
+            this.subQueries = new HashMap<>();
+        }
+        return this.subQueries;
+    }
 
     public JDBCResultSet(String _sql) {
         synchronized (JDBCResultSet.class) {
@@ -87,13 +110,14 @@ public class JDBCResultSet
         }
     }
 
-    public int isObjectFitCriteria(Map objValues, String tableName) {
-        Map<XSQLColumn, List<XSQLCriteria>> tblCriteria = criteria.get(tableName);
+    public int isObjectFitCriteria(Map<String, Object> objValues, String tableName) {
+        Map<XSQLColumn, List<XSQLCriteria>> tblCriteria = criteria
+                .get(tableName);
         if (tblCriteria == null) {
             return 1;
         }
         for (Map.Entry<XSQLColumn, List<XSQLCriteria>> cc : tblCriteria
-            .entrySet()) {
+                .entrySet()) {
             for (XSQLCriteria c : cc.getValue()) {
                 Object value = objValues.get(cc.getKey().toString());
                 int result = c.checkValue(value);
@@ -105,17 +129,17 @@ public class JDBCResultSet
         return 1;
     }
 
-    public int isObjectFitCriteria(Object element, Class cls) {
-        Map<XSQLColumn, List<XSQLCriteria>> tblCriteria =
-            criteria.get(cls.getName());
+    public int isObjectFitCriteria(Object element, Class<?> cls) {
+        Map<XSQLColumn, List<XSQLCriteria>> tblCriteria = criteria.get(cls
+                .getName());
         if (tblCriteria == null) {
             return 1;
         }
         for (Map.Entry<XSQLColumn, List<XSQLCriteria>> cc : tblCriteria
-            .entrySet()) {
+                .entrySet()) {
             for (XSQLCriteria c : cc.getValue()) {
-                int result =
-                    c.isObjectFitCriteria(element, cc.getKey().getName());
+                int result = c.isObjectFitCriteria(element, cc.getKey()
+                        .getName());
                 if (result == 0) {
                     return 0;
                 }
@@ -175,26 +199,25 @@ public class JDBCResultSet
         return this.records.size();
     }
 
-    public void addRecord(Map r) {
+    public void addRecord(Map<String, Object> r) {
         synchronized (this) {
             if (records == null) {
-                records = new LinkedList<Map>();
+                records = new LinkedList<>();
             }
             records.add(r);
             this.notifyAll();
         }
     }
 
-
-    public void addRecord(ArrayList hierarchy) {
-        Map rec = new HashMap();
+    public void addRecord(ArrayList<?> hierarchy) {
+        Map<String, Object> rec = new HashMap<>();
         for (int i = hierarchy.size() - 1; i >= 0; i--) {
             Object element = hierarchy.get(i);
             for (XSQLColumn c : fieldsInQuery) {
-                if (c.getTableName()
-                    .equals(element.getClass().getSimpleName())) {
+                if (c.getTableName().equals(element.getClass().getSimpleName())) {
                     try {
-                        Method m = element.getClass().getMethod(c.getName(), null);
+                        Method m = element.getClass().getMethod(c.getName(),
+                                null);
                         Object value = m.invoke(element, null);
                         rec.put(c.getName(), value);
                     } catch (Exception err) {
@@ -209,7 +232,7 @@ public class JDBCResultSet
     public boolean next() {
         this.currentRecord = null;
         if (records == null) {
-            records = new LinkedList<Map>();
+            records = new LinkedList<>();
         }
         while (!finished || records.size() > 0) {
             synchronized (this) {
@@ -239,12 +262,12 @@ public class JDBCResultSet
         return false;
     }
 
-    public Map getCurrent() {
+    public Map<String, Object> getCurrent() {
         return this.currentRecord;
     }
 
     private void createRecord(Object data, XSQLBluePrintNode node) {
-        Map rec = new HashMap();
+        Map<String, Object> rec = new HashMap<>();
         for (XSQLColumn c : this.fieldsInQuery) {
             if (c.getTableName().equals(node.getBluePrintNodeName())) {
                 try {
@@ -264,30 +287,28 @@ public class JDBCResultSet
     }
 
     public static class Record {
-        public Map data = new HashMap();
+        public Map<String, Object> data = new HashMap<>();
         public Object element = null;
 
-        public Map getRecord() {
+        public Map<String, Object> getRecord() {
             return this.data;
         }
     }
 
-    private Map collectColumnValues(Object node, XSQLBluePrintNode bpn) {
-        Map subChildren = XSQLODLUtils.getChildren(node);
-        Map result = new HashMap();
+    private Map<String, Object> collectColumnValues(Object node, XSQLBluePrintNode bpn) {
+        Map<?, ?> subChildren = XSQLODLUtils.getChildren(node);
+        Map<String, Object> result = new HashMap<>();
         for (Object stc : subChildren.values()) {
-            if (stc.getClass().getName()
-                .endsWith("ImmutableAugmentationNode")) {
-                Map values = XSQLODLUtils.getChildren(stc);
+            if (stc.getClass().getName().endsWith("ImmutableAugmentationNode")) {
+                Map<?, ?> values = XSQLODLUtils.getChildren(stc);
                 for (Object key : values.keySet()) {
                     Object val = values.get(key);
-                    if (val.getClass().getName()
-                        .endsWith("ImmutableLeafNode")) {
+                    if (val.getClass().getName().endsWith("ImmutableLeafNode")) {
                         Object value = XSQLODLUtils.getValue(val);
                         String k = XSQLODLUtils.getNodeName(val);
                         if (value != null) {
                             result.put(bpn.getBluePrintNodeName() + "." + k,
-                                value.toString());
+                                    value.toString());
                         }
                     }
                 }
@@ -295,20 +316,27 @@ public class JDBCResultSet
                 String k = XSQLODLUtils.getNodeName(stc);
                 Object value = XSQLODLUtils.getValue(stc);
                 if (value != null) {
-                    result.put(bpn.getBluePrintNodeName() + "." + k, value.toString());
+                    result.put(bpn.getBluePrintNodeName() + "." + k,
+                            value.toString());
                 }
             }
         }
         return result;
     }
 
-    private void addToData(Record rec, XSQLBluePrintNode bpn, XSQLBluePrint bluePrint, Map fullRecord) {
-        XSQLBluePrintNode eNodes[] = bluePrint.getBluePrintNodeByODLTableName(XSQLODLUtils.getNodeIdentiofier(rec.element));
+    private void addToData(Record rec, XSQLBluePrintNode bpn,
+            XSQLBluePrint bluePrint, Map<String, Object> fullRecord) {
+        XSQLBluePrintNode eNodes[] = bluePrint
+                .getBluePrintNodeByODLTableName(XSQLODLUtils
+                        .getNodeIdentiofier(rec.element));
         if (bpn != null) {
             for (XSQLColumn c : fieldsInQuery) {
-                for(XSQLBluePrintNode eNode:eNodes){
-                    if (((XSQLBluePrintNode) c.getBluePrintNode()).getBluePrintNodeName().equals(eNode.getBluePrintNodeName())) {
-                        //Object value = Criteria.getValue(rec.element, c.getName());
+                for (XSQLBluePrintNode eNode : eNodes) {
+                    if (((XSQLBluePrintNode) c.getBluePrintNode())
+                            .getBluePrintNodeName().equals(
+                                    eNode.getBluePrintNodeName())) {
+                        // Object value = Criteria.getValue(rec.element,
+                        // c.getName());
                         String columnName = c.toString();
                         Object value = fullRecord.get(columnName);
                         if (value != null) {
@@ -346,7 +374,8 @@ public class JDBCResultSet
         return false;
     }
 
-    public List<Object> getChildren(Object node, String tableName,XSQLBluePrint bluePrint) {
+    public List<Object> getChildren(Object node, String tableName,
+            XSQLBluePrint bluePrint) {
 
         List<Object> children = XSQLODLUtils.getMChildren(node);
         List<Object> result = new LinkedList<Object>();
@@ -354,28 +383,36 @@ public class JDBCResultSet
         for (Object child : children) {
 
             String odlNodeName = XSQLODLUtils.getNodeIdentiofier(child);
-            if(odlNodeName==null) continue;
+            if (odlNodeName == null) {
+                continue;
+            }
 
-            XSQLBluePrintNode eNodes[] = bluePrint.getBluePrintNodeByODLTableName(odlNodeName);
-            if(eNodes==null) continue;
+            XSQLBluePrintNode eNodes[] = bluePrint
+                    .getBluePrintNodeByODLTableName(odlNodeName);
+            if (eNodes == null) {
+                continue;
+            }
 
             boolean match = false;
-            for(XSQLBluePrintNode enode:eNodes){
-                if(tableName.startsWith(enode.toString())){
+            for (XSQLBluePrintNode enode : eNodes) {
+                if (tableName.startsWith(enode.toString())) {
                     match = true;
                     break;
                 }
             }
 
-            if(!match) continue;
+            if (!match) {
+                continue;
+            }
 
             if (child.getClass().getName().endsWith("ImmutableContainerNode")) {
                 result.add(child);
-            }else
-            if (child.getClass().getName().endsWith("ImmutableAugmentationNode")) {
+            } else if (child.getClass().getName()
+                    .endsWith("ImmutableAugmentationNode")) {
                 List<Object> _children = XSQLODLUtils.getMChildren(child);
                 for (Object c : _children) {
-                    if (c.getClass().getName().endsWith("ImmutableContainerNode")) {
+                    if (c.getClass().getName()
+                            .endsWith("ImmutableContainerNode")) {
                         result.add(c);
                     }
                 }
@@ -386,21 +423,26 @@ public class JDBCResultSet
         return result;
     }
 
-    public List<Record> addRecords(Object element, XSQLBluePrintNode node,boolean root, String tableName,XSQLBluePrint bluePrint) {
+    public List<Record> addRecords(Object element, XSQLBluePrintNode node,
+            boolean root, String tableName, XSQLBluePrint bluePrint) {
 
         List<Record> result = new LinkedList<Record>();
         String nodeID = XSQLODLUtils.getNodeIdentiofier(element);
         if (node.getODLTableName().equals(nodeID)) {
-            XSQLBluePrintNode bluePrintNode = bluePrint.getBluePrintNodeByODLTableName(nodeID)[0];
+            XSQLBluePrintNode bluePrintNode = bluePrint
+                    .getBluePrintNodeByODLTableName(nodeID)[0];
             Record rec = new Record();
             rec.element = element;
-            XSQLBluePrintNode bpn = this.tablesInQueryMap.get(bluePrintNode.getBluePrintNodeName());
-            if (this.criteria.containsKey(bluePrintNode.getBluePrintNodeName()) || bpn != null) {
-                Map<?, ?> allKeyValues = collectColumnValues(element, bpn);
-                if (!(isObjectFitCriteria(allKeyValues, bpn.getBluePrintNodeName()) == 1)) {
+            XSQLBluePrintNode bpn = this.tablesInQueryMap.get(bluePrintNode
+                    .getBluePrintNodeName());
+            if (this.criteria.containsKey(bluePrintNode.getBluePrintNodeName())
+                    || bpn != null) {
+                Map<String, Object> allKeyValues = collectColumnValues(element, bpn);
+                if (!(isObjectFitCriteria(allKeyValues,
+                        bpn.getBluePrintNodeName()) == 1)) {
                     return EMPTY_RESULT;
                 }
-                addToData(rec, bpn, bluePrint,allKeyValues);
+                addToData(rec, bpn, bluePrint, allKeyValues);
             }
             if (root) {
                 addRecord(rec.data);
@@ -411,9 +453,11 @@ public class JDBCResultSet
         }
 
         XSQLBluePrintNode parent = node.getParent();
-        List<Record> subRecords = addRecords(element, parent, false, tableName,bluePrint);
+        List<Record> subRecords = addRecords(element, parent, false, tableName,
+                bluePrint);
         for (Record subRec : subRecords) {
-            List<Object> subO = getChildren(subRec.element, tableName,bluePrint);
+            List<Object> subO = getChildren(subRec.element, tableName,
+                    bluePrint);
             if (subO != null) {
                 for (Object subData : subO) {
                     Record rec = new Record();
@@ -421,18 +465,22 @@ public class JDBCResultSet
                     rec.data.putAll(subRec.data);
 
                     String recID = XSQLODLUtils.getNodeIdentiofier(rec.element);
-                    XSQLBluePrintNode eNodes[] = bluePrint.getBluePrintNodeByODLTableName(recID);
+                    XSQLBluePrintNode eNodes[] = bluePrint
+                            .getBluePrintNodeByODLTableName(recID);
                     XSQLBluePrintNode bpn = null;
-                    for(XSQLBluePrintNode eNode:eNodes){
-                        bpn = this.tablesInQueryMap.get(eNode.getBluePrintNodeName());
-                        if(bpn!=null)
+                    for (XSQLBluePrintNode eNode : eNodes) {
+                        bpn = this.tablesInQueryMap.get(eNode
+                                .getBluePrintNodeName());
+                        if (bpn != null) {
                             break;
+                        }
                     }
                     boolean isObjectInCriteria = true;
                     if (bpn != null) {
-                        Map allKeyValues = collectColumnValues(rec.element, bpn);
-                        if ((isObjectFitCriteria(allKeyValues, bpn.getBluePrintNodeName()) == 1)) {
-                            addToData(rec, bpn,bluePrint,allKeyValues);
+                        Map<String, Object> allKeyValues = collectColumnValues(rec.element, bpn);
+                        if ((isObjectFitCriteria(allKeyValues,
+                                bpn.getBluePrintNodeName()) == 1)) {
+                            addToData(rec, bpn, bluePrint, allKeyValues);
                         } else {
                             isObjectInCriteria = false;
                         }
@@ -440,8 +488,9 @@ public class JDBCResultSet
 
                     if (isObjectInCriteria) {
                         if (root) {
-                            if(!rec.data.isEmpty())
+                            if (!rec.data.isEmpty()) {
                                 addRecord(rec.data);
+                            }
                         } else {
                             result.add(rec);
                         }
@@ -545,7 +594,7 @@ public class JDBCResultSet
 
     @Override
     public BigDecimal getBigDecimal(int columnIndex, int scale)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -558,7 +607,7 @@ public class JDBCResultSet
 
     @Override
     public BigDecimal getBigDecimal(String columnLabel, int scale)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -798,22 +847,20 @@ public class JDBCResultSet
 
     @Override
     public Object getObject(int columnIndex, Map<String, Class<?>> map)
-        throws SQLException {
-        // TODO Auto-generated method stub
-        return null;
+            throws SQLException {
+        return getObject(columnIndex);
     }
 
     @Override
     public Object getObject(int columnIndex) throws SQLException {
-        return currentRecord
-            .get(this.fieldsInQuery.get(columnIndex - 1).toString());
+        return currentRecord.get(this.fieldsInQuery.get(columnIndex - 1)
+                .toString());
     }
 
     @Override
     public Object getObject(String columnLabel, Map<String, Class<?>> map)
-        throws SQLException {
-        // TODO Auto-generated method stub
-        return null;
+            throws SQLException {
+        return getObject(columnLabel);
     }
 
     @Override
@@ -883,14 +930,12 @@ public class JDBCResultSet
 
     @Override
     public String getString(int columnIndex) throws SQLException {
-        // TODO Auto-generated method stub
-        return null;
+        return "Kuku";
     }
 
     @Override
     public String getString(String columnLabel) throws SQLException {
-        // TODO Auto-generated method stub
-        return null;
+        return "Kuku";
     }
 
     @Override
@@ -919,7 +964,7 @@ public class JDBCResultSet
 
     @Override
     public Timestamp getTimestamp(int columnIndex, Calendar cal)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -932,7 +977,7 @@ public class JDBCResultSet
 
     @Override
     public Timestamp getTimestamp(String columnLabel, Calendar cal)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -945,8 +990,7 @@ public class JDBCResultSet
 
     @Override
     public int getType() throws SQLException {
-        // TODO Auto-generated method stub
-        return 0;
+        return ResultSet.TYPE_FORWARD_ONLY;
     }
 
     @Override
@@ -968,8 +1012,7 @@ public class JDBCResultSet
     }
 
     @Override
-    public InputStream getUnicodeStream(String columnLabel)
-        throws SQLException {
+    public InputStream getUnicodeStream(String columnLabel) throws SQLException {
         // TODO Auto-generated method stub
         return null;
     }
@@ -1096,100 +1139,98 @@ public class JDBCResultSet
 
     @Override
     public void updateAsciiStream(int columnIndex, InputStream x, int length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateAsciiStream(int columnIndex, InputStream x, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateAsciiStream(int columnIndex, InputStream x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateAsciiStream(String columnLabel, InputStream x, int length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
-    public void updateAsciiStream(String columnLabel, InputStream x,
-        long length)
-        throws SQLException {
+    public void updateAsciiStream(String columnLabel, InputStream x, long length)
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateAsciiStream(String columnLabel, InputStream x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBigDecimal(int columnIndex, BigDecimal x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBigDecimal(String columnLabel, BigDecimal x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBinaryStream(int columnIndex, InputStream x, int length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBinaryStream(int columnIndex, InputStream x, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBinaryStream(int columnIndex, InputStream x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
-    public void updateBinaryStream(String columnLabel, InputStream x,
-        int length)
-        throws SQLException {
+    public void updateBinaryStream(String columnLabel, InputStream x, int length)
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBinaryStream(String columnLabel, InputStream x,
-        long length) throws SQLException {
+            long length) throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBinaryStream(String columnLabel, InputStream x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1201,16 +1242,15 @@ public class JDBCResultSet
     }
 
     @Override
-    public void updateBlob(int columnIndex, InputStream inputStream,
-        long length)
-        throws SQLException {
+    public void updateBlob(int columnIndex, InputStream inputStream, long length)
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBlob(int columnIndex, InputStream inputStream)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1223,14 +1263,14 @@ public class JDBCResultSet
 
     @Override
     public void updateBlob(String columnLabel, InputStream inputStream,
-        long length) throws SQLException {
+            long length) throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateBlob(String columnLabel, InputStream inputStream)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1243,7 +1283,7 @@ public class JDBCResultSet
 
     @Override
     public void updateBoolean(String columnLabel, boolean x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1274,42 +1314,42 @@ public class JDBCResultSet
 
     @Override
     public void updateCharacterStream(int columnIndex, Reader x, int length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateCharacterStream(int columnIndex, Reader x, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateCharacterStream(int columnIndex, Reader x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateCharacterStream(String columnLabel, Reader reader,
-        int length) throws SQLException {
+            int length) throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateCharacterStream(String columnLabel, Reader reader,
-        long length) throws SQLException {
+            long length) throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateCharacterStream(String columnLabel, Reader reader)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1322,7 +1362,7 @@ public class JDBCResultSet
 
     @Override
     public void updateClob(int columnIndex, Reader reader, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1341,14 +1381,14 @@ public class JDBCResultSet
 
     @Override
     public void updateClob(String columnLabel, Reader reader, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateClob(String columnLabel, Reader reader)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1415,28 +1455,28 @@ public class JDBCResultSet
 
     @Override
     public void updateNCharacterStream(int columnIndex, Reader x, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNCharacterStream(int columnIndex, Reader x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNCharacterStream(String columnLabel, Reader reader,
-        long length) throws SQLException {
+            long length) throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNCharacterStream(String columnLabel, Reader reader)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1449,49 +1489,48 @@ public class JDBCResultSet
 
     @Override
     public void updateNClob(int columnIndex, Reader reader, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
-    public void updateNClob(int columnIndex, Reader reader)
-        throws SQLException {
+    public void updateNClob(int columnIndex, Reader reader) throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNClob(String columnLabel, NClob nClob)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNClob(String columnLabel, Reader reader, long length)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNClob(String columnLabel, Reader reader)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNString(int columnIndex, String nString)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateNString(String columnLabel, String nString)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1510,7 +1549,7 @@ public class JDBCResultSet
 
     @Override
     public void updateObject(int columnIndex, Object x, int scaleOrLength)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1523,7 +1562,7 @@ public class JDBCResultSet
 
     @Override
     public void updateObject(String columnLabel, Object x, int scaleOrLength)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1566,14 +1605,14 @@ public class JDBCResultSet
 
     @Override
     public void updateSQLXML(int columnIndex, SQLXML xmlObject)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateSQLXML(String columnLabel, SQLXML xmlObject)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1616,14 +1655,14 @@ public class JDBCResultSet
 
     @Override
     public void updateTimestamp(int columnIndex, Timestamp x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
 
     @Override
     public void updateTimestamp(String columnLabel, Timestamp x)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
 
     }
@@ -1670,8 +1709,7 @@ public class JDBCResultSet
 
     @Override
     public int getColumnType(int column) throws SQLException {
-        // TODO Auto-generated method stub
-        return 0;
+        return 12;
     }
 
     @Override
@@ -1766,15 +1804,11 @@ public class JDBCResultSet
 
     @Override
     public <T> T getObject(String columnLabel, Class<T> type)
-        throws SQLException {
+            throws SQLException {
         // TODO Auto-generated method stub
         return null;
     }
 
-
-
-    ////Metadata
-
-
+    // //Metadata
 
 }