You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2008/10/22 22:18:59 UTC
svn commit: r707187 - in /harmony/enhanced/classlib/trunk/modules/luni/src:
main/java/java/lang/reflect/Proxy.java test/api/common/Proxy2Test.java
Author: tellison
Date: Wed Oct 22 13:18:59 2008
New Revision: 707187
URL: http://svn.apache.org/viewvc?rev=707187&view=rev
Log:
Apply patch for HARMONY-6000 ([classlib] [luni] java.lang.reflect.Proxy.getProxyClass(...) fails to create new proxy instance in default package)
Added:
harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/Proxy2Test.java (with props)
Modified:
harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/reflect/Proxy.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/reflect/Proxy.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/reflect/Proxy.java?rev=707187&r1=707186&r2=707187&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/reflect/Proxy.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/reflect/Proxy.java Wed Oct 22 13:18:59 2008
@@ -146,7 +146,7 @@
WeakReference<Class<?>> ref = interfaceCache.get(interfaceKey);
if (ref == null) {
String nextClassName = "$Proxy" + NextClassNameIndex++; //$NON-NLS-1$
- if (commonPackageName != null) {
+ if (commonPackageName != null && commonPackageName.length() > 0) {
nextClassName = commonPackageName + "." + nextClassName; //$NON-NLS-1$
}
byte[] classFileBytes = ProxyClassFile.generateBytes(
Added: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/Proxy2Test.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/Proxy2Test.java?rev=707187&view=auto
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/Proxy2Test.java (added)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/Proxy2Test.java Wed Oct 22 13:18:59 2008
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+import java.lang.reflect.Proxy;
+
+import junit.framework.TestCase;
+
+
+/*
+ * This test is required to be run with "DefaultPkgIntf" defined in the default package
+ * Do not move. See HARMONY-6000
+ */
+public class Proxy2Test extends TestCase {
+ public void test_getProxyClass_DefaultPackage() {
+ Class pc = Proxy.getProxyClass(DefaultPkgIntf.class.getClassLoader(),
+ new Class[] { DefaultPkgIntf.class });
+ assertEquals("$Proxy0", pc.getName());
+ }
+}
+
+interface DefaultPkgIntf {
+
+}
Propchange: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/Proxy2Test.java
------------------------------------------------------------------------------
svn:eol-style = native