[hibernate-commits] Hibernate SVN: r19740 - in core/trunk/entitymanager/src: test/java/org/hibernate/ejb/test/util and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Jun 15 10:53:17 EDT 2010
Author: hardy.ferentschik
Date: 2010-06-15 10:53:17 -0400 (Tue, 15 Jun 2010)
New Revision: 19740
Added:
core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/util/PersistenceUtilHelperTest.java
Modified:
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/util/PersistenceUtilHelper.java
Log:
HHH-5094 applied some changes as on 3.5 branch
Modified: core/trunk/entitymanager/src/main/java/org/hibernate/ejb/util/PersistenceUtilHelper.java
===================================================================
--- core/trunk/entitymanager/src/main/java/org/hibernate/ejb/util/PersistenceUtilHelper.java 2010-06-15 14:39:39 UTC (rev 19739)
+++ core/trunk/entitymanager/src/main/java/org/hibernate/ejb/util/PersistenceUtilHelper.java 2010-06-15 14:53:17 UTC (rev 19740)
@@ -5,7 +5,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Member;
-import java.lang.reflect.Modifier;
import java.lang.reflect.AccessibleObject;
import java.util.ArrayList;
import java.util.HashMap;
@@ -24,6 +23,7 @@
/**
* @author Emmanuel Bernard
+ * @author Hardy Ferentschik
*/
public class PersistenceUtilHelper {
public static LoadState isLoadedWithoutReference(Object proxy, String property, MetadataCache cache) {
@@ -112,10 +112,8 @@
}
private static void setAccessibility(Member member) {
- if ( !Modifier.isPublic( member.getModifiers() ) ) {
- //Sun's ease of use, sigh...
- ( ( AccessibleObject ) member ).setAccessible( true );
- }
+ //Sun's ease of use, sigh...
+ ( ( AccessibleObject ) member ).setAccessible( true );
}
public static LoadState isLoaded(Object o) {
@@ -146,10 +144,10 @@
string[0] = Character.toUpperCase( string[0] );
methodName = new String( string );
try {
- return clazz.getMethod( "get" + methodName );
+ return clazz.getDeclaredMethod( "get" + methodName );
}
catch ( NoSuchMethodException e ) {
- return clazz.getMethod( "is" + methodName );
+ return clazz.getDeclaredMethod( "is" + methodName );
}
}
catch ( NoSuchMethodException e ) {
Added: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/util/PersistenceUtilHelperTest.java
===================================================================
--- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/util/PersistenceUtilHelperTest.java (rev 0)
+++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/util/PersistenceUtilHelperTest.java 2010-06-15 14:53:17 UTC (rev 19740)
@@ -0,0 +1,109 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010 by Red Hat Inc and/or its affiliates or by
+ * third-party contributors as indicated by either @author tags or express
+ * copyright attribution statements applied by the authors. All
+ * third-party contributions are distributed under license by Red Hat Inc.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package org.hibernate.ejb.test.util;
+
+import javax.persistence.spi.LoadState;
+
+import org.hibernate.ejb.util.PersistenceUtilHelper;
+
+/**
+ * Tests for HHH-5094
+ *
+ * @author Hardy Ferentschik
+ */
+public class PersistenceUtilHelperTest extends junit.framework.TestCase {
+ private final PersistenceUtilHelper.MetadataCache cache = new PersistenceUtilHelper.MetadataCache();
+
+ public static class FieldAccessBean {
+ public String publicAccessProperty;
+ protected String protectedAccessProperty;
+ private String privateAccessProperty;
+ }
+
+ public static class MethodAccessBean {
+ private String publicAccessProperty;
+ private String protectedAccessProperty;
+ private String privateAccessProperty;
+
+ public String getPublicAccessPropertyValue() {
+ return publicAccessProperty;
+ }
+
+ protected String getProtectedAccessPropertyValue() {
+ return protectedAccessProperty;
+ }
+
+ private String getPrivateAccessPropertyValue() {
+ return privateAccessProperty;
+ }
+ }
+
+ public void testIsLoadedWithReferencePublicField() {
+ assertEquals(
+ LoadState.UNKNOWN,
+ PersistenceUtilHelper.isLoadedWithReference( new FieldAccessBean(), "publicAccessProperty", cache )
+ );
+ }
+
+ public void testIsLoadedWithReferencePublicMethod() {
+ assertEquals(
+ LoadState.UNKNOWN,
+ PersistenceUtilHelper.isLoadedWithReference(
+ new MethodAccessBean(), "publicAccessPropertyValue", cache
+ )
+ );
+ }
+
+ public void testIsLoadedWithReferenceProtectedField() {
+ assertEquals(
+ LoadState.UNKNOWN,
+ PersistenceUtilHelper.isLoadedWithReference( new FieldAccessBean(), "protectedAccessProperty", cache )
+ );
+ }
+
+ public void testIsLoadedWithReferenceProtectedMethod() {
+ assertEquals(
+ LoadState.UNKNOWN,
+ PersistenceUtilHelper.isLoadedWithReference(
+ new MethodAccessBean(), "protectedAccessPropertyValue", cache
+ )
+ );
+ }
+
+ public void testIsLoadedWithReferencePrivateField() {
+ assertEquals(
+ LoadState.UNKNOWN,
+ PersistenceUtilHelper.isLoadedWithReference( new FieldAccessBean(), "privateAccessProperty", cache )
+ );
+ }
+
+ public void testIsLoadedWithReferencePrivateMethod() {
+ assertEquals(
+ LoadState.UNKNOWN,
+ PersistenceUtilHelper.isLoadedWithReference(
+ new MethodAccessBean(), "privateAccessPropertyValue", cache
+ )
+ );
+ }
+}
More information about the hibernate-commits
mailing list