Author Topic: MaGSA  (Read 63460 times)

trek

  • Hero Member
  • *****
  • Posts: 568
  • cestu sme mali spolo?nú ale nohy ma bolia vlastné
    • View Profile
Re: MaGSA
« Reply #50 on: 05.03.2010, 23:41:47 »
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:

Code: [Select]
$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

  • Full Member
  • ***
  • Posts: 136
    • View Profile
Re: MaGSA
« Reply #51 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

Eghinka

  • Full Member
  • ***
  • Posts: 174
  • kac! :P
    • View Profile
Re: MaGSA
« Reply #52 on: 06.03.2010, 04:46:54 »
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:

Code: [Select]
$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

  • Full Member
  • ***
  • Posts: 174
  • kac! :P
    • View Profile
Re: MaGSA
« Reply #53 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  ???

SSPPYY

  • Full Member
  • ***
  • Posts: 170
    • View Profile
Re: MaGSA
« Reply #54 on: 06.03.2010, 05:05:24 »
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

  • Jr. Member
  • **
  • Posts: 87
  • born stupid?tryagain!
    • View Profile
Re: MaGSA
« Reply #55 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

hujer

  • Jr. Member
  • **
  • Posts: 87
  • born stupid?tryagain!
    • View Profile
Re: MaGSA
« Reply #56 on: 06.03.2010, 20:52:31 »
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

  • Full Member
  • ***
  • Posts: 216
  • XSS locator
    • View Profile
    • casso <at> ic <at> cz
Re: MaGSA
« Reply #57 on: 06.03.2010, 23:54:29 »
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

  • Guest
Re: MaGSA
« Reply #58 on: 07.03.2010, 05:11:49 »
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

  • Full Member
  • ***
  • Posts: 136
    • View Profile
Re: MaGSA
« Reply #59 on: 07.03.2010, 06:23:40 »
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

  • Hero Member
  • *****
  • Posts: 629
  • I can stand my own ground...
    • View Profile
Re: MaGSA
« Reply #60 on: 07.03.2010, 15:45:21 »
...teda co tam mam kontrolovat? vdaka
to ta nemusi vobec zaujimat, v projekte mas pripraveny string pod nazvom IDENT_REGEX, takze staci pouzit:
Code: [Select]
line.matches(IDENT_REGEX)druha moznost je pouzit metody java.lang.Character.isJavaIdentifierStart a java.lang.Character.isJavaIdentifierPart
☼Ѿ☼ ... ☼Ѿ☼

dabol

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: MaGSA
« Reply #61 on: 07.03.2010, 20:23:56 »
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

  • Hero Member
  • *****
  • Posts: 568
  • cestu sme mali spolo?nú ale nohy ma bolia vlastné
    • View Profile
Re: MaGSA
« Reply #62 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

dabol

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: MaGSA
« Reply #63 on: 07.03.2010, 20:47:53 »
Jasne, som to ja ale hnup... :). Vdaka.
V spoločnosti chcem piť sám.

trek

  • Hero Member
  • *****
  • Posts: 568
  • cestu sme mali spolo?nú ale nohy ma bolia vlastné
    • View Profile
Re: MaGSA
« Reply #64 on: 07.03.2010, 20:57:46 »
v pohode...ani ja som si to nevsimol na zaciatku tiez ma na to az kamos upozornil :D

Dominico

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: MaGSA
« Reply #65 on: 07.03.2010, 23:07:30 »
mohol by niekto napisat ako by mal vyzerat ten vygenerovany subor OddelenieDaoImpl.java ?

mishelka

  • Hero Member
  • *****
  • Posts: 4269
  • Bacikova, nie Kreutzova. Bacikova!! :D
    • View Profile
Re: MaGSA
« Reply #66 on: 07.03.2010, 23:26:29 »
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.

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

  • Full Member
  • ***
  • Posts: 174
  • kac! :P
    • View Profile
Re: MaGSA
« Reply #67 on: 08.03.2010, 01:41:50 »
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

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Re: MaGSA
« Reply #68 on: 08.03.2010, 02:05:26 »
mohol by niekto napisat ako by mal vyzerat ten vygenerovany subor OddelenieDaoImpl.java ?

Mne to zatial vypluje cosi take:

Code: [Select]
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

  • Full Member
  • ***
  • Posts: 174
  • kac! :P
    • View Profile
Re: MaGSA
« Reply #69 on: 08.03.2010, 04:40:32 »
pekne, aj ja som na tom zatial rovnako s tym vygenerovanym kodom, uz len ci to bude pouzitelne  bu

kOsTi

  • Hero Member
  • *****
  • Posts: 12765
    • View Profile
    • pretaktovanie.sk
Re: MaGSA
« Reply #70 on: 08.03.2010, 20:46:08 »
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?
Code: [Select]

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


nejak som z toho mimo :)
:trestac:

trek

  • Hero Member
  • *****
  • Posts: 568
  • cestu sme mali spolo?nú ale nohy ma bolia vlastné
    • View Profile
Re: MaGSA
« Reply #71 on: 08.03.2010, 22:15:15 »
jj presne tak...len to napevno napises :)

pepco

  • Guest
Re: MaGSA
« Reply #72 on: 09.03.2010, 00:28:46 »
v tych vygenerovanych napr oddelenieDaoImpl.java vam vsetko chodi??? mne napri hlasi chybu ze nepozna tieto importy:

Code: [Select]
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:

Code: [Select]
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
« Last Edit: 09.03.2010, 00:31:21 by pepco »

Dominico

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: MaGSA
« Reply #73 on: 09.03.2010, 00:41:15 »
mne zase nejdu psSetMethod($property.type) a rsGetMethod($property.type)

puq

  • Hero Member
  • *****
  • Posts: 4065
    • View Profile
Re: MaGSA
« Reply #74 on: 09.03.2010, 01:00:39 »
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 :)