r158 - in trunk/wikitty-ui-zk/src/main: java/org/nuiton/wikitty/ui webapp
Author: bbrossaud Date: 2010-06-25 14:47:24 +0200 (Fri, 25 Jun 2010) New Revision: 158 Url: http://nuiton.org/repositories/revision/wikitty/158 Log: create a WikittyProxy with the specifics options Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Data.java trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/LoginController.java trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyController.java trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkConfig.java trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkService.java trunk/wikitty-ui-zk/src/main/webapp/index.zul Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Data.java =================================================================== --- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Data.java 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Data.java 2010-06-25 12:47:24 UTC (rev 158) @@ -29,6 +29,13 @@ setPassword(password); } + public boolean hasLoginPassword() { + if (_password.isEmpty() || _login.isEmpty()) { + return false; + } + return true; + } + /* * Setters */ @@ -106,7 +113,7 @@ public String getDriver() { return _driver; } - + public String getSolr() { return _solr; } Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/LoginController.java =================================================================== --- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/LoginController.java 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/LoginController.java 2010-06-25 12:47:24 UTC (rev 158) @@ -14,9 +14,17 @@ import org.apache.commons.lang.UnhandledException; import org.nuiton.util.ApplicationConfig; import org.nuiton.util.ArgumentsParserException; +import org.nuiton.wikitty.WikittyProxy; +import org.nuiton.wikitty.WikittyService; +import org.nuiton.wikitty.WikittyServiceCached; +import org.nuiton.wikitty.jdbc.WikittyServiceJDBC; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.Sessions; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Groupbox; import org.zkoss.zul.Listbox; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; @@ -45,6 +53,15 @@ createProxyDatas(); } + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + Window window = (Window) comp; + Groupbox box = (Groupbox) window.getFellow("loginPassword"); + box.setVisible(false); + } + public void initConfig() { _config.setConfigFileName("wikitty-ui-zk.properties"); try { @@ -79,11 +96,9 @@ _properties.setProperty(path + ".url", url); } String login = data.getLogin(); + String password = data.getPassword(); if (!login.isEmpty()) { _properties.setProperty(path + ".login", login); - } - String password = data.getPassword(); - if (!password.isEmpty()) { _properties.setProperty(path + ".password", password); } data.setPath(path); @@ -123,9 +138,9 @@ String db = _properties.getProperty(path + ".db"); String solr = _properties.getProperty(path + ".solr"); String driver = _properties.getProperty(path + ".driver"); - String url = _properties.getProperty(path + "url"); - String login = _properties.getProperty(path + "login"); - String password = _properties.getProperty(path + "password"); + String url = _properties.getProperty(path + ".url"); + String login = _properties.getProperty(path + ".login"); + String password = _properties.getProperty(path + ".password"); Data data = new Data(name, db, driver, solr, url, login, password); data.setPath(path); datas.add(data); @@ -159,17 +174,71 @@ } } + protected WikittyProxy createProxy(Properties properties, String login, String password) { + WikittyProxy proxy = new WikittyProxy(); + WikittyService ws = new WikittyServiceJDBC(properties); + ws = new WikittyServiceCached(ws); + proxy.setWikittyService(ws); + if (!login.isEmpty()) { + proxy.login(login, password); + } + return proxy; + } + + protected void goToWikittyPage(WikittyProxy proxy){ + Sessions.getCurrent().setAttribute("proxy", proxy); + Executions.sendRedirect("wikitty.zul"); + } + /* * Events */ - public void onClick$select() { + public void onSelect$dataList() { Listitem item = dataList.getSelectedItem(); if (item != null) { Data data = (Data) item.getValue(); - //WikittyZkConfig config = WikittyZkConfig.getInstance(); + String login = data.getLogin(); + String password = data.getPassword(); + Groupbox box = (Groupbox) win.getFellow("loginPassword"); + if (box != null) { + if (!password.isEmpty() && !login.isEmpty()) { + box.setVisible(true); + Textbox loginText = (Textbox) box.getFellow("selectLogin"); + loginText.setValue(""); + Textbox passwordText = (Textbox) box.getFellow("selectPassword"); + passwordText.setValue(""); + } else { + box.setVisible(false); + } + } } } + public void onClick$select() throws ArgumentsParserException { + Listitem item = dataList.getSelectedItem(); + if (item != null) { + Data data = (Data) item.getValue(); + String login = ((Textbox) win.getFellow("selectLogin")).getValue(); + String password = ((Textbox) win.getFellow("selectPassword")).getValue(); + if (data.hasLoginPassword()) { + if (!login.equals(data.getLogin()) || !password.equals(password)) { + return; + } + } + ApplicationConfig config = new ApplicationConfig(); + config.parse(new String[]{}); + Properties properties = config.getFlatOptions(); + properties.setProperty("solr.data.dir", data.getSolr()); + properties.setProperty("jdbc.con.driver", data.getDriver()); + properties.setProperty("jdbc.con.host", data.getDb()); + properties.setProperty("jdbc.con.userName", "sa"); + properties.setProperty("jdbc.con.password", ""); + System.setProperty("solr.data.dir", data.getSolr()); + WikittyProxy proxy = createProxy(properties, login, password); + goToWikittyPage(proxy); + } + } + public void onClick$add() throws FileNotFoundException, IOException { String name = ((Textbox) win.getFellow("Name")).getValue(); String db = ((Textbox) win.getFellow("Db")).getValue(); Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java =================================================================== --- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java 2010-06-25 12:47:24 UTC (rev 158) @@ -19,49 +19,48 @@ */ public class Model { - protected WikittyZkService _service = new WikittyZkService(); + protected WikittyService _service = null; + public Model(WikittyService service) { + _service = service; + } + /* * Create */ public void create(Wikitty wikitty) { - WikittyService ws = _service.getWikittyService(); - ws.store(null, wikitty); + _service.store(null, wikitty); } /* * Retrieve */ public List<WikittyExtension> retrieveWikittyExtensions() { - WikittyService ws = _service.getWikittyService(); - List<String> ids = ws.getAllExtensionIds(null); + List<String> ids = _service.getAllExtensionIds(null); List<WikittyExtension> extensions = new ArrayList<WikittyExtension>(); for (String id : ids) { - WikittyExtension wikittyExtension = ws.restoreExtension(null, id); + WikittyExtension wikittyExtension = _service.restoreExtension(null, id); extensions.add(wikittyExtension); } return extensions; } public List<Wikitty> retrieveWikittiesByExtensionName(String extensionName) { - WikittyService ws = _service.getWikittyService(); Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, extensionName).criteria(); - List<Wikitty> wikitties = ws.findAllByCriteria(null, criteria).cast(null, ws).getAll(); + List<Wikitty> wikitties = _service.findAllByCriteria(null, criteria).cast(null, _service).getAll(); return wikitties; } /* * Update */ public void update(Wikitty wikitty) { - WikittyService ws = _service.getWikittyService(); - ws.store(null, wikitty); + _service.store(null, wikitty); } /* * Delete */ public void deleteWikittyById(String id) { - WikittyService ws = _service.getWikittyService(); - ws.delete(null, id); + _service.delete(null, id); } } Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyController.java =================================================================== --- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyController.java 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyController.java 2010-06-25 12:47:24 UTC (rev 158) @@ -7,8 +7,11 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; +import javax.servlet.http.HttpSession; import org.nuiton.wikitty.Wikitty; import org.nuiton.wikitty.WikittyExtension; +import org.nuiton.wikitty.WikittyProxy; +import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.ListModel; import org.zkoss.zul.Listbox; @@ -21,7 +24,7 @@ */ public class WikittyController extends GenericForwardComposer { - protected Model _model = new Model(); + protected Model _model = null; protected List<WikittyExtension> _extensions = new ArrayList<WikittyExtension>(); protected WikittyExtension _selectedExtension; protected WikittyExtension _selectedNewExtension; @@ -31,6 +34,9 @@ protected WikittyModel _wikittyModel = new WikittyModel(); public WikittyController() { + HttpSession Session = (HttpSession) Executions.getCurrent().getDesktop().getSession().getNativeSession(); + WikittyProxy proxy = (WikittyProxy) Session.getAttribute("proxy"); + _model = new Model(proxy.getWikittyService()); _extensions = _model.retrieveWikittyExtensions(); } Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkConfig.java =================================================================== --- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkConfig.java 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkConfig.java 2010-06-25 12:47:24 UTC (rev 158) @@ -16,9 +16,14 @@ *##%*/ package org.nuiton.wikitty.ui; +import java.io.IOException; import static org.nuiton.i18n.I18n._; import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; +import java.util.Properties; +import java.util.Set; import org.apache.commons.lang.UnhandledException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -46,22 +51,32 @@ for (Option o : Option.values()) { if (o.defaultValue != null) { setDefaultOption(o.key, o.defaultValue); - System.out.println("\nkey =====>" + o.key); - System.out.println("value =====>" + o.defaultValue); } } } - public static synchronized WikittyZkConfig getInstance() { + public static synchronized WikittyZkConfig getInstance() throws IOException { if (instance == null) { try { instance = new WikittyZkConfig(); - //instance.parse(new String[]{}); - // instance.setDataDirInSystemProps(); + instance.parse(new String[]{}); + instance.setDataDirInSystemProps(); } catch (Exception e) { throw new UnhandledException(e); } } + Properties props = instance.getFlatOptions(); + Set<String> names = props.stringPropertyNames(); + for (String name : names) { + System.out.println(name + "=" + props.getProperty(name)); + } + File file = new File("/var/wikitty-zk/toto.fr"); + if (!file.exists()) { + file.createNewFile(); + } + OutputStream stream = new FileOutputStream(file); + props.store(stream, null); + stream.close(); return instance; } Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkService.java =================================================================== --- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkService.java 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/WikittyZkService.java 2010-06-25 12:47:24 UTC (rev 158) @@ -16,6 +16,7 @@ *##%*/ package org.nuiton.wikitty.ui; +import java.io.IOException; import org.nuiton.wikitty.WikittyService; import org.nuiton.wikitty.jdbc.WikittyServiceJDBC; @@ -23,7 +24,7 @@ protected WikittyService instance; - public WikittyZkService() { + public WikittyZkService() throws IOException { WikittyZkConfig config = WikittyZkConfig.getInstance(); instance = new WikittyServiceJDBC(config.getFlatOptions()); } Modified: trunk/wikitty-ui-zk/src/main/webapp/index.zul =================================================================== --- trunk/wikitty-ui-zk/src/main/webapp/index.zul 2010-06-24 16:50:53 UTC (rev 157) +++ trunk/wikitty-ui-zk/src/main/webapp/index.zul 2010-06-25 12:47:24 UTC (rev 158) @@ -10,10 +10,15 @@ </listhead> </listbox> + <groupbox id="loginPassword" > + <label value="Login" /> + <textbox id="selectLogin" /> + <label value="Password" /> + <textbox id="selectPassword" /> + </groupbox> <button id="select" label="Select" width="36px" height="24px" /> <button id="delete" label="Delete" width="36px" height="24px" /> </groupbox> - <groupbox> <vbox> <label value="Name" />
participants (1)
-
bbrossaudï¼ users.nuiton.org