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/03/12 09:16:34 UTC

[1/5] wicket git commit: WICKET-5850 Fix class loading issue in LazyInitProxyFactory in case of multimodule deployment

Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 64d5bd008 -> 630fbc14e


WICKET-5850 Fix class loading issue in LazyInitProxyFactory in case of multimodule deployment


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

Branch: refs/heads/wicket-6.x
Commit: e00c54c310000924290476f91797a2197a756782
Parents: 7613966
Author: Alexander Morozov <al...@gmail.com>
Authored: Fri Mar 6 00:16:59 2015 +0600
Committer: Alexander Morozov <al...@gmail.com>
Committed: Fri Mar 6 00:16:59 2015 +0600

----------------------------------------------------------------------
 .../wicket/proxy/LazyInitProxyFactory.java      | 62 ++++++++++++--------
 1 file changed, 38 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e00c54c3/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
----------------------------------------------------------------------
diff --git a/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java b/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
index b4e821b..e1b33d6 100644
--- a/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
+++ b/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
@@ -137,20 +137,7 @@ public class LazyInitProxyFactory
 
 			try
 			{
-				ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-				if (Application.exists())
-				{
-					IClassResolver classResolver = Application.get()
-							.getApplicationSettings()
-							.getClassResolver();
-
-					if (classResolver != null)
-					{
-						classLoader = classResolver.getClassLoader();
-					}
-				}
-
-				return Proxy.newProxyInstance(classLoader,
+				return Proxy.newProxyInstance(resolveClassLoader(),
 					new Class[] { type, Serializable.class, ILazyInitProxy.class,
 							IWriteReplace.class }, handler);
 			}
@@ -173,25 +160,33 @@ public class LazyInitProxyFactory
 			CGLibInterceptor handler = new CGLibInterceptor(type, locator);
 
 			Enhancer e = new Enhancer();
+            e.setClassLoader(resolveClassLoader());
 			e.setInterfaces(new Class[] { Serializable.class, ILazyInitProxy.class,
 					IWriteReplace.class });
 			e.setSuperclass(type);
 			e.setCallback(handler);
-			e.setNamingPolicy(new DefaultNamingPolicy()
-			{
-				@Override
-				public String getClassName(final String prefix, final String source,
-					final Object key, final Predicate names)
-				{
-					return super.getClassName("WICKET_" + prefix, source, key, names);
-				}
-			});
+			e.setNamingPolicy(WicketNamingPolicy.INSTANCE);
 
 			return e.create();
 		}
 	}
 
