Author: simoneg
Date: Fri Oct 16 16:29:12 2009
New Revision: 825988
URL: http://svn.apache.org/viewvc?rev=825988&view=rev
Log:
LABS-481: contributed Banner fragment
Added:
labs/magma/trunk/fragment-banner-web/pom.xml
labs/magma/trunk/fragment-banner-web/src/
labs/magma/trunk/fragment-banner-web/src/main/
labs/magma/trunk/fragment-banner-web/src/main/java/
labs/magma/trunk/fragment-banner-web/src/main/java/org/
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/BannerWebHandler.java
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBanner.java
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBannerCategory.java
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallAdminCruds.aj
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallBannerWebHandlerIntoRoot.aj
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/SetupBanner.aj
labs/magma/trunk/fragment-banner-web/src/main/resources/
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.it.properties
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.properties
labs/magma/trunk/fragment-banner-web/src/main/resources/org/
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/banner.vm
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/displaybanner.vm
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/image.vm
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/magma_banner.png
(with props)
Added: labs/magma/trunk/fragment-banner-web/pom.xml
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/pom.xml?rev=825988&view=auto
==============================================================================
--- labs/magma/trunk/fragment-banner-web/pom.xml (added)
+++ labs/magma/trunk/fragment-banner-web/pom.xml Fri Oct 16 16:29:12 2009
@@ -0,0 +1,39 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>magma-parent</artifactId>
+ <groupId>org.apache.magma</groupId>
+ <version>2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>fragment-banner-web</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ <packaging>magma</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>fragment-banner-domain</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>foundation-website</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>website-beansview</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>foundation-database</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>fragment-init</artifactId>
+ <version>0.0.2-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
Added:
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/BannerWebHandler.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/BannerWebHandler.java?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/BannerWebHandler.java
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/BannerWebHandler.java
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,57 @@
+package org.apache.magma.web.banner;
+
+import java.util.Date;
+import java.util.List;
+
+import org.apache.magma.basics.LocalizableString;
+import org.apache.magma.database.Database;
+import org.apache.magma.domain.banner.Banner;
+import org.apache.magma.domain.banner.BannerCategory;
+import org.apache.magma.website.HtmlProducer;
+import org.apache.magma.website.Producer;
+import org.apache.magma.website.StreamProducer;
+import org.apache.magma.website.WebHandler;
+import org.apache.magma.website.producers.TemplatingProducer;
+
+public class BannerWebHandler extends WebHandler{
+
+ public HtmlProducer doBannerRotation(BannerCategory category){
+ Database db = new Database();
+ List<Banner> query = db.query(Banner.class, 0, 1,
+ "where x.archived=?1 and x.uploadedImage=?2 and
x.category=?3 order by x.actualViews", false, true, category );
+ Banner b = null;
+ if (query.size() > 0) {
+ b = query.get(0);
+ b.setActualViews(b.getActualViews()+1);
+ db.save(b);
+ } else {
+ b = new Banner();
+ b.setName(new LocalizableString("Nessun
banner").toString());
+ }
+ HtmlProducer bannerdiv = new
TemplatingProducer("banner").addParameter(b);
+ return bannerdiv;
+ }
+
+ public HtmlProducer doBannerRotationDateViews(BannerCategory category){
+ Date today = new Date();
+ Database db = new Database();
+ List<Banner> query = db.query(Banner.class, 0, 1,
+ "where x.endDate>=?1 and x.startDate<=?1 and
x.actualViews<x.maxViews and x.archived=?2 and x.uploadedImage=?3 and
x.category=?4 order by x.actualViews", today, false, true, category );
+ Banner b = null;
+ if (query.size() > 0) {
+ b = query.get(0);
+ b.setActualViews(b.getActualViews()+1);
+ db.save(b);
+ } else {
+ b = new Banner();
+ b.setName(new LocalizableString("Nessun
banner").toString());
+ }
+ HtmlProducer bannerdiv = new
TemplatingProducer("banner").addParameter(b);
+ return bannerdiv;
+ }
+ public Producer doDownload(Banner b) {
+ StreamProducer ret = new StreamProducer(b.getName(),
b.getImage());
+ ret.setExpires(StreamProducer.EXPIRES_TOMORROW);
+ return ret;
+ }
+}
Added:
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBanner.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBanner.java?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBanner.java
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBanner.java
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,53 @@
+package org.apache.magma.web.banner;
+
+import java.io.IOException;
+
+import org.apache.commons.fileupload.FileItem;
+import org.apache.magma.basics.LocalizableString;
+import org.apache.magma.database.Database;
+import org.apache.magma.domain.banner.Banner;
+import org.apache.magma.website.CompoundType;
+import org.apache.magma.website.HtmlProducer;
+import org.apache.magma.website.admin.CompleteCrudHandler;
+import org.apache.magma.website.beansview.ShowBean;
+import org.apache.magma.website.producers.CompoundHtmlProducer;
+import org.apache.magma.website.producers.TemplatingProducer;
+
+public class CrudBanner extends CompleteCrudHandler<Banner>{
+ public CrudBanner(){
+ super(Banner.class);
+ }
+
+private FileItem paramFile;
+
+
+ public void setParamFile(FileItem paramFile) {
+ this.paramFile = paramFile;
+ }
+ @Override
+ public HtmlProducer doShow(Banner b){
+ HtmlProducer footer = new
TemplatingProducer("displaybanner").addParameter("bean", b);
+ ShowBean showBean = new ShowBean(b);
+ showBean.compoundWith(footer, CompoundType.FOOT);
+ return showBean;
+
+
+ }
+
+ public HtmlProducer doSelectImage(Banner b) throws IOException {
+ String message = "";
+ if (paramFile != null) {
+ if (paramFile != null && paramFile.getSize() > 0) {
+ b.setImage(paramFile.getInputStream());
+ b.setUploadedImage(true);
+ }
+ new Database().save(b);
+ if (paramFile != null) {
+ message = new LocalizableString("File {0} saved
correctly", b.getName()).toString();
+ }
+ } else {
+ message = new LocalizableString("Select a
file").toString();
+ }
+ return new TemplatingProducer("image").addParameter("message",
message).addParameter("bean", b);
+ }
+}
\ No newline at end of file
Added:
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBannerCategory.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBannerCategory.java?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBannerCategory.java
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/CrudBannerCategory.java
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,10 @@
+package org.apache.magma.web.banner;
+
+import org.apache.magma.domain.banner.BannerCategory;
+import org.apache.magma.website.admin.CompleteCrudHandler;
+
+public class CrudBannerCategory extends CompleteCrudHandler<BannerCategory>{
+ public CrudBannerCategory(){
+ super(BannerCategory.class);
+ }
+}
Added:
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallAdminCruds.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallAdminCruds.aj?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallAdminCruds.aj
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallAdminCruds.aj
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,17 @@
+package org.apache.magma.web.banner;
+
+import org.apache.magma.website.admin.Manages;
+import org.apache.magma.website.admin.AdminWebHandler;
+import org.apache.magma.domain.banner.Banner;
+import org.apache.magma.domain.banner.BannerCategory;
+
+public aspect InstallAdminCruds {
+ @Manages(Banner.class)
+ public CrudBanner AdminWebHandler.handleBanner(){
+ return new CrudBanner();
+ }
+ @Manages(BannerCategory.class)
+ public CrudBannerCategory AdminWebHandler.handleBannerCategory(){
+ return new CrudBannerCategory();
+ }
+}
Added:
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallBannerWebHandlerIntoRoot.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallBannerWebHandlerIntoRoot.aj?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallBannerWebHandlerIntoRoot.aj
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/InstallBannerWebHandlerIntoRoot.aj
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,9 @@
+package org.apache.magma.web.banner;
+
+import org.apache.magma.website.RootWebHandler;
+
+public aspect InstallBannerWebHandlerIntoRoot {
+ public BannerWebHandler RootWebHandler.handleBanner() {
+ return new BannerWebHandler();
+ }
+}
Added:
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/SetupBanner.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/SetupBanner.aj?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/SetupBanner.aj
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/java/org/apache/magma/web/banner/SetupBanner.aj
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,27 @@
+package org.apache.magma.web.banner;
+
+import org.apache.magma.basics.startup.Startup;
+import org.apache.magma.database.Database;
+import org.apache.magma.domain.PackageInit;
+import org.apache.magma.domain.banner.Banner;
+import org.apache.magma.domain.banner.BannerCategory;
+
+public aspect SetupBanner {
+ public void Startup.setupBanner(){
+ int ver = PackageInit.lastVersion("fragment-banner");
+ Database db = new Database();
+ if(ver < 1){
+ BannerCategory header = new BannerCategory();
+ header.setName("header");
+ header.setLogicalName("header");
+ db.save(header);
+
+ Banner banner = new Banner();
+ banner.setName("Magma");
+
banner.setLink("http://cwiki.apache.org/confluence/display/labs/Magma");
+
banner.setImage(getClass().getResourceAsStream("magma_banner.png"));
+ db.save(banner);
+ }
+ PackageInit.inited("fragment-banner", 1);
+ }
+}
Added:
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.it.properties
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.it.properties?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.it.properties
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.it.properties
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,10 @@
+modify=modifica
+list=Elenco
+new=Aggiungi
+delete=Elimina
+
+selectafile=Seleziona il file
+bannercategory=Categorie per i Banner
+listofbannercategory=Elenco delle Categorie
+newbannercategory=Nuova Categoria
+modifybannercategory=Modifica Categoria
\ No newline at end of file
Added:
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.properties
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.properties?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.properties
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/resources/META-INF/messages.properties
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,10 @@
+modify=Edit
+list=List
+new=Add
+delete=Delete
+
+selectafile=Select a file
+bannercategory=Banner's category
+listofbannercategory=Categories List
+newbannercategory=New Category
+modifybannercategory=Edit Category
\ No newline at end of file
Added:
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/banner.vm
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/banner.vm?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/banner.vm
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/banner.vm
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,4 @@
+<div>
+<a href="$banner.link" onclick="window.open('$banner.link','','');return
false;"
+ onkeypress="if
(!(event.keyCode==9)){window.open('$banner.link','','');return false;}"
title="$i18n.tr('Link esterno al sito pubblicizzato')"><img
src="magma:/banner/download!$banner.id" alt="$banner.textual"/></a>
+</div>
\ No newline at end of file
Added:
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/displaybanner.vm
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/displaybanner.vm?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/displaybanner.vm
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/displaybanner.vm
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,13 @@
+#if($banner.uploadedImage)
+ <div >
+ Preview : <img src="magma:/banner/download!$banner.id"/>
+ </div>
+#elseif(!$banner.uploadedImage)
+ <div >
+ Preview :
+ <p >
+ $i18n.tr("nessuna immagine caricata")
+ </p>
+ </div>
+#end
+
\ No newline at end of file
Added:
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/image.vm
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/image.vm?rev=825988&view=auto
==============================================================================
---
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/image.vm
(added)
+++
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/image.vm
Fri Oct 16 16:29:12 2009
@@ -0,0 +1,6 @@
+<h1>$i18n.tr("Aggiungi immagine")</h1>
+<p>$message</p>
+<form action="selectImage!${bean.id}" enctype="multipart/form-data"
method="post">
+ File : <input type="file" name="file"/><br/>
+ <input type="submit" value="$i18n.tr('Salva')"/>
+</form>
Added:
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/magma_banner.png
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/magma_banner.png?rev=825988&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
labs/magma/trunk/fragment-banner-web/src/main/resources/org/apache/magma/web/banner/magma_banner.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]