• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

MaGSA

Started by kOsTi, 23.02.2010, 03:31:36

« predchdzajce - alie »

trek

Quote from: dungeo on  05.03.2010, 22:38:28
Sraci (makcen si dajte, kam chcete :P ), mam taky problem - snazim sa upravit ten entity_class.vm, aby mi do toho vygenerovaneho suboru hadzalo ten typ. Robim to presne tak, ako nam ukazal forgac na cviku, cize napisem tam toto:

$generator.getJavaType($property.type)

ale absolutne bez odozvy, berie to cele ako text, vo vygenerovanom subore mam potom presne to iste, vobec nezavola tu metodu getJavaType, hoci je implementovana, ostatne metody (napr. toUCIdent) vola bez problemov, len tuto ani za svet. Stretol sa s tym este niekto?

ja to mam riesene tak ze v triede Property.java mam napisanu metodu getTypeAsStringJava, ktora mi vracia bud "int" "String" alebo "float"....a potom v entity_class.vm to vyzera napr takto: private $property.getTypeAsStringJAVA() $pname;

provasik

Ozaj taka drobnost, v metode createFromResultSet mi je nie celkom jasne ako mam z toho ResultSetu vytvorit tiedu povedzme Oddelenie - kedze, ak tomu spravne chapem tak tato trieda - povedzme trieda oddelenie ma v sebe iba atributy jedneho oddelenia - inimi slovami ak je v resultsete viecej ako jeden riadok tak prichadzam do problemu ze by som muslel vytvorit pole tried a nie jednu - any suggestions ? bk

Eghinka

Quote from: dungeo on  05.03.2010, 22:38:28
Sraci (makcen si dajte, kam chcete :P ), mam taky problem - snazim sa upravit ten entity_class.vm, aby mi do toho vygenerovaneho suboru hadzalo ten typ. Robim to presne tak, ako nam ukazal forgac na cviku, cize napisem tam toto:

$generator.getJavaType($property.type)

ale absolutne bez odozvy, berie to cele ako text, vo vygenerovanom subore mam potom presne to iste, vobec nezavola tu metodu getJavaType, hoci je implementovana, ostatne metody (napr. toUCIdent) vola bez problemov, len tuto ani za svet. Stretol sa s tym este niekto?

$typ = ${generator.getJavaType($property.type)}  ;-)

Eghinka

mam aj ja jednu otazku - tie outgoingReferencie pouzivam aj niekde inde ako pri inserte? :-) mozno je to hlupa otazka, ale nie je mi to celkom jasne  ???

SSPPYY

Quote from: Eghinka on  06.03.2010, 04:48:13
mam aj ja jednu otazku - tie outgoingReferencie pouzivam aj niekde inde ako pri inserte? :-) mozno je to hlupa otazka, ale nie je mi to celkom jasne  ???
Zatial nie to az v buducnosti  ;)

hujer

chcem sa opytat, ze ake tie preparedStatement robite, neviem ci som ich pochopil spravne, moje su:

prepareUpdateStatement ->
"UPDATE nazov_entity SET nazov_property1=?, nazov_property2=?, ... WHERE ident=?"

prepareDeleteStatement ->
"DELETE FROM nazov_entity WHERE ident=?"

prepareFindStatement ->
SELECT * FROM nazov_entity WHERE ident=?

prepareSelectStatement ->
SELECT * FROM nazov_entity

Dobre ci zle?
Dakujem

hujer

Quote from: provasik on  06.03.2010, 00:53:25
Ozaj taka drobnost, v metode createFromResultSet mi je nie celkom jasne ako mam z toho ResultSetu vytvorit tiedu povedzme Oddelenie - kedze, ak tomu spravne chapem tak tato trieda - povedzme trieda oddelenie ma v sebe iba atributy jedneho oddelenia - inimi slovami ak je v resultsete viecej ako jeden riadok tak prichadzam do problemu ze by som muslel vytvorit pole tried a nie jednu - any suggestions ? bk

tiez som si to vsimol, mozno v tom resultsete bude len jeden zaznam, cize sa vytvori len jedna entita (oddelenie)

Casso

Quote from: hujer on  06.03.2010, 20:31:21
chcem sa opytat, ze ake tie preparedStatement robite, neviem ci som ich pochopil spravne, moje su:

prepareUpdateStatement ->
"UPDATE nazov_entity SET nazov_property1=?, nazov_property2=?, ... WHERE ident=?"

prepareDeleteStatement ->
"DELETE FROM nazov_entity WHERE ident=?"

prepareFindStatement ->
SELECT * FROM nazov_entity WHERE ident=?

prepareSelectStatement ->
SELECT * FROM nazov_entity

