You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2015/02/12 22:07:03 UTC

[05/18] wicket git commit: Several fixes

Several fixes

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2ac0c640
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2ac0c640
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2ac0c640

Branch: refs/heads/master
Commit: 2ac0c6401a0e9abd9232342e790d15aac8091501
Parents: deeb453
Author: klopfdreh <kl...@tobiass-mbp>
Authored: Wed Feb 4 17:34:03 2015 +0100
Committer: klopfdreh <kl...@tobiass-mbp>
Committed: Wed Feb 4 17:34:03 2015 +0100

----------------------------------------------------------------------
 ...rg.eclipse.wst.common.project.facet.core.xml |   2 +-
 .../wicket/resource/CompositeCssCompressor.java |  11 +-
 .../resource/CompositeJavaScriptCompressor.java |  11 +-
 .../resource/CssUrlReplacementCompressor.java   | 144 -------------------
 .../apache/wicket/resource/CssUrlReplacer.java  | 127 ++++++++++++++++
 5 files changed, 132 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2ac0c640/wicket-core/.settings/org.eclipse.wst.common.project.facet.core.xml
----------------------------------------------------------------------
diff --git a/wicket-core/.settings/org.eclipse.wst.common.project.facet.core.xml b/wicket-core/.settings/org.eclipse.wst.common.project.facet.core.xml
index c78d932..4f92af5 100644
--- a/wicket-core/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/wicket-core/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <faceted-project>
-  <installed facet="java" version="1.6"/>
   <installed facet="jst.utility" version="1.0"/>
+  <installed facet="java" version="1.7"/>
 </faceted-project>