-	/**
+	private static ClassLoader resolveClassLoader()
+	{
+		ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+		if (Application.exists())
+		{
+			IClassResolver classResolver = Application.get().getApplicationSettings()
+					.getClassResolver();
+			if (classResolver != null)
+			{
+				classLoader = classResolver.getClassLoader();
+			}
+		}
+		return classLoader;
+	}
+
+    /**
 	 * This interface is used to make the proxy forward writeReplace() call to the handler instead
 	 * of invoking it on itself. This allows us to serialize the replacement object instead of the
 	 * proxy itself in case the proxy subclass is deserialized on a VM that does not have it
@@ -524,4 +519,23 @@ public class LazyInitProxyFactory
 		return (method.getReturnType() == Object.class) &&
 			(method.getParameterTypes().length == 0) && method.getName().equals("writeReplace");
 	}
+
+	private static final class WicketNamingPolicy extends DefaultNamingPolicy
+	{
+
+		private static final WicketNamingPolicy INSTANCE = new WicketNamingPolicy();
+
+		private WicketNamingPolicy()
+		{
+			super();
+		}
+
+		@Override
+		public String getClassName(final String prefix, final String source, final Object key,
+				final Predicate names)
+		{
+			return super.getClassName("WICKET_" + prefix, source, key, names);
+		}
+	}
+
 }


[5/5] wicket git commit: Merge branch 'pr-107-wicket-6.x' into wicket-6.x

Posted by mg...@apache.org.
Merge branch 'pr-107-wicket-6.x' into wicket-6.x


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

Branch: refs/heads/wicket-6.x
Commit: 630fbc14ebef57d1b04afadfe7079124590fbe6c
Parents: 64d5bd0 08fe67e
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Mar 12 10:16:24 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Mar 12 10:16:24 2015 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/markup/html/PackageResourceGuard.java   | 3 ++-
 .../apache/wicket/markup/html/PackageResourceGuardTest.java   | 7 ++++++-
 .../org/apache/wicket/markup/html/PackageResourceTest.java    | 2 ++
 3 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[2/5] wicket git commit: Merge remote-tracking branch 'upstream/wicket-6.x' into wicket-6.x

Posted by mg...@apache.org.
Merge remote-tracking branch 'upstream/wicket-6.x' into wicket-6.x

Conflicts:
	wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java


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

Branch: refs/heads/wicket-6.x
Commit: 830776e90ffd564d7b8e678c8d850d18a41e5142
Parents: e00c54c eafffd7
Author: Alexander Morozov <al...@gmail.com>
Authored: Fri Mar 6 23:07:16 2015 +0600
Committer: Alexander Morozov <al...@gmail.com>
Committed: Fri Mar 6 23:07:16 2015 +0600

----------------------------------------------------------------------
 .../wicket/proxy/LazyInitProxyFactory.java       | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------



[4/5] wicket git commit: WICKET-5754 (String)ResourceModel's defaultValue could be an IModel

Posted by mg...@apache.org.
WICKET-5754 (String)ResourceModel's defaultValue could be an IModel<String>

Downport the improvement for StringResourceModel too.

(cherry picked from commit 27390216627c8d69d4b156f781a3e6124a8eb300)


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

Branch: refs/heads/wicket-6.x
Commit: 08fe67e37733f05c4cf199b5367faf5dd63e1d90
Parents: 2ed52c0
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Nov 10 13:08:10 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Mar 12 10:14:28 2015 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/model/StringResourceModel.java    | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/08fe67e3/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java b/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
index 595c774..0c65d92 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
@@ -413,21 +413,13 @@ public class StringResourceModel extends LoadableDetachableModel<String>
 		{
 			// Get the string resource, doing any property substitutions as part
 			// of the get operation
-			value = localizer.getString(getResourceKey(), component, model, defaultValue);
-			if (value == null)
-			{
-				value = defaultValue;
-			}
+			value = localizer.getString(getResourceKey(), component, model, null, null, defaultValue);
 		}
 		else
 		{
 			// Get the string resource, doing not any property substitutions
 			// that has to be done later after MessageFormat
-			value = localizer.getString(getResourceKey(), component, null, defaultValue);
-			if (value == null)
-			{
-				value = defaultValue;
-			}
+			value = localizer.getString(getResourceKey(), component, null, null, null, defaultValue);
 			if (value != null)
 			{
 				// Build the real parameters


[3/5] wicket git commit: WICKET-5851 Fix PackageResourceTest and PackageResourceGuardTest under Windows

Posted by mg...@apache.org.
WICKET-5851 Fix PackageResourceTest and PackageResourceGuardTest under Windows


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

Branch: refs/heads/wicket-6.x
Commit: 2ed52c012c5d84c9dfcb5ffb571b9541c0575073
Parents: 830776e
Author: Alexander Morozov <al...@gmail.com>
Authored: Fri Mar 6 23:51:13 2015 +0600
Committer: Alexander Morozov <al...@gmail.com>
Committed: Fri Mar 6 23:51:13 2015 +0600

----------------------------------------------------------------------
 .../org/apache/wicket/markup/html/PackageResourceGuard.java   | 3 ++-
 .../apache/wicket/markup/html/PackageResourceGuardTest.java   | 7 ++++++-
 .../org/apache/wicket/markup/html/PackageResourceTest.java    | 2 ++
 3 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2ed52c01/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
index be9bb43..db1aeb6 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
@@ -85,7 +85,8 @@ public class PackageResourceGuard implements IPackageResourceGuard
 		int len = path.length();
 		final String ext;
 		if (ixExtension <= 0 || ixExtension == len ||
-			(path.lastIndexOf(File.separator) + 1) == ixExtension)
+			(path.lastIndexOf('/') + 1) == ixExtension ||
+			(path.lastIndexOf('\\') + 1) == ixExtension)
 		{
 			ext = null;
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2ed52c01/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceGuardTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceGuardTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceGuardTest.java
index 70dd39b..9807cae 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceGuardTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceGuardTest.java
@@ -54,16 +54,21 @@ public class PackageResourceGuardTest extends WicketTestCase
 		guard.setAllowAccessToRootResources(false);
 
 		assertTrue(guard.acceptAbsolutePath("/test/test.js"));
+		assertTrue(guard.acceptAbsolutePath("/test/.java"));
 		assertFalse(guard.acceptAbsolutePath("/test.js"));
 
-		if ("\\".equals(File.pathSeparator))
+		if ("\\".equals(File.separator))
 		{
+			assertTrue(guard.acceptAbsolutePath("c:\\test\\org\\apache\\.java"));
+			assertTrue(guard.acceptAbsolutePath("\\test\\org\\apache\\.java"));
 			assertTrue(guard.acceptAbsolutePath("c:\\test\\org\\apache\\test.js"));
 			assertTrue(guard.acceptAbsolutePath("\\test\\org\\apache\\test.js"));
 			assertFalse(guard.acceptAbsolutePath("c:\\test.js"));
 			assertFalse(guard.acceptAbsolutePath("\\test.js"));
 
 			// java also generates file paths with '/' on windows
+			assertTrue(guard.acceptAbsolutePath("c:/test/org/apache/.java"));
+			assertTrue(guard.acceptAbsolutePath("/test/org/apache/.java"));
 			assertTrue(guard.acceptAbsolutePath("c:/test/org/apache/test.js"));
 			assertTrue(guard.acceptAbsolutePath("/test/org/apache/test.js"));
 			assertFalse(guard.acceptAbsolutePath("c:/test.js"));

http://git-wip-us.apache.org/repos/asf/wicket/blob/2ed52c01/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java
index a995e4e..765f44d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java
@@ -86,6 +86,8 @@ public class PackageResourceTest extends WicketTestCase
 		assertTrue(guard.accept(PackageResourceTest.class,
 			Packages.absolutePath(PackageResourceTest.class, ".Bar")));
 		assertTrue(guard.accept(PackageResourceTest.class,
+			Packages.absolutePath(PackageResourceTest.class, "foo/.java")));
+		assertTrue(guard.accept(PackageResourceTest.class,
 			Packages.absolutePath(PackageResourceTest.class, ".java")));
 		assertFalse(guard.accept(PackageResourceTest.class,
 			Packages.absolutePath(PackageResourceTest.class, "Bar.java")));