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/17 01:49:13 UTC
svn commit: r881075 - in /labs/magma/trunk:
website-administration/src/main/java/org/apache/magma/website/admin/
website-beansview/src/main/java/org/apache/magma/website/beansview/
website-feed/src/main/java/org/apache/magma/website/feed/
Author: simoneg
Date: Tue Nov 17 00:49:12 2009
New Revision: 881075
URL: http://svn.apache.org/viewvc?rev=881075&view=rev
Log:
LABS-221 : use LinkHelper in more places
Modified:
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminAction.java
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartListProducer.java
labs/magma/trunk/website-feed/src/main/java/org/apache/magma/website/feed/RssFeedProducer.java
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminAction.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminAction.java?rev=881075&r1=881074&r2=881075&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminAction.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminAction.java Tue Nov 17 00:49:12 2009
@@ -23,6 +23,7 @@
import org.apache.magma.conversion.Converter;
import org.apache.magma.conversion.Converters;
import org.apache.magma.website.WebHandler;
+import org.apache.magma.website.utils.LinkHelper;
public class AdminAction implements Comparable<AdminAction> {
@@ -33,7 +34,7 @@
public AdminAction(String prefix, String action, boolean parametrized) {
this.prefix = prefix;
- this.action = action;
+ setAction(action);
this.parametrized = parametrized;
}
@@ -45,13 +46,13 @@
}
public String getUrl() {
- return (prefix != null ? prefix + "/" : "") + this.action;
+ LinkHelper lh = new LinkHelper(this.action);
+ return (prefix != null ? prefix + "/" : "") + lh.makeLink();
}
public String getUrl(Object bean) {
if (bean == null || !parametrized) return getUrl();
- Converter conv = Converters.getConverterFor(bean.getClass());
- if (conv == null) throw new MagmaException("Cannot find a converter for {0}", bean.getClass());
- return getUrl() + WebHandler.paramSeparator + conv.to(bean);
+ LinkHelper lh = new LinkHelper(this.action, bean.getClass());
+ return (prefix != null ? prefix + "/" : "") + lh.makeLink(bean);
}
@Override
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=881075&r1=881074&r2=881075&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 Tue Nov 17 00:49:12 2009
@@ -31,9 +31,14 @@
import org.apache.magma.view.tree.FieldNode;
import org.apache.magma.view.tree.Node;
import org.apache.magma.website.WebHandler;
+import org.apache.magma.website.utils.LinkHelper;
public class SmartListProducer extends ShowList {
+ protected static LinkHelper
+ startLinkHelper = new LinkHelper("doStart", Integer.class),
+ sortLinkHelper = new LinkHelper("doSort", Boolean.class, String.class);
+
protected int start = 0;
protected int len = 10;
protected String sorting = null;
@@ -133,7 +138,7 @@
ret.append("</div>");
ret.append("<div class=\"PaginationNavigation\">");
if (start > 0) {
- ret.append(" <a class=\"PaginationPrevious\" href=\"start" + WebHandler.paramSeparator + Math.max(0, start - len) + "\">");
+ ret.append(" <a class=\"PaginationPrevious\" href=\"" + startLinkHelper.makeLink(Math.max(0, start - len)) + "\">");
ret.append(new LocalizableString("Previous page"));
ret.append("</a>");
}
@@ -145,7 +150,7 @@
ret.append(Integer.toString(currentpage + 1));
ret.append("</strong> ");
} else {
- ret.append(" <a href=\"start" + WebHandler.paramSeparator + Math.max(0, start + (len * po)) + "\" title=\"" + gototitle + "\">");
+ ret.append(" <a href=\"" + startLinkHelper.makeLink(Math.max(0, start + (len * po))) + "\" title=\"" + gototitle + "\">");
ret.append(Integer.toString(currentpage + po + 1));
ret.append("</a> ");
}
@@ -154,7 +159,7 @@
ret.append("</span>");
if (start + len < count) {
- ret.append(" <a class=\"PaginationNext\" href=\"start" + WebHandler.paramSeparator + Math.max(0, start + len) + "\">");
+ ret.append(" <a class=\"PaginationNext\" href=\"" + startLinkHelper.makeLink(Math.max(0, start + len)) + "\">");
ret.append(new LocalizableString("Next page"));
ret.append("</a>");
}
@@ -174,22 +179,11 @@
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;
+ return sortLinkHelper.makeLink(sorted ? !desc : false, nodeid);
}
/*
- * TODO Rewrite inside specific list templates
+ * Old pre-template stuff
@Override
protected void createHeader(Node root, Writer tables) throws IOException {
if (emitter.supportsHeader()) {
Modified: labs/magma/trunk/website-feed/src/main/java/org/apache/magma/website/feed/RssFeedProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-feed/src/main/java/org/apache/magma/website/feed/RssFeedProducer.java?rev=881075&r1=881074&r2=881075&view=diff
==============================================================================
--- labs/magma/trunk/website-feed/src/main/java/org/apache/magma/website/feed/RssFeedProducer.java (original)
+++ labs/magma/trunk/website-feed/src/main/java/org/apache/magma/website/feed/RssFeedProducer.java Tue Nov 17 00:49:12 2009
@@ -14,6 +14,7 @@
import org.apache.magma.conversion.Converters;
import org.apache.magma.website.Producer;
import org.apache.magma.website.WebHandler;
+import org.apache.magma.website.utils.LinkHelper;
import com.sun.syndication.feed.WireFeed;
import com.sun.syndication.feed.rss.Content;
@@ -66,33 +67,11 @@
@Override
public void produce(OutputStream stream) {
- String linkUrl = null;
+ LinkHelper lh = null;
if (this.link != null) {
- GenericClass gc = GenericClass.forClass(getCreatingHandler().getClass());
- List<MethodDef> methods = gc.findMethods(this.link, new Class<?>[] { this.myclass });
- if (methods.size() == 0) {
- methods = gc.findMethods(this.link, new Class<?>[] { null });
- if (methods.size() == 0) {
- throw new MagmaException("Cannot find method {0}.{1}({2}) to make the link", getCreatingHandler(), this.link, this.myclass);
- } else if (methods.size() > 1) {
- throw new MagmaException("There is more than one method {0}.{1}(), and no one is accepting explicitly {2} as a parameter. Cannot not make the link", getCreatingHandler(), this.link, this.myclass);
- }
- }
- linkUrl = this.link;
- if (linkUrl.startsWith("do")) {
- linkUrl = linkUrl.substring(2);
- } else if (linkUrl.startsWith("handle")){
- linkUrl = linkUrl.substring(6);
- } else {
- throw new MagmaException("The link {0} is not valid : it should refer a doMethod or handleMethod", this.link);
- }
+ lh = new LinkHelper(this.link, this.myclass);
+ lh.checkAgainst(getCreatingHandler().getClass());
}
- Converter converter = null;
- if (linkUrl != null) {
- converter = Converters.getConverterFor(this.myclass);
- if (converter == null) throw new MagmaException("Cannot find converter for {0}, cannot make link!", this.myclass);
- }
-
Channel ch = new Channel("rss_1.0");
ch.setTitle(this.getFeedTitle());
@@ -100,12 +79,13 @@
ch.setDescription(this.getFeedDescription());
for (FeedableItem fi : this.items) {
Item item = new Item();
- //item.setAuthor("Pinco Palla");
item.setTitle(fi.getTitleForFeed());
Content content = new Content();
content.setValue(fi.getContentForFeed());
item.setContent(content);
- item.setLink(linkUrl + WebHandler.paramSeparator + converter.to(fi));
+ if (lh != null) {
+ item.setLink(lh.makeLink(fi));
+ }
ch.getItems().add(item);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org