You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/06/14 23:06:44 UTC

svn commit: r190656 - in /incubator/beehive/trunk/netui/src: pageflow/org/apache/beehive/netui/pageflow/ pageflow/org/apache/beehive/netui/pageflow/internal/ util/org/apache/beehive/netui/util/internal/cache/

Author: rich
Date: Tue Jun 14 14:06:43 2005
New Revision: 190656

URL: http://svn.apache.org/viewcvs?rev=190656&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-813 : Cannot hit page flow actions under certain Java security policies

tests: bvt in netui (WinXP)
BB: self (linux)


Modified:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedFacesBackingInfo.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedSharedFlowRefInfo.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java
    incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/internal/cache/FieldCache.java

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java Tue Jun 14 14:06:43 2005
@@ -59,6 +59,7 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -695,7 +696,7 @@
                 
             if ( actionMethod != null && actionMethod.getReturnType().equals( Forward.class ) )
             {
-                actionMethod.setAccessible( true );
+                if ( ! Modifier.isPublic( actionMethod.getModifiers() ) ) actionMethod.setAccessible( true );
                 cache.put( CACHEID_ACTION_METHODS, cacheKey, actionMethod );
                 return actionMethod;
             }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java Tue Jun 14 14:06:43 2005
@@ -32,6 +32,7 @@
 import java.util.Map;
 import java.util.HashMap;
 import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 import java.net.URI;
 import java.net.URL;
 
@@ -553,7 +554,7 @@
                     assert _flowController != null;  // should be set in initialize()
                     Field field = _flowController.getClass().getDeclaredField( retFormMember );
                     returnFormClass = field.getType();
-                    field.setAccessible( true );
+                    if ( ! Modifier.isPublic( field.getModifiers() ) ) field.setAccessible( true );
                     ActionForm form = InternalUtils.wrapFormBean( field.get( _flowController ) );
                     
                     if ( form != null )

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java Tue Jun 14 14:06:43 2005
@@ -89,6 +89,7 @@
 import java.io.InputStream;
 import java.io.Serializable;
 import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.*;
@@ -221,7 +222,7 @@
                 {
                     FlowController fc = PageFlowRequestWrapper.get( request ).getCurrentFlowController();
                     Field field = fc.getClass().getDeclaredField( formMember );
-                    field.setAccessible( true );
+                    if ( ! Modifier.isPublic( field.getModifiers() ) ) field.setAccessible( true );
                     return field;
                 }
             }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedFacesBackingInfo.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedFacesBackingInfo.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedFacesBackingInfo.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedFacesBackingInfo.java Tue Jun 14 14:06:43 2005
@@ -19,6 +19,7 @@
 
 import javax.servlet.ServletContext;
 import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 
 
 /**
@@ -45,7 +46,10 @@
             if ( annReader.getJpfAnnotation( field, "PageFlowField" ) != null )
             {
                 _pageFlowMemberField = field;
-                _pageFlowMemberField.setAccessible( true );
+                if ( ! Modifier.isPublic( _pageFlowMemberField.getModifiers() ) )
+                {
+                    _pageFlowMemberField.setAccessible( true );
+                }
             }
         }
         

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedSharedFlowRefInfo.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedSharedFlowRefInfo.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedSharedFlowRefInfo.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedSharedFlowRefInfo.java Tue Jun 14 14:06:43 2005
@@ -23,6 +23,7 @@
 import java.util.List;
 import java.util.ArrayList;
 import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 
 public class CachedSharedFlowRefInfo
 {
@@ -49,7 +50,7 @@
             
             if ( sharedFlowFieldAnn != null )
             {
-                field.setAccessible( true );
+                if ( ! Modifier.isPublic( field.getModifiers() ) ) field.setAccessible( true );
                 if ( sharedFlowFields == null ) sharedFlowFields = new ArrayList/*< SharedFlowFieldInfo >*/();
                 SharedFlowFieldInfo info = new SharedFlowFieldInfo();
                 info.field = field;
@@ -61,7 +62,7 @@
                 //
                 // Legacy behavior: initialize a field called 'globalApp' with the Global.app instance.
                 //
-                field.setAccessible( true );
+                if ( ! Modifier.isPublic( field.getModifiers() ) ) field.setAccessible( true );
                 if ( sharedFlowFields == null ) sharedFlowFields = new ArrayList/*< SharedFlowFieldInfo >*/();
                 SharedFlowFieldInfo info = new SharedFlowFieldInfo();
                 info.field = field;

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java Tue Jun 14 14:06:43 2005
@@ -41,6 +41,7 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.UndeclaredThrowableException;
 import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.util.Locale;
 import java.util.Collection;
 import java.util.Iterator;
@@ -558,7 +559,7 @@
                     _log.debug( "Found exception handler for " + exClass.getName() );
                 }
                 
-                foundMethod.setAccessible( true );
+                if ( ! Modifier.isPublic( foundMethod.getModifiers() ) ) foundMethod.setAccessible( true );
                 cache.put( CACHEID_EXCEPTION_HANDLER_METHODS, cacheKey, foundMethod );
                 return foundMethod;
             }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/JavaControlUtils.java Tue Jun 14 14:06:43 2005
@@ -194,7 +194,7 @@
                 {
                     if ( accessPrivateFields || ! Modifier.isPrivate( modifiers ) )
                     {
-                        field.setAccessible( true );
+                        if ( ! Modifier.isPublic( field.getModifiers() ) ) field.setAccessible( true );
                         ret.put( field, new AnnotatedElementMap( field ) );
                         fieldNames.add( fieldName );
                     }

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/internal/cache/FieldCache.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/internal/cache/FieldCache.java?rev=190656&r1=190655&r2=190656&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/internal/cache/FieldCache.java (original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/internal/cache/FieldCache.java Tue Jun 14 14:06:43 2005
@@ -18,6 +18,7 @@
 package org.apache.beehive.netui.util.internal.cache;
 
 import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 import java.util.HashMap;
 
 import org.apache.beehive.netui.util.internal.concurrent.InternalConcurrentHashMap;
@@ -77,7 +78,7 @@
             for ( int i = 0; i < fieldArray.length; i++ )
             {
                 Field field = fieldArray[i];
-                field.setAccessible( true );
+                if ( ! Modifier.isPublic( field.getModifiers() ) ) field.setAccessible( true );
                 fields.put( field.getName(), field );
             }