Dobre ci zle?
Dakujem

Na zaklade dedukcie a parametrov metod som dosiel k rovnakym sql dotazom

pepco

pozeram ze vy tu vo velkom uz na druhej ulohe... nerozumiem vas ani slovo zatial :D

...ale mal by som otazocku k prvej ulohe, googlil som ale v podstate nic presneho som nenasiel k tym pravidlam pre identifikatory v jazyku Java podla ktorych mame spravit kontrolu pre nazvy vlastnosti :) teda co tam mam kontrolovat? vdaka

provasik

Identifikatori v jave sa riadia nasledovnimi pravidlami : 1. Mozu obsahovat vsetky velke a male pismena, cisla a znaky _ a $
                                                                         2. Meno identifikatora nesmie zacinat cislom - a to je cela filozofia :)

johnyo13

Quote from: pepco on  07.03.2010, 05:11:49
...teda co tam mam kontrolovat? vdaka
to ta nemusi vobec zaujimat, v projekte mas pripraveny string pod nazvom IDENT_REGEX, takze staci pouzit:
line.matches(IDENT_REGEX)
druha moznost je pouzit metody java.lang.Character.isJavaIdentifierStart a java.lang.Character.isJavaIdentifierPart
☼Ѿ☼ ... ☼Ѿ☼

dabol

Mna by zaujimalo ako ziskam ident danej entity, ktoru pouzijem napr. pri delete alebo update. Kedze  napr. "DELETE FROM $item.name where ident=?" a chcem prirdait "?" pstm.setInt( daco.getIdent ), je na to neaka metoda, finta, alebo sa to zatial necha tak? Nespytal som sa to vtedy na cviku... Mozme to ziskat teoreticky selectom podla mena aj ked sa to tak nerobi, ale ked robim napr. update dostanem na vtup metody uz rovno zmeneny objekt a tomu sa teoreticky moze menit aj meno.
V spoločnosti chcem piť sám.

trek

ident ziskas normalne pstm.setInt(1, object.getIdent());....kedze napr Oddelenie.java dedi od Entity.java (package sk.tuke.magsa.framework)...a tam sa nachadza aj Ident...aj metoda get aj metoda set

dabol

Jasne, som to ja ale hnup... :). Vdaka.
V spoločnosti chcem piť sám.

trek

v pohode...ani ja som si to nevsimol na zaciatku tiez ma na to az kamos upozornil :D

Dominico

mohol by niekto napisat ako by mal vyzerat ten vygenerovany subor OddelenieDaoImpl.java ?

mishelka

Quote from: hujer on  06.03.2010, 20:52:31
Quote from: provasik on  06.03.2010, 00:53:25
Ozaj taka drobnost, v metode createFromResultSet mi je nie celkom jasne ako mam z toho ResultSetu vytvorit tiedu povedzme Oddelenie - kedze, ak tomu spravne chapem tak tato trieda - povedzme trieda oddelenie ma v sebe iba atributy jedneho oddelenia - inimi slovami ak je v resultsete viecej ako jeden riadok tak prichadzam do problemu ze by som muslel vytvorit pole tried a nie jednu - any suggestions ? bk

tiez som si to vsimol, mozno v tom resultsete bude len jeden zaznam, cize sa vytvori len jedna entita (oddelenie)
Mozno tam je len jedna vec v tom zozname, sa mi daco take mari, ze tam bolo.. Ale spravne by si mal pre pripad radsej vytvorit nejaky ArrayList a skontrolovat ci tam toho nie je viac / ci tam nie je nic.

Quote from: Eghinka on  06.03.2010, 04:48:13
mam aj ja jednu otazku - tie outgoingReferencie pouzivam aj niekde inde ako pri inserte? :-) mozno je to hlupa otazka, ale nie je mi to celkom jasne  ???
pravy klik -> Find Usages nefunguje? :)
  

#define TRUE FALSE //Happy debugging suckers :D

Eghinka

nejde o to kde sa to pouziva us teraz v kode , ale ci to mam pouzivat aj ja v tych ostatnych dotazoch na databazu ;-) co sme mali implementovat ;-)

dabol

Quote from: Dominico on  07.03.2010, 23:07:30
mohol by niekto napisat ako by mal vyzerat ten vygenerovany subor OddelenieDaoImpl.java ?

Mne to zatial vypluje cosi take:


package sk.tuke.magsa.personalistika.dao_impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.ResultSet;
import sk.tuke.magsa.framework.CRUDDaoImpl;
import sk.tuke.magsa.framework.ValidatorException;
import sk.tuke.magsa.framework.ConnectionPool;
import sk.tuke.magsa.personalistika.entity.Oddelenie;
import sk.tuke.magsa.personalistika.dao.OddelenieDao;

