🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153678

Generator GWT klasa po stronie serwera

#153678
From: J-23
Date: Tue, 04 Dec 2012 22:07
66 lines
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-mail

Show 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