Return-Path: Delivered-To: apmail-labs-commits-archive@minotaur.apache.org Received: (qmail 32139 invoked from network); 5 Nov 2009 12:05:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 5 Nov 2009 12:05:50 -0000 Received: (qmail 88832 invoked by uid 500); 5 Nov 2009 12:05:50 -0000 Delivered-To: apmail-labs-commits-archive@labs.apache.org Received: (qmail 88693 invoked by uid 500); 5 Nov 2009 12:05:49 -0000 Mailing-List: contact commits-help@labs.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: labs@labs.apache.org Delivered-To: mailing list commits@labs.apache.org Received: (qmail 88684 invoked by uid 99); 5 Nov 2009 12:05:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Nov 2009 12:05:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Nov 2009 12:05:46 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B74E1238890A; Thu, 5 Nov 2009 12:05:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r833033 [2/2] - in /labs/magma/trunk: foundation-beans-view/src/main/java/org/apache/magma/view/ foundation-beans-view/src/main/java/org/apache/magma/view/tree/ maps-google/src/main/java/org/apache/magma/maps/google/ website-administration/... Date: Thu, 05 Nov 2009 12:04:52 -0000 To: commits@labs.apache.org From: simoneg@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091105120524.B74E1238890A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java?rev=833033&r1=833032&r2=833033&view=diff ============================================================================== --- labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java (original) +++ labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java Thu Nov 5 12:02:43 2009 @@ -65,15 +65,14 @@ private String link; private String linkUrl; - private Class myclass; - - private String caption; - private String summary; + private Class myclass; - private ListHtmlEmitter emitter; - + // Delegate fields + private ListStyle listStyle; + private String summary; + private String caption; - public SmartList(Class beanClass, String query, Object... queryParams) { + public SmartList(Class beanClass, String query, Object... queryParams) { this.myclass = beanClass; this.query = query; this.queryParams = queryParams; @@ -148,20 +147,22 @@ if (sessionReservedDesc) acquery.append(" DESC"); } } - List list = db.query(myclass, start, len, acquery.toString(), this.queryParams); + List list = db.query(myclass, start, len, acquery.toString(), this.queryParams); parametrize(prodHeader); parametrize(prodFooter); - SmartListProducer producer = new SmartListProducer(myclass, list); + SmartListProducer producer = new SmartListProducer(myclass); + producer.setList(list); producer.setLen(len); producer.setStart(start); producer.setCount(count); producer.setSorting(sessionReservedSorting); producer.setDesc(sessionReservedDesc); producer.setSortables(sortables); - producer.setLink("../" + this.linkUrl); + producer.setCaption(caption); + producer.setSummary(summary); + producer.setListStyle(listStyle); producer.setLayers(layers); - producer.setCaption(caption).setSummary(summary); - producer.setEmitter(emitter); + producer.setLink("../" + this.linkUrl); producer.compoundWith(prodHeader, CompoundType.BEFORE); producer.compoundWith(prodFooter, CompoundType.AFTER); return producer; @@ -243,48 +244,37 @@ this.len = len; return this; } - - public String getCaption() { - return caption; + + public SmartList setLayers(String... layers) { + this.layers = layers; + return this; } + // Delegate methods on the producer + public SmartList setCaption(String caption) { this.caption = caption; return this; } - public String getSummary() { - return summary; + public SmartList setListStyle(ListStyle listTemplate) { + this.listStyle = listTemplate; + return this; } public SmartList setSummary(String summary) { this.summary = summary; return this; } - - public SmartList setLayers(String... layers) { - this.layers = layers; - return this; - } - + public SmartList useList() { - emitter = new UlListHtmlEmitter(); + listStyle = new ListStyleUl(); return this; } public SmartList useTable() { - emitter = new TableListHtmlEmitter(); - return this; - } - - public ListHtmlEmitter getEmitter() { - return emitter; - } - - public SmartList setEmitter(ListHtmlEmitter emitter) { - if (emitter != null) this.emitter = emitter; + listStyle = new ListStyleTableWithSorting(); return this; } - } Modified: labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartListProducer.java URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartListProducer.java?rev=833033&r1=833032&r2=833033&view=diff ============================================================================== --- labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartListProducer.java (original) +++ labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartListProducer.java Thu Nov 5 12:02:43 2009 @@ -40,10 +40,15 @@ protected boolean desc = false; protected Set sortables = null; protected int count = -1; + protected boolean useSorting = true; public SmartListProducer(Class myclass, Collection list) { super(myclass, list); } + + protected SmartListProducer(Class myclass) { + super(myclass); + } public int getStart() { @@ -86,16 +91,6 @@ } - public String getLink() { - return linkUrl; - } - - - public void setLink(String next) { - this.linkUrl = next; - } - - public Set getSortables() { return sortables; } @@ -106,6 +101,12 @@ } @Override + public SmartListProducer useTable() { + listStyle = new ListStyleTableWithSorting(); + return this; + } + + @Override public void produce(Writer tables) throws IOException { String pagination = createPagination(); tables.append("
"); @@ -161,7 +162,34 @@ ret.append("
"); return ret.toString(); } + + protected boolean isSortable(String nodeid) { + return (sortables != null && (sortables != null && sortables.contains(nodeid))); + } + + protected boolean isSorted(String nodeid) { + return this.sorting != null && this.sorting.equals(nodeid); + } + + + protected String sortLink(String nodeid) { + boolean sorted = this.sorting != null && this.sorting.equals(nodeid); + String link = "sort" + WebHandler.paramSeparator; + if (sorted) { + if (desc) { + link += "false" + WebHandler.paramSeparator; + } else { + link += "true" + WebHandler.paramSeparator; + } + } else { + link += "false" + WebHandler.paramSeparator; + } + link += nodeid; + return link; + } + /* + * TODO Rewrite inside specific list templates @Override protected void createHeader(Node root, Writer tables) throws IOException { if (emitter.supportsHeader()) { @@ -214,10 +242,18 @@ if (emitter.supportsHeader()) super.createFieldNodeHeader(fldn, tables); } } - + */ public void setCount(int count) { this.count = count; - } + } + + public String getLink() { + return linkUrl; + } + + public void setLink(String next) { + this.linkUrl = next; + } } Modified: labs/magma/trunk/website-beansview/src/main/resources/org/apache/magma/website/beansview/magmaBeansview.css URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/resources/org/apache/magma/website/beansview/magmaBeansview.css?rev=833033&r1=833032&r2=833033&view=diff ============================================================================== --- labs/magma/trunk/website-beansview/src/main/resources/org/apache/magma/website/beansview/magmaBeansview.css (original) +++ labs/magma/trunk/website-beansview/src/main/resources/org/apache/magma/website/beansview/magmaBeansview.css Thu Nov 5 12:02:43 2009 @@ -176,13 +176,13 @@ border: none; } -table.MagmaList-HeaderCell { +table .MagmaList-HeaderCell { background-color: #C5E8FA; border: 2px solid #D1D0D0; text-align: center; } -table.MagmaList-Cell{ +table .MagmaList-Cell{ border: 1px solid #D1D0D0; text-align: center; } Modified: labs/magma/trunk/website-beansview/src/test/java/org/apache/magma/website/beansview/ShowListTest.java URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/test/java/org/apache/magma/website/beansview/ShowListTest.java?rev=833033&r1=833032&r2=833033&view=diff ============================================================================== --- labs/magma/trunk/website-beansview/src/test/java/org/apache/magma/website/beansview/ShowListTest.java (original) +++ labs/magma/trunk/website-beansview/src/test/java/org/apache/magma/website/beansview/ShowListTest.java Thu Nov 5 12:02:43 2009 @@ -16,6 +16,7 @@ */ package org.apache.magma.website.beansview; +import org.apache.magma.beans.BeanData; import org.apache.magma.website.beansview.stuff.Person; import java.io.ByteArrayOutputStream; @@ -24,11 +25,23 @@ import org.junit.Test; import static org.apache.magma.website.beansview.AssertStringStructure.assertStructure; +import static org.junit.Assert.*; public class ShowListTest { @Test + public void listTemplateTest() throws Exception { + ListStyleTable ltt = new ListStyleTable(); + ltt.setMyclass(Person.class); + ltt.setRoot(BeanData.getFor(Person.class).getViewTree()); + ltt.setWithLink(true); + ltt.generate(); + String template = ltt.getTemplate(); + System.out.println(template); + } + + @Test public void simpleTest() throws Exception { Person p = new Person(); p.setName("Simone"); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org For additional commands, e-mail: commits-help@labs.apache.org