Changeset 22
- Timestamp:
- Jul 14, 2010, 10:51:10 PM (14 years ago)
- Location:
- trunk/fmgVen
- Files:
-
- 7 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/fmgVen/nbproject/project.properties
r19 r22 1 annotation.processing.enabled=true 2 annotation.processing.enabled.in.editor=false 3 annotation.processing.run.all.processors=true 1 4 application.args= 2 5 application.title=fmgVen … … 20 23 dist.jar=${dist.dir}/fmgVen.jar 21 24 dist.javadoc.dir=${dist.dir}/javadoc 25 endorsed.classpath= 22 26 excludes= 23 27 file.reference.spring.jar=lib/spring.jar … … 29 33 javac.compilerargs= 30 34 javac.deprecation=false 35 javac.processorpath=\ 36 ${javac.classpath} 31 37 javac.source=1.4 32 38 javac.target=1.4 … … 58 64 ${javac.test.classpath}:\ 59 65 ${build.test.classes.dir} 66 source.encoding=UTF-8 60 67 src.dir=src 61 68 test.src.dir=test 69 project.license=ven-apache20 -
trunk/fmgVen/src/net/fmg/ven/Olcut.java
r11 r22 3 3 * 4 4 * Created on December 20, 2006, 1:45 PM 5 * (4.12.06 tarihli SpringDaoDeneme çal ýþmasýndan derlenmiþtir)5 * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) 6 6 * 7 * Ven - Ayar Yerine Gelenek veritaban ý eriþim nesnesi7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 8 8 */ 9 9 … … 18 18 19 19 /** 20 * Ven için ölçütlerin belirlenebilece ði sýnýf20 * Ven için ölçütlerin belirlenebileceği sınıf 21 21 * @author Fatih Mehmet Güler 22 22 */ … … 58 58 59 59 /** 60 * ko þul ekle60 * koşul ekle 61 61 */ 62 62 public Olcut ekle(String kosul){ … … 66 66 67 67 /** 68 * ko þullarda kullanýlan parametreleri ekle68 * koşullarda kullanılan parametreleri ekle 69 69 */ 70 70 public Olcut ekle(String parametre, Object nesne){ … … 74 74 75 75 /** 76 * ko þullarda kullanýlan parametreleri tümden ekle76 * koşullarda kullanılan parametreleri tümden ekle 77 77 */ 78 78 public Olcut ekle(Map parametreler){ -
trunk/fmgVen/src/net/fmg/ven/SorguEslestirici.java
r11 r22 3 3 * 4 4 * Created on December 18, 2006, 10:40 AM 5 * (4.12.06 tarihli SpringDaoDeneme çal ýþmasýndan derlenmiþtir)5 * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) 6 6 * 7 * Ven - Ayar Yerine Gelenek veritaban ý eriþim nesnesi7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 8 8 */ 9 9 … … 30 30 31 31 /** 32 * 'Ayar yerine gelenek' yakla þýmýnda üretilmiþ sorgunun sonucunu belirtilen nesneye eþler32 * 'Ayar yerine gelenek' yaklaşımında üretilmiş sorgunun sonucunu belirtilen nesneye eşler 33 33 * @author Fatih Mehmet Güler 34 34 */ … … 67 67 } 68 68 ); 69 System.out.println("Listeleme zaman ý="+(System.currentTimeMillis()-t1));69 System.out.println("Listeleme zamanı="+(System.currentTimeMillis()-t1)); 70 70 return sonuclar; 71 71 } … … 73 73 private void esle(ResultSet rs, Set sutunlar, String tabloAdi, Class nesneSinifi, List ustListe){ 74 74 try{ 75 if (!sutunlar.contains(tabloAdi+"_no")) return; //bu nesne sütunlar aras ýnda hiç yok75 if (!sutunlar.contains(tabloAdi+"_no")) return; //bu nesne sütunlar arasında hiç yok 76 76 Object no = rs.getObject(tabloAdi+"_no"); 77 if (no==null) return; //bu nesne sütunlar aras ýnda var ama null, muhtemelen left join den dolayý78 BeanWrapper wr=new BeanWrapperImpl(nesneSinifi); //Zaten class introspectionunu sakl ýyor (CachedIntrospectionResults.forClass())77 if (no==null) return; //bu nesne sütunlar arasında var ama null, muhtemelen left join den dolayı 78 BeanWrapper wr=new BeanWrapperImpl(nesneSinifi); //Zaten class introspectionunu saklıyor (CachedIntrospectionResults.forClass()) 79 79 wr.setPropertyValue("no",no); 80 80 Object nesne = wr.getWrappedInstance(); 81 81 boolean esle = true; 82 for (Iterator it = ustListe.iterator(); it.hasNext();) { //listenin içinde indexOf ve get(i) ile birkaç kez dola þmak yerinde bir kez dolaþmýþ olalým, onlar da ayný þeyi yapýyor çünkü.82 for (Iterator it = ustListe.iterator(); it.hasNext();) { //listenin içinde indexOf ve get(i) ile birkaç kez dolaşmak yerinde bir kez dolaşmış olalım, onlar da aynı şeyi yapıyor çünkü. 83 83 Object listedekiNesne = (Object) it.next(); 84 if (nesne.equals(listedekiNesne)){ //NOT: bunu no'lar ý karþýlaþtýrarak da yapabiliriz85 wr.setWrappedInstance(listedekiNesne); //listede zaten var onu kullanmal ýyýz86 esle = false; // ve tekrar e þleme yapmamalýyýz84 if (nesne.equals(listedekiNesne)){ //NOT: bunu no'ları karşılaştırarak da yapabiliriz 85 wr.setWrappedInstance(listedekiNesne); //listede zaten var onu kullanmalıyız 86 esle = false; // ve tekrar eşleme yapmamalıyız 87 87 break; 88 88 } 89 89 } 90 if (esle) ustListe.add(nesne); //bulamad ýk, yani listede yok bunu ekliyoruz90 if (esle) ustListe.add(nesne); //bulamadık, yani listede yok bunu ekliyoruz 91 91 PropertyDescriptor[] pdArr = wr.getPropertyDescriptors(); 92 92 for (int i = 0; i < pdArr.length; i++) { … … 95 95 Class alanSinifi = pd.getPropertyType(); 96 96 String sutun = tabloAdi+"_"+alanAdi; 97 if (esle && vtSiniflari.contains(alanSinifi)){ //veritaban ýnesneleri97 if (esle && vtSiniflari.contains(alanSinifi)){ //veritabanı nesneleri 98 98 if(sutunlar.contains(sutun)){ 99 99 if(hataAyiklama) System.out.println(">>alan bulundu "+sutun); 100 100 wr.setPropertyValue(pd.getName(),rs.getObject(sutun)); 101 101 }else{ 102 if(hataAyiklama) System.out.println("--alan bulunamad ý: "+sutun);102 if(hataAyiklama) System.out.println("--alan bulunamadı: "+sutun); 103 103 } 104 104 } … … 106 106 if(sutunlar.contains(sutun+"_no")){ 107 107 if(hataAyiklama) System.out.println(">>nesne bulundu "+sutun); 108 List list = new ArrayList(1); //tek sonuç olaca ðýnýbiliyoruz108 List list = new ArrayList(1); //tek sonuç olacağını biliyoruz 109 109 esle(rs,sutunlar,sutun,alanSinifi,list); 110 110 if(list.size()>0)wr.setPropertyValue(pd.getName(),list.get(0)); 111 111 }else{ 112 if(hataAyiklama) System.out.println("--nesne bulunamad ý: "+sutun);112 if(hataAyiklama) System.out.println("--nesne bulunamadı: "+sutun); 113 113 } 114 114 } … … 119 119 esle(rs,sutunlar,sutun,bagNesneSinifi,(List)wr.getPropertyValue(pd.getName())); 120 120 }else{ 121 if(hataAyiklama) System.out.println("--liste bulunamad ý: "+sutun);121 if(hataAyiklama) System.out.println("--liste bulunamadı: "+sutun); 122 122 } 123 123 } -
trunk/fmgVen/src/net/fmg/ven/SorguUretici.java
r11 r22 3 3 * 4 4 * Created on December 18, 2006, 9:32 AM 5 * (4.12.06 tarihli SpringDaoDeneme çal ýþmasýndan derlenmiþtir)5 * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) 6 6 * 7 * Ven - Ayar Yerine Gelenek veritaban ý eriþim nesnesi7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 8 8 */ 9 9 … … 23 23 24 24 /** 25 * Belirtilen s ýnýfýn 'Ayar yerine gelenek' yaklaþýmýnda sorgusunu üretir25 * Belirtilen sınıfın 'Ayar yerine gelenek' yaklaşımında sorgusunu üretir 26 26 * @author Fatih Mehmet Güler 27 27 */ … … 50 50 PropertyDescriptor[] pdArr = wr.getPropertyDescriptors(); 51 51 for (int i = 0; i < pdArr.length; i++) { 52 Class alanSinifi = pdArr[i].getPropertyType(); //alan s ýnýfý53 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun ad ý54 String alanAdi = pdArr[i].getName(); //alan ad ý55 if (vtSiniflari.contains(alanSinifi)){ //veritaban ýdirek alan (Integer,String,Date, vs)52 Class alanSinifi = pdArr[i].getPropertyType(); //alan sınıfı 53 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adı 54 String alanAdi = pdArr[i].getName(); //alan adı 55 if (vtSiniflari.contains(alanSinifi)){ //veritabanı direk alan (Integer,String,Date, vs) 56 56 selectCumlesi.append(tabloAdi+"."+sutunAdi+" as "+tabloAdi+"_"+sutunAdi); //sütun 57 57 selectCumlesi.append(", "); 58 58 } 59 59 if (alanSinifi.getPackage()!=null && nesnePaketleri.contains(alanSinifi.getPackage().getName()) && baglarKapsar(baglar,nesneYolu+"."+alanAdi)){ //domain nesnesi 1-1 join 60 String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // ba ð tablosu için diðer ad, çünkü ayný isimde birden fazla bað olabilir, karýþmasýn61 String bagTablosu = Cevir.vt(alanSinifi.getSimpleName());//gerçek ba ðtablosu60 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 62 62 fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 63 63 fromCumlesi.append(" on "+bagTablosuDigerAd+".no = "+tabloAdi+"."+sutunAdi+"_no"); … … 66 66 if (wr.getPropertyValue(alanAdi) instanceof SinifBildirenLinkedList && baglarKapsar(baglar,nesneYolu+"."+alanAdi)){ 67 67 Class cokluAlandakiNesneSinifi = (Class)wr.getPropertyValue(alanAdi+".nesneSinifi"); 68 String bagTablosuDigerAd = tabloAdi+"_"+sutunAdi; // ba ð tablosu için diðer ad, çünkü ayný isimde birden fazla bað olabilir, karýþmasýn69 String bagTablosu = Cevir.vt(cokluAlandakiNesneSinifi.getSimpleName());//gerçek ba ðtablosu70 String bagAlani = Cevir.vt((String)wr.getPropertyValue(alanAdi+".bagAlani")); //YAP: bunu vermeden de varsay ýlan birþey yapsýn68 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 70 String bagAlani = Cevir.vt((String)wr.getPropertyValue(alanAdi+".bagAlani")); //YAP: bunu vermeden de varsayılan birşey yapsın 71 71 fromCumlesi.append(" left join "+bagTablosu+" "+bagTablosuDigerAd); 72 72 fromCumlesi.append(" on "+bagTablosuDigerAd+"."+bagAlani+"_no = "+tabloAdi+".no"); … … 99 99 tekrarlayanSorguUret(0,tabloAdi,nesneAdi,nesneSinifi,baglar,selectCumlesi,fromCumlesi); 100 100 selectCumlesi.append(" 1=1"); 101 //System.out.println("Sorgu üretme zaman ý="+(System.currentTimeMillis()-t1));101 //System.out.println("Sorgu üretme zamanı="+(System.currentTimeMillis()-t1)); 102 102 return selectCumlesi.toString()+" \n"+fromCumlesi.toString(); 103 103 } 104 104 105 105 /** 106 * Sql select sorgusu üretir, ancak alanlar ý almaz count(distinct tabloadi.no) alýr106 * Sql select sorgusu üretir, ancak alanları almaz count(distinct tabloadi.no) alır 107 107 */ 108 108 public String saymaSorgusuUret(Set baglar, Class nesneSinifi){ … … 113 113 StringBuffer fromCumlesi = new StringBuffer("from "+tabloAdi); 114 114 tekrarlayanSorguUret(0,tabloAdi,nesneAdi,nesneSinifi,baglar,selectCumlesi,fromCumlesi); 115 //System.out.println("Sorgu üretme zaman ý="+(System.currentTimeMillis()-t1));115 //System.out.println("Sorgu üretme zamanı="+(System.currentTimeMillis()-t1)); 116 116 return "select count(distinct "+tabloAdi+".no) \n"+fromCumlesi.toString(); 117 117 } … … 133 133 StringBuffer degerler = new StringBuffer(" values("); 134 134 for (int i = 0; i < pdArr.length; i++) { 135 Class alanSinifi = pdArr[i].getPropertyType(); //alan s ýnýfý136 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun ad ý137 String alanAdi = pdArr[i].getName(); //alan ad ý138 if (alanAdi.equals("no")) continue; //YAP: Belki squenci bozar, ama bozmuyosa kald ýr139 if (vtSiniflari.contains(alanSinifi)){ //veritaban ýdirek alan (Integer,String,Date, vs)135 Class alanSinifi = pdArr[i].getPropertyType(); //alan sınıfı 136 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adı 137 String alanAdi = pdArr[i].getName(); //alan adı 138 if (alanAdi.equals("no")) continue; //YAP: Belki squenci bozar, ama bozmuyosa kaldır 139 if (vtSiniflari.contains(alanSinifi)){ //veritabanı direk alan (Integer,String,Date, vs) 140 140 sorgu.append(sutunAdi); 141 141 sorgu.append(","); … … 159 159 sorgu = new StringBuffer("update "+tabloAdi+" set "); 160 160 for (int i = 0; i < pdArr.length; i++) { 161 Class alanSinifi = pdArr[i].getPropertyType(); //alan s ýnýfý162 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun ad ý163 String alanAdi = pdArr[i].getName(); //alan ad ý164 if (vtSiniflari.contains(alanSinifi)){ //veritaban ýdirek alan (Integer,String,Date, vs)161 Class alanSinifi = pdArr[i].getPropertyType(); //alan sınıfı 162 String sutunAdi = Cevir.vt(pdArr[i].getName()); //sütun adı 163 String alanAdi = pdArr[i].getName(); //alan adı 164 if (vtSiniflari.contains(alanSinifi)){ //veritabanı direk alan (Integer,String,Date, vs) 165 165 sorgu.append(sutunAdi+"=:"+alanAdi); 166 166 sorgu.append(","); -
trunk/fmgVen/src/net/fmg/ven/Ven.java
r11 r22 3 3 * 4 4 * Created on December 18, 2006, 5:58 PM 5 * (4.12.06 tarihli SpringDaoDeneme çal ýþmasýndan derlenmiþtir)5 * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) 6 6 * 7 * Ven - Ayar Yerine Gelenek veritaban ý eriþim nesnesi7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 8 8 */ 9 9 … … 24 24 25 25 /** 26 * Veritaban ý eriþim nesnesi temel sýnýf26 * Veritabanı erişim nesnesi temel sınıf 27 27 * @author Fatih Mehmet Güler 28 28 */ … … 42 42 43 43 /** 44 * Kullan ým No: O kullanýma göre otomatik tespit edeceði baðlarý numaralandýrýr45 * <p> ÖNEML Ý: daha bitmedi :)44 * Kullanım No: O kullanıma göre otomatik tespit edeceği bağları numaralandırır 45 * <p> ÖNEMLİ: daha bitmedi :) 46 46 */ 47 47 public List nesneleriAl(Class nesneSinifi, Integer kullanimNo){ … … 58 58 59 59 /** 60 * Gönderilen ba ðlara göre nesneyi iliþkileriyle birlikte veritabanýndan getirir60 * Gönderilen bağlara göre nesneyi ilişkileriyle birlikte veritabanından getirir 61 61 */ 62 62 public List nesneleriAl(Class nesneSinifi, Set baglar){ … … 69 69 70 70 /** 71 * Gönderilen ba ðlara göre nesneyi iliþkileriyle birlikte verilen ölçüte göre veritabanýndan getirir71 * Gönderilen bağlara göre nesneyi ilişkileriyle birlikte verilen ölçüte göre veritabanından getirir 72 72 * Verilen ölçütlere göre 73 73 */ … … 83 83 84 84 /** 85 * Gönderilen ba ðlara göre nesneyi iliþkileriyle birlikte verilen ölçüte göre veritabanýndan kaç satýr olacaðýnýsayar85 * Gönderilen bağlara göre nesneyi ilişkileriyle birlikte verilen ölçüte göre veritabanından kaç satır olacağını sayar 86 86 * Verilen ölçütlere göre 87 87 */ … … 94 94 95 95 /** 96 * Gönderilen ba ðlara göre nesneyi iliþkileriyle birlikte verilen ölçüte göre veritabanýndan kaç satýr olacaðýnýsayar96 * Gönderilen bağlara göre nesneyi ilişkileriyle birlikte verilen ölçüte göre veritabanından kaç satır olacağını sayar 97 97 * Verilen ölçütlere göre 98 98 */ … … 106 106 107 107 /** 108 * Gönderilen ba ðlara göre nesneyi iliþkileriyle birlikte veritabanýndan getirir108 * Gönderilen bağlara göre nesneyi ilişkileriyle birlikte veritabanından getirir 109 109 * <p> Sadece Nesne 110 110 */ … … 122 122 123 123 /** 124 * Gönderilen ba ðlara göre nesneyi iliþkileriyle birlikte verilen ölçüte göre veritabanýndan getirir124 * Gönderilen bağlara göre nesneyi ilişkileriyle birlikte verilen ölçüte göre veritabanından getirir 125 125 * <p> Sadece Nesne, ölçütlere göre 126 126 */ 127 127 public Object nesneAl(Class nesneSinifi, Integer no, Set baglar, Olcut olcut){ 128 128 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çin129 sorgu += " where 1=1 and "+Cevir.vt(nesneSinifi.getSimpleName())+".no = :___no "+olcut.olcutleriAl(); //No diğer ölçütlerden önce gelmeli order-limit için 130 130 olcut.ekle("___no",no); 131 131 if(hataAyiklama) System.out.println("SQL: "+sorgu); … … 142 142 SqlParameterSource parametreKaynagi = new BeanPropertySqlParameterSource(nesne); 143 143 sablon.update(sorgu,parametreKaynagi); 144 //YAP: yeni eklenenin nosunu almak için daha etkin bir yöntem bulunabilir (üreticinin içinde deki beanwrapper kullan ýlabilir vs)144 //YAP: yeni eklenenin nosunu almak için daha etkin bir yöntem bulunabilir (üreticinin içinde deki beanwrapper kullanılabilir vs) 145 145 BeanWrapper wr = new BeanWrapperImpl(nesne); 146 146 if(wr.getPropertyValue("no")==null){ … … 158 158 //SETTERS-------------------------------------------- 159 159 public void setDataSource(DataSource dataSource){ 160 if (dataSource==null) throw new RuntimeException("DataSource null olamaz!!! Bu ko þullar altýnda daha fazla çalýþamam :)");160 if (dataSource==null) throw new RuntimeException("DataSource null olamaz!!! Bu koşullar altında daha fazla çalışamam :)"); 161 161 this.sablon = new NamedParameterJdbcTemplate(dataSource); 162 162 this.eslestirici.setSablon(sablon); -
trunk/fmgVen/src/net/fmg/ven/arac/Cevir.java
r11 r22 3 3 * 4 4 * Created on December 18, 2006, 10:51 AM 5 * (4.12.06 tarihli SpringDaoDeneme çal ýþmasýndan derlenmiþtir)5 * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) 6 6 * 7 * Ven - Ayar Yerine Gelenek veritaban ý eriþim nesnesi7 * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi 8 8 */ 9 9 … … 13 13 14 14 /** 15 * Deve harflerle yaz ýlmýþ metni veritabaný þekline çevirir15 * Deve harflerle yazılmış metni veritabanı şekline çevirir 16 16 * @author Fatih Mehmet Güler 17 17 */ -
trunk/fmgVen/src/net/fmg/ven/arac/SinifBildirenLinkedList.java
r11 r22 12 12 13 13 /** 14 * Ýçinde tuttuðu nesne türünü bildiren linked list14 * İçinde tuttuğu nesne türünü bildiren linked list 15 15 * @author Fatih 16 16 */ … … 23 23 */ 24 24 public SinifBildirenLinkedList() { 25 System.out.println("FmgList, normal LinkedList kipinde çal ýþýyor...");25 System.out.println("FmgList, normal LinkedList kipinde çalışıyor..."); 26 26 } 27 27 28 28 /** 29 * içindeki bile þen türü sýnýfýbelirt29 * içindeki bileşen türü sınıfı belirt 30 30 */ 31 31 public SinifBildirenLinkedList(Class nesneSinifi) { 32 32 this.nesneSinifi = nesneSinifi; 33 System.out.println("**Uyar ý-> bileþen alaný verilmeden çözme henüz yapýlmadý, sorgunuz çalýþmayacak");33 System.out.println("**Uyarı-> bileşen alanı verilmeden çözme henüz yapılmadı, sorgunuz çalışmayacak"); 34 34 } 35 35 36 36 /** 37 * içindeki bile þen türü sýnýfý ve o sýnýftaki hangi alana birleþtiðini belirt37 * içindeki bileşen türü sınıfı ve o sınıftaki hangi alana birleştiğini belirt 38 38 */ 39 39 public SinifBildirenLinkedList(Class nesneSinifi, String bagAlani) { … … 50 50 } 51 51 52 //zorlamaya gerek yok, sadece türünü belirlemek çabam ýz52 //zorlamaya gerek yok, sadece türünü belirlemek çabamız 53 53 //public boolean add(E o) { 54 // if (o.getClass()!=nesneSinifi) throw new RuntimeException("Desteklenmeyen bile þen türü!");54 // if (o.getClass()!=nesneSinifi) throw new RuntimeException("Desteklenmeyen bileşen türü!"); 55 55 // return super.add(o); 56 56 //}
Note: See TracChangeset
for help on using the changeset viewer.