public class OddelenieDaoImpl extends CRUDDaoImpl<Oddelenie> implements OddelenieDao {
    public OddelenieDaoImpl(ConnectionPool pool) {
        super(pool);
    }   

   protected PreparedStatement prepareInsertStatement(Connection connection, Oddelenie object) throws SQLException {
        String query = "INSERT INTO Oddelenie (nazov, kod, poschodie) VALUES (?, ?, ?)";
        PreparedStatement pstm = connection.prepareStatement(query);
        pstm.setString(1, object.getNazov());
        pstm.setString(2, object.getKod());
        pstm.setInt(3, object.getPoschodie());
        return pstm;
    }

    protected PreparedStatement prepareUpdateStatement(Connection connection, Oddelenie object) throws SQLException {
        String query = "UPDATE Oddelenie SET nazov=?, kod=?, poschodie=? where ident=?";
        PreparedStatement pstm = connection.prepareStatement(query);
        pstm.setString(1, object.getNazov());
        pstm.setString(2, object.getKod());
        pstm.setInt(3, object.getPoschodie());
        pstm.setInt(4, object.getIdent());
        return pstm;
    }

    protected PreparedStatement prepareDeleteStatement(Connection connection, Oddelenie object) throws SQLException {
        String query = "DELETE FROM Oddelenie where ident=?";
        PreparedStatement pstm = connection.prepareStatement(query);
        pstm.setInt(1, object.getIdent());
        return pstm;
    }

    protected PreparedStatement prepareFindStatement(Connection connection, Integer id) throws SQLException {
        String query = "SELECT * FROM Oddelenie where ident=?";
        PreparedStatement pstm = connection.prepareStatement(query);
        pstm.setInt(1, id);
        return pstm;
    }

    protected PreparedStatement prepareSelectStatement(Connection connection) throws SQLException {
        String query = "SELECT * FROM Oddelenie";
        PreparedStatement pstm = connection.prepareStatement(query);
        return pstm;
    }

    protected Oddelenie createFromResultSet(ResultSet rs) throws SQLException {
        Oddelenie object = new Oddelenie();
        object.setNazov( rs.getString("nazov") );
        object.setKod( rs.getString("kod") );
        object.setPoschodie( rs.getInt("poschodie") );
        return object;
    }

    @Override
    protected void test(Oddelenie object) {
       
    }
}
V spoločnosti chcem piť sám.

Eghinka

pekne, aj ja som na tom zatial rovnako s tym vygenerovanym kodom, uz len ci to bude pouzitelne  bu

kOsTi

Quote from: trek on  07.03.2010, 20:41:12
ident ziskas normalne pstm.setInt(1, object.getIdent());....kedze napr Oddelenie.java dedi od Entity.java (package sk.tuke.magsa.framework)...a tam sa nachadza aj Ident...aj metoda get aj metoda set

este otazka na toto... ako tam ziskam to Ident (meno, typ...)? ostatne prechadzam podla properties ale toto?

ci to tam mam len napevno napisat?


pstm.setInt($n, object.getIdent());



nejak som z toho mimo :)
:trestac:

trek

jj presne tak...len to napevno napises :)

pepco

#72
v tych vygenerovanych napr oddelenieDaoImpl.java vam vsetko chodi??? mne napri hlasi chybu ze nepozna tieto importy:

import sk.tuke.magsa.framework.CRUDDaoImpl;
import sk.tuke.magsa.framework.ValidatorException;
import sk.tuke.magsa.framework.ConnectionPool;


a takisto aj v oddelenie.java nepozna:

import sk.tuke.magsa.framework.Entity;

keby fungovali tie importy tak by zrejme chodilo vsetko v poriadku, takto potom nepozna niektore veci ako .getIdent atd...


posledna otazka... createFromResultSet aky ma vlastne vyznam??? co by mal spravit?

P.S.: Niekto sa pytal na .getJavaType($ptype) ze ci chodi, ja mam s tym tiez problem, chyba nie je nikde ale nezmeni mi to vo vygenerovanom subore z velkych pismen... proste nefunguje a pritom kolega vedla to ma rovnako pouzite a jemu to chodi, neprisli sme nato cim to je :D

Dominico

mne zase nejdu psSetMethod($property.type) a rsGetMethod($property.type)

puq

Quote from: Dominico on  09.03.2010, 00:41:15
mne zase nejdu psSetMethod($property.type) a rsGetMethod($property.type)

skus sa pozriet kde mas zadefinovany type pre property...ja som si nevsimol ze existuje Type.java ale doplnil som to do triedy Property.java a to robilo ten problem :)