Article View: pl.comp.lang.java
Article #153678Generator GWT klasa po stronie serwera
From: J-23
Date: Tue, 04 Dec 2012 22:07
Date: Tue, 04 Dec 2012 22:07
66 lines
3698 bytes
3698 bytes
Witam,
Zacząłem się bawić generatorami GWT
Wygenerowanie klasy działa ogólnie ok.
Zastanawia mnie czy nie ma sposoby na wygenerowanie klasy ktora bedzie
docelowo po stronie serwera nie klienta.
mam tutaj taki szkielet:
public String generate(TreeLogger logger, GeneratorContext context,
String typeName) throws UnableToCompleteException {
PrintWriter pw = context.tryCreate(logger,
"pl.cba.lukaszbaczek.server", "GridMetaDataImpl");
if (pw != null) {
pw.println("package pl.cba.lukaszbaczek.server;");
pw.println("");
pw.println("import java.util.List;");
pw.println("");
pw.println("public class GridMetaDataImpl implements
GridMetaDataWrapper {");
pw.println("");
pw.println("private List<NaviSoftColumnConfigGrid>
listNotNullField = new ArrayList<NaviSoftColumnConfigGrid>();");
pw.println("private static List<NaviSoftColumnConfigGrid>
ColumnConfigGrid = new ArrayList<NaviSoftColumnConfigGrid>();");
pw.println("private String tabelName;");
pw.println("");
pw.println("@Override");
pw.println("public List<NaviSoftColumnConfigGrid>
getMetaData(String Database, String Port, String User, String Password,
ConnectionOptions.DBConnectionType ConnectionType,
ConnectionOptions.DBCharsetType CharsetType,
ConnectionOptions.DBCollationType Lc_Ctype, Boolean Commit, String sSQL)
{");
pw.println("Connection conn =
DBConnection.getConnection(Database, User, Password, Port,
ConnectionType,CharsetType, Lc_Ctype, Commit);");
pw.println("return ColumnConfigGrid;");
pw.println("}");
pw.println("}");
context.commit(logger, pw);
Nie jest to kompletna klasa (na potrzebę postu zostawiłem tylko to co
niezbędne)
Generator tworzy klasę GridMetaDataImpl ktora ma byc wygenerowana po
stronie serwera w jedna z metod zawiera w sobie funkcje ktora łączy się
z bazą danych (getConnection), ponizej pełna nazwa wraz z parametrami
Connection conn = DBConnection.getConnection(Database, User, Password,
Port, ConnectionType,CharsetType, Lc_Ctype, Commit);
lecz dostaje komunikat przy próbie wykonania "00:00:00,578 [ERROR] Line
27: No source code is available for type java.sql.Connection; did you
forget to inherit a required module?"
Co by swiadczyło o tym że zachowuje się ta klasa tak samo jakby była
napisana przez programistę recznie po stronie klienta gdzie nie można
używać bezbośrednio "Connection" czy jest możliwość by wygenerować klasę
w ten sposób by mi pobrała dane z bazy i zwróciła , bez potrzeby
odwoływania się w tradycyjny sposób?
Pozdrawiam
Technical Details
Message-ID:
<k9lsi6$rug$1@mx1.internetia.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail From: J-23 <baczeklu@o2.pl> Newsgroups: pl.comp.lang.java Subject: Generator GWT klasa po stronie serwera Date: Tue, 04 Dec 2012 23:07:16 +0100 Organization: Netia S.A. Lines: 66 Message-ID: <k9lsi6$rug$1@mx1.internetia.pl> NNTP-Posting-Host: 87-205-162-51.adsl.inetia.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1354659206 28624 87.205.162.51 (4 Dec 2012 22:13:26 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Tue, 4 Dec 2012 22:13:26 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1 X-Server-Info: http://www.internetia.pl/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit