Ignore:
Timestamp:
Jan 2, 2011, 8:51:21 PM (14 years ago)
Author:
fmguler
Message:

Refs #3 - Ven.save() is transferred to the new package. Save use case is completed. Convert.toDB() converts camel case object names to database names with underscores. Unchecked VenException is thrown by Ven methods. Liquibase changelog (test-db-changelog.xml) is changed to include only a simple object to test save operation. It creates a sample database table and inserts a sample row. On rollback it removes sample data. Using liquibase, Sample.java builds database, tests save operation and rolls back.

QueryGenerator generates insert and update queries for save and generates sequence query to assign ids to new objects. Ven calls query generator and runs the query using spring jdbc template.

Old codebase updated to run at Java 1.4

Location:
trunk/fmgVen/src/net/fmg/ven
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/fmgVen/src/net/fmg/ven/Olcut.java

    r22 r26  
    77 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 
    88 */ 
    9  
    109package net.fmg.ven; 
    1110 
     
    2524    private Map parametreler; 
    2625    private Set baglaclar; 
    27      
     26 
    2827    /**  
    2928     * Yeni ölçüt 
     
    3231        this.metin = ""; 
    3332        this.parametreler = new HashMap(); 
    34         this.baglaclar =  new HashSet(); 
     33        this.baglaclar = new HashSet(); 
    3534        //{"and", "or", "=", "<>", "<", ">"} 
    3635    } 
    37      
     36 
    3837    /** 
    3938     * YAPILMADI 
    4039     */ 
    41     public Olcut ekle(Olcut olcut){         
     40    public Olcut ekle(Olcut olcut) { 
    4241        return null; 
    4342    } 
    44      
     43 
    4544    /** 
    4645     * YAPILMADI 
    4746     */ 
    48     public Olcut ekle(List olcutler){         
     47    public Olcut ekle(List olcutler) { 
    4948        return null; 
    5049    } 
    51      
     50 
    5251    /** 
    5352     * YAPILMADI 
    5453     */ 
    55     public Olcut ve(){ 
     54    public Olcut ve() { 
    5655        return null; 
    5756    } 
    58      
     57 
    5958    /** 
    6059     * koşul ekle 
    6160     */ 
    62     public Olcut ekle(String kosul){ 
    63         this.metin +=" "+kosul; 
     61    public Olcut ekle(String kosul) { 
     62        this.metin += " " + kosul; 
    6463        return this; 
    6564    } 
    66      
     65 
    6766    /** 
    6867     * koşullarda kullanılan parametreleri ekle 
    6968     */ 
    70     public Olcut ekle(String parametre, Object nesne){ 
    71         this.parametreler.put(parametre,nesne); 
     69    public Olcut ekle(String parametre, Object nesne) { 
     70        this.parametreler.put(parametre, nesne); 
    7271        return this; 
    7372    } 
    74      
     73 
    7574    /** 
    7675     * koşullarda kullanılan parametreleri tümden ekle 
    7776     */ 
    78     public Olcut ekle(Map parametreler){ 
     77    public Olcut ekle(Map parametreler) { 
    7978        this.parametreler.putAll(parametreler); 
    8079        return this; 
    8180    } 
    82      
    83     public String olcutleriAl(){ 
     81 
     82    public String olcutleriAl() { 
    8483        //((1=1) and ((1=1) and (musteri_numuneler_numune_sahibi.rapor_tarihi is null) and (musteri.no = 4))) 
    8584        //Musteri.numuneler.deneyler.deneyTip.ad like :p1 
    8685        String sonuc = ""; 
    87         metin = metin.replace("(","( "); 
    88         metin = metin.replace(")"," )"); 
     86        metin = metin.replaceAll("\\(", "\\( "); 
     87        metin = metin.replaceAll("\\)", " \\)"); 
    8988        String[] parcalar = metin.split(" "); 
    9089        for (int i = 0; i < parcalar.length; i++) { 
    91             if (!parcalar[i].startsWith(":") && parcalar[i].contains(".")){ 
    92                 int sonNokta = parcalar[i].lastIndexOf('.');                 
     90            if (!parcalar[i].startsWith(":") && parcalar[i].indexOf(".") >= 0) { 
     91                int sonNokta = parcalar[i].lastIndexOf('.'); 
    9392                sonuc += " "; 
    94                 int u = parcalar[i].length();                 
    95                 sonuc +=Cevir.vt(parcalar[i].substring(0,sonNokta).replace('.','_')); 
    96                 sonuc +=Cevir.vt(parcalar[i].substring(sonNokta,u)); 
    97             }else{ 
    98                 sonuc += " "+parcalar[i]; 
     93                int u = parcalar[i].length(); 
     94                sonuc += Cevir.vt(parcalar[i].substring(0, sonNokta).replace('.', '_')); 
     95                sonuc += Cevir.vt(parcalar[i].substring(sonNokta, u)); 
     96            } else { 
     97                sonuc += " " + parcalar[i]; 
    9998            } 
    10099        } 
    101100        return sonuc; 
    102101    } 
    103      
    104     public Map parametreler(){ 
     102 
     103    public Map parametreler() { 
    105104        return this.parametreler; 
    106105    } 
    107106 
    108107    public String toString() { 
    109         return olcutleriAl()+" "+this.parametreler; 
     108        return olcutleriAl() + " " + this.parametreler; 
    110109    } 
    111      
    112110} 
  • trunk/fmgVen/src/net/fmg/ven/SorguEslestirici.java

    r23 r26  
    5757        long t1 = System.currentTimeMillis(); 
    5858        final List sonuclar = new LinkedList(); 
    59         final String tabloAdi = Cevir.vt(nesneSinifi.getSimpleName()); 
     59        final String tabloAdi = Cevir.vt(Cevir.isim(nesneSinifi.getName())); 
    6060        final Set sutunlar = new HashSet(); 
    6161         
  • trunk/fmgVen/src/net/fmg/ven/SorguUretici.java

    r22 r26  
    5959            if (alanSinifi.getPackage()!=null && nesnePaketleri.contains(alanSinifi.getPackage().getName()) && baglarKapsar(baglar,nesneYolu+"."+alanAdi)){ //domain nesnesi 1-1 join 
    6060                String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // bağ tablosu için diğer ad, çünkü aynı isimde birden fazla bağ olabilir, karışmasın 
    61                 String bagTablosu = Cevir.vt(alanSinifi.getSimpleName());//gerçek bağ tablosu 
     61                String bagTablosu = Cevir.vt(Cevir.isim(alanSinifi.getName()));//gerçek bağ tablosu 
    6262                fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 
    6363                fromCumlesi.append(" on "+bagTablosuDigerAd+".no = "+tabloAdi+"."+sutunAdi+"_no"); 
     
    6767                Class cokluAlandakiNesneSinifi = (Class)wr.getPropertyValue(alanAdi+".nesneSinifi"); 
    6868                String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // bağ tablosu için diğer ad, çünkü aynı isimde birden fazla bağ olabilir, karışmasın 
    69                 String bagTablosu = Cevir.vt(cokluAlandakiNesneSinifi.getSimpleName());//gerçek bağ tablosu 
     69                String bagTablosu = Cevir.vt(Cevir.isim(cokluAlandakiNesneSinifi.getName()));//gerçek bağ tablosu 
    7070                String bagAlani = Cevir.vt((String)wr.getPropertyValue(alanAdi+".bagAlani")); //YAP: bunu vermeden de varsayılan birşey yapsın 
    7171                fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 
     
    9393    public String secmeSorgusuUret(Set baglar, Class nesneSinifi){ 
    9494        //long t1 = System.currentTimeMillis(); 
    95         String nesneAdi = nesneSinifi.getSimpleName(); 
     95        String nesneAdi = Cevir.isim(nesneSinifi.getName()); 
    9696        String tabloAdi = Cevir.vt(nesneAdi); 
    9797        StringBuffer selectCumlesi = new StringBuffer("select "); 
     
    108108    public String saymaSorgusuUret(Set baglar, Class nesneSinifi){ 
    109109        //long t1 = System.currentTimeMillis(); 
    110         String nesneAdi = nesneSinifi.getSimpleName(); 
     110        String nesneAdi = Cevir.isim(nesneSinifi.getName()); 
    111111        String tabloAdi = Cevir.vt(nesneAdi); 
    112112        StringBuffer selectCumlesi = new StringBuffer(); 
     
    123123    public String guncellemeSorgusuUret(Object nesne){ 
    124124        BeanWrapper wr = new BeanWrapperImpl(nesne); 
    125         String nesneAdi = nesne.getClass().getSimpleName(); 
     125        String nesneAdi = Cevir.isim(nesne.getClass().getName()); 
    126126        String tabloAdi = Cevir.vt(nesneAdi); 
    127127        StringBuffer sorgu; 
  • trunk/fmgVen/src/net/fmg/ven/Ven.java

    r22 r26  
    4848        Set baglar = new HashSet(); 
    4949        kullanimlar.put(kullanimNo,baglar); 
    50         baglar.add(nesneSinifi.getSimpleName()); 
     50        baglar.add(Cevir.isim(nesneSinifi.getName())); 
    5151         
    5252        String sorgu = uretici.secmeSorgusuUret(baglar, nesneSinifi); 
     
    111111    public Object nesneAl(Class nesneSinifi, Integer no, Set baglar){ 
    112112        String sorgu = uretici.secmeSorgusuUret(baglar, nesneSinifi); 
    113         Olcut olcut = new Olcut().ekle("and "+Cevir.vt(nesneSinifi.getSimpleName())+".no = :___no").ekle("___no",no); 
     113        Olcut olcut = new Olcut().ekle("and "+Cevir.vt(Cevir.isim(nesneSinifi.getName()))+".no = :___no").ekle("___no",no); 
    114114        sorgu += " where 1=1"+olcut.olcutleriAl(); 
    115115        if(hataAyiklama) System.out.println("SQL: "+sorgu); 
     
    127127    public Object nesneAl(Class nesneSinifi, Integer no, Set baglar, Olcut olcut){ 
    128128        String sorgu = uretici.secmeSorgusuUret(baglar, nesneSinifi); 
    129         sorgu += " where 1=1 and "+Cevir.vt(nesneSinifi.getSimpleName())+".no = :___no "+olcut.olcutleriAl(); //No diğer ölçütlerden önce gelmeli order-limit için 
     129        sorgu += " where 1=1 and "+Cevir.vt(Cevir.isim(nesneSinifi.getName()))+".no = :___no "+olcut.olcutleriAl(); //No diğer ölçütlerden önce gelmeli order-limit için 
    130130        olcut.ekle("___no",no); 
    131131        if(hataAyiklama) System.out.println("SQL: "+sorgu); 
     
    145145        BeanWrapper wr = new BeanWrapperImpl(nesne); 
    146146        if(wr.getPropertyValue("no")==null){             
    147             wr.setPropertyValue("no",new Integer(sablon.queryForInt("select currval('"+Cevir.vt(nesne.getClass().getSimpleName())+"_no')", new HashMap()))); 
     147            wr.setPropertyValue("no",new Integer(sablon.queryForInt("select currval('"+Cevir.vt(Cevir.isim(nesne.getClass().getName()))+"_no')", new HashMap()))); 
    148148        } 
    149149    } 
    150150     
    151151    public void nesneSil(Integer no, Class nesneSinifi){ 
    152         String sorgu = "delete from "+Cevir.vt(nesneSinifi.getSimpleName())+" where no = :no ;"; 
     152        String sorgu = "delete from "+Cevir.vt(Cevir.isim(nesneSinifi.getName()))+" where no = :no ;"; 
    153153        Map parametreler = new HashMap(2); 
    154154        parametreler.put("no",no); 
  • trunk/fmgVen/src/net/fmg/ven/arac/Cevir.java

    r22 r26  
    3535        return sonuc.toString(); 
    3636    } 
     37 
     38    public static String isim(String isim) { 
     39        int i = isim.lastIndexOf("."); 
     40        if (i < 0) return isim; 
     41        return isim.substring(i + 1); 
     42    } 
    3743     
    3844} 
Note: See TracChangeset for help on using the changeset viewer.