http://git-wip-us.apache.org/repos/asf/wicket/blob/2ac0c640/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
index bb61687..a288596 100644
--- a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
@@ -45,14 +45,7 @@ public class CompositeCssCompressor implements ICssCompressor
 {
 
 	/* Compressors to compress the CSS content */
-	private List<ICssCompressor> compressors = new ArrayList<>();
-
-	/**
-	 * Initializes an empty composite CSS compressor
-	 */
-	public CompositeCssCompressor()
-	{
-	}
+	private final List<ICssCompressor> compressors = new ArrayList<>();
 
 	/**
 	 * Initializes the composite CSS compressor with the given {@link ICssCompressor}
@@ -62,7 +55,7 @@ public class CompositeCssCompressor implements ICssCompressor
 	 */
 	public CompositeCssCompressor(ICssCompressor... compressors)
 	{
-		this.compressors = Arrays.asList(compressors);
+		this.compressors.addAll(Arrays.asList(compressors));
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/2ac0c640/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
index cb1d101..c1888e2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
@@ -45,14 +45,7 @@ public class CompositeJavaScriptCompressor implements IJavaScriptCompressor
 {
 
 	/* Compressors to compress javascript content */
-	private List<IJavaScriptCompressor> compressors = new ArrayList<>();
-
-	/**
-	 * Initializes an empty composite javascript compressor
-	 */
-	public CompositeJavaScriptCompressor()
-	{
-	}
+	private final List<IJavaScriptCompressor> compressors = new ArrayList<>();
 
 	/**
 	 * Initializes the composite javascript compressor with the given {@link IJavaScriptCompressor}
@@ -63,7 +56,7 @@ public class CompositeJavaScriptCompressor implements IJavaScriptCompressor
 	 */
 	public CompositeJavaScriptCompressor(IJavaScriptCompressor... compressors)
 	{
-		this.compressors = Arrays.asList(compressors);
+		this.compressors.addAll(Arrays.asList(compressors));
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/2ac0c640/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacementCompressor.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacementCompressor.java b/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacementCompressor.java
deleted file mode 100644
index ce89f53..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacementCompressor.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.resource;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.wicket.Application;
-import org.apache.wicket.Component;
-import org.apache.wicket.Page;
-import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.application.IComponentInitializationListener;
-import org.apache.wicket.css.ICssCompressor;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.request.resource.PackageResourceReference;
-
-/**
- * This compressor is used to replace url within css files with resources that belongs to their
- * corresponding page classes. The compress method is not compressing any content, but replacing the
- * URLs with Wicket representatives.<br>
- * <br>
- * Usage:
- * 
- * <pre>
- * this.getResourceSettings().setCssCompressor(new CssUrlReplacementCompressor(this));
- * </pre>
- * 
- * @since 6.20.0
- * @author Tobias Soloschenko
- * 
- */
-public class CssUrlReplacementCompressor implements ICssCompressor
-{
-
-	// Holds the names of pages
-	private Map<String, String> pageNames = Collections.synchronizedMap(new LinkedHashMap<String, String>());
-
-	// The pattern to find URLs in CSS resources
-	private Pattern urlPattern = Pattern.compile("url\\(['|\"](.*)['|\"]\\)");
-
-	public CssUrlReplacementCompressor(Application application)
-	{
-
-		// Create an instantiation listener which filters only pages.
-		application.getComponentInitializationListeners().add(
-			new IComponentInitializationListener()
-			{
-
-				@Override
-				public void onInitialize(Component component)
-				{
-					if (Page.class.isAssignableFrom(component.getClass()))
-					{
-						CssUrlReplacementCompressor.this.pageNames.put(component.getClass()
-							.getName(), component.getClass().getSimpleName());
-					}
-				}
-			});
-	}
-
-	/**
-	 * Replaces the URLs of CSS resources with Wicket representatives.
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public String compress(String original)
-	{
-		Matcher matcher = this.urlPattern.matcher(original);
-		// Search for urls
-		while (matcher.find())
-		{
-			Collection<String> pageNames = this.pageNames.keySet();
-			for (String pageName : pageNames)
-			{
-				try
-				{
-					Class<Page> pageClass = (Class<Page>)Class.forName(pageName);
-					String url = matcher.group(1);
-					if (!url.contains("/"))
-					{
-						URL urlResource = pageClass.getResource(url);
-						// If the resource is not found for a page skip it
-						if (urlResource != null)
-						{
-							PackageResourceReference packageResourceReference = new PackageResourceReference(
-								pageClass, url);
-							String replacedUrl = RequestCycle.get()
-								.urlFor(packageResourceReference, null)
-								.toString();
-							StringBuilder urlBuilder = new StringBuilder();
-							urlBuilder.append("url('");
-							urlBuilder.append(replacedUrl);
-							urlBuilder.append("')");
-							original = matcher.replaceFirst(urlBuilder.toString());
-						}
-					}
-				}
-				catch (Exception e)
-				{
-					StringWriter stringWriter = this.printStack(e);
-					throw new WicketRuntimeException(stringWriter.toString());
-				}
-			}
-
-		}
-		return original;
-	}
-
-	/**
-	 * Prints the stack trace to a print writer
-	 * 
-	 * @param exception
-	 *            the exception
-	 * @return the string writer containing the stack trace
-	 */
-	private StringWriter printStack(Exception exception)
-	{
-		StringWriter stringWriter = new StringWriter();
-		PrintWriter printWriter = new PrintWriter(stringWriter);
-		exception.printStackTrace(printWriter);
-		return stringWriter;
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2ac0c640/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacer.java b/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacer.java
new file mode 100644
index 0000000..c39dcea
--- /dev/null
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/CssUrlReplacer.java
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.resource;
+
+import java.net.URL;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.wicket.Application;
+import org.apache.wicket.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.application.IComponentInitializationListener;
+import org.apache.wicket.css.ICssCompressor;
+import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.resource.PackageResourceReference;
+
+/**
+ * This compressor is used to replace url within css files with resources that belongs to their
+ * corresponding page classes. The compress method is not compressing any content, but replacing the
+ * URLs with Wicket representatives.<br>
+ * <br>
+ * Usage:
+ * 
+ * <pre>
+ * this.getResourceSettings().setCssCompressor(new CssUrlReplacementCompressor(this));
+ * </pre>
+ * 
+ * @since 6.20.0
+ * @author Tobias Soloschenko
+ * 
+ */
+public class CssUrlReplacer implements ICssCompressor
+{
+
+	// Holds the names of pages
+	private Map<String, String> pageNames = Collections.synchronizedMap(new LinkedHashMap<String, String>());
+
+	// The pattern to find URLs in CSS resources
+	private Pattern urlPattern = Pattern.compile("url\\(['|\"](.*)['|\"]\\)");
+
+	public CssUrlReplacer(Application application)
+	{
+
+		// Create an instantiation listener which filters only pages.
+		application.getComponentInitializationListeners().add(
+			new IComponentInitializationListener()
+			{
+
+				@Override
+				public void onInitialize(Component component)
+				{
+					if (Page.class.isAssignableFrom(component.getClass()))
+					{
+						CssUrlReplacer.this.pageNames.put(component.getClass().getName(),
+							component.getClass().getSimpleName());
+					}
+				}
+			});
+	}
+
+	/**
+	 * Replaces the URLs of CSS resources with Wicket representatives.
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public String compress(String original)
+	{
+		Matcher matcher = this.urlPattern.matcher(original);
+		// Search for urls
+		while (matcher.find())
+		{
+			Collection<String> pageNames = this.pageNames.keySet();
+			for (String pageName : pageNames)
+			{
+				try
+				{
+					Class<Page> pageClass = (Class<Page>)Class.forName(pageName);
+					String url = matcher.group(1);
+					if (!url.contains("/"))
+					{
+						URL urlResource = pageClass.getResource(url);
+						// If the resource is not found for a page skip it
+						if (urlResource != null)
+						{
+							PackageResourceReference packageResourceReference = new PackageResourceReference(
+								pageClass, url);
+							String replacedUrl = RequestCycle.get()
+								.urlFor(packageResourceReference, null)
+								.toString();
+							StringBuilder urlBuilder = new StringBuilder();
+							urlBuilder.append("url('");
+							urlBuilder.append(replacedUrl);
+							urlBuilder.append("')");
+							original = matcher.replaceFirst(urlBuilder.toString());
+						}
+					}
+				}
+				catch (Exception e)
+				{
+					throw new WicketRuntimeException(
+						"A problem occurred during CSS url replacement.", e);
+				}
+			}
+
+		}
+		return original;
+	}
+}