source: trunk/fmgVen/src/net/fmg/ven/Olcut.java @ 27

Last change on this file since 27 was 26, checked in by fmguler, 14 years ago

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

File size: 2.7 KB
Line 
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 */
9package net.fmg.ven;
10
11import java.util.HashMap;
12import java.util.HashSet;
13import java.util.List;
14import java.util.Map;
15import java.util.Set;
16import 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 */
22public 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}
Note: See TracBrowser for help on using the repository browser.