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/01/12 17:02:58 UTC
svn commit: r733827 - in /labs/magma/trunk/website-production-optimizer: ./
src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/magma/ src/main/java/org/apache/magma/website/
src/main/java/org/apache/magm...
Author: simoneg
Date: Mon Jan 12 08:02:51 2009
New Revision: 733827
URL: http://svn.apache.org/viewvc?rev=733827&view=rev
Log:
Initial import.
Added:
labs/magma/trunk/website-production-optimizer/pom.xml
labs/magma/trunk/website-production-optimizer/src/
labs/magma/trunk/website-production-optimizer/src/main/
labs/magma/trunk/website-production-optimizer/src/main/java/
labs/magma/trunk/website-production-optimizer/src/main/java/org/
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/CSSUrlRewritingStream.java
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InlineHeadStuffInTemplate.aj
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InliningHtmlHead.java
labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/LoadJavascriptsLater.aj
labs/magma/trunk/website-production-optimizer/src/main/resources/
labs/magma/trunk/website-production-optimizer/src/main/resources/org/
labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/
labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/
labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/website/
labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/website/loadLater.js
labs/magma/trunk/website-production-optimizer/src/test/
labs/magma/trunk/website-production-optimizer/src/test/java/
labs/magma/trunk/website-production-optimizer/src/test/resources/
Added: labs/magma/trunk/website-production-optimizer/pom.xml
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-production-optimizer/pom.xml?rev=733827&view=auto
==============================================================================
--- labs/magma/trunk/website-production-optimizer/pom.xml (added)
+++ labs/magma/trunk/website-production-optimizer/pom.xml Mon Jan 12 08:02:51 2009
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>1</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>website-production-optimizer</artifactId>
+ <name>Magma Website Production Optimizer</name>
+ <version>0.0.1-SNAPSHOT</version>
+ <description/>
+ <packaging>magma</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.magma</groupId>
+ <artifactId>foundation-website</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/CSSUrlRewritingStream.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/CSSUrlRewritingStream.java?rev=733827&view=auto
==============================================================================
--- labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/CSSUrlRewritingStream.java (added)
+++ labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/CSSUrlRewritingStream.java Mon Jan 12 08:02:51 2009
@@ -0,0 +1,22 @@
+package org.apache.magma.website.optimization;
+
+import java.io.OutputStream;
+
+import org.apache.magma.website.utils.URLRewritingStream;
+
+public class CSSUrlRewritingStream extends URLRewritingStream {
+
+ public CSSUrlRewritingStream(OutputStream out, URLRewritingStream other) {
+ super(out, "");
+ super.inside = true;
+ super.insider = ':';
+ super.outsider = ';';
+ super.keys = new String[] { "url(" };
+ if (other != null) {
+ super.setBaseUrl(other.getBaseurl());
+ super.setCommonPrefix(other.getCommonPrefix());
+ super.setTemplatePrefix(other.getTemplatePrefix());
+ }
+ }
+
+}
Added: labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InlineHeadStuffInTemplate.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InlineHeadStuffInTemplate.aj?rev=733827&view=auto
==============================================================================
--- labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InlineHeadStuffInTemplate.aj (added)
+++ labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InlineHeadStuffInTemplate.aj Mon Jan 12 08:02:51 2009
@@ -0,0 +1,16 @@
+package org.apache.magma.website.optimization;
+
+import java.io.OutputStream;
+
+import org.apache.magma.website.Head;
+
+public abstract aspect InlineHeadStuffInTemplate {
+
+ protected abstract pointcut withinTemplateClass();
+
+ Head around(OutputStream stream) : call(Head.new(..)) && args(stream)
+ && withinTemplateClass() {
+ return new InliningHtmlHead(stream);
+ }
+
+}
Added: labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InliningHtmlHead.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InliningHtmlHead.java?rev=733827&view=auto
==============================================================================
--- labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InliningHtmlHead.java (added)
+++ labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/InliningHtmlHead.java Mon Jan 12 08:02:51 2009
@@ -0,0 +1,71 @@
+package org.apache.magma.website.optimization;
+
+import java.io.OutputStream;
+
+import org.apache.magma.website.Head;
+import org.apache.magma.website.Producer;
+import org.apache.magma.website.RootWebHandler;
+import org.apache.magma.website.utils.URLRewritingStream;
+
+public class InliningHtmlHead extends Head {
+
+ public InliningHtmlHead(OutputStream stream) {
+ super(stream);
+ }
+
+ protected Producer findProducer(String locname) {
+ RootWebHandler rw = RootWebHandler.getInstance();
+ return rw.find(locname);
+ }
+
+ private void inline(String prefix, String locname, String postfix, boolean css) {
+ Producer prod = findProducer(locname);
+ if (prod != null) {
+ rawWrite(prefix);
+ OutputStream rightstream = super.stream;
+ if (rewriting != null) {
+ rightstream = rewriting.getNonRewritingStream();
+ if (css) {
+ rightstream = new CSSUrlRewritingStream(rightstream, rewriting);
+ }
+ }
+ prod.produce(rightstream);
+ rawWrite(postfix);
+ }
+ }
+
+ @Override
+ public void addCss(String name) {
+ if (!containsComponent(name)) {
+ if (rewriting != null) {
+ String locname = rewriting.localurl(name);
+ if (locname.equals(name)) {
+ super.addCss(name);
+ } else {
+ inline("<style type=\"text/css\">", locname, "</style>", true);
+ added(name);
+ }
+ } else {
+ super.addCss(name);
+ }
+ }
+ }
+
+ @Override
+ public void addExternalScript(String name, String mimeType) {
+ if (!containsComponent(name)) {
+ if (rewriting != null) {
+ String locname = rewriting.localurl(name);
+ if (locname.equals(name)) {
+ super.addExternalScript(name, mimeType);
+ } else {
+ inline("<script type=\"" + mimeType + "\">", locname, "</script>", false);
+ added(name);
+ }
+ } else {
+ super.addExternalScript(name, mimeType);
+ }
+ }
+ }
+
+}
Added: labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/LoadJavascriptsLater.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/LoadJavascriptsLater.aj?rev=733827&view=auto
==============================================================================
--- labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/LoadJavascriptsLater.aj (added)
+++ labs/magma/trunk/website-production-optimizer/src/main/java/org/apache/magma/website/optimization/LoadJavascriptsLater.aj Mon Jan 12 08:02:51 2009
@@ -0,0 +1,25 @@
+package org.apache.magma.website.optimization;
+
+import org.apache.magma.website.Head;
+
+public privileged aspect LoadJavascriptsLater {
+
+ /*
+ void around(Head h, String[] params) : call(void Head.rawWrite(String[])) && args(params) &&
+ withincode(void Head.addExternalScript(..)) && this(h) &&
+ !cflow(adviceexecution() && this(LoadJavascriptsLater)) {
+ h.addOnloadScript();
+ h.addExternalScript("magma:/common/loadLater.js");
+
+ String[] nparams = new String[params.length + 2];
+ for (int i = 0; i < params.length; i++) {
+ params[i] = params[i].replaceAll("'", "\\'");
+ }
+ System.arraycopy(params, 0, nparams, 1, params.length);
+ nparams[0] = "<script type=\"text/javascript\">delayedLoad('";
+ nparams[params.length] = "</script>";
+ proceed(h, nparams);
+ }
+ */
+
+}
Added: labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/website/loadLater.js
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/website/loadLater.js?rev=733827&view=auto
==============================================================================
--- labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/website/loadLater.js (added)
+++ labs/magma/trunk/website-production-optimizer/src/main/resources/org/apache/magma/website/loadLater.js Mon Jan 12 08:02:51 2009
@@ -0,0 +1,5 @@
+function delayedLoad(piece) {
+ addOnload(function() {
+ document.getElementsByTagName("head")[0].innerHTML += piece;
+ });
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org