Diff for /FM2SQL/Attic/Convert.java between versions 1.63 and 1.64

version 1.63, 2004/07/27 10:41:36 version 1.64, 2004/07/28 11:21:01
Line 571  class Convert Line 571  class Convert
         // System.exit(0);          // System.exit(0);
   
         // determine destTableName from createStatement or from source table name          // determine destTableName from createStatement or from source table name
         if (!creates.get(tbIndex).equals(""))          ConversionProperties prop= getFieldNamesAndDestTableName(creates.get(tbIndex).toString(),query,names.get(tbIndex).toString());
         {           destTableName = prop.destTableName;
           String create = creates.get(tbIndex).toString().toLowerCase();           fieldNames = prop.fieldNames;
           int fromIndex = create.indexOf("table") + 5;  
           int toIndex = create.indexOf("(");  
           int endIndex = create.indexOf(")", toIndex);  
   
           destTableName = create.substring(fromIndex, toIndex).replaceAll(beanDest.getQC(), "").trim();  
           System.out.println("destTable " + destTableName);  
           // retrieve field_names from select statement  
           if (query.indexOf("*") < 0)  
           {  
             int selectEndIndex = query.indexOf("from");  
             StringTokenizer tokenizer = new StringTokenizer(query.substring(6, selectEndIndex), ",");  
             int numFields = tokenizer.countTokens();  
             fieldNames = new String[numFields];  
             int fieldIndex = 0;  
             while (tokenizer.hasMoreTokens())  
             {  
               String fieldName = tokenizer.nextToken().trim();  
               fieldNames[fieldIndex] = convertText(fieldName);  
               System.out.println(fieldNames[fieldIndex]);  
               fieldIndex++;  
             }  
   
           } else  
           {  
             // use create statement for field names  
             StringTokenizer tokenizer = new StringTokenizer(create.substring(toIndex + 1, endIndex), ",");  
             int numFields = tokenizer.countTokens();  
             fieldNames = new String[numFields];  
             int fieldIndex = 0;  
             while (tokenizer.hasMoreTokens())  
             {  
               String fieldName = tokenizer.nextToken().trim();  
               int index = fieldName.lastIndexOf(" ");  
               fieldNames[fieldIndex] = fieldName.substring(0, index);  
               System.out.println(fieldNames[fieldIndex]);  
               fieldIndex++;  
             }  
           }  
         } else  
         {  
           destTableName = convertText(names.get(tbIndex).toString());  
   
           // retrieve field_names from select statement  
           if (query.indexOf("*") < 0)  
           {  
             int selectEndIndex = query.indexOf("from");  
             StringTokenizer tokenizer = new StringTokenizer(query.substring(6, selectEndIndex), ",");  
             int numFields = tokenizer.countTokens();  
             fieldNames = new String[numFields];  
             int fieldIndex = 0;  
             while (tokenizer.hasMoreTokens())  
             {  
               String fieldName = tokenizer.nextToken().trim();  
               fieldNames[fieldIndex] = convertText(fieldName);  
              // System.out.println("field "+ fieldNames[fieldIndex]);  
               fieldIndex++;  
             }  
   
           } else  
           {  
             Vector fieldNamesVec = bean.getColumnNames();  
             fieldNames = new String[fieldNamesVec.size()];  
             int fieldIndex = -1;  
             for (Iterator iter = fieldNamesVec.iterator(); iter.hasNext();)  
             {  
               String element = (String) iter.next();  
               fieldNames[++fieldIndex] = bean.getQC() + convertText(element) + bean.getQC();  
              // System.out.println("field " + fieldNames[fieldIndex]);  
             }  
           }  
         }  
         if (mode == Convert.DataBase.CONVERT_MODE)          if (mode == Convert.DataBase.CONVERT_MODE)
         {          {
   
Line 1604  class Convert Line 1533  class Convert
       e.printStackTrace();        e.printStackTrace();
     }      }
   }    }
     /**
        * Helper class for Conversion etc
        * Holds the some data
        * @author rogo
        *
        */
   
     public static class ConversionProperties 
     {
       String destTableName;
       String[] fieldNames ;
       public ConversionProperties() 
       {
       }
       public ConversionProperties(String destTableName, String[] fieldNames) 
       {
         this.destTableName = destTableName;
         this.fieldNames = fieldNames;   
        
       }
     
     }
   /**    /**
    * Helper class for XML-File parsing     * Helper class for XML-File parsing
    * Holds the parsed data     * Holds the parsed data
Line 2064  class Convert Line 2014  class Convert
             Vector deleted = new Vector(vec);              Vector deleted = new Vector(vec);
             Vector linesToDelete = new Vector(vecDest);              Vector linesToDelete = new Vector(vecDest);
                           
             Vector linesToAppend = new Vector(vec);              TreeSet linesToAppend = new TreeSet(vec);
             // remove all lines that are already in dest database              // remove all lines that are already in dest database
             linesToAppend.removeAll(vecDest);              linesToAppend.removeAll(vecDest);
             // remove all lines that should not be deleted              // remove all lines that should not be deleted
Line 2079  class Convert Line 2029  class Convert
                   System.out.println("tempQuery is now "+tempQuery+" order by "+tempID);                    System.out.println("tempQuery is now "+tempQuery+" order by "+tempID);
           //  bean.makeQuery(tempQuery,vec.size());            //  bean.makeQuery(tempQuery,vec.size());
            Vector[] vectors=bean.getQueryData(tempQuery,vec.size());             Vector[] vectors=bean.getQueryData(tempQuery,vec.size());
            System.out.println(vectors[0]);             int idIndex = vectors[1].indexOf(idField);
            System.out.println( bean.getColumnNames().indexOf(idField));             for (Iterator iter = vectors[0].iterator(); iter.hasNext();)
            System.exit(0);            {
               Vector line = (Vector) iter.next();
               System.out.println("line "+linesToAppend.contains(line.get(idIndex)));
             }
              System.out.println( );
             // System.out.println("ID LIST SIZE " + Math.round((double) myIds.size() / (double) numIntervalls) + " " + myIdsDest.size());              // System.out.println("ID LIST SIZE " + Math.round((double) myIds.size() / (double) numIntervalls) + " " + myIdsDest.size());
             /// @TODO complete delete task remove query show lines to be deleted let user choose if he wants that              /// @TODO complete delete task remove query show lines to be deleted let user choose if he wants that
             System.out.println("number of lines to  be deleted " + linesToDelete.size());              System.out.println("number of lines to  be deleted " + linesToDelete.size());
             deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls);              deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls);
               System.out.println("deltaID "+deltaID);
               System.exit(0);
      
             beanDest.setConnection(destination);              beanDest.setConnection(destination);
   
             Statement stm = beanDest.getConnection().createStatement();              Statement stm = beanDest.getConnection().createStatement();
Line 2676  class Convert Line 2633  class Convert
     }      }
     return buf.toString();      return buf.toString();
   }    }
     public static ConversionProperties getFieldNamesAndDestTableName(String create,String query,String tableName ) 
     {
       String[] fieldNames = null;
       String destTableName = null;
       // determine destTableName from createStatement or from source table name
       if (!create.equals(""))
       {
         int fromIndex = create.toLowerCase().indexOf("table") + 5;
         int toIndex = create.indexOf("(");
         int endIndex = create.indexOf(")", toIndex);
   
         destTableName = create.substring(fromIndex, toIndex).replaceAll(beanDest.getQC(), "").trim();
         System.out.println("destTable " + destTableName);
         // retrieve field_names from select statement
         // TODO problem with different fieldNames in create statement will overwrite them
         if (query.indexOf("*") < 0)
         {
           int selectEndIndex = query.indexOf("from");
           StringTokenizer tokenizer = new StringTokenizer(query.substring(6, selectEndIndex), ",");
           int numFields = tokenizer.countTokens();
           fieldNames = new String[numFields];
           int fieldIndex = 0;
           while (tokenizer.hasMoreTokens())
           {
             String fieldName = tokenizer.nextToken().trim();
             fieldNames[fieldIndex] = convertText(fieldName);
             System.out.println(fieldNames[fieldIndex]);
             fieldIndex++;
           }
   
         } else
         {
           // use create statement for field names
           StringTokenizer tokenizer = new StringTokenizer(create.substring(toIndex + 1, endIndex), ",");
           int numFields = tokenizer.countTokens();
           fieldNames = new String[numFields];
           int fieldIndex = 0;
           while (tokenizer.hasMoreTokens())
           {
             String fieldName = tokenizer.nextToken().trim();
             int index = fieldName.lastIndexOf(" ");
             fieldNames[fieldIndex] = fieldName.substring(0, index);
             System.out.println(fieldNames[fieldIndex]);
             fieldIndex++;
           }
         }
       } else
       {
         destTableName = convertText(tableName);
   
         // retrieve field_names from select statement
         if (query.indexOf("*") < 0)
         {
           int selectEndIndex = query.indexOf("from");
           StringTokenizer tokenizer = new StringTokenizer(query.substring(6, selectEndIndex), ",");
           int numFields = tokenizer.countTokens();
           fieldNames = new String[numFields];
           int fieldIndex = 0;
           while (tokenizer.hasMoreTokens())
           {
             String fieldName = tokenizer.nextToken().trim();
             fieldNames[fieldIndex] = convertText(fieldName);
            // System.out.println("field "+ fieldNames[fieldIndex]);
             fieldIndex++;
           }
   
         } else
         {
           Vector fieldNamesVec = bean.getColumnNames();
           fieldNames = new String[fieldNamesVec.size()];
           int fieldIndex = -1;
           for (Iterator iter = fieldNamesVec.iterator(); iter.hasNext();)
           {
             String element = (String) iter.next();
             fieldNames[++fieldIndex] = bean.getQC() + convertText(element) + bean.getQC();
            // System.out.println("field " + fieldNames[fieldIndex]);
           }
         }
       }
       return new ConversionProperties(destTableName,fieldNames);
     }
 }  }
   

Removed from v.1.63  
changed lines
  Added in v.1.64


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>