package com.l7tech.server.jdbc;

import java.sql.Blob;
import java.sql.Clob;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.ResultSetExtractor;

class p implements ResultSetExtractor<Map<String, List<Object>>> {
   private p() {
   }

   public Map<String, List<Object>> extractData(ResultSet var1) throws SQLException, DataAccessException {
      HashMap var2 = new HashMap();
      ResultSetMetaData var3 = var1.getMetaData();
      int var4 = var3.getColumnCount();

      while (var1.next()) {
         for (int var5 = 1; var5 <= var4; var5++) {
            String var6 = var3.getColumnLabel(var5).toLowerCase();
            List var7 = (List)var2.get(var6);
            if (var7 == null) {
               var7 = new ArrayList();
               var2.put(var6, var7);
            }

            int var9 = var1.getMetaData().getColumnType(var5);
            Object var8;
            if (var9 == 2005) {
               Clob var10 = var1.getClob(var5);

               String var10000;
               label52: {
                  try {
                     if (var10 == null) {
                        var10000 = null;
                        break label52;
                     }
                  } catch (SQLException var12) {
                     throw a(var12);
                  }

                  var10000 = var10.getSubString(1L, (int)var10.length());
               }

               var8 = var10000;
            } else if (var9 == 2004) {
               Blob var13 = var1.getBlob(var5);

               byte[] var14;
               label43: {
                  try {
                     if (var13 == null) {
                        var14 = null;
                        break label43;
                     }
                  } catch (SQLException var11) {
                     throw a(var11);
                  }

                  var14 = var13.getBytes(1L, (int)var13.length());
               }

               var8 = var14;
            } else {
               var8 = var1.getObject(var5);
            }

            var7.add(var8);
         }
      }

      return var2;
   }

   private static SQLException a(SQLException var0) {
      return var0;
   }
}
