| 1 | /* |
|---|
| 2 | * Olcut.java |
|---|
| 3 | * |
|---|
| 4 | * Created on December 20, 2006, 1:45 PM |
|---|
| 5 | * (4.12.06 tarihli SpringDaoDeneme çalışmasından derlenmiştir) |
|---|
| 6 | * |
|---|
| 7 | * Ven - Ayar Yerine Gelenek veritabanı erişim nesnesi |
|---|
| 8 | */ |
|---|
| 9 | package net.fmg.ven; |
|---|
| 10 | |
|---|
| 11 | import java.util.HashMap; |
|---|
| 12 | import java.util.HashSet; |
|---|
| 13 | import java.util.List; |
|---|
| 14 | import java.util.Map; |
|---|
| 15 | import java.util.Set; |
|---|
| 16 | import net.fmg.ven.arac.Cevir; |
|---|
| 17 | |
|---|
| 18 | /** |
|---|
| 19 | * Ven için ölçütlerin belirlenebileceği sınıf |
|---|
| 20 | * @author Fatih Mehmet Güler |
|---|
| 21 | */ |
|---|
| 22 | public class Olcut { |
|---|
| 23 | private String metin; |
|---|
| 24 | private Map parametreler; |
|---|
| 25 | private Set baglaclar; |
|---|
| 26 | |
|---|
| 27 | /** |
|---|
| 28 | * Yeni ölçüt |
|---|
| 29 | */ |
|---|
| 30 | public Olcut() { |
|---|
| 31 | this.metin = ""; |
|---|
| 32 | this.parametreler = new HashMap(); |
|---|
| 33 | this.baglaclar = new HashSet(); |
|---|
| 34 | //{"and", "or", "=", "<>", "<", ">"} |
|---|
| 35 | } |
|---|
| 36 | |
|---|
| 37 | /** |
|---|
| 38 | * YAPILMADI |
|---|
| 39 | */ |
|---|
| 40 | public Olcut ekle(Olcut olcut) { |
|---|
| 41 | return null; |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | /** |
|---|
| 45 | * YAPILMADI |
|---|
| 46 | */ |
|---|
| 47 | public Olcut ekle(List olcutler) { |
|---|
| 48 | return null; |
|---|
| 49 | } |
|---|
| 50 | |
|---|
| 51 | /** |
|---|
| 52 | * YAPILMADI |
|---|
| 53 | */ |
|---|
| 54 | public Olcut ve() { |
|---|
| 55 | return null; |
|---|
| 56 | } |
|---|
| 57 | |
|---|
| 58 | /** |
|---|
| 59 | * koşul ekle |
|---|
| 60 | */ |
|---|
| 61 | public Olcut ekle(String kosul) { |
|---|
| 62 | this.metin += " " + kosul; |
|---|
| 63 | return this; |
|---|
| 64 | } |
|---|
| 65 | |
|---|
| 66 | /** |
|---|
| 67 | * koşullarda kullanılan parametreleri ekle |
|---|
| 68 | */ |
|---|
| 69 | public Olcut ekle(String parametre, Object nesne) { |
|---|
| 70 | this.parametreler.put(parametre, nesne); |
|---|
| 71 | return this; |
|---|
| 72 | } |
|---|
| 73 | |
|---|
| 74 | /** |
|---|
| 75 | * koşullarda kullanılan parametreleri tümden ekle |
|---|
| 76 | */ |
|---|
| 77 | public Olcut ekle(Map parametreler) { |
|---|
| 78 | this.parametreler.putAll(parametreler); |
|---|
| 79 | return this; |
|---|
| 80 | } |
|---|
| 81 | |
|---|
| 82 | public String olcutleriAl() { |
|---|
| 83 | //((1=1) and ((1=1) and (musteri_numuneler_numune_sahibi.rapor_tarihi is null) and (musteri.no = 4))) |
|---|
| 84 | //Musteri.numuneler.deneyler.deneyTip.ad like :p1 |
|---|
| 85 | String sonuc = ""; |
|---|
| 86 | metin = metin.replaceAll("\\(", "\\( "); |
|---|
| 87 | metin = metin.replaceAll("\\)", " \\)"); |
|---|
| 88 | String[] parcalar = metin.split(" "); |
|---|
| 89 | for (int i = 0; i < parcalar.length; i++) { |
|---|
| 90 | if (!parcalar[i].startsWith(":") && parcalar[i].indexOf(".") >= 0) { |
|---|
| 91 | int sonNokta = parcalar[i].lastIndexOf('.'); |
|---|
| 92 | sonuc += " "; |
|---|
| 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]; |
|---|
| 98 | } |
|---|
| 99 | } |
|---|
| 100 | return sonuc; |
|---|
| 101 | } |
|---|
| 102 | |
|---|
| 103 | public Map parametreler() { |
|---|
| 104 | return this.parametreler; |
|---|
| 105 | } |
|---|
| 106 | |
|---|
| 107 | public String toString() { |
|---|
| 108 | return olcutleriAl() + " " + this.parametreler; |
|---|
| 109 | } |
|---|
| 110 | } |
|---|