You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/11/05 13:04:52 UTC

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/...

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<? extends MagmaBeanSupport> myclass;
 
-	private ListHtmlEmitter emitter;
-	
+	// Delegate fields
+	private ListStyle listStyle;
+	private String summary;
+	private String caption;
 	
-	public SmartList(Class<?> beanClass, String query, Object... queryParams) {
+	public <T extends MagmaBeanSupport> SmartList(Class<T> 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<? extends MagmaBeanSupport> 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<String> sortables = null;
 	protected int count = -1;
+	protected boolean useSorting = true;
 	
 	public <T extends MagmaBeanSupport> SmartListProducer(Class<T> myclass, Collection<? extends T> list) {
 		super(myclass, list);
 	}
+	
+	protected <T extends MagmaBeanSupport> SmartListProducer(Class<T> 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<String> 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("<div class=\"MagmaPagination BeforeList\">");
@@ -161,7 +162,34 @@
 		ret.append("</div>");
 		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